Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem with the type name XML (two classes have the same XML type name) #16

Closed
jpaez147 opened this issue Jul 2, 2018 · 6 comments
Closed
Assignees
Labels

Comments

@jpaez147
Copy link

jpaez147 commented Jul 2, 2018

Hello there:

First of all, congratulation for your powerfull project. At this time I am trying to work with this in and Android application.

This has been done, but when I am trying to do the newInstance of the JAXBContext i recieved these errors

Two classes have the same XML type name "NameType". Use @XmlType.name and @XmlType.namespace to assign different names to them. this problem is related to the following location: at un.unece.uncefact.data.specification.unqualifieddatatypesschemamodule._2.NameType at oasis.names.specification.ubl.schema.xsd.commonbasiccomponents_2.NameType at protected oasis.names.specification.ubl.schema.xsd.commonbasiccomponents_2.NameType

I don´t know if this happened to some of you. I am working with libraries customized to java android.

Thank you in advance.

@phax
Copy link
Owner

phax commented Jul 2, 2018

Hi. I'm on vacation so I dont have a Laptop with me. Please look at class UBL21Reader (or UBL20Reader) for reading from various sources. Hth

@jpaez147
Copy link
Author

jpaez147 commented Jul 3, 2018

Hello. I have researched and the problem is on my side. Aparrently in android I cant read the namespace annotation inside @xmlelement (Jaxb), so it crashes with that.

Regards.

@jpaez147
Copy link
Author

jpaez147 commented Jul 6, 2018

At the end, I changed all child extends classes (for example TypeName) had the same xmltype name. So i modified it and it worked. I dont know if I will have any problem changing the names or commenting it.

Regards.

@phax
Copy link
Owner

phax commented Jul 16, 2018

What JAXB implementation are you using on your side?
Statement from the JavaDocs of @XmlType on the namespace field:

Name of the target namespace of the XML Schema type. By default, this is the target namespace to which the package containing the class is mapped.

One NameType is in the namespace urn:oasis:names:specification:ubl:schema:xsd:UnqualifiedDataTypes-2 (see class package-info in that package) and the other one uses urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2. That how they should be differentiated. Seems like your JAXB implementation does not honor this namespace.

@jpaez147
Copy link
Author

You are right Sir. In the 2.1.10 version I had some problems in a test. But using the 2.2.2v I have not seen this problem.
However, In the android app some prefixes dissapears (for example: In UBLExtension the prefix ext) but it seems to be a jaxb impl jar problem

@phax
Copy link
Owner

phax commented Jul 17, 2018

I'm glad it could be resolved. The namespace prefixes are not part of the XML itself. They are just a shortcut for the real namespace URL. So it makes no difference to the content of the XML document if you call it hugo or ext :) It's basically just a short cut.
But you can supply a custom namespace-prefix-to-url map to the JAXB Marshaller so that it prints out nice documents!

@phax phax self-assigned this Jul 17, 2018
@phax phax added the question label Jul 17, 2018
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants