我想创建 DTD 文件来检查 XML 文件是否是一个二叉树,其中每个节点最多有 2 个儿子,如果它们退出,每个节点都应该有一个指向子节点的指针
我怎样才能在 XML 中实现它?
提前致谢
在 XML 中编写二叉树的方法有很多。这是一个;它假定每个节点的值都包含在名为“值”的属性中。
<!ELEMENT node (node, node?) >
<!ATTLIST node value CDATA #REQUIRED >
也可以要求一个节点要么有两个孩子,要么没有(维基百科说这被称为完整的二叉树):
<!ELEMENT node (node, node)? >
第一个 DTD 而不是第二个 DTD 将接受简单二叉树的 XML 表示(来自 Wikipedia article on binary trees):
<node value="2">
<node value="7">
<node value="2"/>
<node value="6">
<node value="5"/>
<node value="11"/>
</node>
<node value="5">
<node value="9">
<node value="4"/>
</node>
</node>
</node>
[哦,是的,还有一件事。如果您以允许其他人重现问题的形式展示您尝试过的内容,您更有可能在 Stack Overflow 上得到很好的回答(如果您不知道从哪里开始,这当然很困难)。不展示你的工作给人的印象是你什么都没做过,只是想让别人为你做你的工作。在SO 帮助文件以及 Eric Raymond 和 Rick Moen 的文章How to ask questions the smart way中有关于提出有效问题的好建议。]