以文本方式查看主题

-  W3CHINA.ORG讨论区 - 语义网·描述逻辑·本体·RDF·OWL  (http://bbs.xml.org.cn/index.asp)
--  『 XSL/XSLT/XSL-FO/CSS 』  (http://bbs.xml.org.cn/list.asp?boardid=8)
----  xslt 不能进行减法运算 ,着急  (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=85297)


--  作者:jiangeb
--  发布时间:6/12/2010 1:16:00 PM

--  xslt 不能进行减法运算 ,着急
我写了一个xslt,但是在里面不能进行减法运算,我贴一段代码和错误信息,麻烦帮我看看,谢谢!

    <xsl:param name="all" select="10"/>
    <xsl:param name="part" select="1"/>
    x=<xsl:value-of select="($all-$part)"/>

- 就是减号的转义

错误:““($all-$part)”中的语法错误。”
致命错误:“无法编译样式表”
2010-6-12 13:11:15 org.apache.solr.common.SolrException log
严重: java.lang.RuntimeException: getTransformer fails in getContentType
 at org.apache.solr.request.XSLTResponseWriter.getContentType(XSLTResponseWriter.java:68)
 at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:250)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
 at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:873)
 at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
 at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
 at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
 at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
 at java.lang.Thread.run(Thread.java:595)
Caused by: java.io.IOException: Unable to initialize Templates 'my.xsl'
 at org.apache.solr.util.xslt.TransformerProvider.getTemplates(TransformerProvider.java:106)
 at org.apache.solr.util.xslt.TransformerProvider.getTransformer(TransformerProvider.java:76)
 at org.apache.solr.request.XSLTResponseWriter.getTransformer(XSLTResponseWriter.java:117)
 at org.apache.solr.request.XSLTResponseWriter.getContentType(XSLTResponseWriter.java:65)
 ... 15 more
Caused by: javax.xml.transform.TransformerConfigurationException: 无法编译样式表
 at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:830)
 at org.apache.solr.util.xslt.TransformerProvider.getTemplates(TransformerProvider.java:103)
 ... 18 more


--  作者:Qr
--  发布时间:6/12/2010 6:01:00 PM

--  
加减乘除:+ - * div
--  作者:jiangeb
--  发布时间:6/13/2010 8:16:00 AM

--  
谢谢版主,我也试过直接用减号(-)去写,但是错误信息是一样的。
--  作者:Qr
--  发布时间:6/13/2010 10:34:00 AM

--  
估计是解析器的问题。
--  作者:yanrikun
--  发布时间:6/14/2010 10:51:00 AM

--  
以下是引用Qr在2010-6-13 10:34:00的发言:
估计是解析器的问题。

同意
--  作者:jiangeb
--  发布时间:6/16/2010 9:49:00 AM

--  
请问什么叫解析器出问题。我用的是IE7.0.57.。。,那怎么解决呢
--  作者:jj_long
--  发布时间:6/16/2010 1:53:00 PM

--  
你已经先入为主地认为是减号那句出错了。但是有可能实际上不是那一句。

你需要把你所有的XSLT代码贴出来。

最好提供XML和XSLT。


--  作者:Qr
--  发布时间:6/17/2010 8:53:00 AM

--  
试试这样子写:number($all)-number($part)
如果还通不过,

以下是引用jj_long在2010-6-16 13:53:00的发言:
你已经先入为主地认为是减号那句出错了。但是有可能实际上不是那一句。

你需要把你所有的XSLT代码贴出来。

最好提供XML和XSLT。




W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
54.688ms