gpt4 book ai didi

xml - 使用 Notepad++ 进行内部 DTD 验证

转载 作者:行者123 更新时间:2023-12-04 10:58:37 24 4
gpt4 key购买 nike

我是 XML 的新手,正在尝试使用 DTD 创建一个简单的 XML。

我正在通过 XML Tools blugin 使用 Notepad++ 进行验证。

这是我的带有内部 DTD 的 XML 代码。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!DOCTYPE People [
<!ELEMENT People (name, phone*)>
<!ELEMENT name (#PCDATA)*>
<!ELEMENT phone (#PCDATA)*>
<!ATTLIST phone type (home) #REQUIRED>
]>

<People>
<name> John Smith </name>
<phone type="home">+1 (123) 456-7890 </phone>
</People>

如果我保留 'standalone="yes"',我会收到以下错误“错误:独立:在外部子集中声明的人员包含空格节点”。如果我删除它,代码将被验证没有问题。

任何人都可以解释为什么“standalone =“yes””的存在会导致问题?
谢谢你。

附言请仔细阅读上述问题的描述,然后再将其标记为重复。

最佳答案

Validity constraint: Standalone Document Declaration

The standalone document declaration must have the value "no" if any external markup declarations contain declarations of:

  • attributes with default values, if elements to which these attributes apply appear in the document without specifications of values for these attributes, or

  • entities (other than amp, lt, gt, apos, quot), if references to those entities appear in the document, or

  • attributes with tokenized types, where the attribute appears in the document with a value such that normalization will produce a
    different value from that which would be produced in the absence of
    the declaration, or

  • element types with element content, if white space occurs directly within any instance of those types.



引用 : Extensible Markup Language (XML) 1.0 (Fifth Edition)

关于xml - 使用 Notepad++ 进行内部 DTD 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58996045/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com