XML代码分析

标签 xml xslt xquery code-analysis etl

我有几个 xml 文件,它们是在 ETL (Informatica) 上实现的流程的源代码。

我需要构建一个解决方案来分析这些 XML 并生成有关它的报告。 目标是检查是否遵守了自制开发规范。

我不关心 DTD 或 XSD 问题中的 XML 验证(顺便说一句,XML 文件是有效的并且可以解析),但我需要构建几个规则,例如:

-该节点需要将此属性设置为 false

-如果节点属性“A”为“blablabla”,则节点“B”必须设置为值“X”

-等等...

我认为 XSLT 或 XQuery 可能是一个很好的解决方案,并提供报告作为输出,但是有人知道是否有现有的代码分析工具(开源或免费软件)能够使用自制规则检查 XML?

最佳答案

首先,您可能应该根据架构 (XSD) 测试您的 XML 文件,我认为这是一个很好的做法。但是,您描述的规则例如:

If the node attribute "A" is "blablabla", the node "B" have to been set to the value "X"

不能单独通过模式进行测试。

这是一个常见问题,因此我建议不要发明自己的解决方案,而是查看现有的解决方案,例如 Schematron 。在他们的网站上,它将该技术描述为:

A lan­guage for making as­ser­tions about the pres­ence or ab­sence of pat­terns in XML doc­u­ments. See this overview for more in­for­ma­tion.

我已经有一段时间没有使用它了,但我确实记得它对于这类事情非常有用。

关于XML代码分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8833331/

相关文章:

xml - 如何使用xslt遍历xml

xml - xslt:如何忽略没有匹配项的应用模板元素?

regex - 在 XSLT/XQuery 正则表达式中,对交替表达式的求值是否有要求的顺序?

xquery - 如何使用 MarkLogic xquery 判断文档是否为 'in-memory'

java-如何使用 Saxon 库处理大型 XML 文件

sql - XMLElement 函数将 XML <> 编码为 < 和 >

javascript - 显示 xml 数据的链接

java - 从 xml 获取 img 标签

xml - 使用 XSLT 转换特定 XML 文档

xslt - 删除名为 xfdf :field (with a namespace) 的 XML 标记