javax.xml.transform.stream

java.lang.Object
  继承者 javax.xml.transform.stream.StreamSource
所有已实现的接口:
Source

public class StreamSource
     
extends Object
implements Source

以 XML 标记流的形式充当转换 Source 的持有者。

注: 由于内部使用了 ReaderInputStream 实例的缘故,StreamSource 实例只能使用一次。


字段摘要
static String FEATURE
          当将此值作为参数传递时,如果 TransformerFactory.getFeature(java.lang.String) 返回 true,则 Transformer 支持此类型的 Source。
 
构造方法摘要
StreamSource()
          零参数的默认构造方法。
StreamSource(File f)
          从 File 构造 StreamSource。
StreamSource(InputStream inputStream)
          从字节流构造 StreamSource。
StreamSource(InputStream inputStream, String systemId)
          从字节流构造 StreamSource。
StreamSource(Reader reader)
          从字符 reader 构造 StreamSource。
StreamSource(Reader reader, String systemId)
          从字符 reader 构造 StreamSource。
StreamSource(String systemId)
          从 URL 构造 StreamSource。
 
方法摘要
 InputStream getInputStream()
          获取通过 setByteStream 设置的字节流。
 String getPublicId()
          获取通过 setPublicId 设置的公共标识符。
 Reader getReader()
          获取通过 setReader 设置的字符流。
 String getSystemId()
          获取通过 setSystemId 设置的系统标识符。
 void setInputStream(InputStream inputStream)
          设置要用作输入的字节流。
 void setPublicId(String publicId)
          设置此 Source 的公共标识符。
 void setReader(Reader reader)
          调用要作为字符 reader 的输入。
 void setSystemId(File f)
          设置来自 File 引用的系统 ID。
 void setSystemId(String systemId)
          设置此 Source 的系统标识符。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

FEATURE

public static final String FEATURE
当将此值作为参数传递时,如果 TransformerFactory.getFeature(java.lang.String) 返回 true,则 Transformer 支持此类型的 Source。

另请参见:
常量字段值
构造方法详细信息

StreamSource

public StreamSource()

零参数的默认构造方法。如果使用了此构造方法,且未使用 setInputStream(java.io.InputStream inputStream)setReader(java.io.Reader reader) 设置 Stream 源,则 Transformer 将使用 new InputStream() 创建空的源 InputStream

另请参见:
Transformer.transform(Source xmlSource, Result outputTarget)

StreamSource

public StreamSource(InputStream inputStream)
从字节流构造 StreamSource。通常,应使用流而不是 reader,以便 XML 解析器可以解析 XML 声明所指定的字符编码。

如果此构造方法用于处理 stylesheet,通常还应调用 setSystemId,以便可以解析相对 URI 引用。

参数:
inputStream - 对 XML 流的有效 InputStream 引用。

StreamSource

public StreamSource(InputStream inputStream,
                    String systemId)
从字节流构造 StreamSource。通常,应使用流而不是 reader,以便 XML 解析器可以解析 XML 声明所指定的字符编码。

此构造方法除允许设置输入流外,还允许设置 systemID,从而允许处理相对 URI。

参数:
inputStream - 对 XML 流的有效 InputStream 引用。
systemId - 必须为遵守 URI 语法的 String。

StreamSource

public StreamSource(Reader reader)
从字符 reader 构造 StreamSource。通常,应使用流而不是 reader,以便 XML 解析器可以解析 XML 声明所指定的字符编码。但是,许多情况下输入流编码已得到解析,例如从 StringReader 读取 XML 的情况。

参数:
reader - 对 XML 字符流的有效 Reader 引用。

StreamSource

public StreamSource(Reader reader,
                    String systemId)
从字符 reader 构造 StreamSource。通常,应使用流而不是 reader,以便 XML 解析器可以解析 XML 声明所指定的字符编码。但是,许多情况下输入流编码已得到解析,例如从 StringReader 读取 XML 的情况。

参数:
reader - 对 XML 字符流的有效 Reader 引用。
systemId - 必须为遵守 URI 语法的 String。

StreamSource

public StreamSource(String systemId)
从 URL 构造 StreamSource。

参数:
systemId - 必须为遵守 URI 语法的 String。

StreamSource

public StreamSource(File f)
从 File 构造 StreamSource。

参数:
f - 必须为非 null File 引用。
方法详细信息

setInputStream

public void setInputStream(InputStream inputStream)
设置要用作输入的字节流。通常,应使用流而不是 reader,以便 XML 解析器可以解析 XML 声明所指定的字符编码。

如果此 Source 对象用于处理 stylesheet,通常还应调用 setSystemId,以便可以解析相对 URL 引用。

参数:
inputStream - 对 XML 流的有效 InputStream 引用。

getInputStream

public InputStream getInputStream()
获取通过 setByteStream 设置的字节流。

返回:
通过 setByteStream 设置的字节流,如果未调用 setByteStream 或 ByteStream 构造方法,则返回 null。

setReader

public void setReader(Reader reader)
调用要作为字符 reader 的输入。通常,应使用流而不是 reader,以便 XML 解析器可以解析 XML 声明所指定的字符编码。但是,许多情况下输入流编码已得到解析,例如从 StringReader 读取 XML 的情况。

参数:
reader - 对 XML CharacterStream 的有效 Reader 引用。

getReader

public Reader getReader()
获取通过 setReader 设置的字符流。

返回:
通过 setReader 设置字符流,如果未调用 setReader 或 Reader 构造方法,则返回 null。

setPublicId

public void setPublicId(String publicId)
设置此 Source 的公共标识符。

公共标识符总是可选的:如果应用程序 writer 包含一个公共标识符,则它将作为本地信息的一部分来提供。

参数:
publicId - 字符串形式的公共标识符。

getPublicId

public String getPublicId()
获取通过 setPublicId 设置的公共标识符。

返回:
通过 setPublicId 设置的公共标识符,如果未调用 setPublicId,则返回 null。

setSystemId

public void setSystemId(String systemId)
设置此 Source 的系统标识符。

如果有字节流或字符流,则系统标识符是可选的,但提供系统标识符仍然很有用,因为应用程序可以用它来解析相对 URI,并可以将它包括在错误消息和警告中(仅当未指定字节流或字符流时,解析器才尝试打开到 URI 的连接)。

指定者:
接口 Source 中的 setSystemId
参数:
systemId - URL 字符串形式的系统标识符。

getSystemId

public String getSystemId()
获取通过 setSystemId 设置的系统标识符。

指定者:
接口 Source 中的 getSystemId
返回:
通过 setSystemId 设置的系统标识符,如果未调用 setSystemId,则返回 null。

setSystemId

public void setSystemId(File f)
设置来自 File 引用的系统 ID。

参数:
f - 必须为非 null File 引用。