この附属書は,RELAX Namespaceの構文をDTDによって記述する。このDTDの公開識別子及びURIを次に示す。
DTDをつぎに示す。
<?xml version="1.0" encoding="utf-8"?> <!-- DTD for RELAX Namespace (Ver 1.0) --> <!-- Typical invocation <!DOCTYPE framework SYSTEM PUBLIC "-//RELAX//Module RELAX Namespace 1.0//JA" SYSTEM "http://www.xml.gr.jp/relax/namespace1/relaxNamespace.dtd"> --> <!--*******************************************************--> <!-- --> <!-- Parameter entities for qualified names --> <!-- --> <!--*******************************************************--> <!ENTITY % nsPrefix ""> <!ENTITY % framework "%nsPrefix;framework"> <!ENTITY % namespace "%nsPrefix;namespace"> <!ENTITY % includeNamespace "%nsPrefix;include"> <!ENTITY % topLevel "%nsPrefix;topLevel"> <!--*******************************************************--> <!-- --> <!-- Parameter entities for customization --> <!-- --> <!--*******************************************************--> <!ENTITY % namespaceContent "EMPTY"> <!ENTITY % topLevelContent "EMPTY"> <!ENTITY % annotationInFramework ""> <!ENTITY % includeContent "EMPTY"> <!--*******************************************************--> <!-- --> <!-- The overall structure of RELAX frameworks --> <!-- --> <!--*******************************************************--> <!ELEMENT %framework; (%annotationInFramework; (%namespace; | %includeNamespace;)*, (%topLevel;, (%namespace; | %includeNamespace;)*)? )> <!ATTLIST %framework; relaxNamespaceVersion CDATA #REQUIRED frameworkVersion CDATA #IMPLIED xmlns CDATA #FIXED "http://www.xml.gr.jp/xmlns/relaxNamespace" > <!ELEMENT %namespace; %namespaceContent;> <!ATTLIST %namespace; name CDATA #REQUIRED moduleLocation CDATA #IMPLIED language CDATA #IMPLIED validation (false) #IMPLIED > <!ELEMENT %includeNamespace; %includeContent;> <!ATTLIST %includeNamespace; frameworkLocation CDATA #REQUIRED> <!ELEMENT %topLevel; %topLevelContent;>