[解決済み] xmlns、xmlns:xsi、xsi:schemaLocation、およびtargetNamespace?
質問
以下のXMLの断片について。
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
は何をするのでしょうか?
xmlns
,
xmlns:xsi
および
xsi:schemaLocation
属性は正確にはどういう意味ですか?どのように関連しているのですか?この
:
のために?
そして、その中に2つのURLがあります。
xsi:schemaLocation=
-
http://maven.apache.org/POM/4.0.0
(と同じです)。
xmlns
が、アクセスすると404エラーになる) - http://maven.apache.org/xsd/maven-4.0.0.xsd (これは実際のXSDドキュメントです)
1が存在しないなら、なぜまだそこに置くのですか?
どのように解決するのですか?
XML および XML スキーマ (XSD) における名前空間関連属性
-
xmlns
はその一部です。 W3C Namespaces in XML Recommendation(XMLにおける名前空間に関する勧告 :接頭辞 xmlns は、名前空間バインディングを宣言するためにのみ使用され は定義上、名前空間の名前にバインドされます。 http://www.w3.org/2000/xmlns/ .
あなたの例では と宣言しています。
http://maven.apache.org/POM/4.0.0
は、Maven プロジェクト内の要素のデフォルトのネームスペースです。 -
xmlns:xsi
は標準的な名前空間プレフィックスを宣言しています (xsi
) を使用して,XSD で使用される中核的な名前空間を指定する。http://www.w3.org/2001/XMLSchema-instance
XML スキーマ。構造体 は、直接使用するためのいくつかの属性も定義しています。 をあらゆるXML文書で使用することができます。これらの属性は、別の名前空間にあります。 という名前空間名を持つ http://www.w3.org/2001/XMLSchema-instance . 簡潔さのために、本文および この仕様の例では,この接頭辞 xsi: を使用しています。 後者の名前空間は、実際には任意の接頭辞を使用することができます。
あなたの例では の従来のバインディングを宣言しています.
xsi
名前空間接頭辞をhttp://www.w3.org/2001/XMLSchema-instance
で、以下の属性の使用が適切に設定されます。-
xsi:type
は、XML インスタンスが XSD を介さずに直接要素の型情報を関連付けることを可能にする。 参照 XSDのxsi:typeを使用してXML要素の値を制限する方法は?あなたの例では ,
xsi:type
は使用されていませんが、念のため記載します。xsi
. -
xsi:nil
を使用すると、XSD で許可されていない空の要素も有効であるとみなすことができます。あなたの例では ,
xsi:nil
は使用されていませんが、念のため記載します。xsi
. -
xsi:schemaLocation
そしてxsi:noNamespaceSchemaLocation
は,XSD を XML 文書とどのように関連付けるかを示すヒントを XML プロセッサに提供する。 使用方法xsi:schemaLocation
は名前空間がある場合に使用します。xsi:noNamespaceSchemaLocation
は、名前空間がない場合に使用します。あなたの例では の場合、名前空間が存在するので、正しく
xsi:schemaLocation
その値はスペースで区切られます ペア の 名前空間 と XSD-location-URI . あなたの例では、名前空間を使用しています。http://maven.apache.org/POM/4.0.0
であり、名前空間は語彙的な命名構造である。 は、回収する必要はありません。 . あなたの例では、XSD-location-URI も使用されています。http://maven.apache.org/xsd/maven-4.0.0.xsd
であり、当然のことながらリトリーブ可能です。この例で名前空間を使用していない場合、次のようになります。
xsi:noNamespaceSchemaLocation
であり、その値は単一の XSD-location-URI これは、意図した XSD の場所を示唆するもので、取得可能であるべきものです。
-
-
targetNamespace
はxs:schema
ルート XSD のルート要素の名前空間を指定するものである。 は、XSD が管理することを意図している XML 文書インスタンスの これは は、それらのXMLドキュメントのルートのデフォルトまたは明示的な名前空間と一致します。 要素で構成される。
関連
-
[解決済み】XSLTでif-else文を実装する方法とは?
-
[解決済み] テスト
-
[解決済み】XML-スキーマでxsi:typeを属性として定義する方法とは?
-
[解決済み] i:nil="true "とはどういう意味ですか?
-
[解決済み] なぜ、"StartTag. "というエラーが発生するのでしょうか?このXMLファイルをDTDでパースすると、"Invalid element name "というエラーが発生します。
-
[解決済み] cvc-complex-type.2.4.a: 要素 'ProcessDesc' で始まる無効なコンテンツが見つかりました。ProcessNameのいずれかが期待されます。
-
[解決済み] XPathにおける要素の数
-
[解決済み] XMLとXSDの違いは何ですか?
-
[解決済み] PHPでHTML/XMLをパースして処理する方法とは?
-
[解決済み】XMLの "xmlns "の意味は?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】JSF Faceletsのページを開くと、"このXMLファイルにはスタイル情報が関連付けられていないようです。"と表示される。
-
[解決済み] xmlの変な文字列 (…)
-
[解決済み] XSLTのposition()関数を理解する
-
[解決済み] cvc-complex-type.2.4.a: 要素 'ProcessDesc' で始まる無効なコンテンツが見つかりました。ProcessNameのいずれかが期待されます。
-
[解決済み] SOAPセキュリティヘッダとSOAPヘッダの違いについて
-
[解決済み] 大きなファイルのXML分割
-
[解決済み] XMLとXSDの違いは何ですか?
-
[解決済み] xsltで文字列を文字列に置き換える
-
[解決済み】XPathで属性ノードの値を抽出する
-
[解決済み】シェルからXPathワンライナーを実行する方法は?