2013-05-08 4 views
0

XSL 1.0을 사용하여 같은 해에 제작 된 Johnny Depp이 출연 한 모든 영화 쌍을 찾는 방법에 대한 지침을 제공 할 수 있습니까? 각 쌍은 한 번만 더 구체적으로 출력됩니다. 두 번째 동영상 @id 같은, 제 영화 @id보다 큰 경우에만 출력 쌍 :XML/XSLT 출력 쌍

<same_year actor="Johnny Depp"> 
<pair year=".."> 
<movie id=".."> ... </movie> 
<movie id=".."> ... </movie> 
</pair> 
... 
</same_year> 

XML :

<movie id="475" imdb_id="0107207"> 
<title>In the Name of the Father</title> 
<year>1993</year> 
<critic_rating>7.6</critic_rating> 
<critic_num_reviews>39</critic_num_reviews> 
<critic_score>94</critic_score> 
<audience_rating>4.0</audience_rating> 
<audience_num_ratings>10715</audience_num_ratings> 
<audience_score>92</audience_score> 
<directors> 
<director>Jim Sheridan</director> 
</directors> 
<actors> 
<actor rank="1">Daniel Day-Lewis</actor> 
<actor rank="2">Pete Postlethwaite</actor> 
<actor rank="3">Emma Thompson</actor> 
<actor rank="4">John Lynch</actor> 
... 
<actor rank="60">Philip King</actor> 
</actors> 
<countries> 
<country>Ireland</country> 
</countries> 
</movie> 

감사합니다. 다음과 같은

+1

지금까지 작성한 내용을 알려주십시오. –

+2

적어도 하나의 Johnny Depp 영화가 포함 된 XML 샘플을 보여 주면 약간 도움이 될 것입니다. "아버지의 이름으로"는 훌륭한 영화이지만 조니 뎁이 그 모습을 본 것을 기억하지 못합니다! 또한 Johnny Depp은 열심히 일하는 배우이기 때문에 같은 해에 3 개의 영화가 나왔다면 어떻게 될까요? 감사! –

+0

모든 것을 데이터베이스에 넣고 SQL을 사용하여 쿼리해야합니다. – Borodin

답변

0

뭔가 (테스트되지 않은) 작업을해야합니다

<same_year actor="Johnny Depp"> 
    <xsl:for-each select="movie[actor = 'Johnny Depp']"> 
     <xsl:variable name="movie1" select="."/> 
     <xsl:for-each select="../movie[actor = 'Johnny Depp' and year = $movie1/year and @id &gt; $movie1/@id]"> 
      <pair year="{year}"> 
       <xsl:copy-of select="$movie1"/> 
       <xsl:copy-of select="."/> 
      </pair> 
     </xsl:for-each> 
    </xsl:for-each> 
</same_year> 

이 기준에 일치하는 영화의 모든 쌍에 걸쳐 반복이 개 for-each 루프가 있습니다.