>サイトトップへ >このカテゴリの一覧へ

X 4158

:2005

(1)

まえがき

この規格は,工業標準化法第 12 条第 1 項の規定に基づき,財団法人日本規格協会(JSA)から,工業標準

原案を具して日本工業規格を制定すべきとの申出があり,日本工業標準調査会の審議を経て,経済産業大

臣が制定した日本工業規格である。

この規格の一部が,技術的性質をもつ特許権,出願公開後の特許出願,実用新案権,又は出願公開後の

実用新案登録出願に抵触する可能性があることに注意を喚起する。経済産業大臣及び日本工業標準調査会

は,このような技術的性質をもつ特許権,出願公開後の特許出願,実用新案権,又は出願公開後の実用新

案登録出願にかかわる確認について,責任はもたない。

JIS X 4158

には,次に示す附属書がある。

附属書 A(参考)XML 名前空間の内部構造

附属書 B(参考)貢献者

附属書 C(規定)引用規定

原勧告の標題及びまえがき

XML 名前空間

W3C 勧告 1999 年 1 月 14 日

この版の掲載場所

http://www.w3.org/TR/1999/REC-xml-names-19990114

http://www.w3.org/TR/1999/REC-xml-names-19990114/xml-names.xml

http://www.w3.org/TR/1999/REC-xml-names-19990114/Overview.html

最新版の掲載場所

http://www.w3.org/TR/REC-xml-names

以前の版の掲載場所

http://www.w3.org/TR/1998/PR-xml-names-19981117

編者

Tim Bray (Textuality) <tbray@textuality.com>

Dave Hollander (Hewlett-Packard Company) <dmh@corp.hp.com>

Andrew Layman (Microsoft) <andrewl@microsoft.com>

著作権 © 2000 W3C

®

 (MIT,INRIA,Keio)が,すべての権利を保有する。免責,商標,文書の使

用,及びソフトウェアの使用許諾に関する W3C の規則を適用する。

この文書の状態  この文書は,W3C 会員企業及び関連する団体によって審議されており,技術統

括責任者によって W3C 勧告として承認されている。この文書は安定したものであり,参考資料と

して使用してよく,他の文書から引用規定として引用してもよい。W3C はこの勧告を制定するこ


X 4158

:2005

(2)

とによって,この規定への注目を喚起し,広い普及を促進するという役割を果たす。この結果,

Web の機能及び相互運用性が高まる。

  この規定の既知の誤りの一覧は,http://www.w3.org/XML/xml-names-19990114-errata から入手

できる。

この文書に誤りがあれば xml-names-editor@w3.org に報告されたい。


X 4158

:2005

(3)

目  次

ページ

序文 

1

0.

  適用範囲

1

1.

  背景及び概要 

1

1.1

  記法及び使用法に関する備考

2

2.

  名前空間の宣言 

2

3.

  修飾された名前 

3

4.

  修飾された名前の使用 

3

5.

  要素及び属性への名前空間の適用

4

5.1

  名前空間の有効範囲

4

5.2

  接頭辞がないときの名前空間

5

5.3

  属性の一意性 

6

6.

  文書の適合性 

7

附属書 A(参考)  XML 名前空間の内部構造

8

附属書 B(参考)  W3C の Namespaces in XML 勧告作成貢献者 

11

附属書 C(規定)  引用規定 

12


日本工業規格

JIS

 X

4158

:2005

XML

名前空間

Namespaces in XML

序文  この規格は,1999 年 1 月に World Wide Web Consortium(W3C)から公表された Namespaces in XML 勧

告を翻訳し,技術的内容を変更することなく作成した規格である。

0. 

適用範囲  この規格は,XML 名前空間を規定する。XML 名前空間は,XML 文書の中で使用する要素

及び属性の名前を修飾するための単純な方法を提供する。修飾は,URI 参照で識別する名前空間と名前と

を関連付けることによって行う。

1.

