我已经在正则表达式上花费了很多时间,我认为这些正则表达式简洁准确地表示了我想要允许的资源 URI 和操作字符串范围,但是对于每个看似有效的匹配,它都会返回一个拒绝。我还没有看到一个有用的、真实的(而不是 hello-world)XACML 正则表达式的例子,而且我见过的许多例子甚至没有转义 IP 地址中的点!
正则表达式在不同的上下文中意味着不同的东西,这就是为什么 Perl 正则表达式被专门称为这样的原因。通用术语“regexp”的使用没有告诉我任何信息,正如我看到的许多 XACML 示例没有告诉我任何可以扩展的信息一样。
我是否错过了 string-regexp-match 和/或 anyURI-regexp-match 的一组明确的规则或富有想象力的用途?
谢谢你容忍我的咆哮。
顺便说一句,我没有发现 XACML 的解析器只对丢失的 DTD 发出警告并继续解析真正的错误。
最后一个问题:build.gradle 的这个依赖摘录中是否有任何内容可能会阻止正则表达式匹配,即使是像我看到的为 XACML 记录的一些内容那样懦弱和简单的东西?
compile group: 'org.herasaf', name:"xacml-core", version: 'latest.integration'