2016-10-21 4 views
0

Ich habe eine XML, und ich benutze XSLT-Transformation, um eine HTML-Ausgabe zu erstellen. Innerhalb Transformation verwenden i EingangMit XSLT Transformation und Eingabe, speichern Sie alle vom Benutzer vorgenommenen Änderungen an der ursprünglichen XML

<input type="{@Type}" class="form-control" value="{@Value}"></input> 

In meinem XML erklärt i-Typ (boolean, Text) und Wert als Attribute des Knotens.

<Setting Caption="example" Value="exampleText" Type="text" ></Setting> 

Dies funktioniert gut, Anfangswert der Eingabe ist der Wert aus XML-Knoten-Attribut.

Jetzt möchte ich alle vom Benutzer vorgenommenen Änderungen speichern.

Also, wenn Benutzer den Wert 'exampleText' aus dem Eingabefeld ändern, wie kann ich meine XML-Datei mit einem neuen Wert aktualisieren?

Auch ich habe eine Schaltfläche "Speichern", ich möchte, wenn Sie auf diese klicken, um alle Änderungen zu speichern.

Antwort

0

Die in den Browser integrierten XSLT-Engines können nur HTML generieren. Sobald der HTML-Code generiert wurde, spielen sie keine Rolle mehr in der Handhabung.

Traditionell werden Benutzerereignisse (wie Daten, die in einem Formular oder einer Schaltfläche eingegeben werden) in der Regel von JavaScript-Code verarbeitet.

Aber es gibt bessere Lösungen zur Verfügung:

  • Sie in Erwägung ziehen könnte XForms verwenden,
  • oder könnten Sie betrachten Saxon-JS verwenden. Saxon-JS ist eine XSLT-Engine, die im Browser ausgeführt wird und die Verarbeitung von Benutzerereignissen mit XSLT-Code ermöglicht. Ihr XSLT-Code zur Behandlung eines bestimmten Ereignisses könnte die neue XML-Datei generieren, die Sie an den Server zurücksenden möchten. Saxon-JS verfügt derzeit nicht über eine integrierte Unterstützung für das Aufrufen einer HTTP-Post-Anforderung, so dass dieses Teil immer noch in Javascript vorhanden sein muss. Sie können jedoch problemlos eine JS-Funktion von Saxon-JS aufrufen.
Verwandte Themen