xsl-list
[Top] [All Lists]

Re: [xsl] global xsl:variable problem, value not being set

2009-09-07 06:11:52
Ashok,

You are missing your namespace declarations and prefixes in the XSLT document.

Try -


<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
xmlns:ml="http://www.metalex.org/1.0";>
     <xsl:output indent="yes" method="xml" encoding="UTF-8"/>

 <xsl:variable name="refName">
     <xsl:value-of select="//ml:meta[(_at_)id='judgementNo']/@href" />
 </xsl:variable>

Cheers Adam.

2009/9/7 ashok _ <listmanster(_at_)gmail(_dot_)com>:
I am not sure what i am doing wrong ... but i am setting a global
xsl:variable which I then refer to within the template but in the
output transform the variable is always blank,

My Xslt [1] , and the Xml being transformed [2].  The original xml
file is quite big, but i have trimmed it down to demonstrate the
problem. I guess I am missing something simple :-(

(Using saxon 9)

[1] -- Xslt -- refName is always set to blank

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
     <xsl:output indent="yes" method="xml" encoding="UTF-8"/>

 <xsl:variable name="refName">
     <xsl:value-of select="//meta[(_at_)id='judgementNo']/@href" />
 </xsl:variable>

     <xsl:template match="/">
             <xsl:apply-templates/>
     </xsl:template>


     <xsl:template match="*">
             <xsl:element name="{node-name(.)}">
                     <xsl:for-each select="@*">
                             <xsl:attribute name="{name(.)}">
                                     <xsl:value-of select="."/>
                             </xsl:attribute>
                     </xsl:for-each>
                     <xsl:apply-templates/>
             </xsl:element>
     </xsl:template>


     <xsl:template match="*[(_at_)name='ref']">
                     <metavalue>
                             <xsl:attribute
name="test"><xsl:value-of select="$refName"
/></xsl:attribute>
                     </metavalue>
             </xsl:template>
</xsl:stylesheet>


[2] Xml file being transformed :

<?xml version="1.0" encoding="UTF-8"?><root
xmlns="http://www.metalex.org/1.0"; name="root" id="d3e1">
 <container id="judgement" class="Sect1" name="body">
   <mcontainer name="meta">
      <mcontainer id="references_d3e151" name="references"
source="#bungeni">
         <meta name="TLCConcept" id="judgementNo"
href="/ontology/concept/judgement/Judgement/653/07" showAs="653/07"/>
      </mcontainer>
   </mcontainer>
   <hcontainer __BungeniMetaEditable="false" id="header"
class="Sect2" name="Header">
      <htitle id="d3e7" name="heading" class="5f">THE SUPREME COURT
OF APPEAL REPUBLIC OF XXXXXX</htitle>
      <container id="d5e10" name="fixing_hcontainer">
         <block name="p" id="d3e10" class="Standard">Judgement No
:<inline name="ref" class="mJudgementNo" href="839" id="d5e12">14 of
2007</inline>
         </block>
      </container>
      <container id="d5e16" name="fixing_hcontainer">
         <block name="p" id="d3e19" class="P3">Case number:<inline
name="ref" class="mCaseNo" href="5166" id="d5e18">653/07</inline>
         </block>
      </container>
   </hcontainer>
 </container>
</root>

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--





-- 
Adam Retter

skype :adam.retter
http://www.adamretter.org.uk

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--