[解決済み] elementFormDefault は XSD で何をするのですか?
質問
とは何ですか?
elementFormDefault
は、どのような場合に使用するのでしょうか?
ということで、いくつかの定義を見つけました。
elementFormDefault
の値を指定します。
適格 - 要素および属性 のtargetNamespaceにあります。 スキーマ
無条件 - 要素および 属性は名前空間を持ちません。
この定義からすると、スキーマが修飾型に設定されている場合、なぜ型に名前空間を接頭させなければならないのでしょうか。 また、unqualifiedに設定されるシナリオはどのようなものでしょうか? ググってみましたが、W3Cのページばかりで、非常にわかりにくかったです。
これは私が今作業しているファイルですが、なぜ私は型を
target:TypeAssignments
と宣言したときに
targetNamespace
と同じものである。
xmlns:target
?
<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:target="http://www.levijackson.net/web340/ns"
targetNamespace="http://www.levijackson.net/web340/ns"
elementFormDefault="qualified">
<element name="assignments">
<complexType>
<sequence>
<element name="assignments" type="target:TypeAssignments"
minOccurs="1" maxOccurs="unbounded"/>
</sequence>
</complexType>
</element>
<complexType name="TypeAssignments">
<sequence>
<element name="assignment" type="target:assignmentInfo"
minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
<complexType name="assignmentInfo">
<sequence>
<element name="name" type="string"/>
<element name="page" type="target:TypePage"/>
<element name="file" type="target:TypeFile"
minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="id" type="string" use="required"/>
</complexType>
<simpleType name="TypePage">
<restriction base="integer">
<minInclusive value="50" />
<maxInclusive value="498" />
</restriction>
</simpleType>
<simpleType name="TypeFile">
<restriction base="string">
<enumeration value=".xml" />
<enumeration value=".dtd" />
<enumeration value=".xsd" />
</restriction>
</simpleType>
</schema>
解決方法は?
ElementFormDefault はスキーマの型の名前空間とは関係なく、スキーマに準拠した XML 文書の要素の名前空間に関するものです。
以下は、仕様書の該当部分です。
<ブロッククオートElement Declaration Schema
Component Property {target namespace}
Representation If form is present and its ·actual value· is qualified,
or if form is absent and the ·actual value· of
elementFormDefault on the <schema> ancestor is qualified,
then the ·actual value· of the targetNamespace [attribute]
of the parent <schema> element information item, or
·absent· if there is none, otherwise ·absent·.
つまり、スキーマの先頭で宣言した targetNamespace は、elementFormDefault が "qualified" であるか、スキーマで明示的に form="qualified" と宣言された要素にのみ、スキーマ準拠の XML 文書内の要素として適用されるということである。
例えば もしelementFormDefaultがunqualifiedであった場合
<element name="name" type="string" form="qualified"></element>
<element name="page" type="target:TypePage"></element>
は "name" 要素が targetNamespace にあり、 "page" 要素が null namespace にあることを期待します。
すべての要素宣言に form="qualified" を記述する必要がないように、elementFormDefault="qualified" と記述すると、要素宣言に form="unqualified" を記述して上書きされない限り、targetNamespace はそれぞれの要素に適用されるということになります。
関連
-
[解決済み] XML: 後続のセクションでコンテンツが許可されていない
-
[解決済み] エラーが発生しました。XMLドキュメントの構造は、同じエンティティ内で始まり、終わる必要があります。
-
[解決済み] i:nil="true "とはどういう意味ですか?
-
[解決済み] Powershell - XMLをCSVに変換する
-
[解決済み] 条件付きXpathステートメントを作成するには?
-
[解決済み] exclude-result-prefixesが機能しない
-
[解決済み] 設定ファイルが整形式のXMLでない #2
-
[解決済み] XMLの<![CDATA[]]>は何を意味するのですか?
-
[解決済み】XMLの "xmlns "の意味は?
-
[解決済み】XML属性とXML要素
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】XML-スキーマでxsi:typeを属性として定義する方法とは?
-
[解決済み] XPath count()関数
-
[解決済み] XML: 後続のセクションでコンテンツが許可されていない
-
[解決済み] パワーポイント - XML - リボン - 一部のidMsoに問題があります。
-
[解決済み] XML ファイルの構造から IMG タグを使用する方法
-
[解決済み] 複数のタグを選択するXPath
-
[解決済み】JSONとXMLの比較【クローズド
-
[解決済み】コンソールとファイルアペンダーを使用した非常にシンプルなlog4j2のXML設定ファイル
-
[解決済み】「xmlns」「version」などのSVGパラメータは必要ですか?
-
[解決済み】シェルからXPathワンライナーを実行する方法は?