相关文章推荐
怕老婆的卤蛋  ·  C# 基本语法 | ·  1 周前    · 
温柔的黄花菜  ·  el-select ...·  12 月前    · 
腹黑的铅笔  ·  web.config ...·  1 年前    · 

使用下列transformation:

  • 如果node name已经是以no:开头,则给该节点加上attribute elementFormDefault,其value为"qualified".
  • 否则将所有节点的name加上前缀n0:
  • <xsl:transform
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
       xmlns:n0="urn:sap-com:document:sap:soap:functions:mc-style"
       version="1.0">
     <xsl:strip-space elements="*"/>
     <xsl:template match="/">
         <xsl:apply-templates/>
    </xsl:template>
     <xsl:template match="node()">
       <xsl:choose>
         <xsl:when test="starts-with(name(),'n0:')">
           <xsl:element name="{name()}">
           <xsl:attribute name="elementFormDefault">
              qualified
           </xsl:attribute>
           <xsl:apply-templates select="node()"/>
           </xsl:element>
         </xsl:when>
         <xsl:when test="name()=''">
         <xsl:value-of select="."/>
         <xsl:copy-of select = "@*"/>
         </xsl:when>
         <xsl:otherwise>
           <xsl:element name="{concat('n0:', name())}">
           <xsl:apply-templates select="node()"/>
           </xsl:element>
         </xsl:otherwise>
       </xsl:choose>
     </xsl:template>
    </xsl:transform>
    

    执行transformation之后的xml:
    superZidan JavaScript React.js

    私信