ritschmanhard: Javascript ausführen

Beitrag lesen

Also ich hab das Fenster in mehrere Frames aufgeteilt, im linken Frame wird eine Strukturdatei (xml) angezeigt, da steht zB folgendes drinnen:

//=> struct xml:
<ref>
  <av>
    <mode>A</mode>
    <sc>D</sc>
    <chap>00</chap>
    <sec>12</sec>
    <sub>23</sub>
    <subt>11</subt>
    <dis>20</dis>
    <disc>A</disc>
    <in>005</in>
    <inc>A</inc>
    <item>A</item>
  </av>
  <name>Testdoku</name>
</ref>

Dann zeige ich eine XML-Datei mit Links normalerweise im Textbereich an. Jedoch wurde bisher av->mode bis item ausgelesen, was ich eben aus der im Textbereich dargestellten XML-Datei auslesen konnte und dargestellt habe.

//=> left Frame shows (or similar)(*):
<ref>
  <av>
    <mode>A</mode>
    <sc>D</sc>
    <chap>00</chap>
    <sec>12</sec>
    <sub>23</sub>
    <subt>11</subt>
    <dis>20</dis>
    <disc>A</disc>
    <in>005</in>
    <inc>A</inc>
    <item>A</item>
  </av>
</ref>

»»Jetz soll allerdings der name angezeigt werden, den ich nur aus der Strukturdatei bekommen kann.(**)

//Prior right frame build rule:

<xsl:template match="ref|REF">
  <A style="font-style:italic;">
    <xsl:attribute name="href">JavaScript:parent.Symbol.zeigeXMLan('<xsl:apply-templates select="av|AV"/>','');</xsl:attribute>
    <xsl:apply-templates select="av"/>
  </A>&#32;
</xsl:template>

//Anmerkung: <xsl:template select="..." /> ist mir nicht bekannt (auch selfhtml nicht) - meintest du <xsl: value-of select="..." />?

So wurde ein Link bisher angezeigt, wie gesagt der Tag <av> mit den Unterelementen ist auch in der XML vorhanden, die im Textbereich angezeigt wird, der Name des Links jedoch nicht, der ist in einer anderen XML-Datei, die in einem anderem Frame angezeigt wird.

//Unklar: du hast doch unter (*) angegeben, dass der <name> Tag in der xml-source vorhanden ist, oder? Auch bei (**) sagst du, dass der name in der strukturdatei vorhanden ist - warum ist er jetzt in einer "anderen XML-Datei"?

Daher wollte ich den Tag <name> aus der Strukturdatei auslesen, die in einem Javascript folgendermaßen definiert ist:
<XML id="Source" src="/test/struktur.xml"></XML>

//Mit verlaub: Hä? Der XML Tag <name> ist in einem Javascript definiert? Ja was denn?
//Du hast eine Javascript-datei und da steht drin (?):
//<XML id="Source" src="/test/struktur.xml"></XML>
//der javascript interpreter sollte hier einen ungültigen befehl melden.

Diesen Abschnitt wollte ich dann anstelle von <xsl:apply-templates select="av"/>einfügen.

//Welchen Abschnitt? Den Tag namen, der in Javascript als <XML id="Source" src="/test/struktur.xml"></XML> definiert ist???

xsl:scriptparent.Symbol.Source.selectSingleNode("//av[mode='<xsl:value-of select="av/mode"/>']").parentNode.selectSingleNode("name").text;</xsl:script>

//In welchem Frame und an welcher Stelle soll das nun funktionieren?
//Meines Wissens sind xsl:script und xsl:eval nicht offizieller Bestandteile von xsl; siehe auch http://forum.de.selfhtml.org/archiv/2004/7/t84577/#m495981.

Den Zeile mit dem selectSingleNode funktioniert im javascript (...)

//Das ist gut, denn auch hier habe ich keine Funktionsreferenz im javascript-Bereich von selfhtml gefunden...

Ich hoffe es ist jetz etwas klarer und jemand hat einen Tipp für mich

//Ich will dich wirklich nicht ärgern, aber mir ist es nicht wirklich klar geworden - aber eventuell versteht das ja jemand anders... Wenn du mit mir das Problem weiter klären möchtest, mußt du es noch genauer erklären - insbesondere:

  • welche xml Quelldateien enthalten welche nodes/attribs
  • welche Inhalte sollen in welchen Frames dargestellt werden
  • was ist die jeweilige Basis der Frameinhaltsgenerierung
  • und wo liegt hierbei genau das Problem

Grüsse,
Richard