[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: [wsdm] Problem defining Relationship XML
There are several robust opensource schema validators that you might try: Apache XMLBeans: http://xmlbeans.apache.org/ Apache Xerces: http://xml.apache.org/xerces2-j/ Sun MultiSchema Validator: https://msv.dev.java.net/ I highly recommend XMLBeans' validator. It gives very descriptive error messages. Not only can it validate instance docs, but it can also validate schemas themselves (something which makes sense to do for all the spec schemas and wsdl types sections prior to release of 1.0). Ian ________________________________ From: Fred Carter [mailto:fred.carter@amberpoint.com] Sent: Fri 11/19/2004 5:08 PM To: Murray, Bryan P. Cc: wsdm@lists.oasis-open.org Subject: Re: [wsdm] Problem defining Relationship XML Thus quoth Murray, Bryan P. (~ 11/19/2004 4:47 PM ~)... I am having a problem defining a schema for Relationship that validates. The pseudo-schema for Relationship (from MUWS part2) is the following: <muws-p2-xs:Relationship> <muws-p2-xs:Name>xs:string</muws-p2-xs:Name> ? <muws-p2-xs:Type>muws-xs:RelationshipType</muws-p2-xs:Type> <muws-p2-xs:Participant Role="xs:anyURI"> <muws-p1-xs:ManageabilityEndpointReference/> * <muws-p1-xs:ResourceID/> ? {any}* </muws-p2-xs:Participant> <muws-p2-xs:Participant/>+ <muws-p2-xs:AccessEndpointReference> wsa:EndpointReferenceType </muws-p2-xs:AccessEndpointReference>? {any}* </muws-p2-xs:Relationship> The problem I have run into is in defining the ParticipantType complexType. I have tried the following: <xs:complexType name="RelationshipParticipantType"> <xs:sequence> <xs:element ref="muws-p1-xs:ManageabilityEndpointReference" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="muws-p1-xs:ResourceId" minOccurs="0"/> <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax"/> </xs:sequence> <xs:attribute name="Role" type="xs:anyURI" use="required"/> <xs:anyAttribute namespace="##other"/> </xs:complexType> The error I am getting is that the 'any' is causing ambiguity because there are no required elements - and all optional elements are from the part1 namespace. All I need is a required element in any namespace to make it validate. Does anyone have any suggestions? A better schema processor? When I attempt to validate the following with XmlSpy (v2005) <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" <http://www.w3.org/2001/XMLSchema> elementFormDefault="qualified" attributeFormDefault="unqualified" xmlns:muws-p1-xs="urn:bar" targetNamespace="urn:bar"> <xs:element name="foo"> <xs:annotation> <xs:documentation>Comment describing your root element</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ManageabilityEndpointReference"/> <xs:element name="ResourceId"/> <xs:complexType name="RelationshipParticipantType"> <xs:sequence> <xs:element ref="muws-p1-xs:ManageabilityEndpointReference" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="muws-p1-xs:ResourceId" minOccurs="0"/> <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax"/> </xs:sequence> <xs:attribute name="Role" type="xs:anyURI" use="required"/> <xs:anyAttribute namespace="##other"/> </xs:complexType> </xs:schema> I had no problem. When I change the ##other (highlighted in red) to ##nay, it complained that that would make things non-deterministic. Which makes sense... I know this isn't much help, but I think it means you're right and that ?+*&%#$ schema processor leaves a bit to be desired... /fred Bryan To unsubscribe from this mailing list (and be removed from the roster of the OASIS TC), go to http://www.oasis-open.org/apps/org/workgroup/wsdm/members/leave_workgroup.php. -- Fred Carter / AmberPoint, Inc. mailto:fred.carter@amberpoint.com tel:+1.510.433.6525 fax:+1.510.663.6301
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]