Announcement

Collapse
No announcement yet.

Vermutlich ein XPath Problem:

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Vermutlich ein XPath Problem:

    Hallo und entschuldigung, wenn dieses Posting etwas laenger wird:
    Erstmal die XML und XSL Datei:
    XML

    <Job>
    <JobBewerbung>
    <JobBewerbungBewerber>
    <Bewerber>
    <BewerberDaten>
    <Daten>
    </Daten>
    <!-- 11 Stueck -->
    </BewerberDaten>
    </Bewerber>
    <Bewerber>
    <BewerberDaten/>
    </Bewerber>
    </JobBewerbungBewerber>
    <JobBewerbungQualitaet>
    <Qualitaet>
    <QualitaetBewerbung>
    <Daten>
    <RechtzeitigEingereicht>false</RechtzeitigEingereicht>
    </Daten>
    <Daten>
    <RechtzeitigEingereicht>false</RechtzeitigEingereicht>
    </Daten>
    </QualitaetBewerbung>
    </Qualitaet>
    </JobBewerbungQualitaet>
    </JobBewerbung>
    </Job>

    XSL

    Hauptfile:
    <xsl:import href="Nebenfile"/>
    <xsl:template match="Job"/>
    <xsl:apply-templates select="JobBewerbung/JobBewerbungBewerber/Bewerber/BewerberDaten/Daten"/>

    Nebenfile:
    <xsl:template match="JobBewerbung/JobBewerbungBewerber/Bewerber/BewerberDaten/Daten">

    <AllerleiCallTemplates>

    <xsl:apply-templates select="../../../../JobBewerbungQualitaet/Qualitaet/QualitaetBewerbung"/>

    <NochEinCallTemlate>

    </xsl:template>

    <xsl:template match="JobBewerbungQualitaet/Qualitaet/QualitaetBewerbung">

    <xsl:call-template name="bla">
    <xsl:with-param name="str" select="Daten/RechtzeitigEingereicht"/>
    <xsl:with-param name="laenge" select="'1'"/>
    </xsl:call-template>

    </xsl:template>

    Das Problem:
    Ich erzeuge einen Textoutput und zwar entsprechend dieses Pfades:
    <xsl:template match="JobBewerbung/JobBewerbungBewerber/Bewerber/BewerberDaten/Daten">
    11 Zeilen.
    2 dieser 11 Zeilen muss nun noch der Output entsprechend des zweiten templates im Nebenfile hinzugefuegt werden.
    Es bekommen aber alle 11 einen Wert im Output, statt nur die zwei die es betrifft?!
    Habe alles Moegliche ausprobiert, finde aber keine Loesung.
    Wird das Problem klar? Kann mir jemand helfen?
    Uwe

  • #2
    Hallo Uwe!

    Ich weiß nicht ob du noch an dem Problem interessiert bist oder nicht, aber:

    1 - du kannst statt direkt - auf Daten Element zuzugreifen, auf JobBewerbung zugreifen und von dort erst relativ zu Daten ein Template erstellen und dann eines relativ zu JobBewerbungQualität - dh. du gehst den Baum ab, und suchst das Blatt das alle Informationen noch verbindet und arbeitest erst dort weiter.

    2 - Wenn dein XML - Document vollständig ist - also JobBewerbungQualität in jedem JobBewerbung vorhanden ist, dann wir sich das Template ausführen, auch wenn nichts in den Tags enthalten ist.

    3 - Ich würde dir jetzt raten du solltest vor dem Aufruf oder im Template für JobBerwerbungQualität ein Bedingung einfügen, die nur schaut ob etwas eingetragen ist - wenn nicht - dann bearbeitest du nichts mehr - und das wars, - wenn schon - machst du normal weiter

    Ich hoffe es hilft

    Cia

    Comment


    • #3
      Werde es demnaechst mal ausprobieren.
      Vielen Dank.
      Uw

      Comment

      Working...
      X