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

X 4157-3:2008 (ISO/IEC 13250-3:2007)

(1)

目  次

ページ

序文 

1

0  導入

1

1  適用範囲

1

2  引用規格

1

3  用語及び定義 

2

4  構文定義

2

4.1  構文について 

2

4.2  直列化からの復元

3

4.3  共通の構文構成物

3

4.4  topicMap 要素

4

4.5  topic 要素

4

4.6  itemIdentity 要素

5

4.7  subjectLocator 要素

5

4.8  subjectIdentifier 要素 

5

4.9  instanceOf 要素 

5

4.10  name 要素

6

4.11  value 要素 

6

4.12  variant 要素

6

4.13  scope 要素

6

4.14  type 要素

7

4.15  occurrence 要素 

7

4.16  resourceData 要素

7

4.17  resourceRef 要素 

8

4.18  association 要素 

8

4.19  role 要素

8

4.20  topicRef 要素

8

4.21  mergeMap 要素 

9

5  適合性

9

附属書 A(規定)XTM 2.0 のための RELAX-NG スキーマ 

10

附属書 B(参考)XTM 2.0 DTD

12

附属書 C(参考)XTM 2.0 のための W3C XML スキーマ

16

附属書 D(参考)XTM 1.0 との違い 

22

附属書 E(参考)定義された用語の主題識別子 

23


 
X 4157-3:2008 (ISO/IEC 13250-3:2007)

(2)

まえがき

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

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

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

この規格は,著作権法で保護対象となっている著作物である。

この規格の一部が,特許権,出願公開後の特許出願,実用新案権又は出願公開後の実用新案登録出願に

抵触する可能性があることに注意を喚起する。経済産業大臣及び日本工業標準調査会は,このような特許

権,出願公開後の特許出願,実用新案権又は出願公開後の実用新案登録出願に係る確認について,責任は

もたない。

JIS X 4157 の規格群には,次に示す部編成がある。

JIS

X

4157-2  第 2 部:データモデル

JIS

X

4157-3  第 3 部:XML 構文

JIS

X

4157-4  第 4 部:正準化(予定)


日本工業規格

JIS

 X

4157-3

:2008

(ISO/IEC 13250-3

:2007

)

トピックマップ−第 3 部:XML 構文

Information technology Topic Maps Part 3: XML syntax

序文 

この規格は,2007 年に第 1 版として発行された ISO/IEC 13250-3 を基に,技術的内容及び対応国際規格

の構成を変更することなく作成した日本工業規格である。

なお,この規格で点線の下線を施してある参考事項は,対応国際規格にはない事項である。

導入 

XTM(XML トピックマップ)2.0 は,トピックマップの交換のための構文である。構文は,拡張又は改

変のために設計されていない。人手による編集の容易さは,XTM の設計では優先されない。したがって,

直接に構文を編集することは推奨しない。

XTM 構文の解釈は,構文からデータモデルへの対応付けを通して定義されるので,この規格は,JIS  X 

4157-2 との関連において読まれなければならない。データモデルのインスタンスを XTM 構文に直列化す

る方法も提供される。

XTM 2.0 は,JIS X 4157[1]  及び XTM1.0[3]  構文で規定する XTM 1.0 の改訂である。二つの版の違いは,

附属書 で示す。

適用範囲 

この規格は,トピックマップのための XML に基づく交換構文について規定する。交換構文は,JIS X 

4157-2:2008 で規定するデータモデルのインスタンスの交換に用いることができる。この規格は,交換構文

からデータモデルへの対応付けも規定する。構文は RELAX-NG スキーマによって定義され,データモデ

ルへの対応付けによって,より精密に定義される。それは,事実上,構文の解釈も定義する。

注記  この規格の対応国際規格及びその対応の程度を表す記号を,次に示す。

ISO/IEC 13250-3:2007,Information technology−Topic Maps−Part 3: XML syntax (IDT)

なお,対応の程度を表す記号(IDT)は,ISO/IEC Guide 21 に基づき,一致していることを示す。

引用規格 

次に掲げる規格は,この規格に引用されることによって,この規格の規定の一部を構成する。これらの

