JavaTM 2 Platform
Standard Ed. 6

javax.xml.stream
類別 XMLOutputFactory

java.lang.Object
  繼承者 javax.xml.stream.XMLOutputFactory

public abstract class XMLOutputFactory
extends Object

定義用於獲取 XMLEventWriter 和 XMLStreamWriter 的處理器抽象實作。下表定義此規範的標準屬性。每個屬性隨每個實作所要求的支持級別的不同而不同。所要求的支持級別在“必需”欄中做了描述。

配置參數
屬性名 行為 返回型別 預設值 必需
javax.xml.stream.isRepairingNamespaces預設輸出端前綴BooleanFalse

以下段落描述了名稱空間和前綴修復演算法:

屬性可以使用以下程式碼行進行設置:setProperty("javax.xml.stream.isRepairingNamespaces",new Boolean(true|false));

此屬性指定 writer 預設名稱空間前綴宣告。預設值為 false。

如果 writer 是 RepairingNamespaces,則對於任何當前在範圍內不具有名稱空間宣告的屬性,它都將在當前的 StartElement 上創建名稱空間宣告。如果 StartElement 具有 URI,但沒有指定前綴,則為其分派一個前綴;如果前綴未在當前 StartElement 的父級中宣告,則它將在當前的 StartElement 上宣告。如果 defaultNamespace 被綁定,而且在範圍內預設名稱空間與屬性的 URI 或 StartElement QName 相比對,則不分派任何前綴。

如果元素或屬性名稱具有前綴,但沒有綁定到任何名稱空間 URI,則前綴將在序列化時被刪除。

如果同一個開始或空元素標記中的元素和/或屬性名稱被綁定到不同的名稱空間 URI,而且使用相同的前綴,則元素或第一個出現的屬性將保留原始前綴,而在它之後的屬性將用綁定到這些屬性名稱空間 URI 的新前綴替換它們的前綴。

如果元素或屬性名稱使用一個綁定到 URI 的前綴,而該 URI 不是從該元素父級的名稱空間上下文中繼承的,並且在當前元素的上下文中沒有名稱空間宣告,那麼將添加一個這樣的名稱空間宣告。

如果元素或屬性名稱被綁定到一個前綴,而且有一個將此前綴綁定到不同 RUI 的名稱空間宣告,那麼該名稱空間宣告將被刪除(如果從該元素的父上下文中繼承了正確的映射),或者被更改為使用該前綴的元素或屬性的名稱空間 URI。

從以下版本開始:
1.6
另請參見:
XMLInputFactory, XMLEventWriter, XMLStreamWriter

欄位摘要
static String IS_REPAIRING_NAMESPACES
          用於設置輸出端上預設前綴的屬性。
 
建構子摘要
protected XMLOutputFactory()
           
 
方法摘要
abstract  XMLEventWriter createXMLEventWriter(OutputStream stream)
          創建一個寫入到串流的新 XMLEventWriter。
abstract  XMLEventWriter createXMLEventWriter(OutputStream stream, String encoding)
          創建一個寫入到串流的新 XMLEventWriter。
abstract  XMLEventWriter createXMLEventWriter(Result result)
          創建一個寫入到 JAXP 結果的新 XMLEventWriter。
abstract  XMLEventWriter createXMLEventWriter(Writer stream)
          創建一個寫入到 writer 的新 XMLEventWriter。
abstract  XMLStreamWriter createXMLStreamWriter(OutputStream stream)
          創建一個寫入到串流的新 XMLStreamWriter。
abstract  XMLStreamWriter createXMLStreamWriter(OutputStream stream, String encoding)
          創建一個寫入到串流的新 XMLStreamWriter。
abstract  XMLStreamWriter createXMLStreamWriter(Result result)
          創建一個寫入到 JAXP 結果的新 XMLStreamWriter。
abstract  XMLStreamWriter createXMLStreamWriter(Writer stream)
          創建一個寫入到 writer 的新 XMLStreamWriter。
abstract  Object getProperty(String name)
          獲取底層實作上的功能/屬性
abstract  boolean isPropertySupported(String name)
          查詢此處理器支持的屬性集合。
static XMLOutputFactory newInstance()
          創建一個新的處理器實例。
static XMLInputFactory newInstance(String factoryId, ClassLoader classLoader)
          創建一個的新處理器實例。
abstract  void setProperty(String name, Object value)
          允許使用者在底層實作上設置特定功能/屬性。
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

欄位詳細資訊

