Author |
Message
|
sai kumar123 |
Posted: Wed Jan 04, 2017 3:09 am Post subject: while using xslt,to group by its generating an exception. |
|
|
Novice
Joined: 16 Dec 2016 Posts: 15
|
my xml:
Code: |
<?xml version="1.0"?>
<root>
<sport rank="2" name="sachin" matches="487" state="MH" type="cricket"/>
<sport rank="3" name="gopichand" matches="453" state="AP" type="badminton"/>
<sport rank="12" name="rahul" matches="345" state="TN" type="tennis"/>
<sport rank="12" name="rushi" matches="98" state="MP" type="football"/>
<sport rank="4" name="saina" matches="56" state="TG" type="badminton"/>
<sport rank="5" name="sehwag" matches="564" state="TG" type="cricket"/>
<sport rank="12" name="chetan" matches="345" state="UP" type="tennis"/>
<sport rank="45" name="anand" matches="78" state="AP" type="football"/>
</root> |
xslt:
Code: |
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output method="xml" indent="yes" encoding="UTF-8" omit-xml-declaration="yes" />
<xsl:key name="type" match="sport" use="@type" />
<xsl:template match="root">
<xsl:element name="root">
<xsl:for-each-group select="*" group-by="@type">
<xsl:element name="type">
<xsl:attribute name="value">
<xsl:value-of select="@type" />
</xsl:attribute>
<xsl:for-each select="current-group()">
<xsl:element name="sport">
<xsl:element name="rank">
<xsl:value-of select="@rank" />
</xsl:element>
<xsl:element name="name">
<xsl:value-of select="@name" />
</xsl:element>
<xsl:element name="matches">
<xsl:value-of select="@matches" />
</xsl:element>
<xsl:element name="state">
<xsl:value-of select="@state" />
</xsl:element>
</xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:for-each-group>
</xsl:element>
</xsl:template>
</xsl:stylesheet> |
exception:
Code: |
RecoverableException
File:CHARACTER:F:\build\slot1\S900_P\src\DataFlowEngine\MessageServices\ImbDataFlowNode.cpp
Line:INTEGER:1155
Function:CHARACTER:ImbDataFlowNode::createExceptionList
Type:CHARACTER:ComIbmMQInputNode
Name:CHARACTER:dynamic#FCMComposite_1_6
Label:CHARACTER:dynamic.MQ Input
Catalog:CHARACTER:BIPmsgs
Severity:INTEGER:3
Number:INTEGER:2230
Text:CHARACTER:Node throwing exception
Insert
Type:INTEGER:14
Text:CHARACTER:dynamic.MQ Input
RecoverableException
File:CHARACTER:F:\build\slot1\S900_P\src\DataFlowEngine\PluginInterface\ImbJniNode.cpp
Line:INTEGER:1304
Function:CHARACTER:ImbJniNode::evaluate
Type:CHARACTER:ComIbmXslMqsiNode
Name:CHARACTER:dynamic#FCMComposite_1_4
Label:CHARACTER:dynamic.XSL Transform
Catalog:CHARACTER:BIPmsgs
Severity:INTEGER:3
Number:INTEGER:2230
Text:CHARACTER:Caught exception and rethrowing
Insert
Type:INTEGER:14
Text:CHARACTER:dynamic.XSL Transform
RecoverableException
File:CHARACTER:XMLTransformNode.java
Line:INTEGER:995
Function:CHARACTER:transformData
Type:CHARACTER:
Name:CHARACTER:
Label:CHARACTER:
Catalog:CHARACTER:BIPmsgs
Severity:INTEGER:3
Number:INTEGER:4447
Text:CHARACTER:Error during transformation
Insert
Type:INTEGER:5
Text:CHARACTER:XSL Transform
Insert
Type:INTEGER:5
Text:CHARACTER:Transformation failure when processing Stylesheet xslt.xslt
javax.xml.transform.TransformerException: java.lang.RuntimeException: Unsupported XSL element 'http://www.w3.org/1999/XSL/Transform:for-each-group'
at org.apache.xalan.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:673)
at org.apache.xalan.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:314)
at com.ibm.xsl.exmlt.ParseFacilitator.parseXmlStylesheet(ParseFacilitator.java:274)
at com.ibm.xsl.exmlt.ParseFacilitator.parse(ParseFacilitator.java:216)
at com.ibm.xsl.exmlt.EnhancedXMLTransform.transformWithStylesheet(EnhancedXMLTransform.java:672)
at com.ibm.xsl.exmlt.EnhancedXMLTransform.transformDocument(EnhancedXMLTransform.java:627)
at com.ibm.xsl.mqsi.XMLTransformData.transformData(XMLTransformData.java:555)
at com.ibm.xsl.mqsi.XMLTransformNode.evaluate(XMLTransformNode.java:965)
at com.ibm.broker.plugin.MbNode.evaluate(MbNode.java:1480)
Caused by: java.lang.RuntimeException: Unsupported XSL element 'http://www.w3.org/1999/XSL/Transform:for-each-group'
at org.apache.xalan.xsltc.runtime.BasisLibrary.runTimeError(BasisLibrary.java:1672)
at org.apache.xalan.xsltc.runtime.BasisLibrary.runTimeError(BasisLibrary.java:1676)
at org.apache.xalan.xsltc.runtime.BasisLibrary.unsupported_ElementF(BasisLibrary.java:456)
at xslt.template$dot$0()
at xslt.applyTemplates()
at xslt.applyTemplates()
at xslt.transform()
at org.apache.xalan.xsltc.runtime.AbstractTranslet.transform(AbstractTranslet.java:606)
at org.apache.xalan.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:660)
.
|
 |
