【问题标题】:How to correct an XML validation issue如何更正 XML 验证问题
【发布时间】:2018-01-22 09:29:33
【问题描述】:

我尝试验证下面的一些 XML 代码,但它引发了错误:

        <m1-3-administrative-information>
          <leaf ID="r4" checksum="da14dd2b9a71a8999b633cb7ab514d01" checksum-type="md5" operation="new" xlink:href="administrative-information.pdf" xlink:type="simple">
            <title>Administrative Information</title>
          </leaf>

          <m1-3-2-field-copy-certification>
              <leaf ID="r12" checksum="17bfd2aa55599391b7019e4160e58de5" checksum-type="md5" operation="new" xlink:href="field-copy-certification.pdf" xlink:type="simple">
                <title>field-copy-certification</title>
              </leaf>
          </m1-3-2-field-copy-certification>

          <m1-3-3-debarment-certification>
              <leaf ID="r8" checksum="341ab4bfb48b939992a27d9bdbf5548c" checksum-type="md5" operation="new" xlink:href="debarment-certification.pdf" xlink:type="simple">
                <title>debarment-certification</title>
              </leaf>
          </m1-3-3-debarment-certification>
        </m1-3-administrative-information>

错误:元素 m1-3-administrative-information 内容不遵循 DTD,期望 (m1-3-1-contact-sponsor-applicant-information*, m1-3-2-field-copy-certification*, m1-3-3-debarment-certification*, m1-3-4-financial-certification-和披露*,m1-3-5-专利和排他性*,m1-3-6-tropical-disease-priority-review-voucher*), 获得(叶 m1-3-2-field-copy-certification m1-3-3-debarment-certification m1-3-5-patent-and-exclusivity)

如果我从脚本中删除下面这段代码,错误就会消失:

      <leaf ID="r4" checksum="da14dd2b9a71a8999b633cb7ab514d01" checksum-type="md5" operation="new" xlink:href="administrative-information.pdf" xlink:type="simple">
        <title>Administrative Information</title>
      </leaf>

这段代码是一个 pdf 的链接,但是我有必要将它保存在脚本中。因此,我正在寻求一些帮助,以了解如何在验证过程中合并上面的叶子而不抛出错误。我被限制修改 DTD 文件。

因此,我最好的猜测是,要么有一些 XML 代码可以让我这样做,要么 DTD 不允许这样做,我别无选择,只能将链接放置到子节点中。

感谢您的帮助。下面是 DTD 供参考。

<!ELEMENT m1-3-administrative-information (m1-3-1-contact-sponsor-applicant-
information*, m1-3-2-field-copy-certification*, m1-3-3-debarment-
certification*, m1-3-4-financial-certification-and-disclosure*, m1-3-5-
patent-and-exclusivity*, m1-3-6-tropical-disease-priority-review-voucher*)>

<!ATTLIST m1-3-administrative-information>
ID ID #IMPLIED
xml:lang CDATA #IMPLIED

<!ELEMENT m1-3-1-contact-sponsor-applicant-information (m1-3-1-1-change-of-
address-or-corporate-name*, m1-3-1-2-change-in-contact-agent*, m1-3-1-3-
change-in-sponsor*, m1-3-1-4-transfer-of-obligation*, m1-3-1-5-change-in
ownership-of-an-application-or-reissuance-of-license*)>

<!ATTLIST m1-3-1-contact-sponsor-applicant-information>
ID ID #IMPLIED
xml:lang CDATA #IMPLIED

<!ELEMENT m1-3-1-1-change-of-address-or-corporate-name ((leaf | node-
extension)*)>
<!ATTLIST m1-3-1-1-change-of-address-or-corporate-name>
ID ID #IMPLIED
xml:lang CDATA #IMPLIED

<!ELEMENT m1-3-1-2-change-in-contact-agent ((leaf | node-extension)*)>
<!ATTLIST m1-3-1-2-change-in-contact-agent>
ID ID #IMPLIED
xml:lang CDATA #IMPLIED

<!ELEMENT m1-3-1-3-change-in-sponsor ((leaf | node-extension)*)>
<!ATTLIST m1-3-1-3-change-in-sponsor>
ID ID #IMPLIED
xml:lang CDATA #IMPLIED

<!ELEMENT m1-3-1-4-transfer-of-obligation ((leaf | node-extension)*)>
<!ATTLIST m1-3-1-4-transfer-of-obligation>
ID ID #IMPLIED
xml:lang CDATA #IMPLIED

<!ELEMENT m1-3-1-5-change-in-ownership-of-an-application-or-reissuance-of-
license ((leaf | node-extension)*)>
<!ATTLIST m1-3-1-5-change-in-ownership-of-an-application-or-reissuance-of-
license>
ID ID #IMPLIED
xml:lang CDATA #IMPLIED

<!ELEMENT m1-3-2-field-copy-certification ((leaf | node-extension)*)>
<!ATTLIST m1-3-2-field-copy-certification>
ID ID #IMPLIED
xml:lang CDATA #IMPLIED

<!ELEMENT m1-3-3-debarment-certification ((leaf | node-extension)*)>
<!ATTLIST m1-3-3-debarment-certification>
ID ID #IMPLIED
xml:lang CDATA #IMPLIED

【问题讨论】:

    标签: xml dtd


    【解决方案1】:

    我有我的问题的答案。我发现 DTD 现在允许我在我正在寻找的级别添加链接属性。

    当它实际上有效时,DTD 指定 ((leaf | node-extension)*)。换句话说,我想使用的链接必须进一步嵌套到层次结构中才能有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多