[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: targetNamespace vs default namespace
Michael and Pete have already supplied answers to your question, but I thought it might help to explicitly clarify one additional point -- which is to differentiate the default behavior between declaration and reference. In this example: <xsd:complexType name="complexTypeOne"> <xsd:sequence> ... <xsd:element name="SubElementWithoutPrefix" type="ElementTypeWithoutPrefix" /> <!-- a line with a problem --> </xsd:sequence> </xsd:complexType> "SubElementWithoutPrefix" is a local element *declaration*. Because the <schema> declaration specifies elementFormDefault="qualified", this element is in the targetNamespace. (If you didn't have elementFormDefault="qualified", it would be in no namespace.) "ElementTypeWithoutPrefix" is a type *reference*. Because no prefix is explicitly specified, the type is from the default namespace. Defining elements in a different namespace from their types is a fairly common practice. The Sun Java 6 validation is in error. The IBM Java 5 validation is correct. Anne On Mon, Jul 6, 2009 at 11:35 AM, REV Tamas<tamas.rev@gmail.com> wrote: > Hello, > > A customer gave us an xml schema having different default ns and > targetNamspace, like that: > <xsd:schema xmlns="ProprietaryNamespace" > targetNamespace="AnotherProprietaryNamespace" > xmlns:xsd="http://www.w3.org/2001/XMLSchema"> > ... > <xsd:complexType name="complexTypeOne"> > <xsd:sequence> > ... > <xsd:element name="SubElementWithoutPrefix" > type="ElementTypeWithoutPrefix" /> <!-- a line with a problem --> > </xsd:sequence> > </xsd:complexType> > ... > </xsd:schema> > > Now we have problem validating values of SubElementWithoutPrefix on > different java plattforms. > > According to the XML schema specification, every element/attribute without > namespace prefix belongs to the default namespace. > On the other hand, unqualified elements defined in an xml schema belong to > the schemas targetNamespace. So, there is this contradicition > to be resolved. > > When SUNs Java 6 implementation resolves it, SubElementWithoutPrefix belongs > to the default namespace. On the other hand, > when IBMs java 5 implementation resolves it, SubElementWithoutPrefix belongs > to the targetNamespace. > > How is it defined in XML schema specs? > > Best Regards, > Tamas >
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] |
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|