[解決済み] XSDでelementFormDefaultは何をするのですか?
質問
どのような
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"を置くことを節約するために、要素宣言にform="unqualified"を置くことによって上書きされない限り、要素にtargetNamespaceを適用することを意味する elementFormDefault="qualified" と記述します。
関連
-
SAXParseException: ルート要素に続くドキュメント内のマークアップは、うまく処理されなければなりません。
-
[解決済み] XMLの<![CDATA[]]>は何を意味するのですか?
-
[解決済み】XMLの "xmlns "の意味は?
-
[解決済み] DTDやXSDからサンプルXMLドキュメントを生成する方法は?
-
[解決済み] T-SQLでXML文字列の属性にある二重引用符をエスケープするにはどうすればよいですか?
-
[解決済み] XMLの属性値で二重引用符をエスケープするには?
-
[解決済み] XML スキーマ。テキストのみを含む属性を持つ要素?
-
[解決済み] xmlのCDATAエンドトークンをエスケープする方法はありますか?
-
[解決済み] XMLスキーマの要素をオプションにするには?
-
[解決済み] Androidでカスタム書体を使用する
最新
-
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を用いたカスタムandroid UI要素の宣言
-
[解決済み] DTDやXSDからサンプルXMLドキュメントを生成する方法は?
-
[解決済み] 大容量ファイルを扱える軽量なXMLビューア【終了しました
-
[解決済み] XPath contains()の使い方を教えてください。
-
[解決済み] XML SchemaとDTDの違いは何ですか?
-
[解決済み] SVG テキストの自動改行
-
[解決済み] Ubuntu 11.04でRパッケージがインストールできない [非公開]
-
[解決済み] Vim インデント xml ファイル
-
[解決済み] Xml 名前空間が xpath を壊している!
-
[解決済み] XML の二重引用符のエスケープ