1Blue Sculpture $2000-6ren">
gpt4 book ai didi

xml - 启用命名空间时,类型 ID 的属性值 "001"必须是 NCName

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

所以我正在用我自己的 DTD 创建一个 xml 文件。

简化后的XML如下:

<!DOCTYPE catalog [
<!ELEMENT catalog (product+)>
<!ELEMENT product (title?, price, creation_date?, weight?, color, description?)>
<!ELEMENT creation_date (day, month, year)>

<!ATTLIST product category (art|dinner_set|ovenware) "art">
<!ATTLIST product id ID #REQUIRED>

<!ELEMENT id (#PCDATA)>
<!ELEMENT title (#PCDATA)>
<!ELEMENT price (#PCDATA)>
<!ELEMENT day (#PCDATA)>
<!ELEMENT month (#PCDATA)>
<!ELEMENT year (#PCDATA)>
<!ELEMENT weight (#PCDATA)>
<!ELEMENT color (#PCDATA)>
<!ELEMENT description (#PCDATA)>
]>

<?xml-stylesheet type="text/xsl" href="test.xsl"?>
<catalog>
<product category="art" id="001">
<title>1Blue Sculpture</title>
<price>$2000</price>
<creation_date>
<day>11</day>
<month>08</month>
<year>2014</year>
</creation_date>
<weight>257g</weight>
<color>Green</color>
<description>A beutiful Green Sculpture</description>
</product>

当我尝试通过 XML 验证器运行它时,我收到错误消息“启用命名空间时,类型 ID 的属性值“001”必须是 NCName。”对于每个 id 属性。

我已经弄乱了一段时间,它似乎不允许使用数字,字母也可以,而且它通过时没有任何问题,但是一旦你设置 id="(any numbers)"它就会给我错误。

我是一个完整的 XML NOOB,所以我猜它很简单,我四处搜索但找不到任何确定的东西,这很容易做/undertsand。

最佳答案

是的,问题是属性值 001ID 类型的属性值必须匹配 XML 语法的 Name 生成,这意味着数字(和一些其他字符)不允许作为初始字符。

x001id_001 等属性值都可以。

引用资料:

关于xml - 启用命名空间时,类型 ID 的属性值 "001"必须是 NCName,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25256989/

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