[解決済み] targetNamespaceとxmlnsの接頭辞なし、違いは何ですか?
質問
xmlスキーマのドキュメントで、targetNamespaceとxmlnsの両方を指定したとき がプレフィックスなしで .
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://example.com/" xmlns="http://example.com/">
これらの間の正確な違いは何ですか?私の理解では、プレフィックスなしのxmlnsがあれば、プレフィックスなしのすべての要素がその名前空間を取得し、...混乱したことに、同じことがtargetNamespaceにも当てはまると思います。
どのように解決するのですか?
ターゲット名前空間 は XML スキーマの成果物であり、その目的はスキーマファイルが記述する特定の XML 名前空間を示すことです。
xmlns - XML スキーマは XML 文書であるため、XML ファイル自体に対してデフォルトの XML 名前空間を定義することが可能です(これは xmlns 属性が行うことです)。例えば、スキーマで定義され、後に同じファイル内の他の場所で参照される項目(例えば、属性や要素の型として使用されるグローバルな simpleType)に対して接頭辞を使用する必要はありません。
私の経験では、多くの XML スキーマの作成者はこれを "ベストプラクティス" として考えています...したがって、あなたは正しい道を進んでいるのです。
XSD の観点では、targetNamespace はスキーマコンポーネントの修飾名の名前空間部分を規定しており、要素、属性、グループおよび属性グループ、単純型および複合型を含みます。XSDで定義された修飾名(要素や属性)の一部は,XMLインスタンス文書で直接使用される。その他のもの、たとえば型については xsi:type 属性で参照できます.残りの部分(グループ,属性グループ)は,(参照を通じて)スキーマの構成を容易にするために存在します.
私はまた、(一般的に)人々は2つの角度からXSDの設計に臨んでいるという意見を持っています。
-
既存のXMLと一致させること。この場合、XML が名前空間を使用していれば、使用される名前空間ごとに、一致する targetNamespace 属性を持つ XSD スキーマ要素で終わります。
-
純粋なモデリング。その後、UMLパッケージ、データベーススキーマ、Javaパッケージ、.NETの名前空間と同様のtargetNamespaceを考え、この場合、それが意味するすべてを考えます。基本的には、名前の衝突を避けるためのメカニズムです。それにもかかわらず、主題領域などでモデルを分割するためのメカニズムでもあるのです。
関連
-
SAXParseException: ルート要素に続くドキュメント内のマークアップは、うまく処理されなければなりません。
-
[解決済み] XMLの<![CDATA[]]>は何を意味するのですか?
-
[解決済み] cURL コマンドラインを使用して XML ファイルを POST
-
[解決済み】XMLの "xmlns "の意味は?
-
[解決済み] XMLコマンドライン処理のためのGrepとSedの等価版
-
[解決済み] nuget 'packages' 要素が宣言されていない警告
-
[解決済み] Ubuntu 11.04でRパッケージがインストールできない [非公開]
-
[解決済み] XPathで名前空間を無視する方法
-
[解決済み] Androidでカスタム書体を使用する
-
[解決済み] フリーのXml Diff/Mergeツールはありますか?[クローズド]
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Googles IMPORTXMLが「インポートされたコンテンツは空です」エラーを返す
-
[解決済み] XMLの要素とノードはどう違うのですか?
-
[解決済み] Linearレイアウトでボタンを中央に配置する
-
[解決済み] XPATHを使用して、 を含むテキストを検索する。
-
[解決済み] XPathで名前空間を無視する方法
-
[解決済み] Eclipseです。log4j.xml 内の log4j.dtd を参照する。
-
[解決済み] XMLは大文字と小文字を区別するのですか?
-
[解決済み] XPathでリンクテキストからリンクURLを見つけるには?
-
[解決済み] スキーマ定義における<xsd:all>と<xsd:sequence>の違い?
-
[解決済み] XMLでは、要素と属性のどちらを使うべきですか?重複