Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2005 Teil von Mai

SELFHTML Forumsarchiv
xsl:ïf bei zwei schleifen

Informationsseite
  1. Seite (XSL) xsl:ïf bei zwei schleifen von Aaron Israel, 31. 05. 2005, 08:20
nach unten

xsl:ïf bei zwei schleifen

Die folgende Nachricht zum Thema stammt von: Aaron Israel, 31. 05. 2005, 08:20

Hi,

ich habe folgendes Problem:

Ich programmiere gerade an einem News System.
In diesem News System hab ich historisch sortiert alle News die in einer XML file gespeichert sind.
Die Seite hat ein kleines Feature man kann die entrys auf und zu klappen. (realisiert mit java script und css d.h. der artikel ist zweimal drin eine kleine und eine grosse die je nachdem was man gerade geklickt hat verschwinden oder erscheinen)

Jeder news entry hat ein <group>OM<group> tag.

In einem anderen tree habe ich die verschiedenen groups gespeichert

<groups>
   <group>
     <name>Olympic Marketing</name>
     <id>OM</id>
   </group>
</groups>

Ich moechte nun das in der Navigation die ganzen News-Gruppen namen stehen die wenn man draufklickt alle artikel die dazu gehoeren (aufklappen).

dazu brauch ich aber eine schleife die die gruppen ab arbeitet und dann die Group-ID mit den <group> tags des anderen trees abgleicht und dann jeweils die position() des entrys ausspuckt damit ich in den link der gruppe die ganzen <div> ids angeben kann damit die unfoldet werden.

ALSO:

wie ist es moeglich in einem <xsl:if> werte anzusprechen die jeweils aus anderen trees stammen also wie ist es moeglich ein wert aus dem group tree mit allen werten aus dem entry tree zu vergleichen und dann den naechsten wert aus dem group-tree wieder mit allen entrys abzugleichen sodas ich in das onClick="" wirklich fuer jeden <div> die maximize funktion aufrufen kann.

nach obennach unten

xsl:ïf bei zwei schleifen

Die folgende Nachricht zum Thema stammt von: Mia, 31. 05. 2005, 14:21

Hallo Aaron Israel,

es fällt mir nich ganz leicht nachzuvollziehen, was du eigentlich suchst. Vielleicht etwas in der Art?

<xsl:for-each select="entry/group">
  Inhalt merken auf Variable id
  <xsl:for-each select="/descendant::groups/group">
    Vergleich: Inhalt von Tag "id" mit Inhalt von Variable "id"
    falls gleich: Tag "name" in die Liste aufnehmen
  </xsl:for-each>
</xsl:for-each>



Gruß Mia

nach obennach unten

xsl:ïf bei zwei schleifen

Die folgende Nachricht zum Thema stammt von: Thomas J.S., 31. 05. 2005, 16:38

Hallo,


»» Ich moechte nun das in der Navigation die ganzen News-Gruppen namen stehen die wenn man draufklickt alle artikel die dazu gehoeren (aufklappen).
»»

So weit ist das Problem nachvollzuziehen.


»» dazu brauch ich aber eine schleife die die gruppen ab arbeitet und dann die Group-ID mit den <group> tags des anderen trees abgleicht

Das ist auch noch klar.

»» und dann jeweils die position() des entrys ausspuckt damit ich in den link der gruppe die ganzen <div> ids angeben kann damit die unfoldet werden.
»»

Kannst du das bitte nochmal erklären?



»» ALSO:
»»
»» wie ist es moeglich in einem <xsl:if> werte anzusprechen die jeweils aus anderen trees stammen also wie ist es moeglich ein wert aus dem group tree mit allen werten aus dem entry tree zu vergleichen


Am einfachsten so:
<xsl:template match="groups">
<xsl:for-each select="group">
  <xsl:variable name="groupid" select="id" />
  <!-- was uch immer du noch hier haben will, z.B. name der gruppe ausgeben etc. -->
  <xsl:apply-templates select="/andererzweig/entry[group = $groupid]" />
</xsl:for-each>
</xsl:template>

<xsl:template match="entry">
<!-- template für die einzelnen newseinträge -->
</xsl:template>


Wenn du nach den Stichwörter >key xsl:key xsl< und nach meinem Namen im Archiv suchst, findest du auch andere Lösungen.


Grüße
Thomas


--
Surftip: kennen Sie schon Pipolino's Clowntheater?
http://www.clowntheater-pipolino.net/

nach oben
Teil von SELFHTML Forum Teil von SELFHTML Forumsarchiv Teil von 2005 Teil von Mai

© 1998-2006 Seite Impressum, Software: Classic Forum