使用 Notepad++ 和 XMLTools 插件验证 XML

Validating XML using Notepad++ and XMLTools Plugin

我正在学习 XML 并且刚开始使用我自己制作的一个简单的 xml 文件和外部 DTD。为了验证我使用 Notepad++ 和 XMLTools 插件。 (有谁知道这是否符合标准或对我来说有更好的免费替代品?)

这是我的外部 dtd:

<!ELEMENT auto (#PCDATA)>
<!ATTLIST auto fahrgestellnummer CDATA #REQUIRED>
<!ELEMENT autohaus (auto | #PCDATA)>
<!ATTLIST autohaus id CDATA #REQUIRED>

一切正常,直到我尝试允许 DTD 中的元素 autohaus 出现 auto and/or #PCDATA。我收到以下错误:

Unable to load the dtd externalDTD.dtd.

如果我在第 3 行删除“| #PCDATA”,就没有问题。同样使用 , 而不是 | 也不起作用。

有什么想法吗?

谢谢!

<!ELEMENT autohaus (auto | #PCDATA)> 在 DTD 中是不合法的。

如果你想声明混合内容,允许字符数据有选择地穿插在其他元素中(以任何顺序),你必须将 #PCDATA 关键字放在内容模型的前面并使用 "star"发生指标。像这样:

<!ELEMENT autohaus (#PCDATA | auto)*>

参考:https://www.w3.org/TR/xml/#sec-mixed-content