2012-10-23 22 views
2

我有一个带有各种嵌入式Schematron规则的XSD架构。我也有一个应该是有效的XML,但它不是,所以我需要修正规则。如何调试Schematron规则?

如何有效地调试每个断言的评估方式?

(我目前使用的氧气,但,没有工作是为我好,任何工具。)

+1

嗨,通常Schematron使用标准实现作为XSLT样式表进行验证。这意味着实际验证是应用Schematron模式生成的最终样式表(通过多个步骤)。 如果您有用于验证实例文档的样式表,则可以通过任何XSLT调试器运行该样式表。我知道的唯一工具可以让您将验证样式表作为单独的文件保存为XML ValidatorBuddy。也许这有帮助。 – Clemens

+0

@Clemens谢谢,这是一个好主意。如果你复制它作为答案,我可以upvote它:) – biziclop

+0

当然,我总是喜欢upvotes;) – Clemens

回答

1

通常Schematron的使用标准实施为XSLT样式表验证。这意味着实际验证是应用Schematron模式生成的最终样式表(通过多个步骤)。如果您有用于验证实例文档的样式表,则可以通过任何XSLT调试器运行该样式表。我知道的唯一工具可以让你将验证样式表作为单独的文件保存为XML ValidatorBuddy。也许这有助于

(注:从评论上请求应答复制)

0

您也可以使用原生的Schematron发动机内一步一步调试。你没有提到你的开发堆栈,但是当我想要做你正在谈论的内容时,我在调试器中运行我的schematron引擎,并使用断点来检查问题规则/模式/断言的状态 - 为上下文节点提供了什么?断言xpath在监视窗口中返回什么? etc ... etc ...

Here的C#schematron引擎。