gpt4 book ai didi

xml - 在 DTD 中重用元素

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

我开始了一份工作,得到了一些 XML 文件和 DTD。它们工作正常,但我注意到在 DTD 中它们重用了这样的元素。

DTD:

<!ELEMENT image EMPTY>
<!ATTLIST image
source CDATA #REQUIRED
signature (true|false|1|0) "false"
>

并且在 xml 中,图像元素出现在两个地方,但只有一个地方需要“签名”属性,在其他情况下它是不相关的。

XML:

<root>
<element-with-optional-signature-image>
<image source="1.jpg" singature="true" />
<image source="2.jpg" />
</element-with-optional-signature-image>
<other>
<image source="3.jpg" />
</other>
</root>

我以前从未见过像这样编写的 DTD,我只是想知道这样做是否很常见或者是一种非常糟糕的方式吗?我会创建两个不同的元素 element-imageother-image

编辑——

上面是否像这样的 DTD 一样被接受:

<!ELEMENT element-image EMPTY>
<!ATTLIST element-image
source CDATA #REQUIRED
signature (true|false|1|0) "false"
>

<!ELEMENT other-image EMPTY>
<!ATTLIST image
source CDATA #REQUIRED
>

像这样的 XML:

<root>
<element-with-optional-signature-image>
<element-image source="1.jpg" singature="true" />
<element-image source="2.jpg" />
</element-with-optional-signature-image>
<other>
<other-image source="3.jpg" />
</other>
</root>

最佳答案

我认为重用这样的元素是个好主意。它使 XML 保持简单且不那么冗长。

在这种情况下,我认为仅仅因为它不需要使用可选属性而创建一个新元素就太过分了。

关于xml - 在 DTD 中重用元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5852417/

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