2013-08-15 2 views
1

У меня проблема с удалением родительского элемента xml и добавлением пространства имен к другим элементам.XSL: удалить родительский элемент и добавить префикс пространства имен

Может кто-нибудь помочь?

У меня есть этот XML

<DOutput> 
    <xxxOut> 
     <ES> 
      <Error a="1" b="10" c="900" d="blabla"/> 
     </ES> 
    </xxxOut> 
</DOutput> 

Мне нужно, чтобы получить это ..

 <cc:xxxOut> 
      <cc:ES> 
       <cc:Error a="1" b="10" c="900" d="blabla"/> 
      </cc:ES> 
     </cc:xxxOut> 

ответ

1

Используйте

<xsl:stylesheet 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    xmlns:cc="http://example.com/cc" 
    version="1.0"> 

<xsl:template match="@* | text() | comment() | processing-instruction()"> 
    <xsl:copy/> 
</xsl:template> 


<xsl:template match="*"> 
    <xsl:element name="cc:{local-name()}"> 
    <xsl:apply-templates select="@* | node()"/> 
    </xsl:element> 
</xsl:template> 

<xsl:template match="DOutput"> 
    <xsl:apply-templates/> 
</xsl:template> 

</xsl:stylesheet> 
+0

Спасибо большое. Хорошо работает. –

Смежные вопросы