public abstract class DocumentBuilderFactory extends Object
| Modifier | Constructor and Description |
|---|---|
protected |
DocumentBuilderFactory()
保护以防止实例构造函数。
|
| Modifier and Type | Method and Description |
|---|---|
abstract Object |
getAttribute(String name)
允许用户检索底层实现上的特定属性。
|
abstract boolean |
getFeature(String name)
获取已命名的功能的状态。
|
Schema |
getSchema()
通过
setSchema(Schema schema)方法中指定的
Schema对象。
|
boolean |
isCoalescing()
指示是否工厂配置生产解析器将CDATA节点文本节点并将其添加到相邻的文本节点(如果有)。
|
boolean |
isExpandEntityReferences()
指示是否工厂配置生产解析器扩展实体引用节点。
|
boolean |
isIgnoringComments()
指示是否工厂配置生产解析器忽略评论。
|
boolean |
isIgnoringElementContentWhitespace()
指示是否工厂配置生产解析器忽略忽略空白的元素含量。
|
boolean |
isNamespaceAware()
指示是否工厂配置生产解析器进行命名空间感知。
|
boolean |
isValidating()
指示是否工厂配置生产解析器验证XML内容中解析。
|
boolean |
isXIncludeAware()
得到的XInclude处理状态。
|
abstract DocumentBuilder |
newDocumentBuilder()
创建一个新的实例的一个
DocumentBuilder使用当前的配置参数。
|
static DocumentBuilderFactory |
newInstance()
获得一个
DocumentBuilderFactory新实例。
|
static DocumentBuilderFactory |
newInstance(String factoryClassName, ClassLoader classLoader)
从中获得的一个新实例类的名称
DocumentBuilderFactory。
|
abstract void |
setAttribute(String name, Object value)
允许用户在底层实现上设置特定的属性。
|
void |
setCoalescing(boolean coalescing)
指定的代码产生的解析器将CDATA节点文本节点追加到相邻的文本节点(如果有)。
|
void |
setExpandEntityReferences(boolean expandEntityRef)
指定由此代码生成的解析器将扩展实体引用节点。
|
abstract void |
setFeature(String name, boolean value)
设置这一
DocumentBuilderFactory和
DocumentBuilders这个工厂创建的特征。
|
void |
setIgnoringComments(boolean ignoreComments)
指定此代码所产生的解析器将忽略注释。
|
void |
setIgnoringElementContentWhitespace(boolean whitespace)
指定由本厂创建解析器必须消除元素内容中的空格(有时被称为“忽略空白'松散)解析XML文档时(参见XML REC 2.10)。
|
void |
setNamespaceAware(boolean awareness)
指定的代码产生的解析器将XML命名空间的支持。
|
void |
setSchema(Schema schema)
设置
Schema被从这个工厂创建解析器使用。
|
void |
setValidating(boolean validating)
指定由此代码生成的解析器将验证文档,因为它们被解析。
|
void |
setXIncludeAware(boolean state)
套XInclude处理状态。
|
protected DocumentBuilderFactory()
保护以防止实例构造函数。使用newInstance()。
public static DocumentBuilderFactory newInstance()
DocumentBuilderFactory新实例。这种静态方法创建一个新的工厂实例。此方法使用以下命令查找程序来确定
DocumentBuilderFactory实现类负荷:
javax.xml.parsers.DocumentBuilderFactory系统性能。java.util.Properties 格式包含实现类的完全限定名的关键是上面定义的系统性能。的jaxp.properties文件只有一次由JAXP实现读取它的值然后储存以备将来使用。如果该文件不存在时,第一次尝试是从它读取,没有进一步的尝试,以检查其存在。它不可能在它被第一次看到改变在jaxp.properties任何财产的价值。ServiceLoader类定义,试图定位和加载使用default loading mechanism服务的实现:服务提供者装载设备将使用current thread's context class loader尝试加载服务。如果上下文类加载器是空的,将使用的system class loader。DocumentBuilderFactory可以使用工厂配置和获取解析器实例。
设置jaxp.debug系统属性将导致这种方法印制大量的调试消息System.err关于它是什么做的,是在看。
如果你有问题DocumentBuilders试装:
java djaxp。调试= 1你的…
DocumentBuilderFactory新实例
FactoryConfigurationError -的情况下,
service configuration error或者执行不可用或不能被实例化。
public static DocumentBuilderFactory newInstance(String factoryClassName, ClassLoader classLoader)
从中获得的一个新实例类的名称DocumentBuilderFactory。此功能是有用的当有多个供应商在类路径。它给应用程序提供了更多的控制,因为它可以指定要加载哪个提供程序。
一旦申请获得参考一DocumentBuilderFactory可以使用工厂配置和获取解析器实例。
设置jaxp.debug系统属性将导致这种方法印制大量的调试消息System.err关于它是什么做的,是在看。
如果你有问题的话:
java djaxp。调试= 1你的…
factoryClassName完全合格的工厂类的名称,提供了实现
javax.xml.parsers.DocumentBuilderFactory。
classLoader -
ClassLoader用来加载工厂类。如果
null电流
Thread上下文类加载器来加载工厂类。
DocumentBuilderFactory新实例
FactoryConfigurationError -如果
factoryClassName是
null,或工厂类不能被加载,实例化。
newInstance()
public abstract DocumentBuilder newDocumentBuilder() throws ParserConfigurationException
DocumentBuilder使用当前的配置参数。
ParserConfigurationException如果DocumentBuilder不能创造满足配置要求。
public void setNamespaceAware(boolean awareness)
false
awareness -如果产生的解析器将提供XML命名空间的支持;否则为false。
public void setValidating(boolean validating)
false。
注意“验证”在这里的意思是a validating parser作为XML推荐定义。换句话说,它基本上只控制DTD验证。(除了在JAXP 1.2。定义的两个性质的遗产)
使用如W3C XML Schema现代图式语言或RELAXNG代替DTD,您可以配置您的解析器是一个非离开setValidating(boolean)方法false验证解析器,然后用setSchema(Schema)方法联想模式分析器。
validating -如果产生的解析器将验证文件作为他们处理;否则为false。
public void setIgnoringElementContentWhitespace(boolean whitespace)
false。
whitespace -如果解析器创建必须消除空白的元素含量时,解析XML文件;否则为false。
public void setExpandEntityReferences(boolean expandEntityRef)
true
expandEntityRef -如果产生的解析器将扩大实体引用节点;否则为false。
public void setIgnoringComments(boolean ignoreComments)
指定此代码所产生的解析器将忽略注释。默认情况下,此值设置为false 。
ignoreComments -
boolean价值忽视在处理意见
public void setCoalescing(boolean coalescing)
false
coalescing -如果产生的解析器将CDATA节点文本节点追加到相邻的文本节点(如果有);否则为false。
public boolean isNamespaceAware()
public boolean isValidating()
public boolean isIgnoringElementContentWhitespace()
public boolean isExpandEntityReferences()
public boolean isIgnoringComments()
public boolean isCoalescing()
public abstract void setAttribute(String name, Object value) throws IllegalArgumentException
实现JAXP 1.5或更新版本的所有实现都必须支持的XMLConstants.ACCESS_EXTERNAL_DTD和XMLConstants.ACCESS_EXTERNAL_SCHEMA性质。
设置XMLConstants.ACCESS_EXTERNAL_DTD性质限制外部DTDs的访问,外部实体引用的属性指定的协议。如果访问被拒绝,在分析过程中,由于这种性质的限制,SAXException将被解析的方法被定义DocumentBuilder。
设置XMLConstants.ACCESS_EXTERNAL_SCHEMA财产限制外部架构的schemaLocation属性由属性指定的协议的访问。如果访问被拒绝,在分析过程中,由于这种性质的限制,SAXException将被解析的方法被定义DocumentBuilder。
name -属性的名称。
value -该属性的值。
IllegalArgumentException -扔如果底层的实现不能识别属性。
public abstract Object getAttribute(String name) throws IllegalArgumentException
name -属性的名称。
IllegalArgumentException -扔如果底层的实现不能识别属性。
public abstract void setFeature(String name, boolean value) throws ParserConfigurationException
设置功能,这DocumentBuilderFactory DocumentBuilders这个工厂创建。
功能名称是完全合格的URIs。实现可以定义自己的功能。如果这是一个ParserConfigurationException DocumentBuilderFactory或DocumentBuilders创建不支持特征扔。一DocumentBuilderFactory暴露特征值,但不能改变它的状态,它是可能的。
所有的实现都必须支持的XMLConstants.FEATURE_SECURE_PROCESSING特征。当功能是:
true:实施将限制XML处理符合实施限制。例子包括该扩展范围和XML Schema结构,会消耗大量的资源。如果XML处理有限,出于安全原因,它将报告通过电话注册ErrorHandler.fatalError(SAXParseException exception)。看到DocumentBuilder.setErrorHandler(org.xml.sax.ErrorHandler errorHandler)。false:实施将根据XML规范不考虑可能实施限制XML处理。name特征名称。
value -特征状态
true或
false。
ParserConfigurationException -如果这
DocumentBuilderFactory也创造不支持此功能的
DocumentBuilders。
NullPointerException -如果
name参数为空。
public abstract boolean getFeature(String name) throws ParserConfigurationException
获取已命名的功能的状态。
功能名称是完全合格的URIs。实现可以定义自己的功能。如果这是一个ParserConfigurationException DocumentBuilderFactory或DocumentBuilders创建不支持特征扔。一个DocumentBuilderFactory暴露特征值,但不能改变它的状态,它是可能的。
name特征名称。
ParserConfigurationException -如果这
DocumentBuilderFactory也创造不支持此功能的
DocumentBuilders。
public Schema getSchema()
setSchema(Schema schema)方法中指定的
Schema对象。
Schema对象的最后一套通过
setSchema(Schema)方法,或null如果方法不调用,因为
DocumentBuilderFactory创建。
UnsupportedOperationException当实施不重写这个方法。
public void setSchema(Schema schema)
设置Schema被从这个工厂创建解析器使用。
当一个Schema非空,解析器将使用器由它传递信息到应用程序之前验证文件。
当错误的验证发现,解析器负责向用户指定的ErrorHandler报告(如果没有设置,错误处理程序是忽略它们,或把它们),就像任何其他的错误由解析器本身找到。换句话说,如果用户指定的ErrorHandler设置,就必须接受这些错误,如果没有,他们必须根据实施特定的默认错误处理规则处理。
验证器可以修改一个解析的结果(比如添加默认值失踪的文件),和一个解析器负责确保应用程序将收到修改DOM树。
首次,空为Schema。
这种处理会即使isValidating()方法返回false生效。
它是用http://java.sun.com/xml/jaxp/properties/schemaSource财产和/或与Schema对象相结合的http://java.sun.com/xml/jaxp/properties/schemaLanguage属性错误。这样的配置会导致ParserConfigurationException newDocumentBuilder()异常时调用。
分析器必须能够与任何Schema实施工作。然而,分析器和架构允许使用特定实现的自定义机制,只要他们产生的结果在规范描述。
schema -
Schema使用或
null删除模式。
UnsupportedOperationException当实施不重写这个方法。
public void setXIncludeAware(boolean state)
套XInclude处理状态。
如果XInclude的标记在文档实例中发现的,它应该是 XML Inclusions (XInclude) Version 1.0处理规定。
默认false XInclude处理。
state集来
true或
false XInclude处理
UnsupportedOperationException当实施不重写这个方法。
public boolean isXIncludeAware()
得到的XInclude处理状态。
UnsupportedOperationException当实施不重写这个方法。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.