JIS X 4177-2:2005 文書スキーマ定義言語(DSDL)―第2部:正規文法に基づく妥当性検証―RELAX NG | ページ 7

28
X 4177-2 : 2005 (ISO/IEC 19757-2 : 2003)
<choice>
<ref name="start-element"/>
<ref name="define-element"/>
<element name="div">
<ref name="common-atts"/>
<ref name="include-content"/>
</element>
</choice>
</zeroOrMore>
</interleave>
</define>
<define name="start-element">
<element name="start">
<ref name="combine-att"/>
<ref name="common-atts"/>
<ref name="open-pattern"/>
</element>
</define>
<define name="define-element">
<element name="define">
<attribute name="name">
<data type="NCName"/>
</attribute>
<ref name="combine-att"/>
<ref name="common-atts"/>
<ref name="open-patterns"/>
</element>
</define>
<define name="combine-att">
<optional>
<attribute name="combine">
<choice>
<value>choice</value>
<value>interleave</value>
</choice>
</attribute>
</optional>
</define>
<define name="open-patterns">
<interleave>
<ref name="other"/>
<oneOrMore>
<ref name="pattern"/>
</oneOrMore>
</interleave>
</define>
<define name="open-pattern">
<interleave>
<ref name="other"/>
<ref name="pattern"/>
</interleave>
</define>
<define name="name-class">

――――― [JIS X 4177-2 pdf 31] ―――――

                                                                                             29
X 4177-2 : 2005 (ISO/IEC 19757-2 : 2003)
<choice>
<element name="name">
<ref name="common-atts"/>
<data type="QName"/>
</element>
<element name="anyName">
<ref name="common-atts"/>
<ref name="except-name-class"/>
</element>
<element name="nsName">
<ref name="common-atts"/>
<ref name="except-name-class"/>
</element>
<element name="choice">
<ref name="common-atts"/>
<ref name="open-name-classes"/>
</element>
</choice>
</define>
<define name="except-name-class">
<interleave>
<ref name="other"/>
<optional>
<element name="except">
<ref name="open-name-classes"/>
</element>
</optional>
</interleave>
</define>
<define name="open-name-classes">
<interleave>
<ref name="other"/>
<oneOrMore>
<ref name="name-class"/>
</oneOrMore>
</interleave>
</define>
<define name="open-name-class">
<interleave>
<ref name="other"/>
<ref name="name-class"/>
</interleave>
</define>
<define name="common-atts">
<optional>
<attribute name="ns"/>
</optional>
<optional>
<attribute name="datatypeLibrary">
<data type="anyURI"/>
</attribute>
</optional>
<zeroOrMore>
<attribute>
<anyName>

――――― [JIS X 4177-2 pdf 32] ―――――

30
X 4177-2 : 2005 (ISO/IEC 19757-2 : 2003)
<except>
<nsName/>
<nsName ns=""/>
</except>
</anyName>
</attribute>
</zeroOrMore>
</define>
<define name="other">
<zeroOrMore>
<element>
<anyName>
<except>
<nsName/>
</except>
</anyName>
<zeroOrMore>
<choice>
<attribute>
<anyName/>
</attribute>
<text/>
<ref name="any"/>
</choice>
</zeroOrMore>
</element>
</zeroOrMore>
</define>
<define name="any">
<element>
<anyName/>
<zeroOrMore>
<choice>
<attribute>
<anyName/>
</attribute>
<text/>
<ref name="any"/>
</choice>
</zeroOrMore>
</element>
</define>
</grammar>

――――― [JIS X 4177-2 pdf 33] ―――――

                                                                                             31
