powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XSL and java 1.5
3 сообщений из 3, страница 1 из 1
XSL and java 1.5
    #34232586
new_covex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
День добрый ! Хотелось бы прояснить для себя некоторую проблемку, на 1.5 джаве при трансформации получаю ошибку на sort следующего плана
<xsl:sort data-type="number" order="descending" select="sum(//*[1]/Subscription/UsageSummary[@UnitID=$PrevUnitID and @ServiceGroup=$CurrentServiceCategoryGroup and @CategoryLabel=current()/@CategoryLabel]/@RatedCost)"/>
ошибка имеет вид
java.lang.VerifyError: (class: GregorSamsa$4, method: extractValueFromDOM signature: (Lcom/sun/org/apache/xalan/internal/xsltc/DOM;IILcom/sun/org/apache/xalan/internal/xsltc/runtime/AbstractTranslet;I)Ljava/lang/String;) Illegal local variable number
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2357)
at java.lang.Class.getConstructor0(Class.java:2671)
at java.lang.Class.newInstance0(Class.java:321)
at java.lang.Class.newInstance(Class.java:303)
at com.sun.org.apache.xalan.internal.xsltc.dom.NodeSortRecordFactory.makeNodeSortRecord(NodeSortRecordFactory.java:149)
at com.sun.org.apache.xalan.internal.xsltc.dom.SortingIterator.setStartNode(SortingIterator.java:59)

XML имеет следующий вид
...
<Subscription ... >
<UsageSummary ServiceCategory="SharerMinutes" CategoryLabel="Calls Between Sharers" ServiceGroup="TalkBetweenSharers" UnitID="D" TimeBandID="P" QtyChargeable="95.38" BilledCost="0" RatedCost="6.68" BundleUsed="" IntraCompany="true" CDRCount="49" PrintOrder="20010" >
</UsageSummary>
<UsageSummary ServiceCategory="Answerphone" CategoryLabel="Answerphone" ServiceGroup="TalkOther" UnitID="D" TimeBandID="P" QtyChargeable="0.33" BilledCost="0" RatedCost="0" BundleUsed="" IntraCompany="false" CDRCount="1" PrintOrder="60010" >
</UsageSummary>
<UsageSummary ServiceCategory="Landline" CategoryLabel="Landline" ServiceGroup="Landline" UnitID="D" TimeBandID="P" QtyChargeable="21.48" BilledCost="0" RatedCost="1.83" BundleUsed="" IntraCompany="false" CDRCount="11" PrintOrder="50010" >
</UsageSummary>
</Subscription>
...
при этом если убрать внутреннее условие в сорте - все работает великолепно, в чем может быть причина, помогите плизз - на 1.4 у меня эта строка работала прекрасно, заранее благодарен
...
Рейтинг: 0 / 0
XSL and java 1.5
    #34242734
SuSa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуй сделать так:
<xsl:sort data-type="number" order="descending" select="{sum(//*[1]/Subscription/UsageSummary[@UnitID=$PrevUnitID and @ServiceGroup=$CurrentServiceCategoryGroup and @CategoryLabel=current()/@CategoryLabel]/@RatedCost)}"/>
если память не изменяет, сложные условия с использованием значений атрибутов нужно брать в {} скобки.
Проверять и ставить яву ломает, за работоспособность не ручаюсь, :)
...
Рейтинг: 0 / 0
XSL and java 1.5
    #34245862
new_covex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К сожалению так не работает - использование скобок в данном выражении не возможно, валидация не проходит и шаблон идет с ошибкой, как же быть :-(
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XSL and java 1.5
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]