引用規格のうちで,西暦年を付記してあるものは,記載の年の版を適用し,その後の改正版(追補を含む。

には適用しない。西暦年の付記がない引用規格は,その最新版(追補を含む。

)を適用する。

注記  次のそれぞれの規格は,文の中において規格を引用するのに使用される一意の識別子をもつ。

一意な識別子は,太字で示した名称とする。



X 4157-3:2008 (ISO/IEC 13250-3:2007)

JIS X 4157-2:2008  トピックマップ−第 2 部:データモデル

注記  対応国際規格:ISO/IEC 13250-2:2006,Information technology−Topic Maps−Part 2: Data model

(IDT)

JIS X 4158:2005  XML 名前空間

注記 W3C 勧告,Namespaces in XML,W3C Recommendation, 14 January 1999 が,この規格に一致

している。<http://www.w3.org/TR/1999/REC-xml-names-19990114/>で入手が可能

JIS X 4159:2005  拡張可能なマーク付け言語 (XML) 1.0

注記 W3C 勧告,Extensible Markup Language (XML) 1.0 (Third Edition), W3C Recommendation, 04

February 2004 が,この規格に一致している。

 <http://www.w3.org/TR/2004/REC-xml-20040204/>で入手が可能

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

NG 及び追補 1:2007

注記  対応国際規格:ISO/IEC 19757-2,Information technology−Document Schema Definition

Language (DSDL)−Part 2: Regular-grammar-based validation−RELAX NG (IDT)

W3C 勧告 XPointer,XPointer Framework Version 1.0, W3C Recommendation, 25 March 2003

注記 <http://www.w3.org/TR/2003/REC-xptr-framework-20030325/>で入手が可能

W3C 勧告 XML Infoset,XML Information Set (Second Edition), W3C Recommendation, 4 February 2004

注記 <http://www.w3.org/TR/2004/REC-xml-infoset-20040204/>で入手が可能

W3C 勧告 Canonical XML,Canonical XML Version 1.0, W3C Recommendation, 15 March 2001

注記 <http://www.w3.org/TR/2001/REC-xml-c14n-20010315>で入手が可能

IETF RFC 3986,Uniform Resource Identifier (URI): Generic Syntax, Internet Standards Track Specification,

January 2005

注記 <http://www.ietf.org/rfc/rfc3986.txt>で入手が可能

IETF RFC 3987,Internationalized Resource Identifiers (IRIs), Internet Standards Track Specification, January

2005

注記 <http://www.ietf.org/rfc/rfc3987.txt>で入手が可能

用語及び定義 

この規格で用いる主な用語及び定義は,JIS X 4157-2 の箇条 によるほか,次による。

3.1 

XTM 

この規格で定められる構文。

構文定義 

4.1 

構文について 

頭字語 XTM は,多くの場合,この規格で規定する構文を指すのに用いられる。その完全な名称は,XML

トピックマップ(XML Topic Maps)とする。XTM 構文のための名前空間は,

  http://www.topicmaps.org/xtm/

とする。

XTM 文書は,XTM 構文に適合する XML 文書とする。この箇条は,簡潔構文(JIS X 4177-2 の追補 1


3

X 4157-3:2008 (ISO/IEC 13250-3:2007)

参照)の RELAX-NG スキーマを用い XTM 文書の構文を定義する。XTM 文書から JIS X 4157-2 への対応

付けを示す文を用いて意味を定義する。完全なスキーマは,

附属書 A,附属書 の DTD 及び附属書 

W3C XML スキーマで見ることができる。

4.2 

直列化からの復元 

実装におけるデータモデルの内部表現からトピックマップ構文のインスタンスへとトピックマップを移

出するプロセスは,直列化として知られている。逆のプロセス(直列化からの復元)は,実装におけるデ

ータモデルの内部表現のインスタンスを,トピックマップ構文のインスタンスから作り上げるプロセスに

なる。

この箇条は,XTM 構文のインスタンスが,どのように JIS X 4157-2 で規定するデータモデルのインスタ

ンスへと,直列化から復元されるかについて規定する。直列化は,暗黙的にだけ規定する。しかし,直列

化の実装は,あらゆるデータモデルインスタンスに対して,次を保証するのがよい。すなわち,その実装

は,それによって生産された XTM 構文のインスタンスが,新しいデータモデルインスタンスに復元され

たとき,その正準化が,ISO/IEC 13250-4[2]  に従って,元のデータモデルインスタンスの正準化と同じに

なることを保証するのがよい。

直列化からの復元プロセスへの入力は,次による。

a) XTM 文書を表す,W3C 勧告 XML Infoset によって定義された文書項目。

なお,W3C

勧告 XML Infoset からの情報項目特性は,JIS X 4157-2 からの特性と区別するために,

[[特性名]]のように記述する。すなわち,二重の角括弧を使用して参照する。

b)  絶対形式の IRI。これは,XTM 文書が読み出される IRI で,文書 IRI として知られている。この IRI

は,直列化からの復元において生成されるトピック情報項目の項目識別子を割り当てるために必要な

ので,常に与えられなければならない。XTM 文書が特定の IRI から読まれなかった場合,応用が,適

切と考えられる IRI を提供する責任がある。

直列化からの復元は,文書の中の文書項目順に各々の要素項目を処理することによってなされる。個々

の要素項目に出会うと,

その要素型に対応する細分箇条で規定される操作が実行される。

入力要素項目は,

[[namespace uri]]特性が“http://www.topicmaps.org/xtm/”に設定され,[[local name]]特性が細分箇条の標題で

与えられる要素型名に合致するとき,この規格の細分箇条に合致する。

新しい情報項目が作成される場合はいつでも,その情報項目の特性のうち集合値をもつものは空集合に

初期化される。他のすべての特性は,null に初期化される。

注記  この規格は直列化からの復元プロセスへの入力として XML 情報集合のインスタンスを要求す

る。しかし,ほとんどの場合,実際の入力は XML 文書になる。この規格は,XML 情報集合の

インスタンスが XML 文書から作成される方法を規定しない。多くの場合,これは単に XML プ

ロセサによって行われると仮定する。

JIS X 4159 に適合する XML プロセサでも,同じ XML 文書に対して,妥当性を検証するかしないか,及

びどの任意選択機能に対応しているかに依存して,異なる結果を出力する可能性がある。受取側が用いる

XML プロセサの特別な振る舞いに依存することは,推奨しない。

4.3 

共通の構文構成物 

4.3.1 

共通の宣言 

次の宣言は,記述を簡潔にするため,スキーマ全体を通じ適用される。

default namespace  = "http://www.topicmaps.org/xtm/"

namespace xtm  = "http://www.topicmaps.org/xtm/"



X 4157-3:2008 (ISO/IEC 13250-3:2007)

datatypes xsd  = "http://www.w3.org/2001/XMLSchema-datatypes"

start  = topicMap

reifiable  =  attribute reifier { xsd:anyURI }?, itemIdentity*

href  =  attribute href { xsd:anyURI }

any-markup  =  (text | element *-xtm:* { attribute * { text }*, any-markup* })*

4.3.2 reifier 属性 

reifier 属性は,それが現れるトピックマップ構成物から,その構成物を具体化するトピックを参照する

ために用いられる。参照は,トピックの項目識別子のうちの一つに合致する IRI とする。

直列化からの復元において,reifier 属性を表している属性ノードの[[normalized value]]特性の値は,4.3.4

の手順に従い絶対形式の IRI に変換される。その IRI を[item identifiers]特性にもつトピック情報項目がある

場合,そのトピック情報項目は,処理中のトピックマップ構成物の[reifier]特性の値として設定される。そ