背景及び概要  複数のソフトウェアモジュールのために定義され使用される要素及び属性  [これを

“マーク付け語い(彙)”という。]  を,一つの拡張可能なマーク付け言語 (Extensible Markup Language,以

下 XML という。)の文書が含む場合を想定する。これを想定する動機の一つは,モジュール性にある。よ

く理解されたマーク付け語いが存在し,それを扱う有用なソフトウェアが利用可能な場合,このマーク付

けを再発明するよりもむしろ再利用するほうがよい。

複数のマーク付け語いを含む文書では,要素型及び属性名の認識,並びにそれらの名前の衝突が問題と

なる。ソフトウェアモジュールは,他のソフトウェアパッケージ用マーク付けで同じ要素型又は属性名が

使われている場合,名前の“衝突”に直面するが,その場合でも,そのモジュールが処理するものとして

設計されているタグ及び属性を認識できることが必要である。

こうしたことは,有効範囲が文書を越えて広がる普遍的な名前を,文書の構成要素がもつほうがよいこ

とを示している。この規格では,これを達成する XML 名前空間という機構を示す。

XML

名前空間とは,URI 参照(RFC2396)によって識別され,XML 文書の中で要素型及び属性名とし

て使用される名前の集まりとする。XML 名前空間は,内部構造をもっており,数学的な集合ではないとい

う点で,計算機分野で慣習的に使用する“名前空間”とは異なる(附属書 参照)。

名前空間を識別する URI 参照は,文字ごとに全く同じ場合,同一とみなす。この意味で同一ではない

URI

参照も,実際には機能的に等価となることがあることに注意されたい。この例として,大文字・小文

字だけが違う URI 参照,又は異なる実効的基底 URI をもつ外部実体の中での URI 参照がある。

空の文字列は,URI 参照として正しいが,名前空間名として用いることはできない。

相対 URI 参照を名前空間宣言に用いることは,同一文書への参照を含め,推奨しない。今後の W3C 仕

様(W3C 勧告など W3C が発行する仕様)は,その解釈を規定しない。

XML

名前空間を使った名前は,修飾された名前として出現してよい。この修飾された名前は,名前を一

つの名前空間接頭辞及び一つの局所名に分離するコロンを一つ含んでもよい。URI 参照に対応付けられる

接頭辞が,名前空間を選択する。普遍的に管理される URI 名前空間と文書自体の名前空間との組合せが,

普遍的に一意な識別子を生成する。さらに,接頭辞の有効範囲及び無接頭辞時名前空間のための機構を提


2

X 4158

:2005

供する。

URI

参照は,名前には許されない文字を含むことが可能で,直接には名前空間接頭辞として使うことが

できない。そこで,名前空間接頭辞は,URI 参照の代理として機能する。名前空間接頭辞と URI 参照との

関連を宣言するために,2.以降で示す属性に基づく構文を使用する。この名前空間規定に従うソフトウェ

アは,これらの宣言及び接頭辞を認識し,それに基づいて動作しなければならない。

1.1

記法及び使用法に関する備考  この規格の生成規則の中の非終端記号の多くは,この規格ではなく,

JIS X 4159

の中で定義されている。この規格で定義する非終端記号が,XML の規定で定義する非終端記号

と同じ名前をもつ場合,この規格での生成規則は,すべての場合において,XML の規定の対応する生成規

則にマッチする文字列の部分文字列とマッチする。

この規定の生成規則における NSC とは,この規定に適合する文書が従わなければならない規則の一つ,

“名前空間制約(Namespace Constraint)”のこととする。

例で使用するすべてのドメイン名は,

“w3.org”以外は無作為に選ばれたものであって,何らかの意味を

もつものとして受け取らないほうがよい。

2.

名前空間の宣言  名前空間は,一連の予約済み属性を使って宣言される。それら属性の名前は,xmlns

とするか,又は接頭辞として xmlns:をもたなければならない。これらの属性は,他の XML 属性と同様に,

直接に又はデフォルトで提供される。

名前空間宣言用の属性名

[1]    NSAttName

::=

PrefixedAttName

  |

DefaultAttName

[2]    PrefixedAttName   ::=

'xmlns:' NCName   [NSC:

予約された接頭辞及び名前空間名]

[3]    DefaultAttName   ::=

'xmlns'

[4]    NCName

::=

(Letter | '_') (NCNameChar)*  /* XML

の Name から":"を除いたもの */

[5]      NCNameChar

::=

Letter | Digit | '.' | '-' | '_' | CombiningChar | Extender

URI

参照である属性の正規化後の値を,名前空間を識別する名前空間名とする。名前空間名は,その意

図する目的を果たすために,一意性及び永続性という特徴をもつことが望ましい。(スキーマが存在する場

合に)スキーマ検索のために名前空間名を直接に利用できることは,目標とはしない。これらの目標を念頭

におき設計された文法としては,例えば,Uniform Resource Name(URN)(RFC2141)の文法がある。しか

し,通常の URL も,これらと同じ目標を達成する方法で管理可能なことには注意したほうがよい。

属性名が PrefixedAttName にマッチする場合,NCName は,名前空間接頭辞を与える。この接頭辞は,

その宣言が指定されている要素の有効範囲の中の属性値における名前空間名に,要素名及び属性名を関連

付けるために使用する。この宣言においては,名前空間名は空であってはならない。

属性名が DefaultAttName にマッチする場合,その属性値における名前空間名は,宣言が指定されている

要素の有効範囲の中の無接頭辞時名前空間の名前空間名とする。これら無接頭辞時名前空間宣言では,属

性値は空であってもよい。無接頭辞時名前空間と宣言の上書きとについては,5.で規定する。

名前空間宣言の例を次に示す。

この例では,

名前空間接頭辞 edi を,

名前空間名 http://ecommerce.org/schema

に関連付けている。

<x xmlns:edi='http://ecommerce.org/schema'>

   <!-- "x"

要素及び内容に対して,"edi"接頭辞は,http://ecommerce.org/schema に束縛される。-->


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>


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) S AttType S DefaultDecl

5. 

要素及び属性への名前空間の適用

5.1

名前空間の有効範囲  名前空間宣言は,それが指定された要素及びその属性に有効であると解釈す

る。同一の NSAttName 部分をもつ他の名前空間宣言によって上書きされない限り,この要素の内容に現れ

るすべての要素及び属性にも有効であると解釈する。

<?xml version="1.0"?>

<!--

ここでのすべての要素は,HTML 名前空間で明示的とする。-->

<html:html xmlns:html='http://www.w3.org/TR/REC-html40'>


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'>


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" />


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)  ID

型,IDREF(S)型,ENTITY(IES)型及び NOTATION 型の属性は,コロンをもたない。


8

X 4158

:2005

附属書 A(参考)  XML 名前空間の内部構造

この附属書は,本体及び附属書に関連する事柄を補足するもので,規定の一部ではない。

A.1 

従来の名前空間の不十分さ  計算処理分野において,

“名前空間”という用語は,慣用的に名前の集

合,すなわち重複を含まない集まりを指す。しかし,XML マーク付けの中で使う名前をこの名前空間とし

て扱うことは,その有用性を著しく損なうことになる。XML 文書の中でこれら名前を使用する主な目的は,

問合せ用処理系,スタイルシートを参照するレンダリングエンジン,スキーマを参照して妥当性を検証す

るプロセサなどのソフトウェアモジュールによって,文書の論理的構造の識別を可能とすることにある。

次に例を示す。

<section><title>Book-Signing Event</title>

<signing>

    <author title="Mr" name="Vikram Seth" />

    <book title="A Suitable Boy" price="$22.95" /></signing>

<signing>

    <author title="Dr" name="Oliver Sacks" />

    <book title="The Island of the Color-Blind" price="$12.95" /></signing>

</section>

この例では,マーク付けの中に title という名前が 3 回出現し,明らかに名前だけでは,ソフトウェアモ

ジュールが正しい処理を行えるための十分な情報が提供されていない。

他の問題となる領域は,次の例が示すとおり,“大域的”な属性の利用に由来する。この例は,CSS ス

