【问题标题】:JAXB custom namespace prefix issueJAXB 自定义命名空间前缀问题
【发布时间】:2015-02-01 15:44:19
【问题描述】:

除了包级注解@Xmlns之外,还有其他方法可以使用注解来控制自定义命名空间前缀吗?

可以在元素级别完成吗? 一个命名空间也可以有多个前缀吗?

【问题讨论】:

  • 我很欣赏英语课 trylimits 但某种答案会更好

标签: java xml jaxb


【解决方案1】:

实际上你想做什么?为什么命名空间前缀对您很重要?

命名空间前缀没有标准的元素级注释。

我知道的控制命名空间前缀的选项是:

  • @XmlNS你已经提到了。
  • 提供自定义NamespacePrefixMapper
  • 较低级别的 XML 处理(例如,在 StAX、SAX 或 DOM 级别)。

我也能想到的:

  • @XmlElementRef/@XmlElementRefs 通常使用具有前缀的 QNames 的 JAXBElements。也许会使用这个前缀。
  • 您可以拥有QName-typed 属性(XSD 中的xs:QName),它也可以用于添加命名空间映射。
  • 可能是 @XmlAnyElement 方向的东西(包含 DOM 元素)。
  • 我想我也看到了XmlAdapter 的方向——我认为在某个地方有一个选项可以让它成为NamespacePrefixMapper-aware。 (实际上需要命名空间感知类型,如QName)。

【讨论】:

    猜你喜欢
    • 2021-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-11
    • 2017-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多