- From: "Fraser Goffin" <goffinf@g...>
- To: "Paul Stepowski" <paul.stepowski@i...>
- Date: Tue, 2 Oct 2007 13:30:29 +0100
Show us the definition of the success and failure elements that you ref
F.
On 02/10/2007, Paul Stepowski <paul.stepowski@i...> wrote:
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 >>
_______________________________________________________________________
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]
|