我被要求为这个xml创建一个简单的dtd:
<?xml version='1.0' encoding='ISO-8859-1'?>
<QUERY>
<PORT>
<NB></NB>
</PORT>
<BLOCK>
<TAB></TAB>
</BLOCK>
<STAND>
<LEVEL></LEVEL>
</STAND>
</QUERY>
我正在使用java,我以前从未做过dtd,也不知道它究竟是什么意思。 如果有可能,我想要一些指导,谢谢
答案 0 :(得分:1)
DTD是文档类型定义,用于表示XML文档的结构。其他表示包括XML Schema,Relax NG等:
它看起来像下面这样(虽然我的语法可能不太正确):
<!ELEMENT QUERY (PORT, BLOCK, STAND)>
<!ELEMENT PORT (NB)>
<!ELEMENT NB (#PCDATA)>
<!ELEMENT BLOCK (TAB)>
<!ELEMENT TAB (#PCDATA)>
<!ELEMENT STAND (LEVEL)>
<!ELEMENT LEVEL (#PCDATA)>
如果查看QUERY的定义,您会看到它定义了它包含的元素:“PORT”,“BLOCK”和“STAND”。如果你看一下NB的定义,我们已经声明它应该包含文本(解析后的字符数据)。
答案 1 :(得分:0)
XMLBeans附带了一个名为inst2xsd
的工具,它可以检查XML文件并为其创建一个XSD,然后您可以编辑/优化它。我用它的效果非常好。
只需阅读installation guide for XMLBeans,当您安装XMLBeans时,您也将安装inst2xsd
工具。
编辑 - 刚刚意识到你想要一个DTD而不是XSD,留下这个以防万一XSD(目的非常相似)实际上可以解决你的问题
答案 2 :(得分:0)
那里有一些DTD生成器。快速搜索产生this。但是没有用过它。