|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Unable to use the functions
Lakshmi narayana wrote:
>Hi,
>I am trying to execute one function in XSLT. But I am getting the
>exceptions. Below are the code in XSL file and exceptions.
>Please suggest me the changes i had to make in XSLT to execute the reverse
>function properly.
>
>XSL Code.
>
><xsl:transform
> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> xmlns:str="http://user.com/namespace"
> version="1.0"
> exclude-result-prefixes="str">
>
><xsl:function name="str:reverse">
> <xsl:param name="sentence"/>
> <xsl:result
> select="if (contains($sentence, ' '))
> then concat(str:reverse(substring-after($sentence, ' ')),
> ' ',
> substring-before($sentence, ' '))
> else $sentence"/>
></xsl:function>
>
><xsl:template match="/">
><output>
> <xsl:value-of select="str:reverse('DOG BITES MAN')"/>
></output>
></xsl:template>
>
></xsl:transform>
>
>
>Exceptions :
>
>
>javax.xml.transform.TransformerConfigurationException:
>javax.xml.transform.TransformerConfigurationException:
>javax.xml.transform.TransformerException:
>javax.xml.transform.TransformerException: xsl:function is not allowed in
>this position in the stylesheet!
> at
>org.apache.xalan.processor.TransformerFactoryImpl.newTransformer(Transformer
>FactoryImpl.java:805)
> at MyTest.test(MyTest.java:31)
> at MyTest.main(MyTest.java:49)
>Caused by: javax.xml.transform.TransformerConfigurationException:
>javax.xml.transform.TransformerException:
>javax.xml.transform.TransformerException: xsl:function is not allowed in
>this position in the stylesheet!
> at
>org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFa
>ctoryImpl.java:984)
> at
>org.apache.xalan.processor.TransformerFactoryImpl.newTransformer(Transformer
>FactoryImpl.java:788)
> ... 2 more
>Caused by: javax.xml.transform.TransformerException:
>javax.xml.transform.TransformerException: xsl:function is not allowed in
>this position in the stylesheet!
> at
>org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFa
>ctoryImpl.java:980)
> ... 3 more
>Caused by: javax.xml.transform.TransformerException: xsl:function is not
>allowed in this position in the stylesheet!
> at
>org.apache.xalan.processor.StylesheetHandler.error(StylesheetHandler.java:96
>6)
> at
>org.apache.xalan.processor.StylesheetHandler.getProcessorFor(StylesheetHandl
>er.java:428)
> at
>org.apache.xalan.processor.StylesheetHandler.startElement(StylesheetHandler.
>java:662)
> at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1672)
> at org.apache.crimson.parser.Parser2.content(Parser2.java:1963)
> at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1691)
> at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:667)
> at org.apache.crimson.parser.Parser2.parse(Parser2.java:337)
> at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:448)
> at
>org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFa
>ctoryImpl.java:972)
> ... 3 more
>
>
>
u are trying to execute an EXSLT function
http://xml.apache.org/xalan-j/extensions_xsltc.html#exslt_ext
the namespace should be
xmlns:str="http://exslt.org/strings"
otherwise you could use the pure XSLT 1.0 template for this at www.exslt.org
gl, jim fuller
>Thanks,
>Laxmi Narayana Babu.
>OSI Technologies.
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








