← Prev in month ← Prev in thread

namespace inheritance

From
Oleg A. Paraschenko <>
To
xml-dev <>
Date
2005-05-05T18:32:58Z
ID
<>
Thread
namespace inheritance
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
← Prev in month ← Prev in thread