Wylbur Posted December 15, 2010 Share Posted December 15, 2010 Hi all;Let's see if I can get any responses to this one ...I have a schema for contact information,including alternate phone numbers (numbersother than a home phone number).I want the schema to reflect the fact that thenumbers (work and cell) can occur in any order,and in any number (including zero).Here is my test XML file: <?xml version="1.0" encoding="UTF-8"?> <all_names> <fullpersoninfo> <personinfo> <firstname>Fred</firstname> <middlename>Willis</middlename> <lastname>Workman</lastname> </personinfo> <AddressRef> <address>233 Pine Street</address> <city>Austin</city> <country>USA</country> <home_phone>111</home_phone> </AddressRef> <alt_PhoneNumbers> <cell>333</cell> <work>222</work> </alt_PhoneNumbers> </fullpersoninfo> <fullpersoninfo> <personinfo> <firstname>Fred</firstname> <middlename>Willis</middlename> <lastname>Walker</lastname> </personinfo> <AddressRef> <address>233 Pine Street</address> <city>Austin</city> <country>USA</country> <home_phone>4444</home_phone> </AddressRef> <alt_PhoneNumbers> <cell>234</cell> </alt_PhoneNumbers> </fullpersoninfo> <fullpersoninfo> <personinfo> <firstname>Joe</firstname> <lastname>Smith</lastname> </personinfo> <AddressRef> <address>1243 Long Road</address> <city>Houston</city> <country>USA</country> </AddressRef> <alt_PhoneNumbers> <work>2222</work> <cell>234</cell> <cell>234</cell> </alt_PhoneNumbers> </fullpersoninfo> <fullpersoninfo> <personinfo> <firstname>Janet</firstname> <lastname>Burns</lastname> </personinfo> <AddressRef> <address>1243 Short Road</address> <city>Conroe</city> <country>USA</country> </AddressRef> </fullpersoninfo> </all_names> This is my schema: <?xml version="1.0"?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"><xs:complexType name="personinfo_type"> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="middlename" type="xs:string" minOccurs="0"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence></xs:complexType><xs:complexType name="AddressRef_type"> <xs:sequence> <xs:element name="address" type="xs:string"/> <xs:element name="city" type="xs:string"/> <xs:element name="country" type="xs:string"/> <xs:element name="home_phone" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence></xs:complexType><xs:complexType name="PhoneNumbers_type"> <xs:all> <xs:element name="work" type="xs:string" minOccurs="0" maxOccurs="1" /> <xs:element name="cell" type="xs:string" minOccurs="0" maxOccurs="1" /> </xs:all></xs:complexType> <xs:complexType name="fullpersoninfo_type" > <xs:sequence> <xs:element name="personinfo" type="personinfo_type"/> <xs:element name="AddressRef" type="AddressRef_type" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="alt_PhoneNumbers" type="PhoneNumbers_type" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType><xs:element name="all_names"><xs:complexType> <xs:sequence> <xs:element name="fullpersoninfo" type="fullpersoninfo_type" maxOccurs="unbounded" > </xs:element> </xs:sequence></xs:complexType></xs:element></xs:schema> It fails to validate for Joe Smith.Does anyone have any ideas as to what I should try?Thanks!!! Link to comment Share on other sites More sharing options...
Wylbur Posted December 15, 2010 Author Share Posted December 15, 2010 Before anyone suggests it, getting rid of "maxOccurs" will not solve the problem: <xs:complexType name="PhoneNumbers_type"> <xs:all> <xs:element name="work" type="xs:string" minOccurs="0" /> <xs:element name="cell" type="xs:string" minOccurs="0" /> </xs:all></xs:complexType> Thanks!!! Link to comment Share on other sites More sharing options...
evanc Posted March 22, 2012 Share Posted March 22, 2012 I certainly hope you have found the answer to this someplace else considering the age of this post... The work around I have been using for this sort of issue is this: <xs:complexType name="PhoneNumbers_type"> <xs:choice minOccurs="0" maxOccurs="2"> <xs:element name="work" type="xs:string" /> <xs:element name="cell" type="xs:string" /> </xs:choice></xs:complexType> Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.