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 和
DocumentBuilder s这个工厂创建的特征。
|
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
关于它是什么做的,是在看。
如果你有问题DocumentBuilder
s试装:
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
DocumentBuilder
s这个工厂创建。
功能名称是完全合格的URI
s。实现可以定义自己的功能。如果这是一个ParserConfigurationException
DocumentBuilderFactory
或DocumentBuilder
s创建不支持特征扔。一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
也创造不支持此功能的
DocumentBuilder
s。
NullPointerException
-如果
name
参数为空。
public abstract boolean getFeature(String name) throws ParserConfigurationException
获取已命名的功能的状态。
功能名称是完全合格的URI
s。实现可以定义自己的功能。如果这是一个ParserConfigurationException
DocumentBuilderFactory
或DocumentBuilder
s创建不支持特征扔。一个DocumentBuilderFactory
暴露特征值,但不能改变它的状态,它是可能的。
name
特征名称。
ParserConfigurationException
-如果这
DocumentBuilderFactory
也创造不支持此功能的
DocumentBuilder
s。
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.