Subject: Re: [xsl] Variable in XPath From: Florent Georges <darkman_spam@xxxxxxxx> Date: Wed, 27 Jun 2007 19:27:47 +0200 (CEST) |
Garvin Riensche wrote: Hi > <xsl:when test="doc('factbase.xml')/facts/class[@id eq $id > and @owner eq $owner and @name eq $name]"> > This will return false because $id is empty. My quesion > is, is there a default value that I can put in the select > of <xsl:variable name="id" select"?????"/> so that the > test above will return true? I think that if you can use XSLT 2.0, the more straight forward would be to defined your predicates as functions: <xsl:function name="my:equals" as="xs:boolean"> <xsl:param name="lhs" as="attribute()"/> <xsl:param name="rhs" as="item()?"/> <xsl:sequence select=" if ( empty($rhs) ) then true() else $lhs eq $rhs"/> </xsl:function> <xsl:function name="my:matches" as="xs:boolean"> <xsl:param name="elem" as="element()"/> <xsl:param name="id" as="item()?"/> <xsl:param name="owner" as="item()?"/> <xsl:param name="name" as="item()?"/> <xsl:sequence select=" my:equals($elem/@id, $id) and my:equals($elem/@owner, $owner) and my:equals($elem/@name, $name)"/> </xsl:function> and then in your code: <xsl:if test="my:matches(the-elem, 'id', 'owner', 'name')"> If the values to test against are global parameters, just use: <xsl:function name="my:matches" as="xs:boolean"> <xsl:param name="elem" as="element()"/> <xsl:sequence select=" my:equals($elem/@id, $id) and my:equals($elem/@owner, $owner) and my:equals($elem/@name, $name)"/> </xsl:function> and: <xsl:if test="my:matches(the-elem)"> Regards, --drkm ___________________________________________________________________________ Dicouvrez une nouvelle fagon d'obtenir des riponses ` toutes vos questions ! Profitez des connaissances, des opinions et des expiriences des internautes sur Yahoo! Questions/Riponses http://fr.answers.yahoo.com
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Variable in XPath, Abel Braaksma | Thread | Re: [xsl] Variable in XPath, Abel Braaksma |
Re: [xsl] Variable in XPath, Abel Braaksma | Date | Re: [xsl] Variable in XPath, Abel Braaksma |
Month |