forum.bitel.ru
http://forum.bitel.ru/

xslt динамический код [6.2]
http://forum.bitel.ru/viewtopic.php?f=19&t=10621
Страница 1 из 1

Автор:  borin [ 17 июн 2015, 16:10 ]
Заголовок сообщения:  xslt динамический код [6.2]

Добрый день!

Раз уж переходим на 6.2 захотелось переделать отчеты по красоте, через вызов динкода. Меняют в шапке xmlns:script и отчет сразу валится с ошибкой, я даже вызов метода еще не делал.
Код:
 <!--<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   xmlns:fo="http://www.w3.org/1999/XSL/Format"
   xmlns:svg="http://www.w3.org/2000/svg" version="1.0"
   xmlns:xalan="http://xml.apache.org/xalan"
  xmlns:script="bitel.billing.server.util.exslt.Scripting">-->
 
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   xmlns:fo="http://www.w3.org/1999/XSL/Format"
   xmlns:svg="http://www.w3.org/2000/svg" version="1.0"
   xmlns:xalan="http://xml.apache.org/xalan"
  xmlns:script="bitel.billing.server.util.exslt.DynCodeExecuter"
  version="1.0">
  <xsl:import href="layout.xsl"></xsl:import>

Код:
06-17/15:05:18 ERROR [http-bio-0.0.0.0-8080-exec-5] CommonExecutor - Ошибка при обработке файла card_contract.xsl
ru.bitel.bgbilling.common.BGException: Ошибка при обработке файла card_contract.xsl
<------>at ru.bitel.bgbilling.kernel.container.web.action.XSLManager.transform(XSLManager.java:209)
<------>at bitel.billing.server.contract.action.ActionContractCard2.doAction(ActionContractCard2.java:126)
<------>at bitel.billing.server.Executer.doModule(SourceFile:600)
<------>at bitel.billing.server.Executer$1.run(SourceFile:199)
<------>at java.security.AccessController.doPrivileged(Native Method)
<------>at javax.security.auth.Subject.doAs(Subject.java:422)
<------>at bitel.billing.server.Executer.doPost(SourceFile:193)
<------>at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
<------>at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
<------>at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
<------>at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
<------>at ru.bitel.common.server.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:50)
<------>at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
<------>at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
<------>at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
<------>at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
<------>at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
<------>at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
<------>at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
<------>at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
<------>at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
<------>at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
<------>at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
<------>at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
<------>at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
<------>at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
<------>at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
<------>at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
<------>at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
<------>at ru.bitel.bgbilling.kernel.container.web.action.XSLManager.getTransformer(XSLManager.java:106)
<------>at ru.bitel.bgbilling.kernel.container.web.action.XSLManager.getTransformer(XSLManager.java:167)
<------>at ru.bitel.bgbilling.kernel.container.web.action.XSLManager.transform(XSLManager.java:204)
<------>... 28 more

Что делаю не так?

Автор:  dimOn [ 17 июн 2015, 16:33 ]
Заголовок сообщения:  Re: xslt динамический код [6.2]

должно быть ещё в ошибках что-то

Автор:  borin [ 17 июн 2015, 16:39 ]
Заголовок сообщения:  Re: xslt динамический код [6.2]

в server.out есть вот это:
Код:
[Fatal Error] card_contract.xsl:24:11: Attribute "version" was already specified for element "xsl:stylesheet".
file:/opt/BGBillingServer/webroot/xsl/card_contract.xsl; Номер строки 24; Номер столбца 11; org.xml.sax.SAXParseException; systemId: file:/opt/BGBillingServer/webroot/xsl/card_contract.xsl; lineNumber: 24; columnNumber: 11; Attribute "version" was already specified for element "xsl:stylesheet".

Автор:  borin [ 17 июн 2015, 16:50 ]
Заголовок сообщения:  Re: xslt динамический код [6.2]

Убрал
Код:
version="1.0"

Нооо документ не отображается. Тогда закоментировал
Код:
<!--<xsl:import href="layout.xsl"></xsl:import>-->

Документ отобразился.
Тогда добавил в fo:block
Код:
<fo:block xsl:use-attribute-sets="text_paragraph">
      <xsl:value-of select="script:execute('ru.borin.xslt.cardContract', 'execute', 'myArg')" ></xsl:value>
</fo:block>

И опять ошибка:
Код:
[Fatal Error] card_contract.xsl:285:221: The element type "xsl:value-of" must be terminated by the matching end-tag "</xsl:value-of>".
file:/opt/BGBillingServer/webroot/xsl/card_contract.xsl; Номер строки 285; Номер столбца 221; org.xml.sax.SAXParseException; systemId: file:/opt/BGBillingServer/webroot/xsl/card_contract.xsl; lineNumber: 285; columnNumber: 221; The element type "xsl:value-of" must be terminated by the matching end-tag "</xsl:value-of>".

Автор:  borin [ 17 июн 2015, 16:54 ]
Заголовок сообщения:  Re: xslt динамический код [6.2]

Все разобрался в примере http://wiki.bitel.ru/index.php/BGBillin ... 0.BE.D0.BC, не тот тег закрывается. Написано </xsl:value>, а надо </xsl:value-of>

Автор:  dimOn [ 17 июн 2015, 17:39 ]
Заголовок сообщения:  Re: xslt динамический код [6.2]

ну вот видите - всё написано было в ошибках)

Автор:  borin [ 17 июн 2015, 17:48 ]
Заголовок сообщения:  Re: xslt динамический код [6.2]

dimOn писал(а):
ну вот видите - всё написано было в ошибках)

Точно, спасибо за помощь.

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/