此问题来自 Blaise 的excellent answer here。
我的问题是,如何在Scala中使用JAXB @XmlSchema
注释?
这是我到目前为止所提出的:
// File src/main/scala/co/orderly/prestasac/representations/wrappers.scala
package co.orderly.prestasac.representations
// JAXB
import javax.xml.bind.annotation._
@XmlSchema(xmlns = Array(@XmlNs(prefix = "xlink", namespaceURI = "http://www.w3.org/1999/xlink")))
package object wrappers {
}
不幸的是,这会引发错误:
/home/alex/Development/Orderly/prestashop-scala-client/src/main/scala/co/orderly/prestasac/representations/wrappers/wrappers.scala:18: illegal start of simple expression
[error] @XmlSchema(xmlns=Array(@XmlNs(prefix = "xlink", namespaceURI = "http://www.w3.org/1999/xlink")))
[error] ^
如果有一个不需要@XmlSchema
的解决方法,我会解释我正在尝试做什么 - 基本上我正在尝试解组一个看起来像这样的XML表示:
<?xml version="1.0" encoding="UTF-8"?>
<prestashop xmlns:xlink="http://www.w3.org/1999/xlink">
<products>
<product id="11" xlink:href="http://www.myshop.com/api/products/11"/>
<product id="12" xlink:href="http://www.myshop.com/api/products/12"/>
...
</products>
</prestashop>
我认为我需要使用@XmlSchema
为href
链接定义“xlink” - 前缀命名空间...