2009-04-03 4 views
1

У меня есть XML-файл со значениями, выраженными в единицах СИ (м, N). Я использую документ XSLT, чтобы преобразовать его в HTML-страницу, где я хотел бы отображать значения с другими единицами (um, mN).Изменение значений с помощью XSLT

Есть ли способ изменить значения, которые я извлекаю из своего XML-документа, используя XSLT без изменения содержимого XML до обработки XSLT?

Заранее спасибо за вашу помощь

Бертрана


Просто заметить другим интересным в. Я развиваю в Python, и библиотека LXML позволяют вызывать расширения в XSLT.

http://lxml.de/extensions.html

ответ

5

Вы можете сделать math in XPath expressions:

<!-- divide somevalue by 1000 --> 
<xsl:value-of select="somevalue div 1000.0" /> 
+0

Выглядит отлично. Сделайте именно то, что я хочу. Спасибо – Bertrand

-1

Если вы используете C# для запуска XSLT преобразование, а математика возможности Xpath недостаточно хороши для ваших требований, вы можете совершать звонки от xslt до методов в вашем классе C#, который позволит вам вызвать C# для выполнения математических вычислений, а затем вернуть значение обратно в xslt. Найдите расширения C# xslt.

+0

Посмотрите на расширения XSLT. – Bertrand

+0

И пока вы на нем, привяжите C# к внешнему веб-сервису, который вызывает калькулятор Google api через служебную шину предприятия ... –

+0

Спасибо за то, что Пит, я просто указывал вариант, не предлагая, чтобы это был " правильный "ответ в этом случае. –

Смежные вопросы