2016-04-06 2 views
0

Мой слитый файл выглядит следующим образомСортировка слиты XML элементы по имени, используя XSL

<?xml version="1.0" encoding="UTF-8"?> 
<lineup> 
    <artists> 
     <artist id="124"> 
     <name>Pascal &amp; Pearce</name> 
     <genres> 
      <genre>dance</genre> 
      <genre>club</genre> 
     </genres> 
     <writeup> 
     After a chance meeting in 2007, Pascal Ellinas and Dave Pearce began the long winding road that is now the stellar production and DJ duo of Pascal &amp; Pearce. 
    </writeup> 
     <gig> 
      <day>SUNDAY</day> 
      <time> 
       <starts>17:00</starts> 
       <ends>19:00</ends> 
      </time> 
     </gig> 
     <photo format="jpg">pascal-pierce</photo> 
     </artist> 
     <aritst id="101"> 
     <name>Dan Patlansky</name> 
     <genres> 
      <genre>Blues</genre> 
      <genre>Rock</genre> 
      <genre>Jazz</genre> 
     </genres> 
     <writeup> 
     What Dan Patlansky can do with a six-string Fender Stratocaster at the age of 26, most critically acclaimed guitarists will never quite achieve in a lifetime. 
    </writeup> 
     <gig> 
      <day>Friday</day> 
      <time> 
       <starts>13:00</starts> 
       <ends>15:00</ends> 
      </time> 
     </gig> 
     <photo format="jpg">dan-patlansky</photo> 
     </aritst> 
     etc 

мне нужно отсортировать имена исполнителей в алфавитном порядке, это то, что я до сих пор, но она ничего не производит. Это мой XSL-файл.

Мой выход создает пустой файл с помощью только тега. Мой объединенный файл - это мой исходный файл. Помощь была бы очень признательна, спасибо.

ответ

1

В качестве быстрого исправления, измените <xsl:apply-templates select="artists/artist"> на <xsl:apply-templates select="lineup/artists/artist">.

Было бы проще, чтобы соответствовать на

<xsl:template match="artists"> 
    <xsl:copy> 
    <xsl:apply-templates select="artist"> 
     <xsl:sort select="name"/> 
    </xsl:apply-templates> 
    </xsl:copy> 
</xsl:template> 
+0

Спасибо так много. Я просто попробовал, что он показывает только первого «художника». «Pascal & Pearce» подробнее. – KhanyisileC

+2

, потому что ваш второй художник является 'aritst' – wero

+0

@wero, как я могу это исправить? – KhanyisileC

Смежные вопросы