编辑 XML 但阻止改变 XML 结构?

编辑 XML 但阻止改变 XML 结构?

是否有可能阻止用户更改文件中的 XML 结构,而只能输入/修改数据?

没有什么XSD 限制/方面指定了这一点。

我见过这个答案关于指定只读节点,但是:

  1. 我想要的相反:节点内容应该是可编辑的,节点结构则不可以。
  2. 我是否必须自己编写代码,或者如果可能的话XML 编辑器支持这个吗?

我不想将此作为软件请求,但我不知道要采取什么方向才能实现这一目标?

注意:这是在“受控”环境中,即同事必须输入数据,但我不希望他们偶然改变结构。

答案1

xmlstarlet有一个命令 它将 XML 文档描述为 XPath 表达式列表:元素名称以及可选的属性名称和值,忽略元素和可选的属性内容。因此,在通过 管道传输此命令后,在md5sum编辑 XML 文档之前和之后比较此命令的输出,以确定编辑是否可以接受。

如果xmlstarlet不可用,使用 XSLT 处理器生成类似的输出并不复杂。

相关内容