0

映画と俳優を格納する次の XML ファイルがあります。

<database
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="movies.xsd">
    <movies>
        <movie movieID="1">
            <title>Movie 1</title>
            <actors>
                <actor actorID="1"></actor>
                <actor actorID="2"></actor>
            </actors>
        </movie>
    </movies>

    <actors>
        <actor actorID="1">
            <name>Bob</name>
        </actor>
        <actor actorID="2">
            <name>Mike</name>
        </actor>
    </actors>
</database>

私はactorID fromdatabase/movies/movie/actors/actorをactorID fromに接続し、database/actors/actorアクターの名前を表示したいと考えています:

これは私のXSLTです:

<xsl:variable name="selectActors" select="database/actors/actor[@actorID]"/>
<xsl:variable name="inputRoot" select="/"/>

<xsl:template match="/">
    <xsl:apply-templates select="database/movies/movie"/>
</xsl:template>

<xsl:template match="movie">
        Title:
        <xsl:value-of select="title"/>
        <br/>
        Actors:
        <xsl:for-each select="actors/actor[@actorID=$selectActors]">
            <xsl:value-of select="$inputRoot/database/actors/actor/name"/>
            <br/>
        </xsl:for-each>
        <br/>
</xsl:template>

これは、表示したい最終結果です。

Title: Movie 1
Actors: Bob
    Mike

自分のページに表示するアクター名を取得できません。私は一般的に XSLT に非常に慣れていないため、actorID を正しく相互リンクしたかどうかはわかりません。

4

1 に答える 1