- From: Michael Kay <mike@saxonica.com>
- Date: Wed, 01 Aug 2012 09:25:41 +0100
- To: xmlschema-dev@w3.org
Yes, this is the use case that the targetNamespace attribute was introduced for, and the WG decided to restrict its use to this scenario. My own instinct was to generalize it so it could be used anywhere, but the WG was reluctant to do this, as it would have meant a total decoupling of the current relationship between schema documents and namespaces. Michael Kay Saxonica On 31/07/2012 21:08, Costello, Roger L. wrote: > Hi Folks, > > Below I show an example of an attribute declaration with a targetNamespace attribute. > > The attribute is embedded inside a complexType that restricts another complexType that is in a different namespace. > > Is my example illustrative of the only scenario in which the targetNamespace attribute can be added to an attribute declaration? Or are there other scenarios? > > /Roger > > > -------------------------------------------------------------------------------- > BookStore.xsd > -------------------------------------------------------------------------------- > <?xml version="1.0"?> > <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" > targetNamespace="http://www.bookstore.org" > xmlns="http://www.bookstore.org" > xmlns:b="http://www.book.org" > elementFormDefault="qualified"> > > <xs:import namespace="http://www.book.org" > schemaLocation="Book.xsd"/> > > <xs:complexType name="BookTypeMyNamespace"> > <xs:complexContent> > <xs:restriction base="b:BookType"> > <xs:sequence> > <xs:element name="Title" type="xs:string" targetNamespace="http://www.book.org"/> > <xs:element name="Author" type="xs:string" maxOccurs="2" targetNamespace="http://www.book.org"/> > <xs:element name="Date" type="xs:gYear" targetNamespace="http://www.book.org"/> > <xs:element name="ISBN" type="xs:string" targetNamespace="http://www.book.org"/> > <xs:element name="Publisher" type="xs:string" targetNamespace="http://www.book.org"/> > </xs:sequence> > <xs:attribute name="id" type="xs:ID" use="required" targetNamespace="http://www.book.org"/> <!-- HERE IT IS --> > </xs:restriction> > </xs:complexContent> > </xs:complexType> > > <xs:element name="BookStore"> > <xs:complexType> > <xs:sequence> > <xs:element name="Book" maxOccurs="unbounded" type="BookTypeMyNamespace" /> > </xs:sequence> > </xs:complexType> > </xs:element> > > </xs:schema> > > -------------------------------------------------------------------------------- > Book.xsd > ------------------------------------------------------------------------------- > -<?xml version="1.0"?> > <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" > targetNamespace="http://www.book.org" > xmlns="http://www.book.org" > elementFormDefault="qualified"> > > <xs:complexType name="BookType"> > <xs:sequence> > <xs:element name="Title" type="xs:string"/> > <xs:element name="Author" type="xs:string" maxOccurs="unbounded"/> > <xs:element name="Date" type="xs:gYear"/> > <xs:element name="ISBN" type="xs:string"/> > <xs:element name="Publisher" type="xs:string"/> > </xs:sequence> > <xs:attribute ref="id" /> > </xs:complexType> > > <xs:attribute name="id" type="xs:ID" /> > > </xs:schema> > >
Received on Wednesday, 1 August 2012 08:26:09 UTC