Properrr
@Properrr

Как модернизировать шаблон XSL для преобразования xml2Json?

Всем привет! У меня есть шаблон преобразования xml в json.
Есть 1 проблема: нужно модернизировать его так, что бы все xml теги во время "перегона" в json стали в lowercase(только имена тегов, сами значения должны быть в оригинале).
Ссылка на xsl
Я плохо понимаю xsl. Если кто-то в теме, спасите.
Например вот так:
XML:
<Widget>
<VALUE>Dfdfdf</VALUE>
</wiDget>

Json:
"widget" : {"value" : "Dfdfdf" }
Как видно из примера имена тегов стали в lowercase, а в значении регистр сохранился.
  • Вопрос задан
  • 2602 просмотра
Решения вопроса 1
egor_nullptr
@egor_nullptr
В начало шаблона добавить:
<xsl:variable name="smallcase" select="'abcdefghijklmnopqrstuvwxyz'" />
<xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />

В местах получения имени ноды добавить вызов функции translate():
...
<xsl:variable name="nName" select="translate(name(.), $uppercase, $smallcase)"/>
...

В XSL 2.0 для этой цели есть функция lower-case().
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы