2017-01-12 3 views
0

das folgende Beispiel xml Gegeben:XSLT1 - Prüft, ob alle ausgewählten Knoten haben ein bestimmtes Attribut

<table> 
    <tr> 
     <td style="border-top:1px"> 
      <p class="bodytext">right</p> 
     </td> 
     <td style="border-top:1px"> 
      <p class="bodytext">left right</p> 
     </td> 
     <td style="border-top:1px"> 
      <p class="bodytext">left</p> 
     </td> 
    </tr> 
    <tr> 
     <td style="border-top:1px"> 
      <p class="bodytext">right</p> 
     </td> 
     <td style="border-top:1px"> 
      <p class="bodytext">left right</p> 
     </td> 
     <td style="border-top:1px"> 
      <p class="bodytext">left</p> 
     </td> 
    </tr> 
</table> 

Ich möchte, wenn ALL die TDs des ersten TR, zu überprüfen, das Stil-Attribut auf Rand- oben.

Der folgende Ausdruck funktioniert offenbar nicht:

<xsl:when test="tr[1]/td/@style[contains(.,'border-top')]"> 
</xsl:when> 

ich XSLT1 bin mit, gibt es eine einfache Möglichkeit, dies zu tun?

Antwort

1

Ich fand die Antwort in dieser question.

Im Grunde wird dies getan, indem alle Knoten, die wir prüfen wollen, abgerufen und diese Sequenz mit der gefilterten Sequenz verglichen wird, die wir benötigen.

Also in meinem Fall: tr[1]/td[@style[contains(.,'border-top')]]=tr[1]/td

Dank Dimitre!

Verwandte Themen