タイルシートを使って表示される XML 文書の断片である。

<RESERVATION>

 <NAME HTML:CLASS="largeSansSerif">Layman

, A</NAME>

  <SEAT CLASS="Y" HTML:CLASS="reallyImportant">33B</SEAT>

 <DEPARTURE>1997-05-24T07:55:00+1</DEPARTURE></RESERVATION>

この場合,CLASS 属性は,運賃の基準を示し,"J","Y"及び"C"という値をとり,あらゆるセマンティ

クスのレベルにおいて,HTML:CLASS  属性とは区別される。HTML:CLASS の方は,限定的な要素レパー

トリをサブクラス化によって克服する手段として,HTML における構文的な豊富さをシミュレートするた

めに用いている。

XML1.0

は,

“大域的”属性を宣言するための組込みの方法を提供しない。HTML の CLASS 属性などの

項目は,その自然言語の記述及び HTML 応用プログラムによる解釈だけにおいて大域的となる。しかし,

それらの属性は,名前が一意的であるという他とは違う重要な特徴をもち,多様な応用プログラムで共通

的に出現する。


9

X 4158

:2005

A.2 XML

名前空間の区画  修飾された名前及び修飾されない名前の両方を,その意図する目的に見合う

という点で役立つものとするために,XML 名前空間の中に出現する名前を,名前空間の区画という幾つか

の共通部分をもたない従来の(すなわち集合構造の)名前空間の一つに属するものとして識別する。ここで,

区画は次による。

a) 

すべての要素型を含む区画  ある XML 名前空間の中の要素型は,すべてこの区画の中に出現する。

それぞれは,一意な局所名をもつ。名前空間名と局所名との組合せが,要素型を一意に識別する。

b) 

大域的な属性を含む区画  この区画は,この名前空間の中で大域的なものとして定義される属性すべ

ての名前を含む。大域的な属性に要求されるただ一つの特徴は,その名前が大域的な属性を含む区画

において一意的となることとする。

この規格では,

それら属性の適正な利用法に関して何も示さない。

名前空間名と属性名との組合せは,大域的な属性を一意に識別する。

c) 

要素型ごとの区画  すべての要素型を含む区画における型はそれぞれ,その要素のために提供された

修飾されない属性の名前が出現する一つの関連付けられた名前空間をもつ。一つの要素上に属性名が

重複して出現することは,XML 1.0 によって禁止されるので,これは従来の名前空間となる。要素型

付き属性名と名前空間名との組合せで,一意に,修飾されない各属性を識別する。

この規格に適合する XML 文書では,すべての修飾された(接頭辞付きの)属性の名前は,大域的な属性を

含む区画に割り当てられ,すべての修飾されない属性の名前は,適切な要素型ごとの区画に割り当てられ

る。

A.3 

展開された要素型及び属性名  規則を指定し比較を行うときの便宜のために,XML 文書のそれぞれ

の要素型及び属性名に対して,要素構文で表される展開形式を定義する。

展開された要素型は,型 ExpEType の内容をもたない XML 要素として表現する。これは,その型の

LocalPart

を与える一つの必す(須)な type 属性と,要素が修飾されている場合にその名前空間名を与える一

つの省略可能な ns 属性とをもつ。

展開された属性名は,型 ExpAName の内容をもたない XML 要素として表現する。これは,名前を与え

る一つの必す(須)な name 属性をもつ。属性が大域的である場合には,名前空間名を与える一つの必す(須)

な ns 属性をもつ。大域的でない場合には,属性が指定された要素の型を与える一つの必す(須)な eltype 属

性と,属性が指定された要素の名前空間名を与える一つの省略可能な elns 属性とをもつ(この名前空間名

が知られているときに限る)

前例をもとに若干の変形を行うことによって,展開された要素型及び属性名の動作を示す。次の二つの

XML

記述例に続けて,それぞれ名前の展開を示す表を与える。

<!-- 1 --> <section xmlns='urn:com:books-r-us'>

<!-- 2 -->   <title>Book-Signing Event</title>

