becherglas: ausgelagerte templates aufrufen ?

Hallo,

ich weis ich muss tierisch nerven mit meinem elenden newbie fragen aber was soll ich machen =)

da ich es gewohnt bin möglichst viel auszulagern und mit funktionen zu arbeiten dachte ich mir ist es das beste für dinge wie <user> ein eigenes template anzulegen.

dann sollte in einem anderen template an der stelle wo ein <user> vorkommt dieses template implementiert werden.

nur weis ich nicht wie ich das machen soll. apply-template haut nicht hin da ich im root template mehrere templates "gecallt" habe und mehrere von diesen dann ein apply template haben müssten. folglich habe ich statt einem button plötzlich überall welche weil er das ganze mehrmals aufruft.

mit call-template komme ich aber auch nicht klar da ich nicht weis wie ich dem template "user" sagen soll an welcher stelle er den user transformieren soll, da die position des umzuformenden user tags ja immer eine andere ist.

irgendwie habe ich einen denkfehler und weis nicht so recht wie ich das lösen soll.

hoffe jemand kann mir hier auf die sprünge helfen. und nochmal danke für die gedult ;)

ciao

  1. Hallo.

    Zunächst die Datei (auf root-Ebene) einbinden, wobei das Template einen eindeutigen Namen bekommen hat:
    <xsl:include href="datei.xsl"/>

    An der anzuwendenden Stelle
    <xsl:call-template name="templateName"/>

    Grüße aus Würzburg
    Julian

    --
    ss:) zu:{ ls:< fo:) de:< va:} ch:° n4:} rl:° br:> js:| ie:{ fl:( mo:)
    1. Hallo.

      Zunächst die Datei (auf root-Ebene) einbinden, wobei das Template einen eindeutigen Namen bekommen hat:
      <xsl:include href="datei.xsl"/>

      An der anzuwendenden Stelle
      <xsl:call-template name="templateName"/>

      Grüße aus Würzburg
      Julian

      Mhh das is ja nicht mein problem. ich hab auch keine externen xsl's.
      Mein problem besteht darin dass wenn ich in unter templates wie z.b. news apply templates aufrufe damit allgemeine elemente wie button o.ä. abgearbeitet werden, nicht nur diejenigen elemente die im xml file innerhalb von <news> stehene transformiert werdne sondern alle innerhalb des root-stammes.

      Mein xsl sieht in.etwa so aus:

      / template
         > call template 1
         > call template 2

      1 template
        ...
        apply-templates
        ...

      2 template
        ...
        apply templates
        ...

      ich müsste dem 1. apply templates also mitteilen können das es nur innerhalb eines bestimmten bereichs elemente suchen soll und dem 2. ebenfalls. sonst macht er ja 2 mal dasselbe weil - auf gleicher ebene.

      1. Hab mitlerweile eine Lösung gefunden.
        per select="" attribut in apply-templates

  2. Hallo,

    ich weis ich muss tierisch nerven mit meinem elenden newbie fragen

    Das macht an sich nichts ;-)

    »»aber was soll ich machen =)

    Ein wenig zeit mit Lesen verbringen?
    http://selfhtml.teamone.de/xml/darstellung/xsltelemente.htm
    http://selfhtml.teamone.de/xml/darstellung/

    Grüße
    Thomas