powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Как трансформировать?…
5 сообщений из 5, страница 1 из 1
Как трансформировать?…
    #36952155
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как выполнить такую трансформацию?
Код: plaintext
1.
2.
3.
4.
5.
6.
Из
<row attr1="11" attr2 = "12" … attrN = "1N" />
<row attr1="21" attr2 = "22" … attrN = "2N" />
в
<z:row attr1="11" attr2 = "12" … attrN = "1N" />
<z:row attr1="21" attr2 = "22" … attrN = "2N" />
То есть чисто добавить неймспейс. Еще нужно, чтобы теги были закрытыми, т.е. строго <z:row /> . Пока что из-под моих рук смог появиться лишь ужас с тремя вложенными xsl:for-each и заменой out = Replace(out, "></z:row>", " />").
...
Рейтинг: 0 / 0
Как трансформировать?…
    #36952202
Andry Trushin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy,

Берете любой XSLT травите на ваш XML этот XSL:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:z="http://my-z-namespace">
    <xsl:output method="xml" />

    <xsl:template match="/">
        <xsl:apply-templates />
    </xsl:template>
    <xsl:template match="*">
        <xsl:element name="z:{name()}">
            <xsl:copy-of select="@*" />
            <xsl:apply-templates />
        </xsl:element>
    </xsl:template>
    <xsl:template match="text()">
        <xsl:copy-of select="." />
    </xsl:template>
</xsl:stylesheet>
...
Рейтинг: 0 / 0
Как трансформировать?…
    #36952451
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, работает шустро. Однако все равно создает </z:row>.
...
Рейтинг: 0 / 0
Как трансформировать?…
    #36953075
mage.lan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy,

С одной стороны для софта это не важно, с другой - это проблема форматора, который не может отработать правитьно выход xml, попробуйте другой трансформер.
...
Рейтинг: 0 / 0
Как трансформировать?…
    #36953779
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что самое смешное, для софта это оказалось важным. z:row относится к формату ADODB.Recordset. Рекордсет открывается из сгенеренного xml, и если все row имеют закрывающие теги, объект считает, что документ содержит всего одну row.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Как трансформировать?…
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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