<!ENTITY % NS 'its:' >
<!ENTITY % n.dirRule "%NS;dirRule">
<!ENTITY % n.langRule "%NS;langRule">
<!ENTITY % n.locInfo "%NS;locInfo">
<!ENTITY % n.locInfoRule "%NS;locInfoRule">
<!ENTITY % n.ns "%NS;ns">
<!ENTITY % n.rb "%NS;rb">
<!ENTITY % n.rbc "%NS;rbc">
<!ENTITY % n.rp "%NS;rp">
<!ENTITY % n.rt "%NS;rt">
<!ENTITY % n.rtc "%NS;rtc">
<!ENTITY % n.ruby "%NS;ruby">
<!ENTITY % n.rubyRule "%NS;rubyRule">
<!ENTITY % n.rules "%NS;rules">
<!ENTITY % n.span "%NS;span">
<!ENTITY % n.termRule "%NS;termRule">
<!ENTITY % n.translateRule "%NS;translateRule">
<!ENTITY % n.withinTextRule "%NS;withinTextRule">

<!-- start datatypes -->

<!-- end datatypes -->

<!-- start predeclared patterns -->

<!-- start rest of patterns -->

<!-- end patterns -->

<!-- start classes -->

<!ENTITY % att.xlink.attributes '
 %NS;href CDATA #IMPLIED'> 
<!ENTITY % att.nsident.attributes '
 %NS;prefix CDATA #REQUIRED
 %NS;uri CDATA #REQUIRED'> 
<!ENTITY % att.selector.attributes '
 %NS;selector CDATA #REQUIRED'> 
<!ENTITY % att.translate.attributes '
 %NS;translate CDATA #IMPLIED'> 
<!ENTITY % att.locInfo.attributes '
 %NS;locInfo CDATA #IMPLIED'> 
<!ENTITY % att.locInfoPointer.attributes '
 %NS;locInfoPointer CDATA #IMPLIED'> 
<!ENTITY % att.locInfoType.attributes '
 %NS;locInfoType CDATA #IMPLIED'> 
<!ENTITY % att.locInfoRef.attributes '
 %NS;locInfoRef CDATA #IMPLIED'> 
<!ENTITY % att.locInfoRefPointer.attributes '
 %NS;locInfoRefPointer CDATA #IMPLIED'> 
<!ENTITY % att.termRef.attributes '
 %NS;termRef CDATA #IMPLIED'> 
<!ENTITY % att.termRefPointer.attributes '
 %NS;termRefPointer CDATA #IMPLIED'> 
<!ENTITY % att.term.attributes '
 %NS;term CDATA #IMPLIED'> 
<!ENTITY % att.dir.attributes '
 %NS;dir CDATA #IMPLIED'> 
<!ENTITY % att.rubyPointers.attributes '
 %NS;rubyPointer CDATA #IMPLIED
 %NS;rbPointer CDATA #IMPLIED
 %NS;rtPointer CDATA #IMPLIED
 %NS;rpPointer CDATA #IMPLIED
 %NS;rbcPointer CDATA #IMPLIED
 %NS;rtcPointer CDATA #IMPLIED'> 
<!ENTITY % att.rubyText.attributes '
 %NS;rubyText CDATA #IMPLIED'> 
<!ENTITY % att.langPointer.attributes '
 %NS;langPointer CDATA #REQUIRED'> 
<!ENTITY % att.withinText.attributes '
 %NS;withinText CDATA #REQUIRED'> 
<!-- stop classes -->

<!-- start elements -->

<!--doc: -->
<!ELEMENT %n.dirRule; EMPTY>
<!ATTLIST %n.dirRule;
 %att.selector.attributes;
 %att.dir.attributes; >
<!--doc: -->
<!ELEMENT %n.langRule; EMPTY>
<!ATTLIST %n.langRule;
 %att.selector.attributes;
 %att.langPointer.attributes; >
