Problemer med transformering af XML
Hej EksperterJeg har lidt problemer med at få transformeret en xml fil til en anden.
Jeg har en fil med informationer omkring skuespillere og for hver film skuespilleren har været med i optræder han en gang. Se sample her:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="xsl2.xslt"?>
<actorlist>
<actor>
<firstname>Angel</firstname>
<lastname>11:11</lastname>
<movie>Zoolander</movie>
<year>2001</year>
<character>Funky Loft Guest</character>
</actor>
<actor>
<firstname>Nick</firstname>
<lastname>13</lastname>
<movie>Inland Empire</movie>
<year>2006</year>
<character>Archaeologist</character>
</actor>
<actor>
<firstname>Yet</firstname>
<lastname>Another</lastname>
<movie>Malcolm X</movie>
<year>1972</year>
<character>SerialKiller</character>
</actor>
<actor>
<firstname>The</firstname>
<lastname>5.6.7.8's</lastname>
<movie>Get Rich or Die Tryin'</movie>
<year>2005</year>
<character>Marcus</character>
</actor>
<actor>
<firstname>James</firstname>
<lastname>52X</lastname>
<movie>Malcolm X</movie>
<year>1972</year>
<character>Himself</character>
</actor>
<actor>
<firstname>Dude</firstname>
<lastname>Cool</lastname>
<movie>Malcolm X</movie>
<year>1972</year>
<character>SerialKiller</character>
</actor>
</actorlist>
Jeg skal have lavet en XSLT fil som transformerer dette til en xml fil som lister hver film samt hvilke skuespillere som har være med id den. Hver film skal kun være listet en gang.
Jeg har prøvet med lidt forskelligt med noget count og noget, men kan ikke få det til at virke.
Jeg har fået lavet noget men får kun et tekst output ikke som en xml fil., nogen der kan hjæpe mig med det? Men i hvert fald får jeg ikke hver film kun en gang. Her er hvad jeg har:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:transform version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<movies>
<xsl:for-each select="actorlist/actor">
<movie>
<title><xsl:value-of select="movie"/></title>
<year><xsl:value-of select="year"/></year>
<xsl:variable name="currentmovie"><xsl:value-of select="movie"/></xsl:variable>
<xsl:for-each select="/actorlist/actor">
<xsl:if test="$currentmovie = movie">
<actor>
<Firstname><xsl:value-of select="firstname"/></Firstname>
<Lastname><xsl:value-of select="lastname"/></Lastname>
<Character><xsl:value-of select="character"/></Character>
</actor>
</xsl:if>
</xsl:for-each>
</movie>
</xsl:for-each>
</movies>
</xsl:template>
</xsl:transform>
Jeg vil gerne have en løsning som fungerer. Arbejd gerne videre på dette men jeg er også åben for en en helt anden løsning.
Please hjælp:D
På forhånd tak.
/Dasch