Announcement

Collapse
No announcement yet.

JavaScript + XSLT Anfängerfrage

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

  • JavaScript + XSLT Anfängerfrage

    Hallo,
    ich bin die Tage angefangen XML zu lernen und komme auch ganz gut vorran, habe aber ein Problem, das ich nicht hinbekomme:

    Ich habe mir zu testzwecken eine XML-Datei gebaut, die die Grundstrucktur eines Gästebuchs hat (gästebuch->eintrag->titel/autor....)
    zuerst hab ich die XML Datei durch Java in HTML konvertiert und ausgegeben und nun versuche ich dies auch mit XSLT.
    Ansich funktioniert das alles wunderbar, nur ich möchte jetzt gerne auf klick in das Tabellenfeld für den Autor, dass die Email Adresse angezeigt wird.
    Jetzt brauch ich irgendwie ein Merkmal in der XSLT Tabelle, das mir das richtige Feld eindeutig Identifiziert und da ist mein Problem. Habe zuerst versucht in der XSLT For-each-Schleife ein javascript mitzählen zu lassen, was nicht funktioniert, da zum Schluss immr der slebe Wert rauskommt.
    Hat jemand eine Ahnung, wie das zu realisieren ist?

    PS: Die Funktion, die die Email anzeigen und durch onClick ausgelöst werden soll.
    function showDetail(i) {
    document.getElementById("details").innerHTML = "<b>Email:</b>"+ x[i].getElementsByTagName("email")[0].childNodes[0].nodeValue;
    }

    DANKE!

  • #2
    Ohne Details von XML-Dokument und XSLT-Stylesheet lässt sich das nicht klären. Allerdings fällt getElementsByTagName("email") auf. Die JS-Funktion soll doch auf das erzeugte HTML angewendet werden. Darin dürfte es aber keine email-Elemente geben, die liegen wohl eher im XML. Oder kommt das XML Ergebnis aus responseXML eines XMLHttpRequest-Zugriffs?

    Comment


    • #3
      Vielen Dank erstmal für die Antwort!
      Ich habe jetzt nach längerem Rumknoblen eine Lösung gefunden, indem ich entdeckt habe, wie man mit XSLT objecten Attribute zufügen kann, so lässt sich die Email ganz einfach übergeben.
      Nächsrtes mal poste ich dann auch mehr von der XML und XSLT Datei, werde bestimmt nochmal eine Frage haben.
      Danke!

      Comment

      Working...
      X