xsl-list
[Top] [All Lists]

Re: [xsl] changing value of xi:include's href variable during compilationg with XSLTPROC

2007-11-06 09:28:43
On 06/11/2007, Nancy Brandt <nancy_brndt(_at_)yahoo(_dot_)com> wrote:
Hi, Michael. In general, you are right. But at this
specific moment, I am very nervous because of this
issue as my documentation does not compile well. I
tried this, according to what I understood from your
description:

xsl:template match="xi:include">
  <xi:include>
    <xsl:copy-of select="@*"/>
    <xsl:attribute name="href">
      <xsl:if test="contains('#')">
      <xsl:copy-of select="@*"/>
      <xsl:value-of select="substring-before('#')"/>
      <xsl:value-of select="substring-after('#')"/>
      <xsl:value-of select="concat(@*, '.online',
'#')"/>
      </xsl:if>
     <xsl:value-of select="concat(@*, '.online')"/>
    </xsl:attribute>
  </xi:include>
</xsl:template>

The compiler saXPath error : Invalid number of
arguments
xmlXPathCompiledEval: 1 objects left on the stack.
ys:

The contains() and substring-before() functions take two arguments...

contains(., '#')

...will check the string value of the current node, or

contains('abcd', 'a')

...will check if the string 'abcd' contains an 'a'

The same applies to the substring functions you are using, eg

substring-before(., '#')

will return the string value of the current up to the first occurrance of #


-- 
Andrew Welch
http://andrewjwelch.com
Kernow: http://kernowforsaxon.sf.net/

--~------------------------------------------------------------------
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>
--~--