|
|
|
Создание отступов в XML посредством XSLT
|
|||
|---|---|---|---|
|
#18+
Всем привет, чтобы сделать сабж, я использую следующий XSLT: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Он работает, только вот пустые узлы, записанные как Код: plaintext Код: plaintext 1. Я попробовал другое преобразование: Код: plaintext 1. 2. 3. 4. 5. 6. - оно не коверкает пустые узлы, но вот создаёт отступы в XML'е только если этот XML уже разнесён на строки. Т.е. оно создаст отступы в Код: plaintext 1. 2. 3. 4. 5. 6. но не сможет их создать, если тот же самый XML записан в однй строку: <?xml version="1.0" encoding="UTF-16"?><x:MyRootElement xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:x="#MyNamespace'"><x:ChileNode1 name="bla-bla-bla"><x:ChileNode2 name="bla-bla-bla"></x:ChileNode2></x:ChileNode1></x:MyRootElement> Т.е. тоже не вариант. Может ли кто посоветовать "золотую середину", которая и пустые узлы не трогает (не разбивает их на открывающий/закрывающий тэги, сидящие в разных строках), и одинаково хорошо разносит как single-line, так и multi-line XML? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2009, 10:39 |
|
||
|
Создание отступов в XML посредством XSLT
|
|||
|---|---|---|---|
|
#18+
Gecko так не делает. Чем трансформишь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2009, 11:45 |
|
||
|
Создание отступов в XML посредством XSLT
|
|||
|---|---|---|---|
|
#18+
кстати, indent='true' – неправильно, надо indent='yes'. Тупые америкосы, однако. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2009, 11:47 |
|
||
|
Создание отступов в XML посредством XSLT
|
|||
|---|---|---|---|
|
#18+
maXmoGecko так не делает. Чем трансформишь?Использую библиотеку MS XML v.6.0 (msxml6.dll), метод transformNode объекта DOMDocument. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2009, 15:05 |
|
||
|
Создание отступов в XML посредством XSLT
|
|||
|---|---|---|---|
|
#18+
В принципе, я могу использовать второй вариант преобразования, предварительно разбив весь XML на отдельные строки по открывающей угловой скобке. Но это уж на самый крайний случай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2009, 15:54 |
|
||
|
Создание отступов в XML посредством XSLT
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.02.2009, 23:40 |
|
||
|
Создание отступов в XML посредством XSLT
|
|||
|---|---|---|---|
|
#18+
MSXML ни на что не ложит, почитайте это :) А если серьёзно - то в форумах Microsoft подсказали ответ. В коде VB6 нужно использовать (при объявлениях и инстанциациях) тип DOMDocument60, а не DOMDocument - даже при условии, что к VB6-проекту явно подключена 6-я версия библиотеки MSXML! И ведь, блин, знал когда-то эту "фичу", да забыл. Эта библиотека, при переходе от младшей своей версии к старшей, сохраняет совместимость "экстенсивным" образом - т.е. не только блюдёт binary compatibility существующих элементов, но ещё и расширяет свою объектную модель , включая в неё элементы предыдущей (младшей) версии, помеченные постфиксом с номером версии. Иными словами, XSLT-преобразование первого типа (см. мой первый пост) обращается с пустыми узлами в зависимости от версии библиотеки MSXML следующим образом: Код: plaintext 1. 2. Поэтому явное использование версии 6.0 решает мою проблему! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.02.2009, 11:21 |
|
||
|
Создание отступов в XML посредством XSLT
|
|||
|---|---|---|---|
|
#18+
ну если не ident, то только или ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2009, 13:35 |
|
||
|
Создание отступов в XML посредством XSLT
|
|||
|---|---|---|---|
|
#18+
Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2009, 13:37 |
|
||
|
|

start [/forum/topic.php?fid=14&msg=35806074&tid=1333636]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
149ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 234ms |
| total: | 470ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...