2016-10-12 4 views
0

私はXMLに含まれるデータを出力するためにXSLTを使用しようとしています。私は、タグの間に文字列をつかむことができますが、私は、画像ファイルを表示するように見えることはできませんXSLTを使用してHTMLでイメージを表示する方法は?

<room id="001"> 
    <capacity>2 Adults</capacity> 
    <room_name>King Double</room_name> 
    <cost_st>$1700</cost_st> 
    <cost_lt>$3400</cost_lt> 
    <loc>Ground Floor</loc> 
    <info>&in2;</info> 
    <feat>&ft2;</feat> 
    <deal>&pk2;</deal> 
    <photo>kingdouble.jpg</photo> 
</room> 

:設定されている要件の1つは、XMLファイル内の画像ファイルを持つことです。私はここに何か間違って書いていますか、それともXSLTのエラーですか?

EDIT: これは私のXSLTの一部です:

<tr border="2" bgcolor="#ffebcd"> 
     <td> <xsl:value-of select="room_name"/> </td> 
     <td> <xsl:value-of select="capacity"/> </td> 
     <td> <xsl:value-of select="info"/> </td> 
     <td> <xsl:value-of select="loc"/> </td> 
     <td> <xsl:value-of select="feat"/> </td> 
     <td> <xsl:value-of select="cost_st"/> </td> 
     <td> <xsl:value-of select="cost_lt"/> </td> 
    </tr> 

</xsl:template> 

私が何をしようとしているXSLTファイルをテンプレートとして使用されますので、特定の画像を指定せずに、画像ファイルを表示しています2つの別々のXMLページ。

答えて

2

あなたはこのようなイメージへの参照を含む別のtdを追加することができ、あなたのXSLTフラグメントが正しく動作していると仮定すると:ここ

<td><img src="{photo}"/></td> 

は、{photo}attribute value templateです。


ファイルはHTMLページ以外のディレクトリにある場合は、あなたが例えば、

<td><img src="images/{photo}"/></td> 

または絶対パス、相対パスを構築する必要があります、例えば、

<td><img src="http://example.com/some/path/to/images/{photo}"/></td> 

まだ機能していませんか?

イメージパスをデバッグするには、最初に手作業でHTMLを書き、絶対パスまたは相対パスを書き込む方法の精神モデルが正しいことを確認してください。次に、XSLTによって生成されているHTMLソースを調べて、実証済みの手作りパスとパスが一致していることを確認します。

+0

写真のタグに正しい画像パスを入れなければなりませんか?画像がすべてフォルダ内にあるためです。 – straysheep17

+0

写真ファイルディレクトリへのパスの構築を表示するように更新されました。 – kjhughes

+0

ありがとうございました:)今は画像が表示されない理由を説明する必要があります。 – straysheep17

関連する問題