簡體   English   中英

XML Schema,如何將“條件”置於限制中?

[英]XML Schema, how to put “conditions” into restrictions?

我有一個XML架構,我想知道是否可以放入條件。我想為每個月選擇minInclusive和maxInclusive。可以在xml架構中做到這一點。 我將不勝感激任何幫助。 =)

這是我的代碼:

<xs:element name="correo">
    <xs:complexType>
        <xs:sequence>

            <xs:element name="emisor">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="nombre" type="xs:string"/>
                        <xs:element name="apellidos" type="xs:string"/>
                        <xs:element name="email" type="xs:string"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>

            <xs:element name="receptor">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="nombre" type="xs:string"/>
                        <xs:element name="apellidos" type="xs:string"/>
                        <xs:element name="email" type="xs:string"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>


            <xs:element name="fecha">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="dia">
                            <xs:simpleType>
                                <xs:restriction base="xs:integer">
                                    <xs:minInclusive value="1"/>
                                    <xs:maxInclusive value="31"/>
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="mes">
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:enumeration value="Enero"/>
                                    <xs:enumeration value="Febrero"/>
                                    <xs:enumeration value="Marzo"/>
                                    <xs:enumeration value="Abril"/>
                                    <xs:enumeration value="Mayo"/>
                                    <xs:enumeration value="Junio"/>
                                    <xs:enumeration value="Julio"/>
                                    <xs:enumeration value="Agosto"/>
                                    <xs:enumeration value="Septiembre"/>
                                    <xs:enumeration value="Octubre"/>
                                    <xs:enumeration value="Noviembre"/>
                                    <xs:enumeration value="Diciembre"/>
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="año">
                            <xs:simpleType>
                                <xs:restriction base="xs:integer">
                                    <xs:minInclusive value="0"/>
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>
                        <xs:element name="hora">
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="horas">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:integer">
                                                <xs:minInclusive value="0"/>
                                                <xs:maxInclusive value="23"/>
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                    <xs:element name="minutos">
                                        <xs:simpleType>
                                            <xs:restriction base="xs:integer">
                                                <xs:minInclusive value="0"/>
                                                <xs:maxInclusive value="59"/>
                                            </xs:restriction>
                                        </xs:simpleType>
                                    </xs:element>
                                </xs:sequence>
                            </xs:complexType>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>

            <xs:element name="adjuntos">
                <xs:complexType>
                    <xs:sequence>

                        <xs:element name="archivo">
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="extension" type="xs:string"/>
                                    <xs:element name="tamaño">
                                        <xs:complexType>
                                            <xs:sequence>  
                                                <xs:element name="valor">
                                                    <xs:simpleType>
                                                        <xs:restriction base="xs:double">
                                                            <xs:minInclusive value="0."/>
                                                        </xs:restriction>
                                                    </xs:simpleType>
                                                </xs:element>
                                                <xs:element name="unidades" type="xs:string"/>
                                            </xs:sequence>
                                        </xs:complexType>
                                    </xs:element>
                                </xs:sequence>
                                <xs:attribute name="nombre" type="xs:string"/>
                            </xs:complexType>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>   

            <xs:element name="mensaje">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="cuerpo" type="xs:string"/>
                        <xs:element name="firma" type="xs:string"/>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>                   

        </xs:sequence>  
        <xs:attribute name="asunto" type="xs:string"/>    
    </xs:complexType>
</xs:element>

您可以在XSD 1.1中使用斷言來執行此類操作。 在XSD 1.0中無法完成。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM