1

この XSLT スクリプトに問題があります。タグの名前を変更したいのですが、新しい名前のタグ要素を含むテーブルがあります。私はTalendを使用してすべての行を取得し、新しい名前を含む2つの変数「ジェネリック」とフルパス(arbre)を含む他の変数に名前を保存しています。

   <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" encoding="UTF-8" 
         doctype-public="-//W3C//DTD HTML 4.01//EN" 
         doctype-system="" indent="yes" />
    
    <xsl:param name = "generique" />
    <xsl:param name = "arbre" />
    
    <xsl:variable name="vXpath"  select= "$arbre" />
    
    <xsl:template match= "/">
       <xsl:value-of select="$vXpath"/>
       <xsl:element name ="{$generique}">
         <xsl:apply-templates select="child"/>
       </xsl:element>
    </xsl:template>
    
    <xsl:template match="@*|node()" priority="0">
    <xsl:copy>
    <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
    </xsl:template>
    
    </xsl:stylesheet>

スクリプトが思い通りに動かない。

4

1 に答える 1

1

あなたが言うところでは<xsl:apply-templates select="child"/>、私はあなたが望んでいると思い<xsl:apply-templates/>ます。

あなたが書いた方法は、で始まるドキュメントに対してのみ機能し<child>...</child>ます。

欠席は、あなたが言っていると思っていたことの可能性が高いことをselect=意味することに注意してください。select="child::node()"

于 2013-08-22T15:39:26.370 に答える