Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: XSL-Jak wypisać zmienną ?
Forum PHP.pl > Forum > XML, AJAX > XML
thunder333
Witam, potrzebuję pomocy, bo choć sprawa wydaje się banalna mi sie nei udaje:
więc mam zmienną w xsl:
<xsl:if test="boolean($y= 'cos_tam') = true()">
<xsl:variable name="m11" select="wartosc"/>
</xsl:if>
wartosc jest liczbą w pliku xml
a potem robie:
<td>
<xsl:value-of select="//m11" />
</td>
wszystko jest ok, ale w komorce pojawia sie NaN

Dlaczego to nie działa?
erix
Cytat
ale w komorce pojawia sie NaN

To na pewno liczba? Pokaż kawałek XML-a, bo NaN = Not a Number.
thunder333
na pewno oto kod :
<pozycja>
<okres_wew>X</okres_wew>
<wartosc waluta="zl">6000</wartosc>
</pozycja>

Ok wiem juz gdzie jest problem więc tak, tą zmeinną deklaruję w bloku warunkowym :
<xsl:if test="boolean(tutaj mam jakis warunek) = true()">
<xsl:variable name="m1" select="wartosc"/>
</xsl:if>
jest kilka takich warunkow w petli for-each, zapisuje wartosci do roznych elementow. potem mam taki kod(juz po petli for-each):
<td >
<xsl:value-of select="$m1" />
</td>
i dostaje komunikat o błędzie :
Variable or parameter 'm1' is undefined.
czyli zmienna jest lokalna, ale jak zadeklaruje ją globalnie to potem jak robię <xsl:variable name="m1" select="wartosc"/> to poza blokiem jej wartosc sie eni zmienia, jak sie odwołać do tej zmiennej globalnej ?


Ps. mam firefoxa i nie działaja mi znaczniki xmla na forum
erix
Kod
<xsl:value-of select="{$m1}" />

?
thunder333
dzięki, ale niestety nie działa, mam błąd
line 143: Error parsing XPath expression '{$m1}'.
line 143: Required attribute 'select' is missing.
erix
A po prostu?
Kod
{$m1}

w template
thunder333
cały dokument jest objęty znacznikiem <xsl:template match="/">
dokument się waliduje

CODE

<td>
<!-- xsl:value-of select="{$m3}" /-->
{$m1}
</td>

coś takiego ?
próbowałem na różne sposoby odwoływać do niej, do tej zmienne powinienem się móc odwoływać w znaczniku oznaczonym jako template - bo to zmienna lokalna, i tak właśnie robię?

Podsumoawnie: mój problem tkwi w tmy że mam znacznik template w nim jakąś pęle foreach w niej warunek w któym nastepuije utworzenie i pszypisanie wartosci do zmiennej m1 (na pewno się przypisuje bo sprawdzałem), i w tym samym bloku template, pod znacnzikiem kończącym pętle foreach próbuję ją wpisać do komórki tabeli i to się nie udaje bo twierdzi że zmienna nie istnieje, przeszukałem już wiele stron ale nigdzie nie mogę znaleźć odpowiedzi. Dzięki za konkretne podpowiedzi, ale niestety żadna nie chcce narazie zadziałać sad.gif
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.