2017-01-24 4 views
0

Ich versuche, einen Namespace zu einem Eingang hinzuzufügen:Namespace hinzufügen, um anonymen xml

<?xml version="1.0" encoding="utf-8"?> 
<VLOG_Export> 
    <Send_Referenznr_01>3200000042</Send_Referenznr_01> 
    <Send_Referenznr_06>00000000001000189718</Send_Referenznr_06> 
    <Send_ID>1Z78A1070461454103</Send_ID> 
</VLOG_Export> 

Erwartete Ausgabe:

<?xml version="1.0" encoding="UTF-8"?> 
<ns0:VLOG_Export xmlns:ns0="http://mycomp.com/VLOG/SD/vlog/export"> 
    <Send_Referenznr_01>sdfsdf</Send_Referenznr_01> 
    <Send_Referenznr_06>sdfsf</Send_Referenznr_06> 
    <Send_ID>sdfsdf</Send_ID> 
</ns0:VLOG_Export> 

Mit dieser Xslt:

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:output indent="yes"/> 
    <xsl:strip-space elements="*"/> 

    <xsl:template match="@*|node()"> 
     <xsl:copy> 
      <xsl:apply-templates select="@*|node()"/> 
     </xsl:copy> 
    </xsl:template> 

    <xsl:template match="*" priority="1"> 
     <xsl:element name="{local-name()}" namespace="http://mycomp.com/VLOG/SD/vlog/export"> 
      <xsl:apply-templates select="@*|node()"/> 
     </xsl:element> 
    </xsl:template> 

</xsl:stylesheet> 

ich das bekommen falsche Ausgabe. Alle Tipps willkommen. Thx

Antwort

0

Dies funktioniert wie erwartet:

<?xml version="1.0" encoding="UTF-8" ?> 
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
    xmlns:ns0="http://mycomp.com/VLOG/SD/vlog/export"> 
    <xsl:output indent="yes"/> 
    <xsl:strip-space elements="*"/> 

    <xsl:template match="@*|node()"> 
     <xsl:copy> 
      <xsl:apply-templates select="@*|node()"/> 
     </xsl:copy> 
    </xsl:template> 

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

</xsl:stylesheet> 

anzeigen Arbeits: http://xsltransform.net/6rewNyz

+0

Dank ich sehe jetzt, was ich falsch gemacht habe. – Woof

Verwandte Themen