|
Back to top |
|
 |
mqjeff |
Posted: Wed Jan 04, 2017 4:57 am Post subject: Re: while using xslt,to group by its generating an exceptio |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
sai kumar123 wrote: |
Text:CHARACTER:Transformation failure when processing Stylesheet xslt.xslt
javax.xml.transform.TransformerException: java.lang.RuntimeException: Unsupported XSL element 'http://www.w3.org/1999/XSL/Transform:for-each-group' |
Seems reasonably clear. The XSLT you are using has operations that are not supported by the IIB XSLT node.
The resolution is to either use a different XSLT that can be supported, or to use a different transformation node. _________________ chmod -R ugo-wx / |
|
Back to top |
|
 |
sai kumar123 |
Posted: Wed Jan 04, 2017 5:23 am Post subject: |
|
|
Novice
Joined: 16 Dec 2016 Posts: 15
|
ok thank you....but I have used three different ones...all are resulting in same manner... |
|
Back to top |
|
 |
Vitor |
Posted: Wed Jan 04, 2017 5:41 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
Why are you using XSLT in IIB anyway? It has much better transformation options.
sai kumar123 wrote: |
I have used three different ones |
If all 3 XSLT files contain unsupported operations, why are you surprised you're getting the same error? _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
smdavies99 |
Posted: Wed Jan 04, 2017 11:42 pm Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
Vitor wrote: |
Why are you using XSLT in IIB anyway? It has much better transformation options.
|
however there is a school of thought that says,
Do the transformations with XSLT then we can move it all to Java when we get rid of IIB and do everything for free in Java.
XSLT performance in IIB is horrible (goodness) and some of the bodges I've seen to get round the limitations would make any decent architect/developer cringe with embarrasment. Yes, they are in production (shudder). _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. |
|
Back to top |
|
 |
mqjeff |
Posted: Thu Jan 05, 2017 5:43 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
smdavies99 wrote: |
however there is a school of thought that says,
Do the transformations with XSLT then we can move it all to Java when we get rid of IIB and do everything for free in Java. |
After two years of development that hopefully a) supports new business requirements and b) makes it more flexible to support new business requirements in a shorter time.
Which seems much less likely in Java, from my experience... _________________ chmod -R ugo-wx / |
|
Back to top |
|
 |
sai kumar123 |
Posted: Thu Jan 05, 2017 8:27 am Post subject: |
|
|
Novice
Joined: 16 Dec 2016 Posts: 15
|
Thank you for your suggestions... but the thing I went for XSLT in IIB is....we can do grouping,sorting and many other tranformations with one stylesheet.. |
|
Back to top |
|
 |
fjb_saper |
Posted: Thu Jan 05, 2017 8:31 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
sai kumar123 wrote: |
Thank you for your suggestions... but the thing I went for XSLT in IIB is....we can do grouping,sorting and many other tranformations with one stylesheet.. |
Did you possibly confuse the level of XSLT available in your version of IIB?  _________________ MQ & Broker admin |
|
Back to top |
|
 |
sai kumar123 |
Posted: Thu Jan 05, 2017 8:33 am Post subject: |
|
|
Novice
Joined: 16 Dec 2016 Posts: 15
|
yes,IIB might not supporting some operations or keywords in XSLT.. |
|
Back to top |
|
 |
|