Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Как скопировать некоторые ноды / 6 сообщений из 6, страница 1 из 1
20.09.2006, 11:26
    #33999005
Satrac
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать некоторые ноды
Есть некоторое дерево
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<message>
  <header>
     <elem1>elem1</elem1>
     <elem2/>
  </header>
  <body>
     <belem1>
        <subelem1>sub1</subelem1>
        <subelem2/>
     </belem1>
     <belem2>
        <subelem1/>
        <subelem2/>
     </belem2>
  </body>
</message>
Уровень вложенности заранее неизвестен. Как скопировать только те ветки, которые что-то содержат. Т.е. как получить дерево вида:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<message>
  <header>
     <elem1>elem1</elem1>
  </header>
  <body>
     <belem1>
        <subelem1>sub1</subelem1>
     </belem1>
  </body>
</message>
...
Рейтинг: 0 / 0
20.09.2006, 15:56
    #34000366
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать некоторые ноды
Код: plaintext
1.
2.
3.
4.
5.
6.
<template match="*">
<if test=".//text()">
<element name="name(.)">
<apply-templates/>
</element>
</if>
</template>
не проверял.
...
Рейтинг: 0 / 0
20.09.2006, 16:01
    #34000389
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать некоторые ноды
ой. Текстовые узлы надо будет по-другому обрабатывать.
...
Рейтинг: 0 / 0
20.09.2006, 16:10
    #34000421
Satrac
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать некоторые ноды
Работает, но не так, как надо. Остается скелет
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
<message>
  <header>
     <elem1>elem1</elem1>

  </header>
  <body>
     <belem1>
        <subelem1>sub1</subelem1>
 
     </belem1>
     <belem2>
        
     </belem2>
  </body>
</message>

А мне нужно как-то грохнуть всю пустую ветку.
...
Рейтинг: 0 / 0
20.09.2006, 18:25
    #34001012
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать некоторые ноды
но ведь что-то исчезло (по-настоящему путсые элементы). По оставшемуся форматированию можно сделать заключение, что belem2 не пуст, у него есть текстовое содержание, хоть оно и состоит из пробельных символов.
...
Рейтинг: 0 / 0
21.09.2006, 14:20
    #34003190
Satrac
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как скопировать некоторые ноды
Это Xalan дуркует. Нашел солюшен.
...
Рейтинг: 0 / 0
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Как скопировать некоторые ноды / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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