Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [XML][XSLT] Wyświetlanie danych od miejsca znalezienia wzorca
Forum PHP.pl > Forum > XML, AJAX > XML
amaverick
Witam,
walcze juz z tym od dluzszego czasu, przejzalem forum i nie moge nic wymyslic, otoz
Mam plik XML: (fragment)
<SIGNALS>
<sig id="1">
<header>
<par>0x640C</par>
<par>TC_LINK_STATES_RESP_MSG</par>
<par>nmap</par>
<par>WAM_30/CTRL_MCU/Task:0x150</par>
<par>WAM_30/CTRL_MCU/Task:0x24</par>
<par>192.168.255.5</par>
<par>2008</par>
<par>5.16</par>
<par>15:37:59.232</par>
<par>00:02:43.71093</par>
<par>00</par>
<par>09D4</par>
<par>0883</par>
<par>0004</par>
<par>0000640C301100243011015000140000</par>
</header>
</sig>
</SIGNALS>

Chcialbym wyswietlic np. parametr w ktorym znajduje sie nazwa tj. TC_LINK_STATES_RESP_MSG oraz nastepny ...
W moim szablonie XSLT:
<?xml version="1.0" encoding="ISO-8859-1"?>

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
<html>
<body>
<h2>SIGNALS</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th align="left">Name</th>
<th align="left">IP</th>
<th align="left">Date</th>
<th align="left">Time</th>
</tr>
<xsl:for-each select="SIGNALS/sig/header/par">

<xsl:if test="text()='TC_LINK_STATES_RESP_MSG'">
<tr>
<td colspan="3"><xsl:value-of select="text()"/></td>
<td><xsl:value-of select="position()"/></td>
</tr>
</xsl:if>

</xsl:for-each>
</table>
</body>
</html>
</xsl:template>

</xsl:stylesheet>

Problem jest w tym, że ok znajduje sobie parametr z szukanym stringiem, i wyswietla go podaje takze jego pozycja,ale nie potrafie odwolac sie np do nastepnego parametru, tzn. szukany string jest np. na pozycji 2, a chcialbym wyswietlic pozycje nastepna ... alboo inny, nie podajac oczywiscie jego numeru, bo nie wiadomo na ktorej pozycji znajdzie ...
Ktos moze ma jakis pomysl ?
Dzieki
styx
Jeżeli chcesz wyświetla jeszcze tylko kolejny to robisz
  1. <xsl:if test="text()='TC_LINK_STATES_RESP_MSG'">
  2. <tr>
  3. <td colspan="3"><xsl:value-of select="text()"/></td>
  4. <td><xsl:value-of select="position()"/></td>
  5. </tr>
  6. <tr>
  7. <td colspan="3"><xsl:value-of select="/SIGNALS/sig/header/pa[position()+1]"/></td>
  8. <td><xsl:value-of select="position()+1"/></td>
  9. </tr>
  10.  
  11. </xsl:if>



coś w tym stylu
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.