我可以在 XML 中使用相同名称和相同值的属性吗?

Can i use attribute of the same name and of the same value in XML?

我可以使用相同名称和相同值的属性吗?我的意思是我只希望每个人都有标识符。我应该使用 id 属性吗?还有一件事,我可以命名一个属性,还是已经有属性的保留字。抱歉这个菜鸟问题。我只是一个初学者。我总是看到元素与属性,但没有回答这个问题。

<character-reference>
        <reference category="reference">
            <name>Jane Doe</name>
            <company>Google, Inc.</company>
            <position>Senior Web Developer</position>
            <contact>09524652565</contact>
        </reference>
        <reference category="reference">
            <name>John Doe</name>
            <company>Google, Inc.</company>
            <position>Data Analyst</position>
            <contact>09468975846</contact>
        </reference>
    </character-reference>

在XML中,不允许对同一元素使用同名属性:

<!-- This is invalid -->
<reference category="reference1" category="reference2"/>

允许同一元素具有不同名称的属性:

<!-- This is valid -->
<reference category1="reference" category2="reference"/>

XML中没有保留字,但XML结构可以由DTD or XSD定义。

您的 XML 文件在句法上是正确的。为了将来参考,您可以查看 w3schools tutorial.

如果你想给每个元素一个唯一的标识符,那么我认为使用新的 XML 设计我可能会使用 xml:id 属性:

    <reference category="reference" xml:id="P123456">
        <name>Jane Doe</name>
        <company>Google, Inc.</company>
        <position>Senior Web Developer</position>
        <contact>09524652565</contact>
    </reference>

还有其他方法可以确保属性的唯一性,但它们通常涉及外部模式或 DTD,因此 xml:id 更简单。这是一个神奇的名字,如果你想用你自己选择的属性名达到同样的效果,那么它需要一个模式或 DTD。