のようなトピック情報項目が存在しない場合,新しいトピック情報項目が作成され,その[item identifiers]

特性にその IRI が追加される。対照のトピック情報項目は,処理中のトピックマップ構成物の[reifier]特性

の値として設定される。

4.3.3 href 属性 

href 属性は,常に,IETF RFC 3986 及び IETF RFC 3987 に合致した正当な相対形式又は絶対形式の IRI

を用い,情報資源を参照する。しかし,その参照の意味は,文脈に依存する。

直列化からの復元において,href 属性を表す属性ノードの[[normalized value]]特性の値は,4.3.4 の手順に

従い IRI に変換される。

4.3.4 

文字列からの IRI の作成 

文字列から IRI を生成するために,%HH エスケープシーケンスをそれが表す文字へと置換し,結果の

文字の連続を UTF-8 から抽象 Unicode 文字へと復号する。結果として生じる文字列は,文書 IRI に対して

それを解決することによって,絶対形式の IRI に変換される。

4.4 topicMap 要素 

topicMap 要素型は,すべての XTM 文書の文書要素とする。トピックマップの入れ物の役割を果たし,

具体化することができる。しかし,それ以上の意味をもたない。

宣言は,次のとおりとする。

topicMap  =  element topicMap { reifiable, version, mergeMap*, (topic | association)* }

version  =  attribute version { "2.0" }

版(version)属性は,XTM 文書が XTM のどの版(version)に適合するかについて指定するために用い

る。XTM2.0 文書の場合,これは“2.0”でなければならない。

直列化からの復元において,topicMap 要素からトピックマップ情報項目が作成される。

4.5 topic 要素 

topic 要素型は,トピックを表すのに用いられ,トピック情報の入れ物及び参照点の役割を果たす。topic

要素の子要素は,名前及び出現と同様に識別性を提供する。一方,そのトピックが果たす関連役割は,topic

要素の外側で指定される。

topic 要素型の宣言は,次のとおりとする。

topic  =  element topic { id, (itemIdentity | subjectLocator | subjectIdentifier)*, instanceOf?, (name |

occurrence)* }

id  =  attribute id { xsd:ID }


5

X 4157-3:2008 (ISO/IEC 13250-3:2007)

ID 属性は,トピックのために文書内で一意な識別子を提供する。それは,そのトピックを参照するため

に用いられる。

直列化からの復元において,topic 要素からトピック情報項目が作成され,トピックマップ情報項目の

[topics]特性に追加される。

位置指定子は,文書 IRI,記号“#”及び[[normalized value]]特性の値を連結することによって作成される。

この[[normalized value]]特性は,[[local name]]特性が“id”である要素情報項目の[[attributes]]特性の中の属

性情報項目の[[normalized value]]特性とする。この位置指定子は,トピック情報項目の[item identifiers]特性

に追加される。これが他のトピック情報項目と同じトピック情報項目を生成する場合,二つのトピック情

報項目は,JIS X 4157-2 に規定される手順に従い併合される。

4.6 itemIdentity 要素 

itemIdentity 要素は,項目識別子を,その親要素が表すトピックマップ構成物に割り当てるのに用いられ

る。

宣言は,次のとおりとする。

itemIdentity  =  element itemIdentity { href }

直列化からの復元において,4.3.3 で規定されるとおり,itemIdentity 要素の href 属性から位置指定子が生

成される。この位置指定子は,親要素によって生成される情報項目の[item identifiers]特性に追加される。

親要素が topic 要素であって,これが他のトピック情報項目と同じトピック情報項目を生成する場合,二つ

のトピック情報項目は,JIS X 4157-2 に規定される手順に従い併合される。

4.7 subjectLocator 要素 

subjectLocator 要素は,主題位置指定子をその親 topic 要素が表すトピックに割り当てるために用いられ

る。

宣言は,次のとおりとする。

subjectLocator  =  element subjectLocator { href }

直列化からの復元において,4.3.3 で規定されるとおり,subjectLocator 要素の href 属性から位置指定子

が生成される。この位置指定子は,親 topic 要素から作成されるトピック情報項目の[subject locators]特性に

追加される。これが他のトピック情報項目と同じトピック情報項目を生成する場合,二つのトピック情報

項目は,JIS X 4157-2 に規定される手順に従い併合される。

4.8 subjectIdentifier 要素 

subjectIdentifier 要素は,主題識別子をその親 topic 要素が表すトピックに割り当てるために用いられる。

subjectIdentifier 要素の宣言は,次のとおりとする。

subjectIdentifier  =  element subjectIdentifier { href }

直列化からの復元において,4.3.3 で規定されるとおり,subjectIdentifier 要素の href 属性から位置指定子

が生成される。この位置指定子は,親 topic 要素から作成されるトピック情報項目の[subject identifiers]特性

に追加される。これが他のトピック情報項目と同じトピック情報項目を生成する場合,二つのトピック情

報項目は,JIS X 4157-2 に規定される手順に従い併合される。

4.9 instanceOf 要素 

instanceOf 要素型は,一つ以上の型を,その親要素によって表されるトピックに割り当てるために用い

られる。型は,常にトピックであって,instanceOf 要素の子要素によって示される。

instanceOf 要素型の宣言は,次のとおりとする。

instanceOf  =  element instanceOf { topicRef+ }



X 4157-3:2008 (ISO/IEC 13250-3:2007)

instanceOf 要素の個々の子要素に対し,トピック情報項目が 4.20 の手順に従って作成される。その後,

個々のトピック情報項目のために,次の処置がとられる。

a)  新たな関連情報項目が,その[roles]特性の中への二つの関連役割情報項目と,[type]特性の中への

type-instance 関連型(JIS X 4157-2 の 7.2 参照)を表すトピック情報項目とを伴って作成される。その

ようなトピック情報項目が存在しない場合,トピック情報項目が作成され,主題識別子がその[subject

identifiers]特性に追加される。

