- From: Michael Kay <mike@saxonica.com>
- Date: Mon, 27 Oct 2008 16:10:23 -0000
- To: "'Kresimir Karamazen'" <k.karamazen@trinite.nl>, <xmlschema-dev@w3.org>
I think you've grasped it, but your terminology isn't quite right. Firstly, it's all to do with whether or not the element is in a namespace, which isn't quite the same as whether or not it has a prefix. An element name with no prefix can still be in a namespace. The rule is this. If the schema contains <xs:element name="x"/> as a local element declaration (that is, not a child of <xs:schema>), then the element must be in the target namesapce of the containing schema document, if there is one. For example, if the target namespace is http://target.com/, then the element might validly appear as <x xmlns="http://target.com/"/> or <ppp:x xmlns:ppp="http://target.com/"/> Of course the namespace declaration does not have to be on the <x> element itself, it can be on any ancestor. If the schema document does not have a target namespace, then it doesn't matter whether the element form is qualified or unqualified. Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: xmlschema-dev-request@w3.org > [mailto:xmlschema-dev-request@w3.org] On Behalf Of Kresimir Karamazen > Sent: 27 October 2008 10:24 > To: xmlschema-dev@w3.org > Subject: elementFormDefault > > > > To be able to understand clearly the meaning of > elementFormDefault I have written a short reminder. > Could you please tell me if the following doesn't hold true? > > When we have > > elementFormDefault="qualified" > > in some scope then in the scope: a locally declared element > elm1 must appear with a prefix (i.e. pre:elm1) or otherwise > it must be implicitly in a namespace of the parent element. > This means that a locally declared element elm1 in such a > scope (and unless it is used as a root element, what is > anyway not the intention) will never violate the "qualified" > restriction because if it does not have a prefix than it has > an implicit namespace of the parent (which (namespace of the > parent) may be empty). However it can happen that the > instance does not validate if the elm1 has not been declared > in that namespace. > > When we have > > elementFormDefault="unqualified" > > in some scope then in the scope: a locally declared element > elm1 is not allowed to appear with a prefix (i.e. unallowed > is pre:elm1) . > > > > ______________________________________________________________ > __________ > > K.Karamazen > Trinité Automatisering B.V. > Post-adres: Postbus 189, 1420 AD Uithoorn > Bezoek-adres: J.N. Wagenaarweg 6, 1422 AK Uithoorn Tel. : 0297 382460 > > Fax : 0297 273049 > Email: kk@trinite.nl > Website: www.trinite.nl > > >
Received on Monday, 27 October 2008 16:10:59 UTC