gpt4 book ai didi

xml - 使用 DTD 验证 CDATA 元素时出错 - XML

转载 作者:数据小太阳 更新时间:2023-10-29 02:05:31 24 4
gpt4 key购买 nike

我正在尝试使用我正在编写的 DTD 验证一些 xml,但我总是在具有 CDATA 数据类型的元素上遇到验证错误。像这样

<!ELEMENT title (#CDATA)> 

我已经尝试使用 textmate xml 验证 (XMLlint) 和在线验证器 (w3Schools) 进行验证,但我总是收到此错误:

error: ContentDecl : Name or '(' expected

谁能解释一下这是怎么回事?

干杯

完整的 xml 和 dtd 示例(我从 here 中获取了这个,所以我希望它是有效的):

<?xml version="1.0"?>   
<!DOCTYPE bookstore [
<!ELEMENT bookstore (name,topic+)>
<!ELEMENT topic (name,book*)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT book (title,author)>
<!ELEMENT title (#CDATA)>
<!ELEMENT author (#CDATA)>
<!ELEMENT isbn (#PCDATA)>
<!ATTLIST book isbn CDATA "0">
]>
<bookstore>
<name>Mike's Store</name>
<topic>
<name>XML</name>
<book isbn="123-456-789">
<title>Mike's Guide To DTD's and XML Schemas<</title>
<author>Mike Jervis</author>
</book>
</topic>
</bookstore>

最佳答案

这个例子很糟糕,元素内容模型没有 (#CDATA) 这样的东西。

  <!DOCTYPE bookstore [   
<!ELEMENT bookstore (name,topic+)>
<!ELEMENT topic (name,book*)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT book (title,author)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT author (#PCDATA)>
<!ELEMENT isbn (#PCDATA)>
<!ATTLIST book isbn CDATA "0">
]>
<bookstore>
<name>Mike's Store</name>
<topic>
<name>XML</name>
<book isbn="123-456-789">
<title>Mike's Guide To DTD's and XML Schemas</title>
<author>Mike Jervis</author>
</book>
</topic>
</bookstore>

更新:

W3C XML 规范 http://www.w3.org/TR/2008/REC-xml-20081126 显然不允许在元素的内容模型中使用 #CDATA。从生产 45 开始,一直到生产 51

关于xml - 使用 DTD 验证 CDATA 元素时出错 - XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7528544/

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