b) [player]特性に,子 topicRef 要素から作成されるトピックが設定され,一つ目の関連役割情報項目の

[type]特性には,同じ関連(JIS X 4157-2 の 7.2 参照)において型役割を表しているトピック情報項目

が設定される。

c) [player]特性に,親要素(すなわち,現在のトピック)によって作成されるトピックが設定され,二つ

目の関連役割情報項目の[type]特性には,同じ関連(JIS X 4157-2 の 7.2 参照)においてインスタンス

役割を表しているトピック情報項目が設定される。

4.10 name 要素 

name 要素型は,トピック名を,親 topic 要素で表されるトピックに与えるために用いられる。name 要素

の子要素は,トピック名情報項目の特性値を与える。

name 要素型の宣言は,次のとおりとする。

name  =  element name { reifiable, type?, scope?, value, variant* }

直列化からの復元において,name 要素からトピック名情報項目が作成され,親 topic 要素から作成され

るトピック情報項目の[topic names]特性に追加される。

name 要素が type 子要素を備えている場合は,4.14 の手順に従って処理される。そうでない場合は,ト

ピック名情報項目の[type]特性には,その[subject identifiers]特性に,

“http://psi.topicmaps.org/iso13250/model/topic-name”

を含むトピック情報項目が設定される。そのようなトピック情報項目が存在しない場合,トピック情報項

目が生成される。

4.11 value 要素 

value 要素型は,トピック名の値を与えるために用いられる。

宣言は,次のとおりとする。

value  =  element value { text }

直列化からの復元において,value 要素の[[children]]特性の中の情報項目が,詳しく検討される。そして,

個々の文字情報項目に対して,[[character code]]特性によって指定される Unicode 文字が,親 name 要素に

よって作成されるトピック名情報項目の[value]特性に追加される。

4.12 variant 要素 

variant 要素型は,異形名をトピック名に追加するために用いられる。

宣言は,次のとおりとする。

variant  =  element variant { reifiable, scope, (resourceRef | resourceData) }

直列化からの復元において,variant 要素から異形情報項目が作成され,name 親要素によって作成される

トピック名情報項目の[variants]特性に追加される。scope 子要素が処理された後,name 親要素によって作

成されるトピック名情報項目の[scope]特性の中のトピックが,異形名情報項目の[scope]特性に追加される。

4.13 scope 要素 

scope 要素型は,親要素によって表されるステートメントに有効範囲を割り当てるために用いられる。


7

X 4157-3:2008 (ISO/IEC 13250-3:2007)

宣言は,次のとおりとする。

scope  =  element scope { topicRef+ }

直列化からの復元において,scope 要素は作成される情報集合に直接に影響しないが,その子要素の解

釈を変える。

個々の topicRef 子要素は,

トピック情報項目を生成するための 4.20 の手順に従い処理される。

これらのトピック情報項目は,親要素によって作成される情報項目の[scope]特性の値として割り当てられ

る集合に寄せ集められる。

4.14 type 要素 

type 要素型は,その親要素によって表されるトピックマップ構成物に型を割り当てるために用いられる。

型は常にトピックであって,type 要素の子要素によって示される。

type 要素型の宣言は,次のとおりとする。

type  =  element type { topicRef }

直列化からの復元において,子要素は 4.20 の規定に従いトピック情報項目を作成する。それは,親要素

によって作成される情報項目の[type]特性の値として設定される。

4.15 occurrence 要素 

occurrence 要素型は,親要素によって定義されるトピックに出現を割り当てるために用いられる。

宣言は,次のとおりとする。

occurrence  =  element occurrence { reifiable, type, scope?, ( resourceRef | resourceData ) }

直列化からの復元において,occurrence 要素から出現情報項目が作成され,親 topic 要素によって作成さ

れるトピック情報項目の[occurrence]特性に追加される。

4.16 resourceData 要素 
4.16.1  
一般事項 

resourceData 要素型は,XTM 文書に含まれる内容の形で,情報資源を表す。この情報資源は,異形名又

は出現のどちらかであって,データ型をもつことができる。

resourceData 要素型の宣言は,次のとおりとする。

datatype  =  attribute datatype { xsd:anyURI }

resourceData  =  element resourceData { datatype?, any-markup }

datatype 属性は,resourceData 要素によって表される資源のデータ型を識別する絶対形式の IRI を含む。

4.16.2  直列化からの復元 

resourceData 要素は,親要素によって生成される情報項目の[value]特性を設定する。datatype 属性が存在

しない場合,

“http://www.w3.org/2001/XMLSchema#string”が[datatype]特性に設定される。datatype 属性が存

在する場合,[datatype]特性には,その属性の値が設定される。

[datatype]特性に,“http://www.w3.org/2001/XMLSchema#anyType”が設定される場合,4.16.3 の手順をそ

の次に続けて行う。

[datatype]特性に,“http://www.w3.org/2001/XMLSchema#anyURI”が設定される場合,resourceData 要素の

内容から[value]特性の値を作成するために,4.3.4 の中の手順をその次に続けて行う。この場合,resourceData

要素が子要素をもつことは,誤りとする。

そうでない場合,要素項目の[[children]]特性にある情報項目が,詳しく検討される。そして,個々の文

字情報項目に対して,[[character code]]特性によって指定される Unicode 文字が,親要素から作成される情

報項目の[value]特性に追加される。この場合,resourceData 要素が子要素をもつことは,誤りとする。



X 4157-3:2008 (ISO/IEC 13250-3:2007)

4.16.3  埋込み XML の正準化 

XTM 文書は,resourceData 要素の中に任意のマーク付けを含んでもよい。このマーク付けは,データモ

デルでは文字列として表される。文字列表現は,W3C

勧告 Canonical XML に示される正準化プロセスの

適用によって,埋込みのマーク付けから作成される。正準化プロセスへの入力は,

(これを要求する W3C

勧告 Canonical XML と同じく)XPath ノード集合とする。ノード集合は,次のとおりに作成される。

a) resourceData 要素の子孫であるすべての要素情報項目,属性情報項目及び文字情報項目のための XPath

ノードを追加する。

b)  名前空間 IRI と名前空間接頭辞との集合の中に,一つの要素ノードも属性ノードも存在しない要素ノ

ードに付与されたすべての名前空間ノードを取り除く。

正準化プロセスへ渡す二つ目のパラメタは,false とする。すなわち,コメントは含まれない。

注記  W3C 勧告 Canonical XML の出力は UTF-8 符号化されたオクテット列と定められているが,こ

こで定めるプロセスの出力は,それと等価な文字列であることが望ましい。

4.17 resourceRef 要素 

resourceRef 要素型は,情報資源を参照する。情報資源は,親要素が occurrence 要素の場合は出現となる

ことができ,親要素が variant 要素の場合は異形名となることができる。

resourceRef 要素型の宣言は,次のとおりとする。

resourceRef  =  element resourceRef { href }

直列化からの復元において,4.3.3 の手順に従い resourceRef 要素から位置指定子が作成され,親要素に

よって作成される情報項目の[value]特性に挿入される。情報項目の[datatype]特性にも,

“http://www.w3.org/2001/XMLSchema#anyURI”

が設定される。

4.18 association 要素 

association 要素型は,関連を表す。role 子要素は,関連の関連役割を与える。

宣言は,次のとおりとする。

association  =  element association { reifiable, type, scope?, role+ }

直列化からの復元において,association 要素から関連情報項目が作成され,トピックマップ情報項目の

[associations]特性に追加される。

4.19 role 要素 

role 要素型は,association 親要素によって作成される関連に関連役割を割り当てるために用いられる。

宣言は,次のとおりとする。

role  =  element role { reifiable, type, topicRef }

直列化からの復元において,role 要素から関連役割情報項目が作成され,親 association 要素から作成さ

れる関連情報項目の[roles]特性に追加される。topicRef 子要素は,4.20 の手順に従いトピックに変換される。

そのトピックは,関連役割情報項目の[player]特性の値として設定される。

4.20 topicRef 要素 

topicRef 要素型は,同じ XML 文書内又は外部のトピックを参照する。トピック参照の意味は,文脈に依

存する。

要素型の宣言は,次のとおりとする。

topicRef  =  element topicRef { href }

href 属性は,トピック参照である絶対形式又は相対形式の IRI 参照を含む。この IRI 参照は,W3C 勧告


9

X 4157-3:2008 (ISO/IEC 13250-3:2007)

XPointer が省略表現指示子(以前は無装飾名)と呼ぶ素片識別子をもたなければならない。

直列化からの復元において,4.3.3 の規定に従い topicRef 要素から位置指定子が生成される。データモデ

ルが[subject identifiers]特性又は[item identifiers]特性が等しい位置指定子を含むトピック情報項目をもつ場

合は,そのトピック情報項目は,この topicRef 要素によって作成されたものになる。そのようなトピック

情報項目が存在しない場合,トピック情報項目が作成され,その[item identifiers]特性に位置指定子が追加

される。そのトピック情報項目は,この topicRef 要素によって作成されたものになる。

4.21 mergeMap 要素 

mergeMap 要素型は,mergeMap 要素を含むトピックマップに併合される外部 XTM 文書を参照する。

宣言は,次のとおりとする。

  mergeMap =  element mergeMap { href }

href 属性は,併合される XTM 文書を参照している絶対形式又は相対形式の IRI を含む。IRI は,素片識

別子を含んではならない。

直列化からの復元において,絶対形式の IRI が,4.3.3 の手順に従い mergeMap 要素の href 属性から生成

される。外部情報資源の IRI は解決され,その資源は,W3C

勧告 XML Infoset に従った XML 情報集合を

作成するために,JIS X 4159 に従って XML プロセサによって解析される。資源が整形式 XML 文書でない

場合は,誤りとする。XML 情報集合は,入力としての文書項目と情報資源の IRI とを伴って,箇条 の手

順に従い,データモデルインスタンスへと,直列化から復元される。

新しいデータモデルインスタンス(これを B とする。

)は,次によって,現データモデル(これを A と

する。

)に併合される。

a)  A の[topics]特性に,B の[topics]特性にあるすべてのトピック情報項目を追加する。

b)  A の[associations]特性に,B の[associations]特性にあるすべての関連情報項目を追加する。

注記  JIS X 4157-2 に示されているとおり,A へのトピックと関連の追加が,更なる併合を引き起こ

す可能性がある。

適合性 

XTM 文書は,次の条件に従う場合,この規格に適合する。

a)  整形式 XML 文書(JIS X 4159 参照)になっている。

b)  JIS X 4158 に適合する。

c)  附属書 のスキーマに適合する。 
d)  どのような誤りも,どのようなデータモデル制約への違反も,引き起こすことがなく,箇条 で規定

する手順に従い直列化からの復元が可能になっている。

次のすべての要件を満たす場合は,XTM プロセサは,この規格に適合する。

a) XTM プロセサは,XTM 文書に適合しないどのような入力も受け入れてはならない。

b) XTM プロセサは,すべての XTM 文書に対して,箇条 で規定される手順に従い作成されるデータモ

デルインスタンスと同一構造の表現を生成しなければならない。


10 
X 4157-3:2008 (ISO/IEC 13250-3:2007)

附属書 A

(規定)

XTM 2.0 のための RELAX-NG スキーマ

序文 

附属書 では,XTM 2.0 のための RELAX-NG スキーマを示す。

#  =============================================

#

# XML Topic Maps 2.0

#

# This is the normative RELAX-NG schema for the XTM 2.0 syntax, as defined in ISO 13250-3.

#

#  =============================================

# --- Common declarations

default namespace  = "http://www.topicmaps.org/xtm/"