<!--doc: -->
<!ELEMENT %n.locInfo;  (#PCDATA)>
<!ATTLIST %n.locInfo;
 %att.translate.attributes;
 %att.locInfo.attributes;
 %att.locInfoType.attributes;
 %att.locInfoRef.attributes;
 %att.term.attributes;
 %att.termRef.attributes;
 %att.dir.attributes; >
<!--doc: -->
<!ELEMENT %n.locInfoRule; (%n.locInfo;)?>
<!ATTLIST %n.locInfoRule;
 %att.selector.attributes;
 %att.locInfoPointer.attributes;
 %att.locInfoRef.attributes;
 %att.locInfoRefPointer.attributes;
 %att.locInfoType.attributes; >
<!--doc:An element to describe namespace URIs and prefixes within XPath expressions in
                rules elements. -->
<!ELEMENT %n.ns; EMPTY>
<!ATTLIST %n.ns;
 %att.nsident.attributes; >
<!--doc: -->
<!ELEMENT %n.rb;  (#PCDATA)>
<!ATTLIST %n.rb;
 %att.translate.attributes;
 %att.locInfo.attributes;
 %att.locInfoType.attributes;
 %att.locInfoRef.attributes;
 %att.term.attributes;
 %att.termRef.attributes;
 %att.dir.attributes; >
<!--doc: -->
<!ELEMENT %n.rbc; (%n.rb;)+>
<!ATTLIST %n.rbc;
 %att.translate.attributes;
 %att.locInfo.attributes;
 %att.locInfoType.attributes;
 %att.locInfoRef.attributes;
 %att.term.attributes;
 %att.termRef.attributes;
 %att.dir.attributes; >
<!--doc: -->
<!ELEMENT %n.rp;  (#PCDATA)>
<!ATTLIST %n.rp;
 %att.translate.attributes;
 %att.locInfo.attributes;
 %att.locInfoType.attributes;
 %att.locInfoRef.attributes;
 %att.term.attributes;
 %att.termRef.attributes;
 %att.dir.attributes; >
<!--doc: -->
<!ELEMENT %n.rt;  (#PCDATA)>
<!ATTLIST %n.rt;
 %att.translate.attributes;
 %att.locInfo.attributes;
 %att.locInfoType.attributes;
 %att.locInfoRef.attributes;
 %att.term.attributes;
 %att.termRef.attributes;
 %att.dir.attributes; >
<!--doc: -->
<!ELEMENT %n.rtc; (%n.rt;)+>
<!ATTLIST %n.rtc;
 %att.translate.attributes;
 %att.locInfo.attributes;
 %att.locInfoType.attributes;
 %att.locInfoRef.attributes;
 %att.term.attributes;
 %att.termRef.attributes;
 %att.dir.attributes; >
<!--doc: -->
<!ELEMENT %n.ruby; ((%n.rb;,(%n.rt; | (%n.rp;,%n.rt;,%n.rp;))) | (%n.rbc;,%n.rtc;,(%n.rtc;)?))>
<!ATTLIST %n.ruby;
 %att.translate.attributes;
 %att.locInfo.attributes;
 %att.locInfoType.attributes;
 %att.locInfoRef.attributes;
 %att.term.attributes;
 %att.termRef.attributes;
 %att.dir.attributes;
 xmlns CDATA "http://www.w3.org/2005/11/its" 
 xmlns:its CDATA "http://www.w3.org/2005/11/its"  >
<!--doc: -->
<!ELEMENT %n.rubyRule; EMPTY>
<!ATTLIST %n.rubyRule;
 %att.selector.attributes;
 %att.rubyPointers.attributes;
 %att.rubyText.attributes; >
<!--doc: -->
<!ELEMENT %n.rules; (%n.ns; , (%n.translateRule; | %n.locInfoRule; | %n.termRule; | %n.dirRule; | %n.rubyRule; | %n.langRule; | %n.withinTextRule;)+)>
<!ATTLIST %n.rules;
 %att.xlink.attributes;
 xmlns CDATA "http://www.w3.org/2005/11/its" 
 xmlns:its CDATA "http://www.w3.org/2005/11/its"  >
<!--doc: -->
<!ELEMENT %n.span; ( #PCDATA | %n.ruby;)*>
<!ATTLIST %n.span;
 %att.translate.attributes;
 %att.locInfo.attributes;
 %att.locInfoType.attributes;
 %att.locInfoRef.attributes;
 %att.term.attributes;
 %att.termRef.attributes;
 %att.dir.attributes;
 xmlns CDATA "http://www.w3.org/2005/11/its" 
 xmlns:its CDATA "http://www.w3.org/2005/11/its"  >
<!--doc: -->
<!ELEMENT %n.termRule; EMPTY>
<!ATTLIST %n.termRule;
 %att.selector.attributes;
 %att.termRef.attributes;
 %att.termRefPointer.attributes; >
<!--doc: -->
<!ELEMENT %n.translateRule; EMPTY>
<!ATTLIST %n.translateRule;
 %att.selector.attributes;
 %att.translate.attributes; >
<!--doc: -->
<!ELEMENT %n.withinTextRule; EMPTY>
<!ATTLIST %n.withinTextRule;
 %att.selector.attributes;
 %att.withinText.attributes; >
<!-- end elements -->
