如何在XML中引用DTD值的路径

时间:2014-01-20 23:00:50

标签: java xml xml-parsing dtd dtd-parsing

对于XML和DTD值,我是新手,所以请原谅我,如果这是一个简单的问题,或者我是以错误的方式解决这个问题。您是否可以像在XML中指定属性路径一样指定DTD值?

例如,如果您有以下XML文件:

<!DOCTYPE ... SYSTEM "<path_to_file>">
<BOOK>
    <AUTHOR>
        <FIRST>John</FIRST>
        <LAST>Quncy</LAST>
    </AUTHOR>
    <NAME>blah</NAME>
    <DATE>12/23/13</DATE>
</BOOK>

您可以通过路径指定作者的名字:

/BOOK/AUTHOR/FIRST

是否有任何语法以相同的方式指定像DOCTYPE这样的DTD实体?

最终我想要做的是使用已经用java编写的内部XML解析器来查找我指定的DTD条目并将其从XML文件中删除。例如,使用上面的XML,我想指定DOCTYPE并将其从XML中删除。已有代码,在给定路径的情况下,将从XML文件中删除该部分。我想利用它也删除DTD条目,但我不知道如何引用它。

1 个答案:

答案 0 :(得分:1)

没有。 DOCTYPE是一个解析和验证指令。即:DOCTYPEDTD影响解析和验证,但在此之后不是文档的一部分作为单独的实体。 XML数据模型不包含DOCTYPEDTD定义,并且在解析文档后它们实际上不存在。