Имя: Пароль:
1C
 
Задачка по XSLT - изменение пространства имён, и ничего кроме пространства имён
0 Dzenn
 
гуру
12.01.17
15:19
Подскажите пожалуйста, как можно реализовать с помощью XSLT (именно с помощью XSLT) следующую задачу:

Вход - XML, в котором в корневом элементе прописан xmlns="X"
Выход - абсолютно идентичный входу, но в корневом элементе вместо X прописан xmlns="Y"
1 Dzenn
 
гуру
12.01.17
15:50
ап
2 igork1966
 
12.01.17
16:19
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">;
    
    <!-- copy these nodes as is -->
    <xsl:template match="@* | comment() | processing-instruction()">
        <xsl:copy/>
    </xsl:template>
    
    <!-- but rename the elements -->
    <xsl:template match="*">
        <xsl:element name="{local-name()}"
            namespace="http://мойнаймспэйс">;
            <xsl:apply-templates select="@* | node()"/>
        </xsl:element>
    </xsl:template>
    
</xsl:stylesheet>
3 igork1966
 
12.01.17
16:19
4 igork1966
 
12.01.17
16:20
Это в корневом элементе лишнее
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
5 Dzenn
 
гуру
12.01.17
16:40
(2) спасибо! скопировал с сайта, пока не разобрался, как работает, но вроде то что надо!