-- 作者:自由风
-- 发布时间:4/8/2008 11:14:00 AM
--
Qr大哥,还有一个问题想请教你 我的xslt如下: <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:CIM"> <xsl:output method="xml" encoding="UTF-8" indent="yes"/> <xsl:template match="/"> <code> <xsl:for-each select="properties/item"> <xsl:choose> <xsl:when test="name = 'State'"> <xsl:choose> <xsl:when test="value='DEPLOYED' or value='FUNCTIONAL'">0</xsl:when> <xsl:when test="value='INVALID' or value='FAILED_AUDIT'">1</xsl:when> <xsl:when test="value='REQUESTED' or value='PENDING'">2</xsl:when> </xsl:choose> </xsl:when> </xsl:choose> </xsl:for-each> </code> </xsl:template> </xsl:stylesheet> 我用XMLSpy软件单步调试没有任何问题,将其部署到servicemix中,运行报错如下: Error at element constructor <responseinfo> of : XPTY0004: Cannot compare xs:string to xs:integer ERROR - SaxonComponent - Error processing exchange InOut[ id: ID:demo-36723-1207365059684-202:2 status: Active role: provider service: {http://www.zznode.com/vpndis}request-response-format endpoint: endpoint in: <?xml version="1.0" encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns0="http://www.cisco.com/cim-cx/2.0" xmlns:ns1="urn:CIM" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Header> <ns0:message id="87855" sessiontoken="39B21CBF68406FD013635474DA8F0276" timestamp="2008-04-08T02:24:40.201Z" wait="true" waittimeout="90"/> </soapenv:Header> SystemID: ; Line#: -1; Column#: -1 net.sf.saxon.trans.DynamicError: Cannot compare xs:string to xs:integer at net.sf.saxon.expr.ValueComparison.compare(ValueComparison.java:586) at net.sf.saxon.expr.GeneralComparison.compare(GeneralComparison.java:570) at net.sf.saxon.expr.GeneralComparison.effectiveBooleanValue(GeneralComparison.java:490) at net.sf.saxon.instruct.Choose.processLeavingTail(Choose.java:325) at net.sf.saxon.instruct.Choose.processLeavingTail(Choose.java:338) at net.sf.saxon.instruct.Choose.processLeavingTail(Choose.java:338) at net.sf.saxon.instruct.Block.processLeavingTail(Block.java:353) at net.sf.saxon.instruct.Choose.processLeavingTail(Choose.java:338) at net.sf.saxon.instruct.Instruction.process(Instruction.java:91) at net.sf.saxon.instruct.ForEach.processLeavingTail(ForEach.java:244) at net.sf.saxon.instruct.Block.processLeavingTail(Block.java:353) at net.sf.saxon.expr.LetExpression.processLeavingTail(LetExpression.java:352) at net.sf.saxon.instruct.Choose.processLeavingTail(Choose.java:338) at net.sf.saxon.instruct.Instruction.process(Instruction.java:91) at net.sf.saxon.instruct.ForEach.processLeavingTail(ForEach.java:244) at net.sf.saxon.instruct.Instruction.process(Instruction.java:91) at net.sf.saxon.instruct.ElementCreator.processLeavingTail(ElementCreator.java:250) at net.sf.saxon.instruct.Block.processLeavingTail(Block.java:353) at net.sf.saxon.instruct.Instruction.process(Instruction.java:91) at net.sf.saxon.instruct.ElementCreator.processLeavingTail(ElementCreator.java:250) at net.sf.saxon.instruct.Block.processLeavingTail(Block.java:353) at net.sf.saxon.instruct.Instruction.process(Instruction.java:91) at net.sf.saxon.instruct.ElementCreator.processLeavingTail(ElementCreator.java:250) at net.sf.saxon.instruct.Instruction.process(Instruction.java:91) at net.sf.saxon.instruct.ForEach.processLeavingTail(ForEach.java:244) at net.sf.saxon.instruct.Template.applyLeavingTail(Template.java:99) at net.sf.saxon.instruct.ApplyTemplates.applyTemplates(ApplyTemplates.java:319) at net.sf.saxon.Controller.transformDocument(Controller.java:1602) at net.sf.saxon.Controller.transform(Controller.java:1426) at org.apache.servicemix.saxon.XsltEndpoint.transformContent(XsltEndpoint.java:97) at org.apache.servicemix.saxon.XsltEndpoint.transform(XsltEndpoint.java:74) at org.apache.servicemix.saxon.SaxonEndpoint.processInOut(SaxonEndpoint.java:201) at org.apache.servicemix.common.endpoints.ProviderEndpoint.process(ProviderEndpoint.java:109) at org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:489) at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:441) at org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46) at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:593) at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:174) at org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:176) at org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665) at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690) at java.lang.Thread.run(Thread.java:595)
|