Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
以XSLT格式跟踪对XML文件的更改_Xml_Xslt - Fatal编程技术网

以XSLT格式跟踪对XML文件的更改

以XSLT格式跟踪对XML文件的更改,xml,xslt,Xml,Xslt,我需要不时地更新XML数据 按顺序添加元素 更改属性值,保持其他(用户特定数据)不变 其他一些 如果我可以: 打开xml编辑器 按原样更改xml 按buton键将原始文件与编辑的版本进行比较 将差异另存为XSLT文件 然后对每个用户数据应用XSLT diff文件 那太好了! 在网上没有找到这样的工具 有什么建议吗?? 感谢大家,基本上,您希望操作一个XML文件,并让您的工具计算出生成相同输出所需的XSLT样式表?据我所知,没有这样的工具 但是,XSLT当然是为了避免您手工修改XML文件。相反

我需要不时地更新XML数据

  • 按顺序添加元素
  • 更改属性值,保持其他(用户特定数据)不变
  • 其他一些
  • 如果我可以:

    • 打开xml编辑器
    • 按原样更改xml
    • 按buton键将原始文件与编辑的版本进行比较
    • 将差异另存为XSLT文件

      然后对每个用户数据应用XSLT diff文件

    那太好了! 在网上没有找到这样的工具

    有什么建议吗??
    感谢大家,基本上,您希望操作一个XML文件,并让您的工具计算出生成相同输出所需的XSLT样式表?据我所知,没有这样的工具

    但是,XSLT当然是为了避免您手工修改XML文件。相反,您可以执行以下操作:

  • 确定对XML文件的更改(即哪些元素、属性、节点需要修改、删除、添加?)
  • 编写一个处理(匹配)这些节点并处理它们的样式表

  • 如果在编写样式表的过程中遇到任何问题,请回到这里,分享您的代码并获得帮助。

    有类似DeltaXML的工具,可以比较两个XML文档,并为您提供第三个列出差异的文档。获取差异列表并生成样式表是可行的,该样式表将执行从两个输入文档之一到另一个的转换。然而,如果任何一个输入发生了变化,生成一个仍然有用的样式表当然很棘手——这是合并变更集和处理冲突的一般问题。

    这与XSLT的工作方式不同。XSLT是一种基于某些规则应用更改/修改的模板语言,而手动编辑XML文档不会产生任何有意义的规则来应用于所有类似的数据结构。阅读一篇好的XSLT参考资料,开始思考您想要做哪些更改,然后编写一些模板。感谢您的快速评论,请参阅更新的问题