powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / exclude-result-prefixes не работает
2 сообщений из 2, страница 1 из 1
exclude-result-prefixes не работает
    #35484503
AV2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
AV2
Гость
Доброе утро
Обрабатываю xml при помощи xsl. Хочу, чтобы в выходном xml не добавлялось пространство имен
Код: plaintext
xmlns:ns1="urn:sng.uit.obr.sd.exchange".
Почему-то не отрабатывают ни
Код: plaintext
exclude-result-prefixes="ns1"
, ни
Код: plaintext
copy-namespaces="no"
Подскажите, может я что-то не так делаю?

Входной xml:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<?xml version="1.0" encoding="UTF-8"?> 
<ns1:mse_invoice_usd_out xmlns:ns1="urn:sng.uit.obr.sd.exchange"> 
<RETURN> 
<item> 
   <TYPE>I</TYPE> 
   <ID/> 
   <NUMBER> 000 </NUMBER> 
   <MESSAGE>aaa</MESSAGE> 
</item> 
<item> 
   <TYPE>W</TYPE> 
   <ID/> 
   <NUMBER> 302 </NUMBER> 
   <MESSAGE>bbb</MESSAGE> 
</item> 

</RETURN> 
</ns1:mse_invoice_usd_out>


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

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet xmlns:ns1="urn:sng.uit.obr.sd.exchange" 
            xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
            exclude-result-prefixes="ns1" 
            version="2.0" > 

<xsl:output method="xml" encoding="UTF-8" omit-xml-declaration="no" indent="yes"/> 
<xsl:param name="TABLE_NAME" /> 
    
   <xsl:template match="item"> 
      <xsl:element name="{$TABLE_NAME}"> 
         <xsl:for-each select="./*"> 
            <xsl:copy-of select="." copy-namespaces="no" xsl:exclude-result-prefixes="ns1"/> 
            <!--добавляю нужны мне элементы --> 
         </xsl:for-each> 
      </xsl:element> 
    </xsl:template> 
    
</xsl:stylesheet>



В выходные данные лезет пространство имен
Код: plaintext
xmlns:ns1="urn:sng.uit.obr.sd.exchange"
.
Неужели по-красивому от него никак не избавиться?????!!!!!
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<?xml version="1.0" encoding="UTF-8"?> 
<Z_KX_LOG_PUT> 
<TYPE xmlns:ns1="urn:sng.uit.obr.sd.exchange">I</TYPE> 
<ID xmlns:ns1="urn:sng.uit.obr.sd.exchange" /> 
<NUMBER xmlns:ns1="urn:sng.uit.obr.sd.exchange"> 000 </NUMBER> 
<MESSAGE xmlns:ns1="urn:sng.uit.obr.sd.exchange">aaa</MESSAGE> 
</Z_KX_LOG_PUT> 
<Z_KX_LOG_PUT> 
<TYPE xmlns:ns1="urn:sng.uit.obr.sd.exchange">W</TYPE> 
<ID xmlns:ns1="urn:sng.uit.obr.sd.exchange" /> 
<NUMBER xmlns:ns1="urn:sng.uit.obr.sd.exchange"> 302 </NUMBER> 
<MESSAGE xmlns:ns1="urn:sng.uit.obr.sd.exchange">bbb</MESSAGE> 
</Z_KX_LOG_PUT> 
...
Рейтинг: 0 / 0
exclude-result-prefixes не работает
    #35535059
ef37
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может это глюк процессора ?

На Xalan мне хватало сделать так (XML -> XHTML) :
<xsl:stylesheet version="1.0"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xalan="http://xml.apache.org/xalan"
exclude-result-prefixes="xalan">
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / exclude-result-prefixes не работает
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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