附属書A. DTDによるRELAX Namespaceの記述

この附属書は,RELAX Namespaceの構文をDTDによって記述する。このDTDの 公開識別子及びURIを次に示す。

DTDをつぎに示す。

<?xml version="1.0" encoding="utf-8"?>
<!--
DTD for RELAX Namespace (Ver 1.0)
$Id: relaxNamespace.dtd 1.6 2001/02/13 14:19:47 murata Exp $
-->
<!--
Typical invocation

<!DOCTYPE module 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 % grammar "%nsPrefix;grammar">
<!ENTITY % namespace "%nsPrefix;namespace">
<!ENTITY % includeNamespace "%nsPrefix;include">
<!ENTITY % topLevel "%nsPrefix;topLevel">

<!--*******************************************************-->
<!--                                                       -->  
<!--         Parameter entities for customization          -->
<!--                                                       -->  
<!--*******************************************************-->

<!ENTITY % namespaceContent "EMPTY">
<!ENTITY % topLevelContent "EMPTY">

<!ENTITY % annotationInGrammar "">
<!ENTITY % includeContent "EMPTY">
<!--*******************************************************-->
<!--                                                       -->  
<!--         The overall structure of RELAX grammars       -->
<!--                                                       -->  
<!--*******************************************************-->


<!ELEMENT %grammar;
        (%annotationInGrammar; 
         (%namespace; | %includeNamespace;)*,
         (%topLevel;, (%namespace; | %includeNamespace;)*)? )>

<!ATTLIST %grammar;
        relaxNamespaceVersion CDATA  #REQUIRED
        grammarVersion    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; grammarLocation CDATA #REQUIRED>

<!ELEMENT %topLevel; %topLevelContent;>