Sto tentando di analizzare un file XML con EclipseLink MOXy e non è in linea con l'attributo xsi
. Se rimuovo questo, si analizza bene. Tuttavia, ho 100GiB di XML da guadare e cambiare i file sorgente non è un'opzione.Come impostare lo spazio dei nomi su false?
È stato suggerito che se è possibile impostare XmlParser.setNamespaceAware(false)
, allora dovrebbe funzionare, ma non ho idea di come configurarlo, senza entrare nelle viscere di MOXy.
<record>
<header>
<!-- citation-id: 14404534; type: journal_article; -->
<identifier>info:doi/10.1007/s10973-004-0435-2</identifier>
<datestamp>2009-04-28</datestamp>
<setSpec>J</setSpec>
<setSpec>J:1007</setSpec>
<setSpec>J:1007:2777</setSpec>
</header>
<metadata>
<crossref xmlns="http://www.crossref.org/xschema/1.0"
xsi:schemaLocation="http://www.crossref.org/xschema/1.0 http://www.crossref.org/schema/unixref1.0.xsd">
<journal>
<journal_metadata language="en">
[...]
L'eccezione che provo quando il prefisso xsi:
è presente è:
org.springframework.oxm.UnmarshallingFailureException: JAXB unmarshalling exception; nested exception is javax.xml.bind.UnmarshalException
- with linked exception:
[Exception [EclipseLink-25004] (Eclipse Persistence Services - 2.4.0.v20120608-r11652): org.eclipse.persistence.exceptions.XMLMarshalException
Exception Description: An error occurred unmarshalling the document
Internal Exception: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[13,107]
Message: http://www.w3.org/TR/1999/REC-xml-names-19990114#AttributePrefixUnbound?crossref&xsi:schemaLocation&xsi]
Qual è il problema originale che stai colpendo? –
@BlaiseDoughan aggiornato. Spero davvero che tu possa aiutare :) –
Nel tuo caso d'uso sei in grado di aggiungere la necessaria dichiarazione 'xmlns: xsi'? Basta controllare prima di tuffarci in opzioni alternative. –