Ссылка на содержимое элемента в xsd - PullRequest
0 голосов
/ 21 января 2019

Можно ли ссылаться на элемент в xsd, чтобы его содержимое записывалось в другой?

Я думаю о таких вещах, как «адрес доставки» и «адрес выставления счета». Если вы решите, что «платежный адрес» совпадает с «адресом доставки», возьмите содержимое поля «адрес доставки» и запишите его в «платежный адрес».

Я новичок в xsd / xml, поэтому приветствуются предложения и критика.

Это то, что у меня так далеко ...

<xsd:group name="c_Shipping_Adress">
    <xsd:element name="shipping_address">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="Title"/>
                <xsd:element name="First_Name"/>
                <xsd:element name="Last_Name"/>
                <xsd:element name="Street"/>
                <xsd:element name="Zip"/>
                <xsd:element name="City"/>
            </xsd:sequence>
        </xsd:complexType>
    </xsd:element>
</xsd:group>
<xsd:group name="c_Billing_Adress">
        <xsd:element name="billing_address">
            <xsd:complexType>
                <xsd:choice>
                    <xsd:element name="is_same_as_shipping_address">
                        <xsd:group ref="shipping_address"/>
                    </xsd:element>
                    <xsd:group name="is_not_same_as_shipping_address">
                            <xsd:sequence>
                                <xsd:element name="Title"/>
                                <xsd:element name="First_Name"/>
                                <xsd:element name="Last_Name"/>
                                <xsd:element name="Street"/>
                                <xsd:element name="Zip"/>
                                <xsd:element name="City"/>
                            </xsd:sequence>
                    </xsd:group>
                </xsd:choice>
            </xsd:complexType>
        </xsd:element>
</xsd:group>

1 Ответ

0 голосов
/ 24 января 2019

Если честно, не очень понятно, о чем вы спрашиваете, и ваш XSD не структурирован правильно, что затрудняет определение ваших намерений. Но, надеюсь, следующее послужит основой для дальнейшего развития.

enter image description here

<?xml version="1.0" encoding="utf-8" ?>
<!--Created with Liquid Studio 2019 BETA (https://www.liquid-technologies.com)-->
<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="Root">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="ShippingAddress" type="AddressType" />
                <xs:element name="BillingAddress" type="AddressType" />
                <xs:element name="OtherAddress">
                    <xs:complexType>
                        <xs:complexContent>
                            <xs:extension base="AddressType">
                                <xs:sequence>
                                    <xs:element name="ExtraThing" type="xs:string" />
                                </xs:sequence>
                            </xs:extension>
                        </xs:complexContent>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:complexType name="AddressType">
        <xs:sequence>
            <xs:element name="Title"  type="xs:string" />
            <xs:element name="First_Name"  type="xs:string" />
            <xs:element name="Last_Name" type="xs:string"  />
            <xs:element name="Street"  type="xs:string" />
            <xs:element name="Zip"  type="xs:string" />
            <xs:element name="City" type="xs:string"  />
        </xs:sequence>
    </xs:complexType>
</xs:schema>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...