この規格ページの目次
3
X 4158 : 2005
</x>
名前空間制約 : 予約された接頭辞及び名前空間名
定義によって,接頭辞XMLは,名前空間名http://www.w3.org/XML/1998/namespaceに束縛されている。
この接頭辞は,宣言してもよいが宣言する必要はなく,他の名前空間名に束縛してはならない。この名前
空間名に他の接頭辞を束縛してはならない。
接頭辞xmlnsは,名前空間の束縛を宣言するためだけに用いる。この接頭辞は,定義によって,名前空
間名http://www.w3.org/2000/xmlns/に束縛されている。この名前空間名に他の接頭辞を束縛してはならない。
三つの文字の列x,m及びl(大文字及び小文字のあらゆる組合せを含む。)で始まる他のどの接頭辞も
予約されている。つまり,
a) 今後の仕様で定義される場合を除き,利用者は使用しないことが望ましい。
b) プロセサは,致命的な誤りとして扱ってはならない。
接頭辞をもつ名前であって,文字x,m及びlで始まるLoalPartをもつものを利用することは,予約され
ているわけではないが,推奨しない。これらの名前を接頭辞なしに用いた場合には,予約されていること
になるからである。
3. 修飾された名前
この規格に適合するXML文書では,名前(すなわち,非終端子Nameに対応する構
成要素)の幾つかを,次に定義する修飾された名前として与えてもよい。
修飾された名前
[6] QName ::= (Prefix ':')・ LocalPart
[7] Prefix ::= NCName
[8] LocalPart ::= NCName
Prefixは,修飾された名前の名前空間接頭辞の部分を与え,名前空間宣言の中の名前空間URI参照に関
連付いていなければならない。LocalPartは,修飾された名前の局所名を与える。
接頭辞は,名前空間名の代わりとして機能するだけであることに注意されたい。文書を越えて有効範囲
の広がる名前を構築する場合,応用プログラムは,接頭辞ではなく名前空間名を使うほうがよい。
4. 修飾された名前の使用
この規格に適合するXML文書では,要素型は,修飾された名前を用いて,
次のとおりに与えられる。
要素型
[9] STag ::= '<' QName (S Attribute)* S・ '>' [NSC: 接頭辞が宣言されていること ]
[10] ETag ::= '</' QName S・ '>' [NSC: 接頭辞が宣言されていること ]
[11] EmptyElemTag ::= '<' QName (S Attribute)* S・ '/>' [NSC: 接頭辞が宣言されていること ]
要素型として機能する修飾された名前の例を,次に示す。
<x xmlns:edi='http://ecommerce.org/schema'>
<!-- 'price'要素の名前空間は,http://ecommerce.org/schemaとする。-->
<edi:price units='Euro'>32.18</edi:price>
</x>
――――― [JIS X 4158 pdf 6] ―――――
4
X 4158 : 2005
属性は,名前空間宣言か,又はその属性の名前が修飾された名前として与えられるものとする。
属性
[12] Attribute ::= NSAttName Eq AttValue
| QName Eq AttValue [ NSC: 接頭辞が宣言されていること ]
属性名として機能する修飾された名前の例を次に示す。
<x xmlns:edi='http://ecommerce.org/schema'>
<!-- 'taxClass'属性の名前空間は,http://ecommerce.org/schemaとする。-->
<lineItem edi:taxClass="exempt">Baby food</lineItem>
</x>
名前空間制約 : 接頭辞が宣言されていること
名前空間接頭辞は,それがxml又はxmlnsでない限り,その接頭辞を使用する要素の開始タグ又は先祖
要素(すなわち,接頭辞付きのマーク付けがその内容の中に出現する要素)の名前空間宣言の中に宣言され
ていなければならない。
この制約は,名前空間宣言属性が,直接にXML文書実体の中ではなく,外部実体の中で宣言されたデ
フォルト属性を経由して提供される場合に,操作上の困難を生じることがある。それら宣言は,妥当性を
検証しないXMLプロセサに基づくソフトウェアでは読めないことがある。XML応用プログラムは,名前
空間を利用するものも含めて,妥当性を検証するプロセサを要求できないことが多い。それら応用プログ
ラムでの正しい操作が必要なら,名前空間宣言は,直接に,又はDTDの内部サブセットの中で宣言され
たデフォルト属性を経由して,提供しなければならない。
要素型及び属性名は,DTDの中の宣言に出現する場合にも,修飾された名前として与えられる。
宣言における修飾名
[13] doctypedecl ::= '<!DOCTYPE' S QName (S ExternalID)・ S・ ('[' (markupdecl |
PEReference | S)* ']' S・)・ '>'
[14] elementdecl ::= '<!ELEMENT' S QName S contentspec S・ '>'
[15] cp ::= (QName | choice | seq) ('・' | '*' | '+')・
[16] Mixed ::= '(' S・ '#PCDATA' (S・ '|' S・ QName)* S・ ')*'
| '(' S・ '#PCDATA' S・ ')'
[17] AttlistDecl ::= '<!ATTLIST' S QName AttDef* S・ '>'
[18] AttDef ::= S (QName | NSAttName) AttType S DefaultDecl
5. 要素及び属性への名前空間の適用
5.1 名前空間の有効範囲
名前空間宣言は,それが指定された要素及びその属性に有効であると解釈す
る。同一のNSAttName部分をもつ他の名前空間宣言によって上書きされない限り,この要素の内容に現れ
るすべての要素及び属性にも有効であると解釈する。
<・xml version="1.0"・>
<!-- ここでのすべての要素は,HTML名前空間で明示的とする。-->
<html:html xmlns:html='http://www.w3.org/TR/REC-html40'>
――――― [JIS X 4158 pdf 7] ―――――
5
X 4158 : 2005
<html:head><html:title>Frobnostication</html:title></html:head>
<html:body><html:p>Moved to
<html:a href='http://frob.com'>here.</html:a></html:p></html:body>
</html:html>
名前空間宣言は,同じNSAttName 部分をもつ他の名前空間宣言によって上書きされない限り,それが
指定された要素とその要素の内容の内部にあるすべての要素とに有効であるものとする。
<・xml version="1.0"・>
<!-- both namespace prefixes are available throughout -->
<bk:book xmlns:bk='urn:loc.gov:books'
xmlns:isbn='urn:ISBN:0-395-36341-6'>
<bk:title>Cheaper by the Dozen</bk:title>
<isbn:number>1568491379</isbn:number>
</bk:book>
5.2 接頭辞がないときの名前空間
無接頭辞時名前空間は,それが宣言された要素に有効であると解釈
される。他の無接頭辞時名前空間宣言によって上書きされない限り,この要素の内容に現れるすべての要
素にも有効であると解釈される。無接頭辞時名前空間宣言におけるURI参照が空の場合,その宣言の有効
範囲の中の接頭辞がない要素は,どの名前空間の中にも存在しないものとする。無接頭辞時名前空間は,
属性に直接有効ではないことに注意されたい。
<・xml version="1.0"・>
<!-- 要素は,この場合無接頭辞時名前空間であるHTML名前空間に存在する。-->
<html xmlns='http://www.w3.org/TR/REC-html40'>
<head><title>Frobnostication</title></head>
<body><p>Moved to
<a href='http://frob.com'>here</a>.</p></body>
</html>
<・xml version="1.0"・>
<!-- 接頭辞のない要素型は,"books"から取り込まれる。-->
<book xmlns='urn:loc.gov:books'
xmlns:isbn='urn:ISBN:0-395-36341-6'>
<title>Cheaper by the Dozen</title>
<isbn:number>1568491379</isbn:number>
</book>
名前空間の有効範囲について,もう少し大きな例を次に示す。
<・xml version="1.0"・>
<!-- 初期値としての無接頭辞時名前空間を"books"とする。-->
<book xmlns='urn:loc.gov:books'
xmlns:isbn='urn:ISBN:0-395-36341-6'>
――――― [JIS X 4158 pdf 8] ―――――
6
X 4158 : 2005
<title>Cheaper by the Dozen</title>
<isbn:number>1568491379</isbn:number>
<notes>
<!-- ある注釈のために,無接頭辞時名前空間をHTMLとする。-->
<p xmlns='urn:w3-org-ns:HTML'>
This is a <i>funny</i> book!
</p>
</notes>
</book>
無接頭辞時名前空間を,空文字列に設定することができる。これは,その宣言の有効範囲の内部では,
無接頭辞時名前空間が存在しないことと同じ効果をもつ。
<・xml version='1.0'・>
<Beers>
<!-- 現在の無接頭辞時名前空間は,HTML。-->
<table xmlns='http://www.w3.org/TR/REC-html40'>
<th><td>Name</td><td>Origin</td><td>Description</td></th>
<tr>
<!-- 表のセルの内部では,無接頭辞時名前空間が存在しない。-->
<td><brandName xmlns="">Huntsman</brandName></td>
<td><origin xmlns="">Bath, UK</origin></td>
<td>
<details xmlns=""><class>Bitter</class><hop>Fuggles</hop>
<pro>Wonderful hop, light alcohol, good summer beer</pro>
<con>Fragile; excessive variance pub to pub</con>
</details>
</td>
</tr>
</table>
</Beers>
5.3 属性の一意性
この規格に適合するXML文書では,どのタグも次に示す二つの属性をもってはなら
ない。
a) 同一の名前をもつ。
b) 同じ局所名と,同一の名前空間名に束縛されている接頭辞とから成る修飾された名前をもつ。
例えば,次の例では,各bad開始タグは文法に合わない。
<!-- http://www.w3.orgは,n1及びn2に束縛されている。-->
<x xmlns:n1="http://www.w3.org"
xmlns:n2="http://www.w3.org" >
<bad a="1" a="2" />
<bad n1:a="1"n2:a="2" />
――――― [JIS X 4158 pdf 9] ―――――
7
X 4158 : 2005
</x>
しかし,次は文法に合っている。これは,2番目のgoodタグで,無接頭辞時名前空間は属性名に適用さ
れないことによる。
<!-- http://www.w3.orgがn1に束縛されており,無接頭辞時名前空間でもある。-->
<x xmlns:n1="http://www.w3.org"
xmlns="http://www.w3.org" >
<good a="1" b="2" />
<good a="1" n1:a="2" />
</x>
6. 文書の適合性
この規格は,XML 1.0文書を扱う。この規格に適合するためには,文書はJIS X 4159
に照らして整形式でなければならない。
この規格に適合するXML文書は,要素型及び属性名がQNameのための生成規則にマッチし,すべての
名前空間制約を満たさなければならない。文書中の他のトークンは,NCNameについてのこの規格の生成
規則にマッチしなければならない。
参考 要素型及び属性名以外のトークンは,XML 1.0の整形式であるために,NameについてXMLの
生成規則にマッチすることが要求されている。
この規格に適合する文書は,名前空間について整形式であるとする。
名前空間について整形式の文書では,次のことが成り立つ。
a) 要素型及び属性名は,0個又は1個のコロンをもつ。
b) 実体名,PI(処理命令)ターゲット名,記法名は,コロンをもたない。
さらに,名前空間について整形式の文書は,名前空間について妥当であってもよい。
名前空間について整形式の文書は,XML 1.0に基づいて妥当であって,要素型及び属性名以外のトーク
ンがこの規格のNCNameについての生成規則にマッチするとき,名前空間について妥当であるとする。
参考 XMLについて妥当な文書では,要素型及び属性名以外のトークンは,XML規格のNameにつ
いての生成規則にマッチすることが要求されている。
名前空間について妥当な文書では,次のことが成り立つ。
a) D型,IDREF(S)型,ENTITY(IES)型及びNOTATION型の属性は,コロンをもたない。
――――― [JIS X 4158 pdf 10] ―――――
次のページ PDF 11
JIS X 4158:2005の国際規格 ICS 分類一覧
- 35 : 情報技術.事務機械 > 35.060 : 情報技術に使用される言語
- 35 : 情報技術.事務機械 > 35.040 : 文字セット及び符号化
JIS X 4158:2005の関連規格と引用規格一覧
- 規格番号
- 規格名称