/** * Convert a {@code QName} to a qualified name, as used by DOM and SAX. * The returned string has a format of {@code prefix:localName} if the * prefix is set, or just {@code localName} if not. * @param qName the {@code QName} * @return the qualified name */ protected String toQualifiedName(QName qName) { String prefix = qName.getPrefix(); if (!StringUtils.hasLength(prefix)) { return qName.getLocalPart(); } else { return prefix + ":" + qName.getLocalPart(); } }
@Override protected QName _deserialize(String value, DeserializationContext ctxt) throws IllegalArgumentException { return QName.valueOf(value); } }
/** * Convert a namespace URI and DOM or SAX qualified name to a {@code QName}. The * qualified name can have the form {@code prefix:localname} or {@code localName}. * @param namespaceUri the namespace URI * @param qualifiedName the qualified name * @return a QName */ protected QName toQName(String namespaceUri, String qualifiedName) { int idx = qualifiedName.indexOf(':'); if (idx == -1) { return new QName(namespaceUri, qualifiedName); } else { String prefix = qualifiedName.substring(0, idx); String localPart = qualifiedName.substring(idx + 1); return new QName(namespaceUri, localPart, prefix); } }
@Override @Nullable public String getAttributeValue(@Nullable String namespaceURI, String localName) { for (int i = 0; i < getAttributeCount(); i++) { QName name = getAttributeName(i); if (name.getLocalPart().equals(localName) && (namespaceURI == null || name.getNamespaceURI().equals(namespaceURI))) { return getAttributeValue(i); } } return null; }
@Override public String getAttributeLocalName(int index) { return getAttributeName(index).getLocalPart(); }
@Override public String getAttributeNamespace(int index) { return getAttributeName(index).getNamespaceURI(); }
@Override public String getAttributePrefix(int index) { return getAttributeName(index).getPrefix(); }
@Override public String getNamespaceURI(String prefix) { return getNamespaceContext().getNamespaceURI(prefix); }
protected boolean isNamespaceDeclaration(QName qName) { String prefix = qName.getPrefix(); String localPart = qName.getLocalPart(); return (XMLConstants.XMLNS_ATTRIBUTE.equals(localPart) && prefix.isEmpty()) || (XMLConstants.XMLNS_ATTRIBUTE.equals(prefix) && !localPart.isEmpty()); }
@Override public String getLocalName() { return getName().getLocalPart(); }
@Override public String getNamespaceURI() { int eventType = getEventType(); if (eventType == XMLStreamConstants.START_ELEMENT || eventType == XMLStreamConstants.END_ELEMENT) { return getName().getNamespaceURI(); } else { throw new IllegalStateException("Parser must be on START_ELEMENT or END_ELEMENT state"); } }
@Override public String getPrefix() { int eventType = getEventType(); if (eventType == XMLStreamConstants.START_ELEMENT || eventType == XMLStreamConstants.END_ELEMENT) { return getName().getPrefix(); } else { throw new IllegalStateException("Parser must be on START_ELEMENT or END_ELEMENT state"); } }
public OrderServiceService() throws MalformedURLException { super(new URL("http://localhost:9999/OrderService?wsdl"), new QName("http://jaxws.remoting.springframework.org/", "OrderService")); }
private static void assertStartElement(XMLEvent event, String expectedLocalName) { assertTrue(event.isStartElement()); assertEquals(expectedLocalName, event.asStartElement().getName().getLocalPart()); }
@XmlElementDecl(name = "brand-airplane") public JAXBElement<Airplane> createAirplane(Airplane airplane) { return new JAXBElement<>(new QName("brand-airplane"), Airplane.class, null, airplane); } }
@Override public void writeAttribute(String namespaceURI, String localName, String value) throws XMLStreamException { this.eventWriter.add(this.eventFactory.createAttribute(new QName(namespaceURI, localName), value)); }
@Override public void writeStartElement(String localName) throws XMLStreamException { closeEmptyElementIfNecessary(); doWriteStartElement(this.eventFactory.createStartElement(new QName(localName), null, null)); }
@Override public void writeStartElement(String namespaceURI, String localName) throws XMLStreamException { closeEmptyElementIfNecessary(); doWriteStartElement(this.eventFactory.createStartElement(new QName(namespaceURI, localName), null, null)); }
@Override public void writeStartElement(String prefix, String localName, String namespaceURI) throws XMLStreamException { closeEmptyElementIfNecessary(); doWriteStartElement(this.eventFactory.createStartElement(new QName(namespaceURI, localName, prefix), null, null)); }