Document Type Definitions
<!-- SAS System ODS XML DTD -->
<!ELEMENT sasxml ((label|page)*|proc)+>
<!ELEMENT label EMPTY>
<!ATTLIST label
id ID #IMPLIED>
<!ELEMENT proc (title|proc-title|page|label|style|branch|output)*>
<!ATTLIST proc
class CDATA #IMPLIED>
<!ELEMENT title (#PCDATA|it|b|ul|br|style)*>
<!ATTLIST title
class CDATA #IMPLIED>
<!ELEMENT proc-title (#PCDATA|it|b|ul|br|style)*>
<!ATTLIST proc-title
class CDATA #IMPLIED>
<!ELEMENT branch
(branch|leaf|page|label|title|proc-title|message|style|output|byl)+>
<!ATTLIST branch
class CDATA #IMPLIED
label CDATA #IMPLIED>
<!ELEMENT leaf
(label|page|association|proc-title|title|style|output|output-object)*>
<!ATTLIST leaf
class CDATA #IMPLIED
label CDATA #IMPLIED>
<!ELEMENT association (caption|style|output-object)*>
<!ELEMENT caption (#PCDATA|it|b|ul|output-object|style)*>
<!ATTLIST caption
class CDATA #IMPLIED>
<!ELEMENT message (#PCDATA|it|b|ul|style)*>
<!ATTLIST message
type (Note|Error|FatalError|Warning) "Note"
class CDATA #IMPLIED>
<!ELEMENT output
(output-object|style|message|label|page|byl|branch|para|title|proc-title)*>
<!ATTLIST output
name CDATA #IMPLIED
label CDATA #IMPLIED
clabel CDATA #IMPLIED>
<!ELEMENT output-object (colspec?|output-head?|output-foot?|style*|output-body|row)+>
<!ATTLIST output-object
class CDATA #IMPLIED
index CDATA #IMPLIED
type (table) #REQUIRED>
<!ELEMENT output-head (row|style*)+>
<!ELEMENT output-body (row|style*)+>
<!ELEMENT output-foot (row|style*)+>
<!ELEMENT row (header|data|style*)+>
<!ELEMENT para (output-object|style|message|label|page|byl|branch|para)*>
<!ELEMENT byl (#PCDATA|it|b|ul|br|style)*>
<!ATTLIST byl
class CDATA #IMPLIED
name CDATA #IMPLIED
label CDATA #IMPLIED
dname CDATA #IMPLIED>
<!ELEMENT header (#PCDATA|it|b|ul|br|style)*>
<!ATTLIST header
class CDATA #IMPLIED
name CDATA #IMPLIED
label CDATA #IMPLIED
dname CDATA #IMPLIED>
<!ELEMENT data (#PCDATA|it|b|ul|br|style)*>
<!ATTLIST data
class CDATA #IMPLIED
name CDATA #IMPLIED
label CDATA #IMPLIED
dname CDATA #IMPLIED>
<!ELEMENT colspec (col)*>
<!ELEMENT col EMPTY>
<!ATTLIST col
alignchar CDATA #IMPLIED
align (left|center|right|char|justify) "left">
<!ELEMENT br EMPTY>
<!ELEMENT page EMPTY>
<!ELEMENT b (#PCDATA|it|b|ul)*>
<!ELEMENT ul (#PCDATA|it|b|ul)*>
<!ELEMENT it (#PCDATA|it|b|ul)*>
<!ELEMENT style (span|align|border)*>
<!ELEMENT span EMPTY>
<!ATTLIST span
col CDATA #IMPLIED
row CDATA #IMPLIED>
<!ELEMENT align EMPTY>
<!ATTLIST align
horiz (left|center|right|justify) "left">
<!ELEMENT border EMPTY>
<!ATTLIST border
rules (NONE|GROUPS|ROWS|COLS|ALL) #IMPLIED
frame (VOID|ABOVE|BELOW|HSIDES|LHS|RHS|VSIDES|BOX|BORDER) #IMPLIED
padding CDATA #IMPLIED
spacing CDATA #IMPLIED>
<!ELEMENT odsxml ((label|page)*|proc)+>
<!ELEMENT label EMPTY>
<!ATTLIST label
id ID #IMPLIED>
<!ELEMENT proc (title|proc-title|page|label|style|branch|output)*>
<!ATTLIST proc
class CDATA #IMPLIED>
<!ELEMENT title (#PCDATA|it|b|ul|br|style)*>
<!ATTLIST title
class CDATA #IMPLIED>
<!ELEMENT proc-title (#PCDATA|it|b|ul|br|style)*>
<!ATTLIST proc-title
class CDATA #IMPLIED>
<!ELEMENT branch
(branch|leaf|page|label|title|proc-title|message|style|output|byl)+>
<!ATTLIST branch
class CDATA #IMPLIED
label CDATA #IMPLIED>
<!ELEMENT leaf
(label|page|association|proc-title|title|style|output|output-object)*>
<!ATTLIST leaf
class CDATA #IMPLIED
label CDATA #IMPLIED>
<!ELEMENT association (caption|style|output-object)*>
<!ELEMENT caption (#PCDATA|it|b|ul|output-object|style)*>
<!ATTLIST caption
class CDATA #IMPLIED>
<!ELEMENT message (#PCDATA|it|b|ul|style)*>
<!ATTLIST message
type (Note|Error|FatalError|Warning) "Note"
class CDATA #IMPLIED>
<!ELEMENT output
(output-object|style|message|label|page|byl|branch|para|title|proc-title)*>
<!ATTLIST output
name CDATA #IMPLIED
label CDATA #IMPLIED
clabel CDATA #IMPLIED>
<!ELEMENT output-object (colspec?|output-head?|output-foot?|style*|output-body|row)+>
<!ATTLIST output-object
class CDATA #IMPLIED
index CDATA #IMPLIED
type (table) #REQUIRED>
<!ELEMENT output-head (row|style*)+>
<!ELEMENT output-body (row|style*)+>
<!ELEMENT output-foot (row|style*)+>
<!ELEMENT row (header|data|style*)+>
<!ELEMENT para (output-object|style|message|label|page|byl|branch|para)*>
<!ELEMENT byl (#PCDATA|it|b|ul|br|style)*>
<!ATTLIST byl
class CDATA #IMPLIED
name CDATA #IMPLIED
label CDATA #IMPLIED
dname CDATA #IMPLIED>
<!ELEMENT header (#PCDATA|it|b|ul|br|style)*>
<!ATTLIST header
class CDATA #IMPLIED
name CDATA #IMPLIED
label CDATA #IMPLIED
dname CDATA #IMPLIED>
<!ELEMENT data (#PCDATA|it|b|ul|br|style)*>
<!ATTLIST data
class CDATA #IMPLIED
name CDATA #IMPLIED
label CDATA #IMPLIED
dname CDATA #IMPLIED>
<!ELEMENT colspec (col)*>
<!ELEMENT col EMPTY>
<!ATTLIST col
alignchar CDATA #IMPLIED
align (left|center|right|char|justify) "left">
<!ELEMENT br EMPTY>
<!ELEMENT page EMPTY>
<!ELEMENT b (#PCDATA|it|b|ul)*>
<!ELEMENT ul (#PCDATA|it|b|ul)*>
<!ELEMENT it (#PCDATA|it|b|ul)*>
<!ELEMENT style (span|align|border)*>
<!ELEMENT span EMPTY>
<!ATTLIST span
col CDATA #IMPLIED
row CDATA #IMPLIED>
<!ELEMENT align EMPTY>
<!ATTLIST align
horiz (left|center|right|justify) "left">
<!ELEMENT border EMPTY>
<!ATTLIST border
rules (NONE|GROUPS|ROWS|COLS|ALL) #IMPLIED
frame (VOID|ABOVE|BELOW|HSIDES|LHS|RHS|VSIDES|BOX|BORDER) #IMPLIED
padding CDATA #IMPLIED
spacing CDATA #IMPLIED>