[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [dss] Groups - DSS Core Schema File (oasis-dss-1.0-core-schema-wd-33pre8.xsd) uploaded
Dear all, To further explain the changes to the Schema: Stefan and I found out that it is not possible in a clean way in XML Schema to express the fact that XMLData mutates between three types (i.e.: xml, base64, escaped) depending on one of it's attribute values (i.e.: encoding = xml, base64 or escaped). In the case of base64 or escaped <XMLData> would have to be a simpleType of either xs:base64Binary or xs:String and in the case of xml a complexType. This cannot be expressed in XMLSchema. Even dss:AnyType would not fulfill the requirement to be able to hold xs:base64Binary or xs:String or a complexType at the same time because xs:any only matches element content. Hence to be able to model the required encodings in XML Schema we were forced to make the following changes. stefan@drees.name wrote: ><xs:element name="Document"> > <xs:complexType> > <xs:complexContent> > <xs:extension base="dss:DocumentBaseType"> > <xs:choice> > <xs:element name="InlineXML" type="dss:InlineXMLType"/> > <xs:element name="Base64XML" type="xs:base64Binary"/> > <xs:element name="EscapedXML" type="xs:string"/> > <xs:element ref="dss:Base64Data"/> > </xs:choice> > </xs:extension> > </xs:complexContent> > </xs:complexType> ></xs:element> > > We further introduced the following Type for InlineXML to clearly express the fact that it's content should be equivalent to a complete XML Document. I.e. having only one DocumentElement and not allowing anything but PI's and Comments before and after this one element. The new attribute ignorePIsComments indicates how to deal with PI's and Comments as a number of parsers will also ignore them and a server will have to be able to know if PI's and Comments have gone missing after parsing and if the client would have wanted them to be signed. <!-- Note mixed="true" should not be there as Text is not allowed before or after a DocumentElement. --> <xs:complexType name="InlineXMLType"> <xs:sequence> <xs:any processContents="lax"/> </xs:sequence> <xs:attribute name="ignorePIsComments" type="xs:boolean" use="optional" default="true"/> </xs:complexType> best regards Konrad
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]