1

DTD を生成しようとしていますが、DTD で既に宣言されている要素を子要素に含める方法を知りたいと思っていました。それらを再度宣言する必要がありますか?例として:

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE document [
  <!ELEMENT document (author,title,body)>
  <!ELEMENT author (#PCDATA)>
  <!ELEMENT title (#PCDATA)>
  <!ELEMENT body (br*,hr*,img*,table*)>
  <!ELEMENT br EMPTY>
  <!ELEMENT hr EMPTY>
  <!ELEMENT img EMPTY>
  <!ELEMENT table (tr+)>
  <!ELEMENT tr (td+)>
  <!ELEMENT td (#PCDATA)>

<!--hr element--> <!ATTLIST hr width CDATA "0">

<!--img element--> <!ATTLIST img height CDATA "0"> <!ATTLIST img src CDATA #REQUIRED> <!ATTLIST img width CDATA "0">

<!--td element--> <!ATTLIST td width CDATA "0"> ]> <document> <author>My Author</author> <title>My Title Test</title> <body> <hr /> <table> <tr> <td>Would like elements here</td> </tr> </table> </body> </document>

上記の XML では、たとえば、br、hr、img、および table タグが td タグ内にあることを許可したいと思います。これらの要素を DTD で再定義する必要がありますか?

どんな助けにも感謝します。事前に感謝します。

4

1 に答える 1

2

<!ELEMENT td>定義でそれらを参照する必要があります

編集:解析された文字データを新しいタグとともにtd要素に保持する場合は、混合コンテンツ要素を定義できます。例:

<!ELEMENT td (#PCDATA | br? | hr? | img?)>

w3.orgの要素宣言を参照してください

于 2009-06-11T02:43:57.383 に答える