Добавление элементов в файл XML - PullRequest
0 голосов
/ 20 апреля 2020

Мне нужно добавить больше элементов «Artwork» в этот файл XML с тем же заголовком, медиа, описанием, созданными и отображаемыми дочерними элементами, я попытался использовать max0ccurs = unbounded, но увидел, что могу использовать это только если элементы не имеют прямого отношения к глобальному элементу. Это XSD

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
    <xs:element name="Artworks">
        <xs:complexType>
            <xs:sequence>
                <xs:element ref="Artwork"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:element name="Artwork">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="Title" type="xs:string"/>
                <xs:element name="Media" type="xs:string"/>
                <xs:element name="Description" type="xs:string"/>
                <xs:element name="Created" type="xs:string"/>
                <xs:element name="Display" type="xs:string"/>

            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

Это XML

<Artworks xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="artwork1.xsd">
    <Artwork>
        <Title>Xtreme Air</Title>
        <Media>Glass Sculpture</Media>
        <Description>An amazing work that uses glass balloon shaps to illustrate a rainbow of balloons circuling a glass earth.</Description>
        <Created>April 2010</Created>
        <Display>Orlando Museum of Arts</Display>
        <Artwork></Artwork>

   </Artwork>

</Artworks>

1 Ответ

0 голосов
/ 20 апреля 2020

Вы должны добавить maxOccurs="unbounded" к определению использования элемента в первом шаблоне:

<xs:element name="Artworks">
    <xs:complexType>
        <xs:sequence>
            <xs:element ref="Artwork" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
</xs:element>
...

Теперь вы можете иметь неограниченное количество Artwork потомков в вашем элементе Artworks (но не рекурсивно) .

...