xsl-list
[Top] [All Lists]

Unable to use the functions

2005-07-05 03:16:50

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


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



<Prev in Thread] Current Thread [Next in Thread>