On 08.01.2004 09:09, Nele Vogel wrote:

Joerg,

it works! :-))) I removed the default namespace from cincludeFiles.xsl as
you suggested and changed the match statements in news.xsl. Further I
removed the default namespace from my XML data. The elements <news> and
<file> are now matched and properly displayed.

...


I understand, that working without namespaces is not a good idea, *but for
now* it enables me to continue my work.

Nice to hear. I played around with your stylesheets and the namespaced and prefixed version. First I can confirm the non-working. Second I found the reason for it. IMO it's a but in Xalan. If I change the select="./@path" to select="./@s:path" it works (with prefix 's' bound to you namespace uri). But AFAIK while elements should be in default namespace, attributes should not.


(CCing J.Pietschmann as I know he knows a bit about XSLT and XPath too. But I don't know if he reads more than encoding and FOP related questions. Also CCing xalan-dev as they might be interested or can tell me I'm wrong.)

To summarize it shortly:
An element is created using following template

  <xsl:template match="dir:file">
    <xsl:element name="file">
      <xsl:attribute name="path">
        <xsl:value-of select="concat($path,./@name)"/>
      </xsl:attribute>
    </xsl:element>
  </xsl:template>

and default namespace is declared: xmlns="http://www.sevencs.com";.

In another stylesheet same default namespace is declared and additionally this namespace uri is bound to prefix s.

Following template matches, but the value-of does not work:

  <xsl:template match="s:file">
    <xsl:text>following file was added:</xsl:text>
    <xsl:value-of select="./@path"/>
  </xsl:template>

Only if I change it to @s:path it works. Is this correct??? And what's the appropriate part in the spec - always when I search for a specific answer I don't find it.

Joerg


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to