Altova Mailing List Archives>Archive Index >microsoft.public.xml Archive Home >Recent entries [Thread Prev] >Thread Next - Re: Validate Xml document Validate Xml documentTo: NULL Date: 6/11/2008 5:43:00 AM I have input XML Document:
<?xml version="1.0"?>
<ediroot>
<interchange Standard="EDIFACT" Date="080403" Time="1422">
<sender>
<address Id="5400102000086" Qual="14"/>
</sender>
<receiver>
<address Id="5425007009989" Qual="14"/>
</receiver>
<group>
<transaction Control="1" DocType="ORDERS" Version="D"
Release="96A" Agency="UN" Association="EAN008" Name="Purchase Order
Message">
<segment Id="DTM">
<element Id="DTM01" Composite="yes">
<subelement Sequence="1">2</subelement>
<subelement Sequence="2">200804080700</
subelement>
<subelement Sequence="3">203</subelement>
</element>
</segment>
<segment Id="DTM">
<element Id="DTM01" Composite="yes">
<subelement Sequence="1">137</subelement>
<subelement Sequence="2">200804031422</
subelement>
<subelement Sequence="3">203</subelement>
</element>
</segment>
<loop Id="SG02">
<segment Id="NAD">
<element Id="NAD01">BCO</element>
<element Id="NAD02" Composite="yes">
<subelement Sequence="1">5400102000086</
subelement>
<subelement Sequence="3">9</subelement>
</element>
</segment>
</loop>
</transaction>
</group>
</interchange>
</ediroot>
This Xsd that used to validate xml Document
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="ediroot">
<xs:complexType>
<xs:sequence>
<xs:element ref="interchange"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="interchange">
<xs:complexType>
<xs:sequence>
<xs:element ref="sender"/>
<xs:element ref="receiver"/>
<xs:element ref="group"/>
</xs:sequence>
<xs:attribute name="Date" use="required" type="xs:integer"/>
<xs:attribute name="Standard" use="required" type="xs:NCName"/>
<xs:attribute name="Time" use="required" type="xs:integer"/>
</xs:complexType>
</xs:element>
<xs:element name="sender" type="address"/>
<xs:element name="receiver" type="address"/>
<xs:element name="group">
<xs:complexType>
<xs:sequence>
<xs:element ref="transaction"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="transaction">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="segment"/>
<xs:element ref="loop"/>
</xs:sequence>
<xs:attribute name="Agency" use="required" type="xs:NCName"/>
<xs:attribute name="Association" use="required" type="xs:NCName"/
>
<xs:attribute name="Control" use="required" type="xs:integer"/>
<xs:attribute name="DocType" use="required" type="xs:NCName"/>
<xs:attribute name="Name" use="required"/>
<xs:attribute name="Release" use="required" type="xs:NMTOKEN"/>
<xs:attribute name="Version" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
<xs:element name="loop">
<xs:complexType>
<xs:sequence>
<xs:element ref="segment"/>
</xs:sequence>
<xs:attribute name="Id" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
<xs:complexType name="address">
<xs:sequence>
<xs:element ref="address"/>
</xs:sequence>
</xs:complexType>
<xs:element name="address">
<xs:complexType>
<xs:attribute name="Id" use="required" type="xs:integer"/>
<xs:attribute name="Qual" use="required" type="xs:integer"/>
</xs:complexType>
</xs:element>
<xs:element name="segment">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="element"/>
</xs:sequence>
<xs:attribute name="Id" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
<xs:element name="element">
<xs:complexType mixed="true">
<xs:sequence>
<xs:element minOccurs="0" maxOccurs="unbounded"
ref="subelement"/>
</xs:sequence>
<xs:attribute name="Composite" type="xs:NCName"/>
<xs:attribute name="Id" use="required" type="xs:NCName"/>
</xs:complexType>
</xs:element>
<xs:element name="subelement">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:integer">
<xs:attribute name="Sequence" use="required"
type="xs:integer"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:schema>
I need to validate segment Id="DTM" where (Sequence="1")= 137 Or 138
| ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
