【问题标题】:Attribute "type" must be declared for element type "policy". DTD必须为元素类型“策略”声明属性“类型”。 DTD
【发布时间】:2015-09-29 16:25:06
【问题描述】:

好的,所以我正在尝试使用以下 DTD 验证以下 XML 文件,但我不断收到错误 Attribute "type" must be declared for element type "policy".

XML文件如下所示:

<?xml version="1.0"?>
<!DOCTYPE policies SYSTEM "langs.dtd">
<policies>
<description>Policies taken out in January</description>
<policy type="contents">
<policy-number>1234557</policy-number>
<policy-holder>A. Liu</policy-holder>
</policy>
<policy type="buildings">
<policy-number>1234558</policy-number>
<policy-holder>C. Jones</policy-holder>
</policy>
<report-date>01/01/2008</report-date>
</policies>

DTD 文件如下:

<!ELEMENT policies (description, policy+, report-date)>
<!ELEMENT policy (policy-number, policy-holder)>
<!ELEMENT policy-number (#PCDATA)>
<!ELEMENT policy-holder (#PCDATA)>
<!ELEMENT description (#PCDATA)>
<!ELEMENT report-date (#PCDATA)>

【问题讨论】:

    标签: xml dtd


    【解决方案1】:

    您的 DTD 中没有声明任何属性。如果您希望您的 XML 正确验证,则需要以这种方式在策略元素上声明 type 属性(例如):

    <!ATTLIST policy
              type       CDATA    #IMPLIED >
    

    属性还有其他的可能,给你带来第一眼可以看看http://www.w3schools.com/xml/xml_dtd_attributes.asp

    【讨论】:

      猜你喜欢
      • 2013-06-03
      • 1970-01-01
      • 1970-01-01
      • 2019-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-20
      相关资源
      最近更新 更多