}
@VisibleForTesting
- static String encode(final @NonNull ValueWriter writer, final @NonNull IdentityrefTypeDefinition type,
- final @NonNull Object value, final QNameModule parent) throws XMLStreamException {
- if (value instanceof QName) {
- final QName qname = (QName) value;
+ static String encode(final @NonNull ValueWriter writer, final @NonNull QName qname, final QNameModule parent)
+ throws XMLStreamException {
+ //in case parent is present and same as element namespace write value without namespace
+ if (qname.getNamespace().equals(parent.getNamespace())) {
+ return qname.getLocalName();
+ }
- //in case parent is present and same as element namespace write value without namespace
- if (qname.getNamespace().equals(parent.getNamespace())) {
- return qname.getLocalName();
- }
+ final String ns = qname.getNamespace().toString();
+ final String prefix = "x";
+ writer.writeNamespace(prefix, ns);
+ return prefix + ':' + qname.getLocalName();
+ }
- final String ns = qname.getNamespace().toString();
- final String prefix = "x";
- writer.writeNamespace(prefix, ns);
- return prefix + ':' + qname.getLocalName();
+ private static String encode(final @NonNull ValueWriter writer, final @NonNull IdentityrefTypeDefinition type,
+ final @NonNull Object value, final QNameModule parent) throws XMLStreamException {
+ if (value instanceof QName) {
+ return encode(writer, (QName) value, parent);
}
final QName qname = type.getQName();
String xmlAsString = createXml(writer -> {
writer.writeStartElement("element");
final StreamWriterFacade facade = new StreamWriterFacade(writer);
- facade.writeCharacters(XMLStreamWriterUtils.encode(facade, null, QName.create(parent, "identity"), parent));
+ facade.writeCharacters(XMLStreamWriterUtils.encode(facade, QName.create(parent, "identity"), parent));
facade.flush();
writer.writeEndElement();
});
xmlAsString = createXml(writer -> {
writer.writeStartElement("elementDifferent");
final StreamWriterFacade facade = new StreamWriterFacade(writer);
- facade.writeCharacters(XMLStreamWriterUtils.encode(facade, null, QName.create("different:namespace",
- "identity"), parent));
+ facade.writeCharacters(XMLStreamWriterUtils.encode(facade, QName.create("different:namespace", "identity"),
+ parent));
facade.flush();
writer.writeEndElement();
});