草庐IT

processContents

全部标签

java - Java 中的 XML 验证 : processContents ="lax" seems not to work correctly

我有一个XML模式,其中包含许多定义,即它允许插入其他命名空间的任意标签。processContents="lax"表示解析器应该尝试验证这些标签,如果它有相应的架构(1)(2).对我来说这意味着,如果我向解析器提供所有模式文档,并且其中一个辅助命名空间存在无效的XML标记,它需要报告错误。但是,JavaXMLvalidator似乎忽略了此类错误。我已验证解析器具有执行验证所需的所有架构文档(如果我将XML架构更改为processContents="strict",它会按预期工作并使用辅助架构文档进行验证).似乎validator的行为就像用值skip指定属性一样。用于验证的Java代

xml - processContents strict vs lax vs skip for xsd :any

master.xsd:我可以像这样针对这个模式写一个XML文件吗:其中子元素“security”定义了自己的模式。 最佳答案 因为XSD指定在aspect的内容模型中,由于processContents="strict",你的XML是无效的,这要求XML处理器必须能够获取XSD定义,在这种情况下,安全并且必须能够验证它。如果你把这个改成您的XML将是有效的,如果您要在XSD中定义security,该定义将在验证期间使用。(如果找不到定义,您的文档仍将被视为有效。)这要求内容只有在XML处理器可以找到其定义时才有效。如果你把这个改成您