This DTD has been developed in order to validate XSL FO documents
The namespace prefix is xmlns:fo="http://www.w3.org/1999/XSL/Format".
In addition, the functionality implemented or not in FOP has been segregated
To create an FOP only validating DTD, remove the references marked %\([a-zA-Z_]+\)_Not;
I certainly have not exhaustively removed all of the properties not implemented in FOP.
If you notice an item that is incorrectly included or excluded, please send me a note
The FOP only DTD will not guard against the entering of attribute values not implemented by FOP
(Such as fo:leader-pattern="use-content")
See http://xml.apache.org/fop/implemented.html for more detailed restrictions
It has not been well tested.
For instance, the length attribute is able to be negative for some elements like margins.
I have not represented that here.
I have not added values for the Aural properties
There are several instances where I've entered %integer_Type; and it should be positive-integer or number
The DTD trys to handle the text based rules re: fo:markers, fo:float, footer and fo:initial-property-set
But, allows you to do illegal things if you want because I couldn't figure out how to constrain against the illegal actions.
Please e-mail your comments to cpaussa@myrealbox.com
***************************************************************
Entity definitions for groups of formatting objects
***************************************************************
***************************************************************
Attribute Groups
***************************************************************
***************************************************************
Element Groups
***************************************************************
***************************************************************
Elements
***************************************************************
<!ENTITY % "
|
%
;
|
%
;
">
<!ENTITY % "
CDATA
(%
;)
CDATA
#IMPLIED
%;
">
<!ENTITY % "
|
">
<!ELEMENT fo:
EMPTY
(
#PCDATA|
,
%
;
,
|
%
;
|
)
>
<!ATTLIST fo:
CDATA
(%
;)
CDATA
#REQUIRED
#IMPLIED
%
;
>
*
?
+
!error!