- From: Tony Opatha <topatha@yahoo.com>
- Date: Thu, 29 Apr 2004 17:19:46 -0700 (PDT)
- To: xmlschema-dev@w3.org
- Message-ID: <20040430001946.70218.qmail@web60109.mail.yahoo.com>
I am a member of this mailing list, but somehow this mail is not being accepted by the xmlschema-dev mailing list. Re-sending.... =========================================================== Hi, I have a (SOAP) (Doc/Literal) message payload that is defined as an extended type (ExtendedType) based on an abstract data type. <xs:schema targetNamespace="urn:a:bs:e" xmlns:abc="urn:a:b:c" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns="urn:a:bs:e" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:import namespace="urn:a:b:c" schemaLocation="../../a/b/c.xsd"/><xs:element name="ExtendedElement" type="ns:ExtendedType"/><xs:complexType name="ExtendedType"><xs:complexContent><xs:extension base="abc:AbstractType"><xs:sequence><xs:element ref="abc:Xyz"/></xs:sequence></xs:extension></xs:complexContent></xs:complexType></xs:schema> <xs:schema targetNamespace="urn:a:b:c" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns="urn:a:b:c" elementFormDefault="qualified" attributeFormDefault="unqualified"><xs:complexType name="AbstractDocType" abstract="true"> <xs:element name="ElementA" type="xs:string"/> <xs:element name="ElementB" type="xs:string"/> <xs:any processContents="lax" minOccurs="0"/> </xs:sequence> </xs:complexType> W.r.t. any wild card particle in the AbstractType, would the namespace="##any" (which is the default value) and namespace="##other" NOT work because the extended type (i.e., ExtendedType) that extend AbstractType by adding elements right after the any wildcard that are in a different namespace than the targetnamespace of AbstractType? Keep in mind that extended type is in different target namespace but it may re-use other global elements and types from the same namespace as the abstract type. Will adding elements right after the: <xs:any namespace="##other" processContents="lax" minOccurs="0"/>, or <xs:any namespace="##any" processContents="lax" minOccurs="0"/> violate unique particle attribute rule, i.e., we have a case of non-deterministic content model? if they do not violate what is the reason that they don't? In this case should we attempt make processContent=lax or skip? Also when we extend the abstract type by defining another complexType "ConcreteType" we should still be creating ***deterministic content model***? Right? Since: 1) the required A and required B sub-elements (defined in the abstract type) will precede wild particle always 2) the wild card particle basically could possibly carry an element of type ConcreteType (that extends the abstract type) Now, w.r.t. namespace="##other": (i) will that not work if the extended type "ConcreteType" is defined in same namespace as the abstract type since elements in same namespace can not fit the any wild card with namespace=##other declared? (ii) will that not work if the extended type "ConcreteType" is defined in different namespace than that of the abstract type (possibly with same base/root urn value though)? --------------------------------- Do you Yahoo!? Win a $20,000 Career Makeover at Yahoo! HotJobs
Received on Thursday, 29 April 2004 20:29:45 UTC