| 属性名称 | 行为 | 返回类型 | 默认值 | 必需的 |
|---|---|---|---|---|
| javax.xml.stream.isRepairingNamespaces | 输出端的默认前缀 | Boolean | 错误的 | 是的 |
以下段落描述了命名空间和前缀修复算法:
可以使用以下代码行设置该属性:setProperty("javax.xml.stream.isRepairingNamespaces", Boolean.TRUE);
此属性指定编写器默认命名空间前缀声明。默认值为假。
如果 writer isRepairingNamespaces 它将在当前 StartElement 上为范围内当前没有命名空间声明的任何属性创建命名空间声明。如果 StartElement 有一个 uri 但没有指定前缀,则将分配一个前缀,如果该前缀尚未在当前 StartElement 的父级中声明,则它将在当前 StartElement 上声明。如果 defaultNamespace 已绑定并且在范围内并且默认命名空间与属性的 URI 或 StartElement QName 匹配,则不会分配任何前缀。
如果元素或属性名称有前缀,但未绑定到任何名称空间 URI,则前缀将在序列化期间删除。
如果同一开始或空元素标记中的元素和/或属性名称绑定到不同的名称空间 URI 并使用相同的前缀,则元素或第一个出现的属性保留原始前缀,并且后续属性的前缀替换为绑定到这些属性的名称空间 URI 的新前缀。
如果元素或属性名称使用的前缀绑定到与从该元素的父元素的名称空间上下文继承的 URI 不同的 URI,并且当前元素的上下文中没有名称空间声明,则添加这样的名称空间声明。
如果元素或属性名称绑定到前缀,并且存在将该前缀绑定到不同 URI 的命名空间声明,那么如果从该元素的父上下文继承了正确的映射,则该命名空间声明将被删除,或者更改为使用该前缀的元素或属性的名称空间 URI。
- 自从:
- 1.6
- 参见:
-
字段摘要
字段 -
构造方法总结
构造方法 -
方法总结
修饰符和类型方法描述abstract XMLEventWritercreateXMLEventWriter(OutputStream stream) 创建一个写入流的新 XMLEventWriterabstract XMLEventWritercreateXMLEventWriter(OutputStream stream, String encoding) 创建一个写入流的新 XMLEventWriterabstract XMLEventWritercreateXMLEventWriter(Writer stream) 创建一个写入写入器的新 XMLEventWriterabstract XMLEventWritercreateXMLEventWriter(Result result) 创建一个写入 JAXP 结果的新 XMLEventWriter。abstract XMLStreamWritercreateXMLStreamWriter(OutputStream stream) 创建一个写入流的新 XMLStreamWriterabstract XMLStreamWritercreateXMLStreamWriter(OutputStream stream, String encoding) 创建一个写入流的新 XMLStreamWriterabstract XMLStreamWritercreateXMLStreamWriter(Writer stream) 创建一个写入写入器的新 XMLStreamWriterabstract XMLStreamWritercreateXMLStreamWriter(Result result) 创建一个写入 JAXP 结果的新 XMLStreamWriter。abstract ObjectgetProperty(String name) 获取底层实现的特性/属性abstract booleanisPropertySupported(String name) 查询该工厂支持的属性集。static XMLOutputFactory创建XMLOutputFactory内置系统默认实现的新实例。static XMLOutputFactory创建工厂的新实例。static XMLOutputFactorynewFactory(String factoryId, ClassLoader classLoader) 创建工厂的新实例。static XMLOutputFactory以与newFactory()方法完全相同的方式创建工厂的新实例。static XMLInputFactorynewInstance(String factoryId, ClassLoader classLoader) 已弃用。属于错误类的 XMLInputFactory 实例。abstract voidsetProperty(String name, Object value) 允许用户在底层实现上设置特定的特性/属性。
-
字段详细信息
-
IS_REPAIRING_NAMESPACES
用于在输出端设置前缀默认值的属性- 参见:
-
-
构造方法详细信息
-
XMLOutputFactory
protected XMLOutputFactory()受保护的构造函数以防止实例化。请改用newFactory()。
-
-
方法详情
-
newDefaultFactory
创建XMLOutputFactory内置系统默认实现的新实例。- 返回:
XMLOutputFactory内置系统默认实现的新实例。- 自从:
- 9
-
newInstance
以与newFactory()方法完全相同的方式创建工厂的新实例。- 返回:
XMLOutputFactory的实例- 抛出:
FactoryConfigurationError- 如果无法加载此工厂的实例
-
newFactory
创建工厂的新实例。此方法使用 JAXP 查找机制 来确定要加载的XMLOutputFactory实现类。一旦应用程序获得了对
XMLOutputFactory的引用,它就可以使用工厂来配置和获取流实例。- 返回:
XMLOutputFactory的实例- 抛出:
FactoryConfigurationError- 在 服务配置错误 的情况下,或者如果实现不可用或无法实例化。
-
newInstance
@Deprecated (since ="1.7") public static XMLInputFactory newInstance(String factoryId, ClassLoader classLoader) throws FactoryConfigurationError 已弃用。此方法已被弃用,因为它返回属于错误类的 XMLInputFactory 实例。请改用新方法newFactory(java.lang.String, java.lang.ClassLoader)。创建工厂的新实例。- 参数:
factoryId- 要查找的工厂名称,与属性名称相同classLoader- 要使用的类加载器- 返回:
- 工厂实现
- 抛出:
FactoryConfigurationError- 如果无法加载此工厂的实例
-
newFactory
public static XMLOutputFactory newFactory(String factoryId, ClassLoader classLoader) throws FactoryConfigurationError 创建工厂的新实例。如果 classLoader 参数为空,则使用 ContextClassLoader。此方法使用以下有序查找过程来确定要加载的 XMLOutputFactory 实现类:
- 使用
factoryId标识的系统属性的值。 使用配置文件“stax.properties”。该文件采用标准
Properties格式,通常位于 Java 安装的conf目录中。它包含实现类的完全限定名称,键是上面定义的系统属性。stax.properties 文件仅由实现读取一次,然后缓存其值以备将来使用。如果在第一次尝试读取文件时该文件不存在,则不会进一步尝试检查其是否存在。第一次读取 stax.properties 中的任何属性后,就无法更改其值。
使用 jaxp 配置文件“jaxp.properties”。该文件的格式与 stax.properties 相同,只有在 stax.properties 不存在时才会被读取。
如果
factoryId是“javax.xml.stream.XMLOutputFactory”,则使用由ServiceLoader类定义的服务提供商加载工具,尝试使用指定的ClassLoader定位并加载 实现服务。如果classLoader为空,则 默认加载机制 将适用:也就是说,服务提供商加载工具将使用 当前线程的上下文类加载器 尝试加载服务。如果上下文类加载器为 null,则将使用 系统类加载器。否则,抛出一个
FactoryConfigurationError。
- API 注意:
-
此处定义的参数 factoryId 与其他 JAXP 工厂的参数不一致,其中第一个参数是提供工厂实现的完全限定工厂类名。
请注意,这是一种替代已弃用的
newInstance(String factoryId, ClassLoader classLoader)方法的新方法。原始方法被错误地定义为返回 XMLInputFactory。 - 参数:
factoryId- 要查找的工厂名称,与属性名称相同classLoader- 要使用的类加载器- 返回:
- 工厂实现
- 抛出:
FactoryConfigurationError- 在 服务配置错误 的情况下,或者如果实现不可用或无法实例化。
- 使用
-
createXMLStreamWriter
创建一个写入写入器的新 XMLStreamWriter- 参数:
stream- 要写入的作者- 返回:
XMLStreamWriter的实例- 抛出:
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- 要写入的流encoding- 使用的编码- 返回:
XMLStreamWriter的实例- 抛出:
XMLStreamException- 如果发生错误
-
createXMLStreamWriter
创建一个写入 JAXP 结果的新 XMLStreamWriter。此方法是可选的。- 参数:
result- 要写入的结果- 返回:
XMLStreamWriter的实例- 抛出:
UnsupportedOperationException- 如果此 XMLOutputFactory 不支持此方法XMLStreamException- 如果发生错误
-
createXMLEventWriter
创建一个写入 JAXP 结果的新 XMLEventWriter。此方法是可选的。- 参数:
result- 要写入的结果- 返回:
XMLEventWriter的实例- 抛出:
UnsupportedOperationException- 如果此 XMLOutputFactory 不支持此方法XMLStreamException- 如果发生错误
-
createXMLEventWriter
创建一个写入流的新 XMLEventWriter- 参数:
stream- 要写入的流- 返回:
XMLEventWriter的实例- 抛出:
XMLStreamException- 如果发生错误
-
createXMLEventWriter
public abstract XMLEventWriter createXMLEventWriter(OutputStream stream, String encoding) throws XMLStreamException 创建一个写入流的新 XMLEventWriter- 参数:
stream- 要写入的流encoding- 使用的编码- 返回:
XMLEventWriter的实例- 抛出:
XMLStreamException- 如果发生错误
-
createXMLEventWriter
创建一个写入写入器的新 XMLEventWriter- 参数:
stream- 要写入的流- 返回:
XMLEventWriter的实例- 抛出:
XMLStreamException- 如果发生错误
-
setProperty
允许用户在底层实现上设置特定的特性/属性。- 参数:
name- 属性名称value- 属性值- 抛出:
IllegalArgumentException- 如果不支持该属性
-
getProperty
获取底层实现的特性/属性- 参数:
name- 属性名称- 返回:
- 财产的值
- 抛出:
IllegalArgumentException- 如果不支持该属性
-
isPropertySupported
查询该工厂支持的属性集。- 参数:
name- 属性的名称(不能为空)- 返回:
- 如果支持该属性,则为 true,否则为 false
-