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

X 4158:2005 

(1) 

2019年7月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) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

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

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

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

できる。 

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

X 4158:2005 

(3) 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

目 次 

ページ 

序文 ··································································································································· 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 

  

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

日本工業規格          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名前空間は,内部構造をもっており,数学的な集合ではないとい

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

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

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

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

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

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

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

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

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

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

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

X 4158:2005 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

供する。 

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に束縛される。--> 

X 4158:2005 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

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

X 4158:2005 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

属性は,名前空間宣言か,又はその属性の名前が修飾された名前として与えられるものとする。 

属性 

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

X 4158:2005 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

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

X 4158:2005 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

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

X 4158:2005 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

</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型の属性は,コロンをもたない。 

X 4158:2005 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

附属書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応用プログラムによる解釈だけにおいて大域的となる。しかし,

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

的に出現する。 

X 4158:2005 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

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> 

background image

10 

X 4158:2005 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

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

行  名前  

展開後  

section  

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

title  

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

signing  

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

author  

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

title  

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

name  

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

book  

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

title  

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

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> 

RESERVATION  

<ExpEType type="RESERVATION" />  

NAME  

<ExpEType type="NAME" />  

HTML:CLASS  

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

SEAT  

<ExpEType type="SEAT" />  

CLASS  

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

HTML:CLASS  

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

HTML:A  

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

HREF  

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

DEPARTURE  

<ExpEType type="DEPARTURE" />  

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

ことはない(すなわち,属性及び値の対が一致することはない。)ことを要求することによって容易に実装

できる。 

11 

X 4158:2005 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

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

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

XML名前空間の作業は,非常に多くの人々からの入力を反映したものである。これには,特に,W3C XML

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

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

12 

X 4158:0000 解説 

解 0 

2019年7月1日の法改正により名称が変わりました。まえがきを除き,本規格中の「日本工業規格」を「日本産業規格」に読み替えてください。 

附属書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から入手可能である。