2016-11-21 5 views
0

xmlファイルからYEAR属性を引き出し、文字と連結するのに問題があります。XSLT:アトリビュートで単語を連結する際に問題が発生しました

私はこのように見えるために、XMLを取得しようとしています:

<h1>CIA World 2008 Factbook - Countries</h1> 

"2008" 以外YEAR属性のです。

<WFB YEAR="2008"> 

WFBは、文書のルート要素である: は、ここで私が使用していたXML文書の一部です。

これまでのところ、私はこれを持っている...

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

<xsl:template match="element[@YEAR]"> 
    <element> 
     <h1><xsl:value-of select= 
     "concat(CIA World ', @YEAR, ' Factbook - Countries)"/></h1> 
    </element> 
</xsl:template> 
<xsl:template match="text()"/> 
</xsl:stylesheet> 

私はそれを複雑にかけていますように、しかし...

+0

'を – bhantol

+0

おかげで、bhantol属性ではありません。私は元の投稿を編集しました。 –

+0

[mcve] - espを投稿してください。入力をWRTします。 –

答えて

3

は、次の入力を考えると感じる:

XML

<WFB YEAR="2008"/> 

次のスタイルシート:

XSLT 1.0

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

<xsl:template match="/WFB"> 
    <html> 
     <h1> 
      <xsl:value-of select="concat('CIA World ', @YEAR, ' Factbook - Countries')"/> 
     </h1> 
    </html> 
</xsl:template> 

</xsl:stylesheet> 

が返されます:WFB` @

<html> 
    <h1>CIA World 2008 Factbook - Countries</h1> 
</html> 
+0

ありがとう、Michael.hor257k!私はちょうどあなたのサンプルコードを試しましたが、XMLを変換する何らかの理由で、私のhtmlファイルが空になります。何かアドバイス? –

+1

このコードは、表示されているXMLが表示されているHTMLを生成します。問題が発生している場合は、コードをどのように実行しているかを正確に伝える**作業のほうがはるかに優れていなければなりません**。ブラウザでXSLTを実行しようとしている場合は、[** XSLTがWebブラウザで動作していない**](http://stackoverflow.com/questions/29941662/xslt-not-working-in-web-browser)を参照してください。 。 – kjhughes

関連する問題