Re: [xml-dev] ANN: How to design an XML Schema component into which other components can be embedded

From
Mukul Gandhi <>
To
"Costello, Roger L." <>
Date
2010-11-25T00:36:26Z
ID
<AANLkTi=FSXnJ=>
Thread
Re: [xml-dev] ANN: How to design an XML Schema component into which other components can be embedded
Hi Roger,
    Here's another XML schema sample using XSD 1.1 assertions which
probably can validate the XML instance document you've posted in your
examples:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
                   targetNamespace="http://www.example.org/header"
		   elementFormDefault="qualified">

	<xs:element name="Header">
	     <xs:complexType>
		   <xs:sequence>
			   <xs:element name="Author" type="xs:string" />
			   <xs:any processContents="lax" namespace="http://www.example.org/report"/>
		   </xs:sequence>
		   <xs:assert test="*[2][local-name() = 'Report'][count(*) = 1 and
local-name(*[not(*)]) = 'Title']" />
	     </xs:complexType>
	</xs:element>

</xs:schema>

In the above schema we use xs:any wild-card to represent the
following-sibling element of element "Author", and constrain structure
of the instance element (that's validated by the wild-card particle)
entirely with schema assertions.

On Thu, Nov 25, 2010 at 4:24 AM, Mukul Gandhi <> wrote:
> here's probably another technique (using XML Schema 1.1 assertions and
> complexType restriction) to achieve the stated instance validation
> objectives




-- 
Regards,
Mukul Gandhi