使用XSLT转换和输入,将用户所做的任何更改保存到初始XML

时间:2016-10-21 08:49:01

标签: xml xslt input save

我有一个XML,我使用XSLT转换来创建一个html输出。内部转换我使用输入

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

在我的XML中,我声明了type(boolean,text)和value作为node的属性。

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

这很好,输入的初始值是XML节点属性的值。

现在我要保存用户所做的任何更改。

因此,如果用户从输入字段更改值'exampleText',如何使用新值更新我的XML文件?

此外我还有一个“保存”按钮,我想点击此按钮保存所有更改。

1 个答案:

答案 0 :(得分:0)

浏览器中内置的XSLT引擎只能生成HTML。一旦生成了HTML,它们就无法再处理它的处理方式。

传统上,用户事件(如在单击的表单或按钮中输入的数据)通常由Javascript代码处理。

但是有更好的解决方案:

  • 你可以考虑使用XForms,
  • 或者您可以考虑使用Saxon-JS。 Saxon-JS是一个在浏览器中运行的XSLT引擎,允许您使用XSLT代码处理用户事件。处理特定事件的XSLT代码可以生成要发送回服务器的新XML文件。 Saxon-JS目前还没有内置支持来调用HTTP post请求,因此该部分仍然需要使用Javascript,但您可以轻松地从Saxon-JS调用JS函数。