【发布时间】: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
【问题讨论】: