RE: Attributes from different namespaces

An attribute declared in a particular schema document will either be in no
namespace, or in the targetNamespace of that schema document (depending on
form/attributeFormDefault). If you want it in a different namespace, you
should create a schema document with that as the targetNamespace, declare it
as a global attribute declaration, import that schema document into the one
where the element is declared, and then reference it from the type
definition using <xs:attribute ref="ns:att"/>.

Michael Kay
http://www.saxonica.com/



> -----Original Message-----
> From: xmlschema-dev-request@w3.org 
> [mailto:xmlschema-dev-request@w3.org] On Behalf Of Gregor Zeitlinger
> Sent: 09 December 2005 13:04
> To: xmlschema-dev@w3.org
> Subject: Attributes from different namespaces
> 
> 
> Hi,
> 
> I want to declare an element in namespace a that has 
> attributes from namespace a and b.
> 
> What I tried was the following
> 
> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
>   xmlns:a="ans" 
>   xmlns:b="bns" 
>   targetNamespace="ans" 
>   elementFormDefault="qualified" 
>   attributeFormDefault="unqualified">
>   <xsd:import namespace="bns" schemaLocation="b.xsd" />
> <xsd:element name="box">
>     <xsd:complexType>
>       <xsd:attribute name="aAtt" type="a:aAttType" />
>       <xsd:attribute name="bAtt" type="b:bAttType" /> <!-- 
> bAttType is in b.xsd -->
>     </xsd:complexType>
> </xsd:element>
> 
> When I did this, however, the bAtt Attribute was in the a namespace.
> What did I do wrong?
> 
> Gregor Zeitlinger
> LUCAS Product Development
> 
> Torex Retail Solutions GmbH
> 
> Schwedenstr. 9, D-13359 Berlin 
> Tel. +49 (0) 30 49901-243
> Fax +49 (0) 30 49901-139
>  
> Mailto:gregor.zeitlinger@torexretail.de
> http://www.torexretail.de
> 
> 
> 
> 
> 

Received on Saturday, 10 December 2005 16:02:19 UTC