Thread View: pl.comp.xml
5 messages
5 total messages
Started by ant
Wed, 04 Mar 2009 02:47
Nazwa węzła z parametru?
Author: ant
Date: Wed, 04 Mar 2009 02:47
Date: Wed, 04 Mar 2009 02:47
82 lines
3104 bytes
3104 bytes
Witam,
Mam taki prosty problem, z którego jednak nie potrafię wybrnąć ;-]
--%<-----%<-----%<-----%<-----%<-----%<-----%<-----%<-----%<-----%<-----%<----
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="activenode">0</xsl:param>
<xsl:param name="ChildcountKey">childcount</xsl:param>
<xsl:template match="nodes">
<ul>
<xsl:apply-templates select="node" />
</ul>
</xsl:template>
<xsl:template match="node">
<li>
<xsl:apply-templates select="title|nodes"/>
</li>
</xsl:template>
<xsl:template match="node/title">
<xsl:choose>
<xsl:when test="../@id = $activenode">
<a href="?id={../@id}"><b><xsl:apply-templates /></b></a>
<xsl:choose>
<xsl:when test="../childcount > 0">
(<xsl:value-of select="../childcount" />)
</xsl:when>
</xsl:choose>
</xsl:when>
<xsl:otherwise>
<a href="?id={../@id}"><xsl:apply-templates /></a>
<xsl:choose>
<xsl:when test="childcount > 0">
(<xsl:value-of select="../childcount" />)
</xsl:when>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
--%<-----%<-----%<-----%<-----%<-----%<-----%<-----%<-----%<-----%<-----%<----
<nodes>
<node id="2">
<title>AAAAAAAAAAAAA</title>
</node>
<node id="3">
<title>BBBBBBBBBBBBB</title>
<childcount>3</childcount>
<nodes>
<node id="5">
<title>CCCCCCCCCCCCC</title>
</node>
</nodes>
</node>
</nodes>
--%<-----%<-----%<-----%<-----%<-----%<-----%<-----%<-----%<-----%<-----%<----
I to mi działa. Problem w tym, że w tym XMLu gałąź "childcount" może
przyjmować różne nazwy - nazwy które chcę podawać w postaci parametru
(<xsl:param name="ChildcountKey">childcount</xsl:param>).
Mój problem polega na tym, że kombinowałem już na wiele sposobów,
ale nie wiem jak poprawić te wiersze:
<xsl:when test="../childcount > 0">
(<xsl:value-of select="../childcount" />)
żeby sprawdzał nie w ../childcount, a w czymś w stylu ../$ChildcountKey,
tylko to mi nie działa właśnie ;p i nie działa mi też wstawianie wartości
../$ChildcountKey.
Jak to poprawić?
Dziękuję z góry za wszelkie wskazówki :-)
Re: Nazwa węzła z parametru?
Author: szomiz
Date: Wed, 04 Mar 2009 09:14
Date: Wed, 04 Mar 2009 09:14
12 lines
1385 bytes
1385 bytes
Użytkownik "ant" <ant@nowhere.tld> napisał w wiadomości news:gokqie$8i5$1@nemesis.news.neostrada.pl... > żeby sprawdzał nie w ../childcount, a w czymś w stylu ../$ChildcountKey, > tylko to mi nie działa właśnie ;p i nie działa mi też wstawianie wartości > ../$ChildcountKey. > > Jak to poprawić? ../*[name()=$ChildcountKey] sz.
Re: Nazwa węzła z parametru?
Author: ant
Date: Thu, 05 Mar 2009 18:00
Date: Thu, 05 Mar 2009 18:00
19 lines
1838 bytes
1838 bytes
szomiz wrote: > Użytkownik "ant" <ant@nowhere.tld> napisał w wiadomości > news:gokqie$8i5$1@nemesis.news.neostrada.pl... >> żeby sprawdzał nie w ../childcount, a w czymś w stylu ../$ChildcountKey, >> tylko to mi nie działa właśnie ;p i nie działa mi też wstawianie wartości >> ../$ChildcountKey. >> Jak to poprawić? > ../*[name()=$ChildcountKey] Dzięki serdeczne. Jeszcze takie pytanko dodatkowe, czy można i czy należy do dobrych praktyk ładowanie (include) plików o nazwie np. utworzonej na podstawie wartości jakiegoś parametru? Jak w ogóle parser odczytuje parametry jeśli np. załadujemy plik XML bezpośrednio w przeglądarce (A xml bedzie miał zdefiniowany oczywisćie swój szablon xsl)? Czy zostaną użyte domyślne wartości parametrów z szablonu czy może jakoś z URL'a pójdą? Mam na myśli oczywiście czysty xml/xsl client-side bez udziału np. PHP.
Re: Nazwa węzła z parametru?
Author: szomiz
Date: Thu, 05 Mar 2009 19:04
Date: Thu, 05 Mar 2009 19:04
22 lines
2082 bytes
2082 bytes
Użytkownik "ant" <ant@nowhere.tld> napisał w wiadomości news:gop41i$ric$1@atlantis.news.neostrada.pl... > Dzięki serdeczne. Jeszcze takie pytanko dodatkowe, > czy można i czy należy do dobrych praktyk ładowanie (include) > plików o nazwie np. utworzonej na podstawie wartości jakiegoś > parametru? Ktore include? xlinkowe? schemowe? xslowe? Jezeli ostatnie, to zapomnij o "dynamicznym" includowniu szablonow. > Jak w ogóle parser odczytuje parametry jeśli np. załadujemy > plik XML bezpośrednio w przeglądarce (A xml bedzie miał zdefiniowany > oczywisćie swój szablon xsl)? Czy zostaną użyte domyślne wartości > parametrów z szablonu czy może jakoś z URL'a pójdą? Mam na myśli > oczywiście czysty xml/xsl client-side bez udziału np. PHP. Domyslne. Transformacja sama z siebie niz z url'a nie zassie. A tak wogole, to transformownie w przegladarce zadko kiedy jest dobrym pomyslem. sz.
Re: Nazwa węzła z parametru?
Author: ant
Date: Thu, 12 Mar 2009 06:23
Date: Thu, 12 Mar 2009 06:23
27 lines
2196 bytes
2196 bytes
szomiz wrote: > Użytkownik "ant" <ant@nowhere.tld> napisał w wiadomości > news:gop41i$ric$1@atlantis.news.neostrada.pl... >> Dzięki serdeczne. Jeszcze takie pytanko dodatkowe, >> czy można i czy należy do dobrych praktyk ładowanie (include) >> plików o nazwie np. utworzonej na podstawie wartości jakiegoś >> parametru? > Ktore include? xlinkowe? schemowe? xslowe? To ostatnie. > Jezeli ostatnie, to zapomnij o "dynamicznym" includowniu szablonow. hmm... >> Jak w ogóle parser odczytuje parametry jeśli np. załadujemy >> plik XML bezpośrednio w przeglądarce (A xml bedzie miał zdefiniowany >> oczywisćie swój szablon xsl)? Czy zostaną użyte domyślne wartości >> parametrów z szablonu czy może jakoś z URL'a pójdą? Mam na myśli >> oczywiście czysty xml/xsl client-side bez udziału np. PHP. > Domyslne. Transformacja sama z siebie niz z url'a nie zassie. A tak wogole, > to transformownie w przegladarce zadko kiedy jest dobrym pomyslem. Tak przypuszczałem. Będę musiał zmienić koncepcję, i chyba nawet dobrze, bo będzie przejrzyściej :) Dziękuję za cenne uwagi.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads