New Properties

JAXP 1.5 定义了三个新属性,可用于调节 XML 处理器是否解析上面列出的外部资源。这些属性是:

这些 API 属性具有相应的系统属性和 jaxp.properties。

ACCESS_EXTERNAL_DTD

名称http://javax\.xml\.XMLConstants/property/accessExternalDTD
定义 :限制对外部 DTD 的访问,即对指定协议的外部实体引用。
:请参见属性值
默认值all,允许连接到所有协议。
系统属性javax\.xml\.accessExternalDTD

ACCESS_EXTERNAL_SCHEMA

名称http://javax\.xml\.XMLConstants/property/accessExternalSchema
定义 :限制访问由schemaLocation属性 Import 和 Include 元素设置的为外部引用指定的协议。
:请参见属性值
默认值all,允许连接到所有协议。
系统属性javax\.xml\.accessExternalSchema

ACCESS_EXTERNAL_STYLESHEET

名称http://javax\.xml\.XMLConstants/property/accessExternalStylesheet
定义 :限制访问由样式表处理指令,文档功能,导入和包含元素为外部参考设置的协议。
:请参见属性值
默认值all,允许连接到所有协议。
系统属性javax\.xml\.accessExternalStylesheet

${java.home}/lib/jaxp.properties

可以在jaxp\.properties中指定这些属性,以定义所有使用 Java Runtime 的应用程序的行为。格式为property\-name=\[value\]\[,value\]\*。例如:

javax.xml.accessExternalDTD=file,http

属性名称与系统属性的名称相同:javax\.xml\.accessExternalDTDjavax\.xml\.accessExternalSchemajavax\.xml\.accessExternalStylesheet

属性值

所有属性都具有相同格式的值。

:以逗号分隔的协议列表。协议是 URI 的方案部分,或者在 JAR 协议的情况下,是“ jar”加上用冒号分隔的方案部分。方案定义为:

scheme = alpha \*\( alpha \| digit \| "+" \| "\-" \| "\." \)
其中 alpha = a-z 和 A-Z。

和 JAR 协议:
jar\[:scheme\]

协议不区分大小写。值中由Character\.isSpaceChar定义的任何空格都将被忽略。协议的示例是filehttpjar:file

默认值 :默认值是特定于实现的。在 JAXP 1.5 RI,Java SE 7u40 和 Java SE 8 中,默认值为all,授予对所有协议的权限。

授予所有访问权限 :关键字all授予所有协议的权限。例如,在jaxp\.properties中设置javax\.xml\.accessExternalDTD=all将允许系统像以前一样工作,而不受访问外部 DTD 和实体引用的限制。

拒绝任何访问 :空字符串,即“”,表示未授予任何协议许可。例如,在jaxp\.properties中设置javax\.xml\.accessExternalDTD=""将指示 JAXP 处理器拒绝任何外部连接。

首页