Гость
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / How to avoid namespace in result xml? / 4 сообщений из 4, страница 1 из 1
27.11.2009, 19:05
    #36336509
max_from_sumy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
How to avoid namespace in result xml?
привет,

Есть такая проблема, xml на входе:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<?xml version = "1.0" encoding = "UTF-8"?>
<repository xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns = "http://www.tibco.com/xmlns/repo/types/2002">
	<globalVariables>
		<globalVariable>
			<name> 1 </name>
			<value> 2 </value>
			<deploymentSettable> 3 </deploymentSettable>
			<serviceSettable> 4 </serviceSettable>
			<type> 5 </type>
			<modTime> 1222781506907 </modTime>
		</globalVariable>
	</globalVariables>
</repository>

Преобразование:

Код: 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 version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:tibco="http://www.tibco.com/xmlns/repo/types/2002" xmlns="http://www.tibco.com/xmlns/repo/types/2002" >
    <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
    
    <xsl:template match="node() | @*">
        <xsl:copy>
            <xsl:apply-templates select="node() | @*"/>
        </xsl:copy>
    </xsl:template>
    
    <xsl:template match="tibco:value">
        <value><xsl:value-of select="concat(., '-updated')"/></value>
    </xsl:template>
    
</xsl:stylesheet>


Результат:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<repository xmlns="http://www.tibco.com/xmlns/repo/types/2002" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<globalVariables>
		<globalVariable>
			<name> 1 </name>
			<value xmlns:tibco="http://www.tibco.com/xmlns/repo/types/2002"> 2 -updated</value>
			<deploymentSettable> 3 </deploymentSettable>
			<serviceSettable> 4 </serviceSettable>
			<type> 5 </type>
			<modTime> 1222781506907 </modTime>
		</globalVariable>
	</globalVariables>
</repository>

Подскажите, плз, как добиться того, чтобы в результате не было объявления namespace-а:
Код: plaintext
1.
<value> 2 -updated</value>

без

Код: plaintext
1.
xmlns:tibco="http://www.tibco.com/xmlns/repo/types/2002"

Или укажите причину, почему так нельзя сделать, может я не по той дороге пошел?

Заранее спасибо.
...
Рейтинг: 0 / 0
27.11.2009, 19:09
    #36336514
max_from_sumy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
How to avoid namespace in result xml?
Уже решилось:

В xslt для трансформации:

Код: plaintext
1.
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:tibco="http://www.tibco.com/xmlns/repo/types/2002" xmlns="http://www.tibco.com/xmlns/repo/types/2002" exclude-result-prefixes="tibco">
...
Рейтинг: 0 / 0
27.11.2009, 22:58
    #36336675
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
How to avoid namespace in result xml?
Можно гораздо проще
Код: plaintext
1.
2.
3.
4.
<xsl:stylesheet version="1.0" 
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:tibco="http://www.tibco.com/xmlns/repo/types/2002"
  exclude-result-prefixes="tibco">
...
Рейтинг: 0 / 0
29.11.2009, 00:53
    #36337318
max_from_sumy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
How to avoid namespace in result xml?
thx
...
Рейтинг: 0 / 0
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / How to avoid namespace in result xml? / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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