2010-11-29 7 views
7

は、チュートリアルを見られて、それが次のXMLを持っており、XSD:xml/xsdのルートノードが常に必要ですか?

http://yfrog.com/b9xsdandxmlj

あなたはこの例では、ルート・ノードを使用する必要がありますされて、私は不思議でしたか? 'employeeS'ノードを指すxsd型の定義は存在しないようです。

あなたは常にXMLでルートノードを持っている必要がありますまたはあなただけのhttp://www.w3.org/TR/REC-xml/(第五版)のXML仕様から

<xml version="1.0"> 
<employee><employee> 
<employee><employee> 
<employee><employee> 
+0

。 Keenは確かに知っている。 – sje397

答えて

9

を持つことができ、第2章

これは、「

を語ります各XML文書は、論理構造と物理構造の両方を持ちます。物理的には、エンティティと呼ばれる単位で構成されています。エンティティは、他のエンティティを参照して文書に含めることができます。 "

"[定義:ルートと呼ばれる正確に1つの要素、または他の要素の内容に表示されないドキュメント要素。]他のすべての要素については、開始タグが内容より簡単に言えば、開始タグと終了タグで区切られた要素は、お互いに適切に入れ子になっています。

だから基本的にはい、あなたは常に1つのルート要素が必要です。 the official XML specからいくつかの整形ルールをまとめた簡単なdescription of XML at Wikipediaから、

2

他のすべての要素を含む単一の「ルート」要素があります。

+0

ウィキペディアはあまり参考になりません。公表されている仕様はリファレンスです...ウィキが記事を書き換えたとしましょう。あなたの参照は失われます。 – Jaywalker

+1

@Jaywalker:Wikipediaは "誰でも編集できる無料のオンライン百科事典*"であることを知っています - それで、私は便利な要約として引用を提供しています元々の権威的な仕様へのリンクが付いています(少し複雑です)。私は「それはウィキペディアにあります、それは本当です」と言っているわけではありません。 「ここに要約(w)があります。ここに標準ソース(w3c)」があります。ソースへのリンクを強調するために編集されました。 – Piskvor

0

はい、ルートノードが1つだけ必要です。

1

ルートノードは必須です。これは、W3Cの命名法で「文書要素」とも呼ばれています。

定義:正確に一つの要素がありますが、根、またはドキュメント要素と呼ばれる、のどの部分が他の要素(参照:section 2.1 of W3C XML specs)の内容で表示されません

2

はい、あなたは常に持っていますルートノードを持つ。ただし、XML文書フラグメントを保持するファイルを、別のファイルに解析済みのエンティティとしてインポートすることができます。すべてを含むファイルは何をする必要があり、そのDTDにこのような宣言がある:

<!ENTITY SomeName SYSTEM "/path/to/file.xml"> 

そして、それはちょうどこのようにそれを包むことができます。私は、ルートノードが必要だったと思っ

<SomeOuterTag> 
    &SomeName; 
</SomeOuterTag>