文档

Java™教程
隐藏目录
新属性
路径: Java XML处理的API (JAXP)
课程: JAXP 1.5 和新属性

新属性

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
定义: 限制对由样式表处理指令、document函数、Import元素和Include元素设置的外部引用的协议进行限制。
: 参见 属性的值
默认值: 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处理器拒绝任何外部连接。


上一页: 外部资源
下一页: 范围和顺序