java.lang.Object
javax.xml.transform.sax.SAXSource
- 所有已实现的接口:
-
Source
充当 SAX 风格 Source 的持有者。
请注意,XSLT 需要命名空间支持。尝试转换使用非命名空间感知解析器生成的输入源可能会导致错误。解析器可以通过调用 SAXParserFactory.setNamespaceAware(boolean awareness)
方法来使其具有命名空间感知能力。
- 自版本:
- 1.4
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
如果TransformerFactory.getFeature(java.lang.String)
在传递此值作为参数时返回 true,则 Transformer 支持此类型的 Source 输入。 -
Constructor Summary
ConstructorDescription无参数默认构造函数。SAXSource
(InputSource inputSource) 创建一个SAXSource
,使用 SAXInputSource
。SAXSource
(XMLReader reader, InputSource inputSource) 创建一个SAXSource
,使用一个XMLReader
和一个 SAX InputSource。 -
Method Summary
Modifier and TypeMethodDescription获取用于 Source 的 SAX InputSource。获取用于解析 URI 的基本 ID(URI 或系统 ID)。获取用于 Source 的 XMLReader。boolean
isEmpty()
指示SAXSource
对象是否为空。void
setInputSource
(InputSource inputSource) 设置用于 Source 的 SAX InputSource。void
setSystemId
(String systemId) 设置此 Source 的系统标识符。void
setXMLReader
(XMLReader reader) 设置用于 Source 的 XMLReader。static InputSource
sourceToInputSource
(Source source) 尝试从 Source 对象获取 SAX InputSource 对象。
-
Field Details
-
FEATURE
如果TransformerFactory.getFeature(java.lang.String)
在传递此值作为参数时返回 true,则 Transformer 支持此类型的 Source 输入。- 参见:
-
-
Constructor Details
-
SAXSource
public SAXSource()无参数默认构造函数。如果使用此构造函数,并且未使用
setInputSource(InputSource inputSource)
设置任何 SAX 源,则Transformer
将使用InputSource
创建一个空源,使用new InputSource()
。- 参见:
-
SAXSource
创建一个SAXSource
,使用一个XMLReader
和一个 SAX InputSource。Transformer
或SAXTransformerFactory
将自身设置为读取器的ContentHandler
,然后调用 reader.parse(inputSource)。- 参数:
-
reader
- 用于解析的 XMLReader。 -
inputSource
- 必须为非空的 SAX 输入源引用,将传递给读取器的解析方法。
-
SAXSource
创建一个SAXSource
,使用一个 SAXInputSource
。Transformer
或SAXTransformerFactory
将创建一个读取器(如果未使用 setXMLReader),将自身设置为读取器的ContentHandler
,并调用 reader.parse(inputSource)。- 参数:
-
inputSource
- 必须为非空的输入源引用,将传递给读取器的解析方法。
-
-
Method Details
-
setXMLReader
设置用于 Source 的 XMLReader。- 参数:
-
reader
- 有效的 XMLReader 或 XMLFilter 引用。
-
getXMLReader
获取用于 Source 的 XMLReader。- 返回:
- 有效的 XMLReader 或 XMLFilter 引用,或 null。
-
setInputSource
设置用于 Source 的 SAX InputSource。- 参数:
-
inputSource
- 有效的 InputSource 引用。
-
getInputSource
获取用于 Source 的 SAX InputSource。- 返回:
- 有效的 InputSource 引用,或 null。
-
setSystemId
设置此 Source 的系统标识符。如果已经设置了输入源,则将设置该输入源的系统 ID,否则将创建一个新的输入源。如果存在字节流或字符流,则系统标识符是可选的,但仍然提供它是有用的,因为应用程序可以使用它来解析相对 URI,并可以将其包含在错误消息和警告中(如果未指定字节流或字符流,则解析器将尝试打开到 URI 的连接)。
- 指定者:
-
setSystemId
在接口Source
中 - 参数:
-
systemId
- 作为 URI 字符串的系统标识符。
-
getSystemId
获取用于解析 URI 的基本 ID(URI 或系统 ID)。
- 指定者:
-
getSystemId
在接口Source
中 - 返回:
-
Source
的基本 URL,或null
。
-
sourceToInputSource
尝试从 Source 对象获取 SAX InputSource 对象。- 参数:
-
source
- 必须为非空的 Source 引用。 - 返回:
- 一个 InputSource,如果无法转换 Source,则返回 null。
-
isEmpty
public boolean isEmpty()指示SAXSource
对象是否为空。空定义如下:- 如果系统标识符和
InputSource
均为null
; - 如果系统标识符为
null
,且InputSource
为空。
- 如果系统标识符和
-