gpt4 book ai didi

xml - 在另一个 DTD 中包含一个 DTD

转载 作者:数据小太阳 更新时间:2023-10-29 01:41:42 26 4
gpt4 key购买 nike

是否可以在另一个 DTD 中包含一个 DTD? (我的意思不是将第二个 DTD 复制并粘贴到第一个 DTD 中。我的意思是在第一个 DTD 中有一个指向第二个 DTD 的指针。)

最佳答案

是的,这是可能的。一种方法是使用 parameter entity , 可以在 DTD 中使用。让我们看一个例子:

XML 文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE note SYSTEM "first.dtd" [
<!ELEMENT type (#PCDATA)> <!-- you can also add DTD here -->
]>
<note>
<type>business</type>
<to>George W.</to>
<from>Me</from>
<heading>meeting</heading>
<body>Meet me in central park at 16</body>
</note>

第一个(引用)DTD:

<!ELEMENT note (type,to,from,heading,body)>
<!ENTITY % elements SYSTEM "second.dtd">
%elements;

第二个(引用的)DTD:

<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>

与 Oxygen XML 核实后,您甚至可以制作第三个 DTD,从第二个开始引用,依此类推。但是,您不能使用递归实体引用,例如:

elements1.dtd:

<!ELEMENT to (#PCDATA)>
<!ELEMENT from (#PCDATA)>
<!ENTITY % elements2 SYSTEM "elements2.dtd">
%elements2;

elements2.dtd:

<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
<!ENTITY % elements1 SYSTEM "elements1.dtd">
%elements1;

[Xerces] Recursive entity reference "%elements1". (Reference path: %elements1 -> %elements2 -> %elements1),

关于xml - 在另一个 DTD 中包含一个 DTD,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6389741/

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