namespace xtm  = "http://www.topicmaps.org/xtm/"

datatypes xsd  = "http://www.w3.org/2001/XMLSchema-datatypes"

start  = topicMap

reifiable  =  attribute reifier { xsd:anyURI }?, itemIdentity*

href  =  attribute href { xsd:anyURI }

any-markup  =  (text | element *-xtm:* { attribute * { text }*, any-markup* })*

# --- The schema

topicMap  =  element topicMap { reifiable, version, mergeMap*, (topic | association)* }

version  =  attribute version { "2.0" }

topic  =  element topic { id,  (itemIdentity | subjectLocator | subjectIdentifier)*, instanceOf?, (name |

occurrence)* }

id  =  attribute id { xsd:ID }


11

X 4157-3:2008 (ISO/IEC 13250-3:2007)

name  =  element name { reifiable, type?, scope?, value, variant* }

value  =  element value { text }

variant  =  element variant { reifiable, scope, (resourceRef | resourceData) }

scope  =  element scope { topicRef+ }

instanceOf  =  element instanceOf { topicRef+ }

type  =  element type { topicRef }

occurrence  =  element occurrence { reifiable, type, scope?, ( resourceRef | resourceData ) }

datatype  =  attribute datatype { xsd:anyURI }

resourceData  =  element resourceData { datatype?, any-markup }

association  =  element association { reifiable, type, scope?, role+ }

role  =  element role { reifiable, type, topicRef }

topicRef  =  element topicRef { href }

resourceRef  =  element resourceRef { href }

subjectLocator  =  element subjectLocator { href }

subjectIdentifier  =  element subjectIdentifier { href }

itemIdentity  =  element itemIdentity { href }

mergeMap  =  element mergeMap { href }

# --- End of schema


12 
X 4157-3:2008 (ISO/IEC 13250-3:2007)

附属書 B

(参考)

XTM 2.0 DTD

序文 

この附属書は,規定の一部ではない。

附属書 では,XTM 2.0 のための DTD を示す。

<!-- .............................................................-->

<!-- XML Topic Map DTD .........................................-->

<!-- XML Topic Map (XTM) DTD, Version 2.0

          This is XTM 2.0, an XML interchange syntax for ISO 13250 Topic Maps, defined by ISO 13250-3.

          Use this URI to identify the XTM namespace:

                  "http://www.topicmaps.org/xtm/"

          The formal public identifier for this DTD is:

         "ISO/IEC 13250-3:2007//DTD XML Topic Maps (XTM) 2.0//EN"

-->

<!-- topicMap ...................................................-->

<!ELEMENT topicMap

      ( itemIdentity*, mergeMap*, ( topic | association )* )

>

<!ATTLIST topicMap

      version                  CDATA          #FIXED '2.0'

      xmlns                    CDATA          #FIXED 'http://www.topicmaps.org/xtm/'

      reifier                    CDATA          #IMPLIED

>

<!-- topic .......................................................-->

<!ELEMENT topic

      ( ( itemIdentity | subjectLocator | subjectIdentifier )*, instanceOf?, ( name | occurrence )* )

>

<!ATTLIST topic

      id                            ID                #REQUIRED

>

<!-- itemIdentity ................................................-->

<!ELEMENT itemIdentity


13

X 4157-3:2008 (ISO/IEC 13250-3:2007)

      EMPTY

>

<!ATTLIST itemIdentity

      href                        CDATA          #REQUIRED

>

<!-- subjectLocator...............................................-->

<!ELEMENT subjectLocator

      EMPTY

>

<!ATTLIST subjectLocator

      href                        CDATA          #REQUIRED

>

<!--subjectIdentifier............................................-->

<!ELEMENT subjectIdentifier

      EMPTY

>

<!ATTLIST subjectIdentifier

      href                        CDATA          #REQUIRED

>

<!-- name ........................................................-->

<!ELEMENT name 

      ( itemIdentity*, type?, scope?, value, variant* )

>

<!ATTLIST name

      reifier                  CDATA          #IMPLIED

>

<!-- value .......................................................-->

<!ELEMENT value ( #PCDATA ) >

<!-- variant .....................................................-->

<!ELEMENT variant

      ( itemIdentity*, scope, ( resourceRef | resourceData ) )

>

<!ATTLIST variant

      reifier                  CDATA          #IMPLIED

>


14 
X 4157-3:2008 (ISO/IEC 13250-3:2007)

<!-- scope .......................................................-->

<!ELEMENT scope

   ( topicRef )+

>

<!-- instanceOf ..................................................-->

<!ELEMENT instanceOf 

   ( topicRef )+

>

<!-- type ..................................................-->

<!ELEMENT type

   ( topicRef )

>

<!-- occurrence ..................................................-->

<!ELEMENT occurrence

      ( itemIdentity*, type, scope?, ( resourceRef | resourceData ) )

>

<!ATTLIST occurrence

      reifier                  CDATA          #IMPLIED

>

<!-- resourceData ................................................-->

<!ELEMENT resourceData

   ANY

>

<!ATTLIST resourceData

      datatype                CDATA          #IMPLIED

>

<!-- resourceRef .................................................-->

<!ELEMENT resourceRef 

      EMPTY

>

<!ATTLIST resourceRef

      href                        CDATA          #REQUIRED

>


15

X 4157-3:2008 (ISO/IEC 13250-3:2007)

<!-- association .................................................-->

<!ELEMENT association

   ( itemIdentity*, type, scope?, role+ )

>

<!ATTLIST association

      reifier                  CDATA          #IMPLIED

>

<!-- role ........................................................-->

<!ELEMENT role

      ( itemIdentity*, type, topicRef )

>

<!ATTLIST role

      reifier                  CDATA          #IMPLIED

>

<!-- topicRef ....................................................-->

<!ELEMENT topicRef 

      EMPTY

>

<!ATTLIST topicRef

      href                        CDATA          #REQUIRED

>

<!-- mergeMap ....................................................-->

<!ELEMENT mergeMap

      EMPTY

>

<!ATTLIST mergeMap

      href                        CDATA          #REQUIRED

>

<!-- end of XML Topic Map (XTM) 2.0 DTD .........................-->


16 
X 4157-3:2008 (ISO/IEC 13250-3:2007)

附属書 C 
(参考)

XTM 2.0 のための W3C XML スキーマ

序文 

この附属書は,規定の一部ではない。

附属書 では,XTM 2.0 のための W3C XML スキーマを示す。

<!-- .............................................................-->

<!--XML Topic Map Schema ....................................... -->

<!-- XML Topic Map (XTM) Schema, Version 2.0

          This is XTM 2.0, an XML interchange syntax for ISO 13250 Topic Maps, defined by ISO 13250-3.

-->

<xs:schema targetNamespace="http://www.topicmaps.org/xtm/"

                    elementFormDefault="qualified"

                    xmlns="http://www.topicmaps.org/xtm/"

                    xmlns:xs="http://www.w3.org/2001/XMLSchema"

                    xmlns:dc="http://purl.org/dc/elements/1.1/">

  <xs:annotation>

    <xs:appinfo>

      <dc:title>W3C XML Schema for XTM 2.0</dc:title>

      <dc:owner>ISO/IEC JTC1 SC34</dc:owner>

      <dc:contributor>Max Voskob</dc:contributor>

      <dc:contributor>Lars Marius Garshol</dc:contributor>

      <dc:contributor>Ann Wrightson</dc:contributor>

    </xs:appinfo>

  </xs:annotation>

  <!-- any-markup ................................................-->

  <xs:complexType name="any-markup" mixed="true">

        <xs:complexContent mixed="true">

      <xs:restriction base="xs:anyType">

                <xs:sequence>

                    <xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>

                </xs:sequence>

                <xs:attribute name="datatype" type="xs:anyURI"/>

      </xs:restriction>

        </xs:complexContent>


17

X 4157-3:2008 (ISO/IEC 13250-3:2007)

  </xs:complexType>

  <!-- topicMap ..................................................-->

  <xs:element name="topicMap">   

        <xs:complexType>

            <xs:sequence>

                <xs:element ref="itemIdentity" minOccurs="0" maxOccurs="unbounded"/>

                <xs:element ref="mergeMap" minOccurs="0" maxOccurs="unbounded"/>

                <xs:choice minOccurs="0" maxOccurs="unbounded">

                    <xs:element ref="topic"/>

                    <xs:element ref="association"/>

                </xs:choice>

            </xs:sequence>

            <xs:attribute name="reifier" type="xs:anyURI"/>

            <xs:attribute name="version" fixed="2.0"/>

        </xs:complexType>

  </xs:element>

  <!-- topic .....................................................-->

  <xs:element name="topic">

        <xs:complexType>

            <xs:sequence>

                <xs:choice minOccurs="0" maxOccurs="unbounded">

                    <xs:element ref="itemIdentity"/>

                    <xs:element ref="subjectLocator"/>

                    <xs:element ref="subjectIdentifier"/>

                </xs:choice>

                <xs:element ref="instanceOf" minOccurs="0" maxOccurs="1"/>

                <xs:choice minOccurs="0" maxOccurs="unbounded">

                    <xs:element ref="name"/>

                    <xs:element ref="occurrence"/>

                </xs:choice>

            </xs:sequence>

            <xs:attribute name="id" type="xs:ID" use="required"/>

        </xs:complexType>

  </xs:element>

  <!-- itemIdentity ..............................................-->

  <xs:element name="itemIdentity">

        <xs:complexType>


18 
X 4157-3:2008 (ISO/IEC 13250-3:2007)

            <xs:attribute name="href" type="xs:anyURI" use="required"/>

        </xs:complexType>

  </xs:element>

  <!-- subjectLocator ............................................-->

  <xs:element name="subjectLocator">

        <xs:complexType>

            <xs:attribute name="href" type="xs:anyURI" use="required"/>

        </xs:complexType>

  </xs:element>

  <!-- subjectIdentifier .........................................-->

  <xs:element name="subjectIdentifier">

        <xs:complexType>

            <xs:attribute name="href" type="xs:anyURI" use="required"/>

        </xs:complexType>

  </xs:element>

  <!-- name ......................................................-->

  <xs:element name="name">

        <xs:complexType>

            <xs:sequence>

                <xs:element ref="itemIdentity" minOccurs="0" maxOccurs="unbounded"/>

                <xs:element ref="type" minOccurs="0"/>

                <xs:element ref="scope" minOccurs="0"/>

                <xs:element ref="value"/>

                <xs:element ref="variant" minOccurs="0" maxOccurs="unbounded"/>

            </xs:sequence>

            <xs:attribute name="reifier" type="xs:anyURI"/>

        </xs:complexType>

  </xs:element>

  <!-- value .....................................................-->

  <xs:element name="value" type="xs:string"/>

  <!-- variant ...................................................-->

  <xs:element name="variant">

        <xs:complexType>

            <xs:sequence>

                <xs:element ref="itemIdentity" minOccurs="0" maxOccurs="unbounded"/>


19

X 4157-3:2008 (ISO/IEC 13250-3:2007)

                <xs:element ref="scope"/>

                <xs:choice>

                    <xs:element ref="resourceData"/>

                    <xs:element ref="resourceRef"/>

                </xs:choice>

            </xs:sequence>

            <xs:attribute name="reifier" type="xs:anyURI"/>

        </xs:complexType>

  </xs:element>

  <!-- scope .....................................................-->

  <xs:element name="scope">

        <xs:complexType>

            <xs:choice>

                <xs:element ref="topicRef" maxOccurs="unbounded"/>

            </xs:choice>

        </xs:complexType>

  </xs:element>

  <!-- instanceOf ................................................-->

  <xs:element name="instanceOf">

        <xs:complexType>

            <xs:choice>

                <xs:element ref="topicRef" maxOccurs="unbounded"/>

            </xs:choice>

        </xs:complexType>

  </xs:element>

  <!-- type ......................................................-->

  <xs:element name="type">

        <xs:complexType>

            <xs:choice>

                <xs:element ref="topicRef"/>

            </xs:choice>

        </xs:complexType>

  </xs:element>

  <!-- occurrence ................................................-->

  <xs:element name="occurrence">

        <xs:complexType>


20 
X 4157-3:2008 (ISO/IEC 13250-3:2007)

            <xs:sequence>

                <xs:element ref="itemIdentity" minOccurs="0" maxOccurs="unbounded"/>

                <xs:element ref="type"/>

                <xs:element ref="scope" minOccurs="0"/>

                    <xs:choice>

                    <xs:element ref="resourceRef"/>

                    <xs:element ref="resourceData"/>

                </xs:choice>

            </xs:sequence>

            <xs:attribute name="reifier" type="xs:anyURI"/>

        </xs:complexType>

  </xs:element>

  <!-- resourceData ..............................................-->

  <xs:element name="resourceData" type="any-markup"/>

  <!-- association ...............................................-->

  <xs:element name="association">

        <xs:complexType>

            <xs:sequence>

                <xs:element ref="itemIdentity" minOccurs="0" maxOccurs="unbounded"/>

                <xs:element ref="type"/>

                <xs:element ref="scope" minOccurs="0"/>

                <xs:element ref="role" maxOccurs="unbounded"/>

            </xs:sequence>

            <xs:attribute name="reifier" type="xs:anyURI"/>

        </xs:complexType>

  </xs:element>

  <!-- role ......................................................-->

  <xs:element name="role">

        <xs:complexType>

            <xs:sequence>

                <xs:element ref="itemIdentity" minOccurs="0" maxOccurs="unbounded"/>

                <xs:element ref="type"/>

                <xs:element ref="topicRef"/>

            </xs:sequence>

            <xs:attribute name="reifier" type="xs:anyURI"/>

        </xs:complexType>

  </xs:element>


21

X 4157-3:2008 (ISO/IEC 13250-3:2007)

  <!-- topicRef ..................................................-->

  <xs:element name="topicRef">

        <xs:complexType>

            <xs:attribute name="href" type="xs:anyURI" use="required"/>

        </xs:complexType>

  </xs:element>

  <!-- resourceRef ...............................................-->

  <xs:element name="resourceRef">

        <xs:complexType>

            <xs:attribute name="href" type="xs:anyURI" use="required"/>

        </xs:complexType>

  </xs:element>

  <!-- mergeMap ..................................................-->

  <xs:element name="mergeMap">

        <xs:complexType>

            <xs:attribute name="href" type="xs:anyURI" use="required"/>

        </xs:complexType>

  </xs:element>

</xs:schema>


22 
X 4157-3:2008 (ISO/IEC 13250-3:2007)

附属書 D 
(参考)

XTM 1.0 との違い

序文 

この附属書は,規定の一部ではない。

附属書 では,この規格の本体で規定する構文と JIS X 4157[1]の構文との違いを示す。違いは,次のと

おりになっている。

a)  名前空間 URI の変更。

