将属性添加到架构XML中的根元素

时间:2014-04-01 15:32:11

标签: xml xsd

我有一个名为"项目"的根元素。此根包含名为" Layer"的类型,但我不知道如何为根(Project)元素定义属性。

此属性需要添加到root:

 <attribute name="name" type="string" />
 <attribute name="location" type="string" />
 <attribute name="Description" type="string" />
 <attribute name="CreationDate" type="string" />

这是我的架构:

 <element name="Project" type="tns:Layer"></element>

 <complexType name="Layer">
        <sequence>
            <element name="LayerName" type="string" maxOccurs="1"
                minOccurs="0">
            </element>
            <element name="Order" type="integer"></element>
            <element name="Visible" type="boolean"></element>
        </sequence>
        <attribute name="id" type="integer"></attribute>
    </complexType>

1 个答案:

答案 0 :(得分:0)

您的架构只有一个元素。它的类型称为Layer。这意味着<Project>可以包含元素<LayerName><Order><Visible>以及名为id属性

如果您想添加属性到Project元素,您只需将属性声明放在​​ID已存在的属性声明之后:

<complexType name="Layer">
    <sequence>
        <element name="LayerName" type="string" maxOccurs="1"
            minOccurs="0">
        </element>
        <element name="Order" type="integer"></element>
        <element name="Visible" type="boolean"></element>
    </sequence>
    <attribute name="id" type="integer"></attribute>
    <attribute name="name" type="string"/>
    <attribute name="location" type="string" />
    <attribute name="Description" type="string" />
    <attribute name="CreationDate" type="string" />
</complexType>

现在你可以使用:

<Project name="..." location="..." ... > ... </Project>