[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
RE: [xml-dev] targetNamespace vs default namespace
- From: "Michael Kay" <mike@saxonica.com>
- To: "'REV Tamas'" <tamas.rev@gmail.com>,<xml-dev@lists.xml.org>
- Date: Mon, 6 Jul 2009 17:05:20 +0100
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.
MHK> No, that's not the case. Generally, the "name" attribute contains a
local name, which is combined with the targetNamespace of the schema
document. Attributes that refer to another schema component, such as "type",
are QNames in which no prefix means "default namespace".
On the other hand, unqualified elements defined in an xml schema
belong to the schemas targetNamespace.
MHK> Only if form="qualified" or elementFormDefault="qualified" (which is
present in most schema documents but not, apparently, in this one). Without
this, a locally-declared element, as here, is in no namespace, it is not in
the 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?
MHK> Neither of the above. SubElementWithoutPrefix should be in no
namespace.
Regards,
Michael Kay
http://www.saxonica.com/
http://twitter.com/michaelhkay
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]