Jaxb / xjc не будет создавать классы java из файла схемы xsd (Eclipse и командная строка)
При использовании jre1.8.0_191 и JAXB командная строка Eclipse и xjc (и переключатели) выдают ошибки при попыткеконвертировать imsqti_v2p1.xsd (тесты для изучения объектов) в POJO (простые старые объекты Java). В большинстве ошибок говорилось: «Свойство X уже определено. Используйте для разрешения этого конфликта», и я смог аннотировать imsqti_v2p1.xsd до тех пор, пока (как в Eclipse, так и в командной строке xjc) не останется только одна ошибка:
синтаксический анализ схемы. .. [ОШИБКА] Свойство "MiOrMoOrMn" уже определено. Используйте для разрешения этого конфликта. строка 132 из http://www.w3.org/Math/XMLSchema/mathml2/presentation/scripts.xsd
Теперь у imsqti_v2p1.xsd есть много xmlns ', ответственный за ошибку:
<xs:import namespace="http://www.w3.org/1998/Math/MathML"
schemaLocation="http://www.w3.org/Math/XMLSchema/mathml2/mathml2.xsd"/>
Этот xsd КРАТКИЙ и имеет много локальных ссылок, один изчто вызывает ошибку
Я нашел этот файл scripts.xsd - компилятор пожаловался на строку 132 и свойство "MiOrMoOrMn", но scripts.xsd заканчивается на строке 130! Кроме того, когда я загружаю scripts.xsd в редактор Eclipse, у него появляется десяток ошибок - если они вызваны отсутствием «соседнего» xsd, на который ссылается mathml2.xsd, мне, вероятно, придется искать и загружать и запускать локально 27 локальных xsd! Поэтому я надеялся, что смогу исправить scripts.xsd и сослаться на него локально в xmlns в заголовке mathml2.xsd, но теперь я не уверен, как решить эту проблему. Кроме того, если вы знаете о лучшем способе создания этих POJO, я бы услышал об этом - кто-то должен знать об этой проблеме mathml xsd?!?
==================== imsqti_v2p1.xsd =============================
<xs:schema xmlns:jxb="http://java.sun.com/xml/ns/jaxb" jxb:version="2.1"
xmlns="http://www.imsglobal.org/xsd/imsqti_v2p1"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:m="http://www.w3.org/1998/Math/MathML"
xmlns:apip="http://www.imsglobal.org/xsd/apip/apipv1p0/imsapip_qtiv1p0"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:sch="http://purl.oclc.org/dsdl/schematron"
targetNamespace="http://www.imsglobal.org/xsd/imsqti_v2p1" version="IMS
QTI 2.1" elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xs:import namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="http://www.imsglobal.org/xsd/w3/2001/xml.xsd"/>
<xs:import namespace="http://www.w3.org/2001/XInclude"
schemaLocation="http://www.imsglobal.org/xsd/w3/2001/XInclude.xsd"/>
<xs:import namespace="http://www.w3.org/1998/Math/MathML"
schemaLocation="http://www.w3.org/Math/XMLSchema/mathml2/mathml2.xsd"/>
<xs:import
namespace="http://www.imsglobal.org/xsd/apip/apipv1p0/imsapip_qtiv1p0"
schemaLocation="http://www.imsglobal.org/profile/apip/apipv1p0/
apipv1p0_qtiextv2p1_v1p0.xsd"/>
==================== mathml2.xsd ==================
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.w3.org/1998/Math/MathML"
targetNamespace="http://www.w3.org/1998/Math/MathML"
elementFormDefault="qualified">
<xs:include schemaLocation="common/math.xsd"/>
<xs:include schemaLocation="common/common-attribs.xsd"/>
<!-- Presentation -->
<xs:include schemaLocation="presentation/common-types.xsd"/>
<xs:include schemaLocation="presentation/common-attribs.xsd"/>
<xs:include schemaLocation="presentation/characters.xsd"/>
<xs:include schemaLocation="presentation/tokens.xsd"/>
<xs:include schemaLocation="presentation/scripts.xsd"/>
============= scripts.xsd ========================
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.w3.org/1998/Math/MathML"
targetNamespace="http://www.w3.org/1998/Math/MathML"
elementFormDefault="qualified">
================ compiler error message ==================
parsing a schema...
[ERROR] Property "MiOrMoOrMn" is already defined. Use <jaxb:property>
to resolve this conflict. line 132 of
http://www.w3.org/Math/XMLSchema/mathml2/presentation/scripts.xsd
[ERROR] The following location is relevant to the above error
line 138 of
http://www.w3.org/Math/XMLSchema/mathml2/presentation/scripts.xsd
Failed to parse a schema.