X 4177-2 : 2005 (ISO/IEC 19757-2 : 2003)
附属書B(参考)例
この附属書は,本体及び附属書A(規定)に関連する事柄を補足するものであって,規定の一部ではな
い。
B.1 例 文書http://www.example.com/doc.xmlが,次に示すものとする。
<・xml version="1.0"・>
<foo><pre1:bar1 xmlns:pre1="http://www.example.com/n1"/><pre2:bar2
xmlns:pre2="http://www.example.com/n2"/></foo>
この文書を表す要素は,次をもつ。
a) 名前。これは,次をもつ。
1) 名前空間URIとしての空文字列。名前空間がないことを表す。
2) 局所名としてのfoo。
b) 文脈。これは,次をもつ。
1) 基底URIとしてhttp://www.example.com/doc.xml
2) 名前空間対応付け。これは,次のとおりとする。
2.1) 接頭辞xmlを名前空間URI http://www.w3.org/XML/1998/namespaceに対応付ける。xml接頭辞は,
すべてのXML文書において暗黙的に宣言される。
2.2) デフォルトの名前空間URIとして空文字列を指定する。
c) 属性の空集合。
d) 二つの子要素から成る並び。一番目の要素は,次をもつ。
1) 名前。これは,次をもつ。
1.1) 名前空間URIとしての http://www.example.com/n1
1.2) 局所名としてbar1
2) 文脈。これは,次をもつ。
2.1) 基底URIとしての http://www.example.com/doc.xml
2.2) 名前空間対応付け。これは,次のとおりとする。
2.2.1) 接頭辞pre1を名前空間URI http://www.example.com/n1に対応付ける。
2.2.2) 接頭辞xmlを名前空間URI http://www.w3.org/XML/1998/namespaceに対応付ける。
2.2.3) デフォルトの名前空間URIとして空文字列を指定する。
3) 属性の空集合。
4) 子の空の並び。
二番目の要素は,次をもつ。
1) 名前。これは,次をもつ。
1.1) 名前空間URIとしての http://www.example.com/n2
1.2) 局所名としてのbar2。

――――― [JIS X 4177-2 pdf 34] ―――――

32
X 4177-2 : 2005 (ISO/IEC 19757-2 : 2003)
2) 文脈。これは,次をもつ。
2.1) 基底URIとしての http://www.example.com/doc.xml
2.2) 名前空間マップ。これは,次のとおりとする。
2.2.1) 接頭辞pre2を名前空間URI http://www.example.com/n2に対応付ける。
2.2.2) 接頭辞xmlを名前空間URI http://www.w3.org/XML/1998/namespaceに対応付ける。
2.2.3) デフォルトの名前空間URIとして空文字列を指定する。
3) 属性の空集合。
4) 子の空の列。
B.2 例 B.1の文書のためのスキーマの例を完全な構文で示す。
<・xml version="1.0"・>
<element name="foo"
xmlns="http://relaxng.org/ns/structure/1.0"
xmlns:a="http://relaxng.org/ns/annotation/1.0"
xmlns:ex1="http://www.example.com/n1"
xmlns:ex2="http://www.example.com/n2">
<a:documentation>A foo element.</a:documentation>
<element name="ex1:bar1">
<empty/>
</element>
<element name="ex2:bar2">
<empty/>
</element>
</element>
B.3 例 次の例は,B.2のスキーマが単純な構文にどう変換されるかを示す。
<・xml version="1.0"・>
<grammar xmlns="http://relaxng.org/ns/structure/1.0">
<start>
<ref name="foo.element"/>
</start>
<define name="foo.element">
<element>
<name ns="">foo</name>
<group>
<ref name="bar1.element"/>
<ref name="bar2.element"/>
</group>
</element>
</define>
<define name="bar1.element">
<element>
<name ns="http://www.example.com/n1">bar1</name>
<empty/>
</element>
</define>
<define name="bar2.element">

――――― [JIS X 4177-2 pdf 35] ―――――

次のページ PDF 36

JIS X 4177-2:2005の引用国際規格 ISO 一覧

  • ISO/IEC 19757-2:2003(IDT)

JIS X 4177-2:2005の国際規格 ICS 分類一覧

JIS X 4177-2:2005の関連規格と引用規格一覧

規格番号
規格名称