范围和 Sequences

javax\.xml\.XMLConstants\#FEATURE_SECURE_PROCESSING(FSP)是 XML 处理器(包括 DOM,SAX,架构验证,XSLT 和 XPath)的必需功能。设置为true时,建议实现启用由上面指定的新属性定义的访问限制。为了兼容性,尽管对于 DOM,SAX 和 Pattern 验证默认情况下 FSP 为 true,但是 JAXP 1.5 并未启用新限制。

对于 JDK 8,建议在显式设置 FSP 时将新的accessExternal\*属性设置为空字符串。仅当通过 API 设置 FSP 时(例如factory\.setFeature\(FSP, true\)。尽管 FSP 对于 DOM,SAX 和 Schema Validation 在默认情况下为 true,但不会将其视为“显式”设置,因此 JDK 8 默认情况下未设置限制。

jaxp\.properties文件中指定的属性会影响 JDK 或 JRE 的所有调用,并将覆盖其默认值或由 FEATURE_SECURE_PROCESSING 设置的默认值。

设置后,系统属性将仅影响一次调用,并且将覆盖默认设置或 jaxp.properties 中设置的设置,或由 FEATURE_SECURE_PROCESSING 设置的设置。

通过 JAXP 工厂或SAXParser指定的 JAXP 属性优先于系统属性jaxp\.properties文件以及javax\.xml\.XMLConstants\#FEATURE_SECURE_PROCESSING

在以下情况下,新的 JAXP 属性对它们试图限制的相关构造没有影响:

http://apache.org/xml/features/disallow-doctype-decl true
http://apache.org/xml/features/nonvalidating/load-external-dtd false
http://xml.org/sax/features/external-general-entities false
http://xml.org/sax/features/external-parameter-entities false
首页