0

ローカルの XML ファイル (タイトル、俳優、ランタイムなど) からの映画情報と、外部の Amazon xml からの Amazon API 製品情報 (製品のタイトルと画像) を表示する次の XSLT コードがあります。

<xsl:variable name="moviesXML" select="document('movies.xml')"/>
<xsl:variable name="inputRoot" select="/"/>

<xsl:param name="movieID"/>

<xsl:template match="/">
    <html>
        <head>
            <title>Movie details</title>
        </head>
        <body>
            <xsl:for-each select="$moviesXML/movies/movie[@movieID=$movieID]">
                <xsl:value-of select="title" />
                <xsl:value-of select="actors" />
                ...
                <xsl:apply-templates select="$inputRoot/aws:ItemLookupResponse/aws:Items/aws:Item/aws:ItemAttributes/aws:Title"/>
                <xsl:apply-templates select="$inputRoot/aws:ItemLookupResponse/aws:Items/aws:Item/aws:MediumImage/aws:URL"/>
            </xsl:for-each>
        </body>
    </html>
</xsl:template>

<xsl:template match="aws:Title">
    <xsl:value-of select="." />
    <br/>
</xsl:template>

<xsl:template match="aws:URL">
    <img src="{.}"/>
    <br/>
</xsl:template>

したがって、前のページから渡された movieID に基づいて、上記のコードはその特定の映画に関連するすべての情報を表示します。Amazon API を使用して、映画ごとに 2 つの商品 (DVD と BluRay の商品) を表示します。

私が抱えている問題は、XSLT が両方の Amazon 製品タイトルを一度に表示し、その後両方の写真を一度に表示することです。しかし、私が望むのは、Amazon の商品名 + 画像 (DVD) を表示し、次に別の Amazon の商品名 + 画像 (BluRay) を表示することです。

これは私が得る出力です:

悪い

そして、これは私が達成したいことです:

良い

4

1 に答える 1