[Home] [By Thread] [By Date] [Recent Entries]

  • To: xml-dev <xml-dev@l...>
  • Subject: namespace inheritance
  • From: "Oleg A. Paraschenko" <olpa@x...>
  • Date: Thu, 5 May 2005 22:32:58 +0400
  • Organization: xmlhack.ru

  Hello,

  I'm a bit confused with the Namespaces in XML Recommendation and actual
behaviour of some popular programs. I'd like to ask some questions to
clear my doubts.


  First, as I understand, if an attribute has no ns prefix, and the
attribute's element has a ns prefix, then the attribute inherits the ns
URI from the element. So the following two XML documents are equal:

1) <ns:elem xmlns:ns="ns:ns:ns" ns:attr="smth" />

2) <ns:elem xmlns:ns="ns:ns:ns" attr="smth" />

  Using the James Clark notation, the both examples define the following:

<{ns:ns:ns}elem {ns:ns:ns}attr="smth" />

  Am I right?


  If I'm right with the first, then here is the second question: Are there
exceptions for some namespaces? One XSLT processor doesn't accept the
following start of XSLT:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xsl:version="1.0">

The error message is:

Error at xsl:stylesheet on line 1 of file:<filename>:
  Attribute xsl:version is not allowed on this element

  Should I report a bug to the developers?


  The next question is: Does XPath have similar ns inheritance?

  When I write "/xsl:stylesheet/@version", what is the correct
interpretation, the first or the second?

1) /{http://www.w3.org/1999/XSL/Transform}stylesheet/
     @{http://www.w3.org/1999/XSL/Transform}version

2) /{http://www.w3.org/1999/XSL/Transform}stylesheet/@version


  Thank you in advance for comments.


-- 
Oleg Paraschenko  olpa@ http://xmlhack.ru/  XML news in Russian
http://uucode.com/blog/  Generative Programming, XML, TeX, Scheme

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member