2 Stimmen

Aufrufen der ColdFusion-Funktion innerhalb der XML-Transformation mit dem Wert des Attributes

Wie kann man eine ColdFusion-Funktion aufrufen und dabei Attributwerte als Argumente übergeben, innerhalb einer XML-Transformationsvorlage. Zum Beispiel so etwas:

    #DateFormat(now(), )#

So dass das folgende XML:

Abgeglichen und in das Ergebnis von DateFormat(now(), "mm/dd/yy") transformiert wird. Ist das möglich? Ich bin in der Lage, es mit statischen Argumenten zu DateFormat() zu tun, kann jedoch nicht herausfinden, wie man einen Wert aus einem Attribut/Node extrahiert und als Argument verwendet. Vielen Dank!

Aktualisierung

Vollständige Version des aktuellen Versuchs:

    #DateFormat(now(), '')#

#XmlTransform(xmlData, trim(stylesheet))#

was zu folgendem Fehler führt:

    Ein Fehler ist beim Parsen eines XML-Dokuments aufgetreten.

    Das Element "x2l:value-of" muss von
    Attributspezifikationen gefolgt werden, ">" oder "/>".

3voto

Patrick McElhaney Punkte 55251

Okay, hier ist, was ich denke, dass du versuchst zu tun. Du kannst nicht mit XSLT und ColdFusion in einem Durchgang parsen. Du musst zwei Durchgänge machen.

        #DateFormat(now(), "")#

2voto

Peter Boughton Punkte 105921

Sie können CFML verwenden, um eine XSL-Vorlage zu generieren.

Sie können auch eine XSL-Vorlage verwenden, um das entsprechende XML in CFML umzuwandeln (wie in Patricks Antwort).

Diese sind jedoch zwei unterschiedliche Operationen und können nicht gleichzeitig stattfinden (wenn Sie beide Aktionen benötigen, müssen Sie erst eine und dann die andere durchführen).

0voto

Patrick McElhaney Punkte 55251

Sieht aus, als ob Sie nur Anführungszeichen um den Wert benötigen.

    #DateFormat(now(), '')#

Hier ist ein vollständiges Stylesheet, das ich mit einem Online-Parser getestet habe.

    #DateFormat(now(), '')#

Und hier ist der XML-Code, den ich zum Testen verwendet habe:

0voto

alamar Punkte 18057

Warum verwenden Sie nicht exslt-Datum und -Uhrzeit?

http://exslt.org/date/functions/format-date/index.html

Xalan unterstützt es, möglicherweise auch andere.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X