tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
1
ZUGRIFFE
1880
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    shockshell shockshell ist offline Mitglied Brokat
    Registriert seit
    Jun 2005
    Ort
    Buxtehude (Niedersachsen)
    Beiträge
    256
    Hallo,

    ich habe ein "Mischproblem" und hoffe das mir evtl. jemand helfen kann.

    Ich habe eine Seite, die in mehreren Funktionen HTML-Fragmente erzeugt. Diese Fragmente sollen dann durch eine XML/XSL-Transformation zusammengefügt werden.

    PHP-Code:
    $proc = new XSLTProcessor;
    ...     
    $proc->setParameter('','MENU',$g->createGroup($gruppe);
    ...
    $xml = new DOMDocument();
    $xml->load($this->xmlfile);
    $xsl = new DOMDocument;
    $xsl->load($this->xslfile);
    $proc->importStyleSheet($xsl);
    return 
    $this->tidyOutput($proc->transformToXML($xml)); 
    Soweit funktioniert das auch ganz gut. Nur leider enthält die Funktion createGroup javascript in der Form onmouseover="status='...'; return true".
    Dieser Code führt nun durch das Mischen der einfachen und doppelten Anführungszeichen zu folgender Fehlermeldung des PHP-Parsers:

    XSLTProcessor::transformToXml() : Cannot create XPath expression (string contains both quote and double-quotes)

    Das Ersetzten der einfachen durch escapte doppelte Anführungszeichen (onmouseover="status=\"...\"; return true") erzeugt eine Javascript-Fehlermeldung
    illegal Character \ , aber der Parser läuft problemlos durch.

    Die XSL-Datei zur Transformation sieht folgendermaßen aus:

    HTML-Code:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" encoding="ISO-8859-1">
    <xsl:output cdata-section-elements="body a" />
    <xsl:param name="MENU" select="''"/>
    ...
    ...
    ...
    <xsl:value-of select="$MENU" disable-output-escaping="yes" />
    Weiß vielleicht jemand wie ich trotz Javascript den XSLTProzessort zur korrekten Bearbeitung bewegen kann? Evtl. gibt es ja in PHP irgendwelche Optionen, oder ich muss mein XSL Dokument ändern.

    Für Eure Hilfe bin ich sehr dankbar.

    Shockshell
    Geändert von shockshell (03.06.05 um 14:28 Uhr)
     

  2. #2
    shockshell shockshell ist offline Mitglied Brokat
    Registriert seit
    Jun 2005
    Ort
    Buxtehude (Niedersachsen)
    Beiträge
    256
    Habs herausgefunden. Muste nur die einfachen Anführungszeichen durch &quot; ersetzen und schon ist alles geritzt.
     
    Nichts hält so lange wie ein Provisorium....

Ähnliche Themen

  1. 3D Transformation
    Von tobee im Forum Flash Plattform
    Antworten: 3
    Letzter Beitrag: 04.08.10, 09:44
  2. XSLT XML Transformation
    Von nambrot im Forum XML Technologien
    Antworten: 1
    Letzter Beitrag: 12.07.08, 18:43
  3. Transformation
    Von FiselM im Forum Java
    Antworten: 18
    Letzter Beitrag: 07.01.08, 21:32
  4. XSL Transformation
    Von Tikonteroga im Forum Java
    Antworten: 0
    Letzter Beitrag: 13.07.07, 10:20
  5. 3D-Transformation in CS?
    Von Lenhard im Forum Photoshop
    Antworten: 2
    Letzter Beitrag: 17.10.04, 16:46