[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Problem using <xsd:all>
Hi George Here's the example I'm testing with. Excerpt from XSD with your suggested mods: ---snip--- <?xml version="1.0"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.intient.com/irukandji" xmlns:tasklist="http://www.intient.com/irukandji" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xsd:element name="tasklist"> <xsd:complexType> <xsd:sequence> <xsd:element ref="tasklist:prerequisites" minOccurs="0" maxOccurs="1" /> <xsd:element ref="tasklist:task" minOccurs="1" maxOccurs="unbounded" /> <xsd:choice> <xsd:sequence> <xsd:element ref="tasklist:success" /> <xsd:element ref="tasklist:failure" /> </xsd:sequence> <xsd:sequence> <xsd:element ref="tasklist:failure" /> <xsd:element ref="tasklist:success" /> </xsd:sequence> </xsd:choice> </xsd:sequence> <xsd:attribute name="id" type="xsd:string" use="required" /> </xsd:complexType> </xsd:element> ... </xsd:schema> ---snip--- Complete XML document I'm validating against the XSD (Note that it contains multiple <failure> tags, which should fail): ---snip--- <?xml version="1.0"?> <tasklist xmlns="http://www.intient.com/irukandji" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.intient.com/irukandji file://C:/Documents and Settings/Admin/workspace/itsml/bin/com/intient/spx/resolver/irukandji-istml-tasklist.xsd" id="tasklist-loadTest1"> <task id="dns-lookup"> <command id="1" type="native"> <name>nslookup</name> <argument genericlist-id="1"></argument> <success> <rule operator="regexp"> <stdout>(.+)Address: (.+)</stdout> </rule> </success> <failure> <rule operator="true" /> </failure> </command> <success> <rule operator="equals"> <result command-id="1" success="true" /> </rule> </success> <failure> <rule operator="true" /> </failure> </task> <success> <rule operator="equals"> <result task-id="dns-lookup" success="true" /> </rule> </success> <failure> <rule operator="true" /> </failure> <failure> <rule operator="true" /> </failure> <failure> <rule operator="true" /> </failure> </tasklist> ---snip--- This XML document is successfully validated using JAXB. Any ideas? Thanks, Paul George Cristian Bina wrote: > Hi Paul, > > The code fragment I posted allows only > > <success/> > <failure/> > > and > > <failure/> > <success/> > > How did you get to the conclusion that it allows multiple instances of > failure? It may be possible that you are embedding that code fragment > in another particle that can appear multiple times. A short but > complete schema should help to identify exactly what is wrong, in > general you will identify that yourself while creating the short but > complete example. > > Best Regards, > George > --------------------------------------------------------------------- > George Cristian Bina - http://aboutxml.blogspot.com/ > <oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger > http://www.oxygenxml.com > > > Paul Stepowski wrote: >> Hi George, >> >> This seems closer but still allows multiple <success> or <failure> tags. >> >> That is, I require either: >> >> <tasklist> >> <success/> >> <failure/> >> </tasklist> >> >> or: >> >> <tasklist> >> <failure/> >> <success/> >> </tasklist> >> >> But your suggested schema still allows: >> >> <tasklist> >> <success/> >> <failure/> >> <failure/> >> <failure/> >> <failure/> >> </tasklist> >> >> etc. >> >> I've tried experimenting with various combinations of minOccurs and >> maxOccurs but I still can't nail this. >> >> Thanks, >> >> Paul >> >> >> George Cristian Bina wrote: >>> Hi Paul, >>> >>> Use a choice >>> (success,failure)|(failure,success) >>> >>> in XML Schema: >>> >>> <xsd:choice> >>> <xsd:sequence> >>> <xsd:element ref="tasklist:success"/> >>> <xsd:element ref="tasklist:failure"/> >>> </xsd:sequence> >>> <xsd:sequence> >>> <xsd:element ref="tasklist:failure"/> >>> <xsd:element ref="tasklist:success"/> >>> </xsd:sequence> >>> </xsd:choice> >>> >>> Best Regards, >>> George >>> --------------------------------------------------------------------- >>> George Cristian Bina - http://aboutxml.blogspot.com/ >>> <oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger >>> http://www.oxygenxml.com >>> >>> >>> Paul Stepowski wrote: >>>> Dennis Sterzenbach wrote: >>>>> Hi Paul! >>>>> >>>>> Paul Stepowski wrote: >>>>> <snip /> >>>>>> <xsd:element name="task"> >>>>>> <xsd:complexType> >>>>>> <xsd:sequence> >>>>>> <xsd:element ref="tasklist:prerequisites" minOccurs="0" >>>>>> maxOccurs="1" /> >>>>>> <xsd:all> >>>>>> <xsd:element ref="tasklist:success" minOccurs="1" >>>>>> maxOccurs="1" /> >>>>>> <xsd:element ref="tasklist:failure" minOccurs="1" >>>>>> maxOccurs="1" /> >>>>>> </xsd:all> >>>>>> </xsd:sequence> >>>>>> <xsd:attribute name="id" type="xsd:string" use="required" /> >>>>>> </xsd:complexType> >>>>>> </xsd:element> >>>>> <snip /> >>>>>> "The content of 'sequence' must match (annotation?, (element | >>>>>> group | choice | >>>>>> sequence | any)*). A problem was found starting at: all." >>>>>> >>>>>> According to the w3c, all is a valid tag. Can anyone shed some >>>>>> light on this error? >>>>> These are valid tags, but unfortunately not in that order. >>>>> As far as I know you can't use <xsd:all> inside a sequence: >>>>> >>>>> "Parent elements: group, complexType, restriction (both simpleContent >>>>> and complexContent), extension (both simpleContent and >>>>> complexContent)" >>>>> >>>>> Best regards >>>>> -- Dennis Sterzenbach >>>> >>>> Thanks Dennis, >>>> >>>> My next question is then, can I achieve the same effect with a >>>> different syntax? >>>> I need to specify <success> AND <failure> both occuring once each >>>> (in any >>>> order). >>>> >>>> Thanks, >>>> >>>> Paul >>>> >>>> _______________________________________________________________________ >>>> >>>> >>>> XML-DEV is a publicly archived, unmoderated list hosted by OASIS >>>> to support XML implementation and development. To minimize >>>> spam in the archives, you must subscribe before posting. >>>> >>>> [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/ >>>> Or unsubscribe: xml-dev-unsubscribe@l... >>>> subscribe: xml-dev-subscribe@l... >>>> List archive: http://lists.xml.org/archives/xml-dev/ >>>> List Guidelines: http://www.oasis-open.org/maillists/guidelines.php >>>> >> >> _______________________________________________________________________ >> >> XML-DEV is a publicly archived, unmoderated list hosted by OASIS >> to support XML implementation and development. To minimize >> spam in the archives, you must subscribe before posting. >> >> [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/ >> Or unsubscribe: xml-dev-unsubscribe@l... >> subscribe: xml-dev-subscribe@l... >> List archive: http://lists.xml.org/archives/xml-dev/ >> List Guidelines: http://www.oasis-open.org/maillists/guidelines.php >>
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] |
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|