[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[xsl] xpath-default-namespace with a variable
Subject: [xsl] xpath-default-namespace with a variable From: "Murray McDonald" <m.mcdonald@xxxxxxxxx> Date: Mon, 19 Sep 2011 09:06:01 -0400 |
I am using XSLT 2 via AltovaXML. I have a need to look up "key" terms in an external glossary document. The external document has a default namespace at the root level. The code works fine like this: <xsl:param name="GLOSSARY" select="'./working_files/glossary.xml'"/> <xsl:key name="definitions" match="glossentry" use="term/@key" xpath-default-namespace="http://www.abcdef.com/hij"/> <xsl:variable name="glossaryDocument" select="document($GLOSSARY)"/> ... <xsl:variable name="definition"> <xsl:for-each select="$glossaryDocument"> <xsl:value-of select="key('definitions', $normalizedText)/definition" xpath-default-namespace=" http://www.abcdef.com/hij"/> </xsl:for-each> </xsl:variable> After testing I decided to replace the "hardcoded" namespace with a "global" variable. I was surprised to find that this did not work. <xsl:variable name="glossNS" select="'http://www.abcdef.com/hij'" as="xs:anyURL"/> <xsl:key name="definitions" match="glossentry" use="term/@key" xpath-default-namespace="{$glossNS}"/> ... <xsl:value-of select="key('definitions', $normalizedText)/definition" xpath-default-namespace="{$glossNS}"/> I've check the spec and I can't find anything to make me believe this shouldn't work but it's entirely possible I may have missed some subtlety. Can anyone tell me if this a bug or expected behaviour? Thanks.
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Changing table output fro, Mark | Thread | Re: [xsl] xpath-default-namespace w, Martin Honnen |
RE: [xsl] XSL:FO Identify Transform, Chris Booth | Date | Re: [xsl] xpath-default-namespace w, Martin Honnen |
Month |
Keywords