2013-09-30 6 views
0

Мы вытаскиваем наши волосы, просто пытаясь просто попробовать получить базовый пример функции замены XSLT.Функция замены Regex XSLT

Я оставляю этот текст в такте для контекста, но вы можете перейти к обновлению

Мы используем Mirth тянуть в HL7 сообщений. Мы не уверены, поддерживает ли это XSLT версии 2, но мы считаем, что использует SAXON - http://saxon.sourceforge.net/, который якобы поддерживает XSLT2 и, следовательно, функцию замены.

В любом случае мы попытались использовать XSLTCake, чтобы попытаться получить демонстрационную замену для работы, но безрезультатно. Мы видели, что это либо указано как replace, либо fn:replace, а также пару других предложений, использующих другие библиотеки.

Если XSLT2 не поддерживается Mirth, нам понадобится обходной путь для XSLT1. Мы нашли его здесь: XSLT string replace - но не смогли заставить его работать.

Это сложно решить один вопрос, поскольку я прошу многого, но здесь идет ... Может ли кто-нибудь представить рабочий пример выполнения замены регулярных выражений в XSLT? Предпочтительно тот, который будет запускаться в онлайн-парсере для справки.

Вот sample - который, по-видимому, должен работать. 1

Update

Благодаря Michael Kay для предоставления кода ниже, чтобы определить версию XSLT.

<!--Transformed using 1.0 provided by Apache Software Foundation (Xalan XSLTC)--> 

Так получилось, что мы все ошибались в Mirth, используя SAXON и, следовательно, поддерживая XSLT2. Я обновлю нашу попытку реализовать обходной путь версии 1.

ответ

3

Сначала выясните, какой XSLT-процессор вы используете. Это прямолинейно: вставьте это

<xsl:comment>Transformed using <xsl:value-of select="system-property('xsl:version')"/> provided by <xsl:value-of select="system-property('xsl:vendor')"/></xsl:comment> 

Как только вы знаете, какой язык программирования вы используете, вы можете начать думать о написании кода.

+0

Спасибо за это, поэтому мы не сможем получить большую часть работы! Обновление. –

+0

Не просто обновление, но и ответ Майкла. – Sid

+0

Кажется, что люди, которые успешно заменили Саксон вместо Xalan в Mirth, см., Например, http://www.mirthcorp.com/community/forums/showthread.php?t=952 –

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