(см. обновление ниже о происхождении этой проблемы)
Возникли проблемы при попытке запустить xjc
с любым типом внешнего файла привязки. Вот копия файла привязки, который я пытаюсь использовать:
<jxb:bindings
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
xmlns:pd="http://chubb.com/cpi/polsvc/xmlobj"
jxb:extensionBindingPrefixes="xjc"
version="2.1">
<jxb:bindings schemaLocation="your-schema.xsd">
<jxb:bindings node="//xs:complexType[@name='AddBankVaultRplyType']">
</jxb:bindings>
</jxb:bindings>
I know it doesn't do anything, but just trying to get a simple example to run. I'm running the following command:
xjc -extension -b src/main/resources/bindings/cXML.xjb -dtd -d tmp src/main/resources/dtds/cXML.dtd -verbose
И получаю следующие ошибки:
parsing a schema...
[ERROR] Unsupported binding namespace "http://java.sun.com/xml/ns/jaxb". Perhaps you meant "http://java.sun.com/xml/ns/jaxb/xjc"?
line 7 of file:/Users/nick/Development/wuxi/services/punchout/src/main/resources/bindings/cXML.xjb
[ERROR] cvc-elt.1: Cannot find the declaration of element 'jxb:bindings'.
line 7 of file:/Users/nick/Development/wuxi/services/punchout/src/main/resources/bindings/cXML.xjb
[ERROR] Unsupported binding namespace "http://java.sun.com/xml/ns/jaxb". Perhaps you meant "http://java.sun.com/xml/ns/jaxb/xjc"?
line 8 of file:/Users/nick/Development/wuxi/services/punchout/src/main/resources/bindings/cXML.xjb
[ERROR] Unsupported binding namespace "http://java.sun.com/xml/ns/jaxb". Perhaps you meant "http://java.sun.com/xml/ns/jaxb/xjc"?
line 9 of file:/Users/nick/Development/wuxi/services/punchout/src/main/resources/bindings/cXML.xjb
Failed to parse a schema.
Независимо от того, что я помещал в файл привязки для элементов jaxb, он всегда файлы с сообщением об ошибке типа Perhaps you meant "http://java.sun.com/xml/ns/jaxb/xjc"
.
Я что-то упустил здесь? Кажется, что это должно быть довольно прямолинейно, и я не знаю, почему это вызывает у меня проблемы.
Версия XJC:
xjc -version
xjc 2.2.8-b130911.1802
Спасибо!
ОБНОВЛЕНИЕ
Первоначальная цель файла xjb — исправить некоторые проблемы с DTD. В частности, конфликты имен, такие как:
[ERROR] Property "Name" is already defined. Use <jaxb:property> to resolve this conflict.