b) topicMap 要素への version 属性の追加。

c) parameters 要素から scope 要素への変更。

d) roleSpec 要素から type 要素への変更。

e) member 要素から role 要素への変更。

f) role 要素の子要素として単一の topic 参照が必要。

g) baseName 要素から name 要素への変更。

h) instanceOf 要素は,topic 要素の中以外では type 要素へ変更。

i) name 要素の中での type 要素を許可。

j) variantName 要素と subjectIdentity 要素の削除。

k) variant 要素の入れ子の禁止。

l) occurrence 要素,association 要素及び role 要素の内側では type 要素が必す。

m) mergeMap 要素は,付加された scope を許可しない。

n) topic 要素以外のすべての要素から id 属性を削除。幾つかの要素で reifies 属性を追加。

o) itemIdentity 要素,subjectLocator 要素及び subjectIdentifier 要素の追加。

p) subjectIndicatorRef 要素の削除。

q) XTM は,Xlink 及び XML Base を利用しない。

r) mergeMap 要素は,すべての topic 要素及び association 要素に先行しなければならない。

s) resourceData 要素への datatype 属性の追加。埋込みマーク付けの提供。

t) subjectIndicatorRef 要素を使用した XTM 1.0 の暗黙的な具体化構文に代えて,reifier 属性を追加。

u) baseNameString 要素から value 要素への変更。


23

X 4157-3:2008 (ISO/IEC 13250-3:2007)

附属書 E

(参考)

定義された用語の主題識別子

序文 

この附属書は,規定の一部ではない。

この附属書は,箇条 の中で正式に定義された用語の各々に一つの主題識別子を定義する。主題識別子

は,例えば,それらの主題についての情報の照合を可能にするために,それらが識別する主題へのあいま

いでない参照を可能にするというただ一つの目的のために定義される。この規格は,これら識別子及びそ

れに加えて,一般に,主題識別子に関連するものに対して,いかなる種類の処理上の意味ももたせない。

XTM 

http://psi.topicmaps.org/iso13250/glossaryl/XTM

参考文献 

[1]  JIS X 4157:2002 及び追補 1  SGML 応用−トピックマップ

注記  対応国際規格:ISO/IEC 13250:2003,Information technology−SGML applications−Topic maps

(IDT)

[2]  ISO/IEC 13250-4,Information technology−Topic Maps−Part 4 : Canonicalization (to be published)

[3]  XTM 1.0,XML Topic Maps (XTM) 1.0 TopicMaps.Org Specification, Steve Pepper, Graham Moore, 2001

注記 <http://www.topicmaps.org/xtm/1.0/>で入手が可能