我有以下存储电影和演员的 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
我无法让演员姓名显示在我的页面上。我不确定我是否正确地关联了我的 actorID,因为我通常对 XSLT 很陌生。