[3] [[XML Schema]] 定義文書による記述など、 [[PSVI]] の情報によって[[識別子]]であると判定されるものを [DFN[schema 決定 ID]] と言います。正式には >>1 のように定義されます。 Schema 決定 ID は、 [[DTD決定ID]] とは異なり、 [[属性情報項目]]だけではなく[[要素情報項目]]も候補となります。 [1] ある[[要素情報項目]]または[[属性情報項目]]は、 次の条件のいずれかを満たす時、その時に限って [DFN[[RUBYB[schema 決定][schema‐determined]] ID]] であると言います [SRC[XPointer]]。 - (対象の要素情報項目又は属性情報項目) --→ [CODE(infoprop)[[[構成員型定義]]]]又は[CODE(infoprop)[[[型定義]]]] ---→ [CODE(infoprop)[[[名前]]]] = [CODE[[[ID]]]] ---→ [CODE(infoprop)[[[対象名前空間]]]] = [CODE(URI)[[[http://www.w3.org/2001/XMLSchema]]]] - (対象の要素情報項目又は属性情報項目) --→ [CODE(infoprop)[[[基底型定義]]]] ---→ [CODE(infoprop)[名前]] = [CODE[ID]] ---→ [CODE(infoprop)[対象名前空間]] = [CODE(URI)[http://www.w3.org/2001/XMLSchema]] - (対象の要素情報項目又は属性情報項目) --→ [CODE(infoprop)[基底型定義]] ---→ [CODE(infoprop)[基底型定義]] ----→ [CODE(infoprop)[名前]] = [CODE[ID]] ----→ [CODE(infoprop)[対象名前空間]] = [CODE(URI)[http://www.w3.org/2001/XMLSchema]] -- のように、[CODE(infoprop)[基底型定義]]が間に任意個挟まってていい。 - (対象の要素情報項目又は属性情報項目) --→ [CODE(infoprop)[[[型定義名]]]] = [CODE[ID]] --→ [CODE(infoprop)[[[型定義名前空間]]]] = [CODE(URI)[http://www.w3.org/2001/XMLSchema]] - (対象の要素情報項目又は属性情報項目) --→ [CODE(infoprop)[[[構成員型定義名]]]] = [CODE[ID]] --→ [CODE(infoprop)[[[構成員型定義名前空間]]]] = [CODE(URI)[http://www.w3.org/2001/XMLSchema]] [2] 仕様書: - [[XPointer]] 枠組み --[CSECTION[3.2 Shorthand Pointer]] * 他との関係 [6] Schema 決定 ID は >>1 の定義のように [[PSVI]] の情報から決定されます。従って、 [[XML Schema]] による[[妥当性検証]]と PSVI の構築を行うなどの手続きを踏まないと、 [WEAK[(単に XML 文書を読み込んだだけでは)]] 使えません。 [4] Schema 決定 ID は、 [[XPointer]] で[[速記]]指示子として使用することができます。 [WEAK[(従って、[[百分率符号化]]だけで[[素片識別子]]に使うことができます。)]] [5] Schema 決定 ID は [[DOM水準3]] 中核の [CODE(DOMa)[[[isId]]]] 属性などにおける識別子か否かの判断に使われます。 [[#comment]] * メモ