IS_REPAIRING_NAMESPACES

public static final String IS_REPAIRING_NAMESPACES
用於設置輸出端上預設前綴的屬性。

另請參見:
常數欄位值
建構子詳細資訊

XMLOutputFactory

protected XMLOutputFactory()
方法詳細資訊

newInstance

public static XMLOutputFactory newInstance()
                                    throws FactoryConfigurationError
創建一個新的處理器實例。

拋出:
FactoryConfigurationError - 如果此處理器的實例無法載入

newInstance

public static XMLInputFactory newInstance(String factoryId,
                                          ClassLoader classLoader)
                                   throws FactoryConfigurationError
創建一個的新處理器實例。

參數:
factoryId - 要尋找的處理器的名稱,與屬性名稱相同
classLoader - 要使用的類別載入器
返回:
處理器實作
拋出:
FactoryConfigurationError - 如果此處理器的實例無法載入

createXMLStreamWriter

public abstract XMLStreamWriter createXMLStreamWriter(Writer stream)
                                               throws XMLStreamException
創建一個寫入到 writer 的新 XMLStreamWriter。

參數:
stream - 要向其寫入 XMLStreamWriter 的 writer
拋出:
XMLStreamException

createXMLStreamWriter

public abstract XMLStreamWriter createXMLStreamWriter(OutputStream stream)
                                               throws XMLStreamException
創建一個寫入到串流的新 XMLStreamWriter。

參數:
stream - 要向其寫入 XMLStreamWriter 的串流
拋出:
XMLStreamException

createXMLStreamWriter

public abstract XMLStreamWriter createXMLStreamWriter(OutputStream stream,
                                                      String encoding)
                                               throws XMLStreamException
創建一個寫入到串流的新 XMLStreamWriter。

參數:
stream - 要向其寫入 XMLStreamWriter 的串流
encoding - 要使用的編碼
拋出:
XMLStreamException

createXMLStreamWriter

public abstract XMLStreamWriter createXMLStreamWriter(Result result)
                                               throws XMLStreamException
創建一個寫入到 JAXP 結果的新 XMLStreamWriter。此方法是可選的。

參數:
result - 要向其寫入 XMLStreamWriter 的結果
拋出:
UnsupportedOperationException - 如果此 XMLOutputFactory 不支持此方法
XMLStreamException

createXMLEventWriter

public abstract XMLEventWriter createXMLEventWriter(Result result)
                                             throws XMLStreamException
創建一個寫入到 JAXP 結果的新 XMLEventWriter。此方法是可選的。

參數:
result - 要向其寫入 XMLEventWriter 的結果
拋出:
UnsupportedOperationException - 如果此 XMLOutputFactory 不支持此方法
XMLStreamException

createXMLEventWriter

public abstract XMLEventWriter createXMLEventWriter(OutputStream stream)
                                             throws XMLStreamException
創建一個寫入到串流的新 XMLEventWriter。

參數:
stream - 要向其寫入 XMLEventWriter 的串流
拋出:
XMLStreamException

createXMLEventWriter

public abstract XMLEventWriter createXMLEventWriter(OutputStream stream,
                                                    String encoding)
                                             throws XMLStreamException
創建一個寫入到串流的新 XMLEventWriter。

參數:
stream - 要向其寫入 XMLEventWriter 的串流
encoding - 要使用的編碼
拋出:
XMLStreamException

createXMLEventWriter

public abstract XMLEventWriter createXMLEventWriter(Writer stream)
                                             throws XMLStreamException
創建一個寫入到 writer 的新 XMLEventWriter。

參數:
stream - 要向其寫入 XMLEventWriter 的串流
拋出:
XMLStreamException

setProperty

public abstract void setProperty(String name,
                                 Object value)
                          throws IllegalArgumentException
允許使用者在底層實作上設置特定功能/屬性。

參數:
name - 屬性的名稱
value - 屬性的值
拋出:
IllegalArgumentException - 如果屬性不受支持

getProperty

public abstract Object getProperty(String name)
                            throws IllegalArgumentException
獲取底層實作上的功能/屬性

參數:
name - 屬性的名稱
返回:
屬性的值
拋出:
IllegalArgumentException - 如果屬性不受支持

isPropertySupported

public abstract boolean isPropertySupported(String name)
查詢此處理器支持的屬性集合。

參數:
name - 屬性的名稱(不可以為 null)
返回:
如果此屬性受支持,則返回 true,否則返回 false

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only