1

以下は私のxmlコードです:

<abbr>
<title>world health organization</title>who</abbr>
was founded in 1948. 

上記のコードでは、次のように xslt 出力が必要です。

<abbr title="world health organisation">who<abbr>

私は次の XSLT コードを書きました:

<xsl:template match ="abbr">
&lt;abbr title="<xsl:value-of select ="title"/>"&gt;
<xsl:value-of select ="."/>&lt;/abbr&gt;
</xsl:template>

そして私は得た:

<abbr title="world health organization">
world health organizationwho</abbr>

どこで私は間違えましたか?

の出力

<xsl:value-of select"."/> 

world health organisationwho

(世界保健機関 + 誰)

今、私は最初の部分を望んでいません。どうすればこれを達成できますか?

4

1 に答える 1

2

はの子titleであるためabbrtitleのテキストは。の文字列値の一部ですabbr。これを試してください:

<xsl:template match ="abbr">
  <abbr title="{title}">
    <xsl:apply-templates select="text()"/>
  </abbr>
</xsl:template>

ちなみに、xsl:output method="text"XSLTで使用していますか?XSLTを使用してXMLを生成している場合は、を使用する必要がありますmethod="xml"。それがXSLTの目的です。

于 2013-03-14T06:10:38.237 に答える