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