[Home] [By Thread] [By Date] [Recent Entries]


And if RELAX NG is an option for you, you can do:

namespace b = "http://example.org/b/"
namespace c = "http://example.org/c/"
element a1
{ 
   element b:b1 { text },  element a2 { text },  element c:c1 { text }
}

one schema document, one schema, no imports ...

Cheers,
David

Henry S. Thompson wrote:

> a.xsd:
> 
> <xs:schema xmlns:b="http://example.org/b/"
>            xmlns:c="http://example.org/c/">
>  <xs:import namespace="http://example.org/b/" schemaLocation="b.xsd"/>
>  <xs:import namespace="http://example.org/c/" schemaLocation="c.xsd"/>
> 
>  <xs:element name="a1">
>   <xs:complexType>
>    <xs:sequence>
>     <xs:element ref="b:b1"/>
>     <xs:element name="a2"/>
>     <xs:element ref="c:c1"/>
>    </xs:sequence>
>   </xs:complexType>
>  </xs:element>
> </xs:schema>
> 
> b.xsd
> <xs:schema targetNamespace="http://example.org/b/">
>  <xs:element name="b1"/>
> </xs:schema>
> 
> c.xsd
> <xs:schema targetNamespace="http://example.org/c/">
>  <xs:element name="c1"/>
> </xs:schema>
> 
> Three schema _documents_, one _schema_.
> 


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member