Помогите найти решение
Имеется xslt создающий один элемент и 2 вложенных:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:cat_ru="urn:customs.ru:CommonAggregateTypes:4.2.0">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<xsl:element name="myElement">
<xsl:element name="cat_ru:ID">243634563456</xsl:element>
<xsl:element name="cat_ru:RefID">563456</xsl:element>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
Для любого XML документа на входе в результате трансформации получаю следующее:
<?xml version="1.0" encoding="UTF-8"?>
<myElement>
<cat_ru:ID xmlns:cat_ru="urn:customs.ru:CommonAggregateTypes:4.2.0">243634563456</cat_ru:ID>
<cat_ru:RefID xmlns:cat_ru="urn:customs.ru:CommonAggregateTypes:4.2.0">563456</cat_ru:RefID>
</myElement>
а хотелось бы получить такое:
<?xml version="1.0" encoding="UTF-8"?>
<myElement xmlns:cat_ru="urn:customs.ru:CommonAggregateTypes:4.2.0">
<cat_ru:ID>243634563456</cat_ru:ID>
<cat_ru:RefID>563456</cat_ru:RefID>
</myElement>
т.е. чтобы URI не повторялся каждый раз во всех элементах, а был один раз объявлен в корневом элементе. Как это сделать, может кто знает, или знает куда копать?
Здравствуйте, bendator, Вы писали:
B>Помогите найти решение
B>Имеется xslt создающий один элемент и 2 вложенных:
B>B><?xml version="1.0" encoding="UTF-8"?>
B><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
B>xmlns:cat_ru="urn:customs.ru:CommonAggregateTypes:4.2.0">
B><xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
B><xsl:template match="/">
B><xsl:element name="myElement">
<xsl:namespace name="cat_ru" select="'urn:customs.ru:CommonAggregateTypes:4.2.0'"/>
B> <xsl:element name="cat_ru:ID">243634563456</xsl:element>
B> <xsl:element name="cat_ru:RefID">563456</xsl:element>
B></xsl:element>
B></xsl:template>
B></xsl:stylesheet>
B>
...
B>т.е. чтобы URI не повторялся каждый раз во всех элементах, а был один раз объявлен в корневом элементе. Как это сделать, может кто знает, или знает куда копать?