1

xml仕様では、次のように述べています。

[定義: 要素タイプの要素が文字データを含み、必要に応じて子要素が散在している場合、要素タイプは混合コンテンツを持ちます。] この場合、子要素のタイプは制約されますが、順序や出現回数は制約されません。

このxmlを有効にするためにこれを回避する方法はありますか:

<parent>
   A text node
   <child/>
</parent>

しかし、このxmlは無効です:

<parent>
   A text node
   <child/>
   <child/>
</parent>

また、これが許可されていない理由を知っていますか?

<!ELEMENT parent (#PCDATA,child)>
4

2 に答える 2

0

アルデラス、

前もって、私にはわかりませんが、DTD ではないと思います...そして、私がそう言うことができるとすれば、DTD の代わりに XML スキーマ (つまり XSD) を使用する必要があります (それらはちょうど90年代;-)。

XSD を使用すると、ドキュメントのコンテンツをより厳密に制御できます。XSD を使用すると、「混合型」の複雑な要素内の特定の子要素の出現回数を制限することが (さらに簡単に) 可能であると確信しています。私は自分でそうする必要はありませんでしたが...だから、これをここで言うように扱ってください。

頑張ってください。

乾杯。キース。

于 2009-08-07T12:01:10.050 に答える