<!-- 3 -->   <signing>

<!-- 4 -->          <author title="Mr" name="Vikram Seth" />

<!-- 5 -->          <book title="A Suitable Boy" price="$22.95" />

                          </signing>

                      </section>


10

X 4158

:2005

名前は,次のとおりに展開される。

行    名前

展開後

1

section

<ExpEType type="section" ns="urn:com:books-r-us" />

2

title

<ExpEType type="title" ns="urn:com:books-r-us" />

3

signing

<ExpEType type="signing" ns="urn:com:books-r-us" />

4

author

<ExpEType type="author" ns="urn:com:books-r-us" />

5

title

<ExpAName name='title' eltype="author" elns="urn:com:books-r-us" />

4

name

<ExpAName name='name' eltype="author" elns="urn:com:books-r-us" />

5

book

<ExpEType type="book" ns="urn:com:books-r-us" />

5

title

<ExpAName name='title' eltype="book" elns="urn:com:books-r-us" />

5

price

<ExpAName name='price' eltype="book" elns="urn:com:books-r-us" />

<!-- 1 --> <RESERVATION xmlns:HTML="http://www.w3.org/TR/REC-html40">

<!-- 2 --> <NAME HTML:CLASS="largeSansSerif">Layman, A</NAME>

<!-- 3 --> <SEAT CLASS="Y" HTML:CLASS="largeMonotype">33B</SEAT>

<!-- 4 --> <HTML:A HREF='/cgi-bin/ResStatus'>Check Status</HTML:A>

<!-- 5 --> <DEPARTURE>1997-05-24T07:55:00+1</DEPARTURE></RESERVATION>

1

RESERVATION

<ExpEType type="RESERVATION" />

2

NAME

<ExpEType type="NAME" />

2

HTML:CLASS

<ExpAName name="CLASS" ns="http://www.w3.org/TR/REC-html40" />

3

SEAT

<ExpEType type="SEAT" />

3

CLASS

<ExpAName name="CLASS" eltype="SEAT" />

3

HTML:CLASS

<ExpAName name="CLASS" ns="http://www.w3.org/TR/REC-html40" />

4

HTML:A

<ExpEType type="A" ns="http://www.w3.org/TR/REC-html40" />

4

HREF

<ExpAName name="HREF" eltype="A" elns="http://www.w3.org/TR/REC-html40" />

5

DEPARTURE

<ExpEType type="DEPARTURE" />

A.4 

展開された属性名の一意性  本体 5.2 で示した制約は,ある要素の二つの属性が等価な展開名をもつ

ことはない(すなわち,属性及び値の対が一致することはない。

)ことを要求することによって容易に実装

できる。


11

X 4158

:2005

附属書 B(参考)  W3C の Namespaces in XML 勧告作成貢献者

この附属書は,本体及び附属書に関連する事柄を補足するもので,規定の一部ではない。

XML

名前空間の作業は,

非常に多くの人々からの入力を反映したものである。

これには,

特に,

W3C XML

作業グループ及び特定関係者グループのメンバ,並びに W3C メタデータ活動の参加者が含まれる。

Microsoft

の Charles Frankston の貢献は,特に貴重であった。


12

X 4158

:2005

附属書 C(規定)  引用規定

IETF RFC 2141, URN Syntax, 1997-5

参考  この IETF RFC は http://www.ietf.org/rfc/rfc2141.txt から入手可能である。

  IETF RFC 2396, Uniform Resource Identifiers (URI): Generic Syntax, 1998-08

備考  TS X 0097:2003  統一資源識別子(URI)共通構文が,この IETF RFC に一致している。

参考  この IETF RFC は http://www.ietf.org/rfc/rfc2396.txt から入手可能である。

JIS X 4159:2005

拡張可能なマーク付け言語(XML)1.0

備考 W3C 勧告,Extensible Markup Language (XML) 1.0 (Third Edition),2004 年 2 月 4 日が,この規格

に一致している。

参考  この W3C 勧告は http://www.w3.org/TR/2004/REC-xml-20040204 から入手可能である。