private Attributes getAttributes(StartElement event) { AttributesImpl attributes = new AttributesImpl(); for (Iterator i = event.getAttributes(); i.hasNext();) { Attribute attribute = (Attribute) i.next(); QName qName = attribute.getName(); String namespace = qName.getNamespaceURI(); if (namespace == null || !hasNamespacesFeature()) { namespace = ""; String type = attribute.getDTDType(); if (type == null) { type = "CDATA"; attributes.addAttribute(namespace, qName.getLocalPart(), toQualifiedName(qName), type, attribute.getValue()); for (Iterator i = event.getNamespaces(); i.hasNext();) { Namespace namespace = (Namespace) i.next(); String prefix = namespace.getPrefix(); String namespaceUri = namespace.getNamespaceURI(); String qName; if (StringUtils.hasLength(prefix)) {
@Override public boolean isAttributeSpecified(int index) { return getAttribute(index).isSpecified(); }
private Attribute mapAttribute(StartElement startElement, Attribute originalAttribute) { // Here we look to see if this attribute is the JPA version attribute, and if so do 2 things: // 1) validate its version attribute is valid // 2) update its version attribute to the default version if not already // // NOTE : atm this is a very simple check using just the attribute's local name // rather than checking its qualified name. It is possibly (though unlikely) // that this could match on "other" version attributes in the same element if ( ROOT_ELEMENT_NAME.equals( startElement.getName().getLocalPart() ) ) { if ( VERSION_ATTRIBUTE_NAME.equals( originalAttribute.getName().getLocalPart() ) ) { final String specifiedVersion = originalAttribute.getValue(); if ( !LocalXsdResolver.isValidJpaVersion( specifiedVersion ) ) { throw new BadVersionException( specifiedVersion ); } return xmlEventFactory.createAttribute( VERSION_ATTRIBUTE_NAME, LocalXsdResolver.latestJpaVerison() ); } } return originalAttribute; }
for (Iterator i = event.getAttributes(); i.hasNext();) { Attribute staxAttr = (Attribute)i.next(); QName name = staxAttr.getName(); String uri = fixNull(name.getNamespaceURI()); String localName = name.getLocalPart(); String prefix = name.getPrefix(); String qName; if (prefix == null || prefix.length() == 0) else qName = prefix + ':' + localName; String type = staxAttr.getDTDType(); String value = staxAttr.getValue();
public static List<String> getXSDs(String wsdl) throws XMLStreamException { List<String> result = new ArrayList<String>(); XMLEventReader parser; synchronized(xmlInputFactory) { parser = xmlInputFactory.createXMLEventReader(new StringReader(wsdl)); } while (parser.hasNext()) { XMLEvent event = parser.nextEvent(); if (event.isStartElement()) { String name = event.asStartElement().getName().getLocalPart(); if (name.equals("import") || name.equals("include")) { Attribute a = event.asStartElement().getAttributeByName(new QName("schemaLocation")); if (a != null) result.add(a.getValue()); } } } return result; }
try { XMLEventReader reader = factory.createXMLEventReader(new ByteArrayInputStream(xmlString.getBytes())); while (reader.hasNext()) { XMLEvent event = reader.nextEvent(); if (event.isStartElement()) { declaredPrefixes.push(new HashSet<String>()); QName name = event.asStartElement().getName(); writer.writeStartElement(name.getPrefix(), name.getLocalPart(), name.getNamespaceURI()); addNamespaceIfRequired(writer, name); Iterator<Namespace> itNamespaces = event.asStartElement().getNamespaces(); while (itNamespaces.hasNext()) { Namespace namespace = itNamespaces.next(); addNamespaceIfRequired(writer, new QName(namespace.getNamespaceURI(), "", namespace.getPrefix())); Iterator<Attribute> it = event.asStartElement().getAttributes(); QName attrName = attr.getName(); addNamespaceIfRequired(writer, attrName); writer.writeAttribute(attrName.getPrefix(), attrName.getNamespaceURI(), attrName.getLocalPart(), attr.getValue()); } else if (event.isEndElement()) { writer.writeEndElement(); } else if (event.isCharacters()) { writer.writeCharacters(event.asCharacters().getData());
private Object parseUnknownField(StartElement startElement, boolean dropUnknown, RecordSchema schema) throws XMLStreamException { final Iterator iterator = startElement.getAttributes(); while (iterator.hasNext()) { final Attribute attribute = (Attribute) iterator.next(); final String attributeName = attribute.getName().toString(); final Optional<RecordField> field = schema.getField(attributeName); if (field.isPresent()){ recordValues.put(attributePrefix == null ? attributeName : attributePrefix + attributeName, attribute.getValue()); recordValues.put(attributePrefix == null ? attributeName : attributePrefix + attributeName, attribute.getValue()); while (xmlEventReader.hasNext()) { final XMLEvent xmlEvent = xmlEventReader.nextEvent(); if (xmlEvent.isCharacters()) { final Characters characters = xmlEvent.asCharacters(); if (!characters.isWhiteSpace()) { content.append(characters.getData()); } else if (xmlEvent.isStartElement()){ final StartElement subStartElement = xmlEvent.asStartElement(); final String subFieldName = subStartElement.getName().getLocalPart();
List<String> heldComments = new ArrayList<String>(1); String namespaceURI = elem.getName().getNamespaceURI(); if ("extension".equals(elem.getName().getLocalPart())) { Attribute urlAttr = elem.getAttributeByName(new QName("url")); String url; if (urlAttr == null || isBlank(urlAttr.getValue())) { getErrorHandler().missingRequiredElement(new ParseLocation().setParentElementName("extension"), "url"); url = null; } else { url = urlAttr.getValue(); Attribute urlAttr = elem.getAttributeByName(new QName("url")); String url; if (urlAttr == null || isBlank(urlAttr.getValue())) { getErrorHandler().missingRequiredElement(new ParseLocation().setParentElementName("modifierExtension"), "url"); url = null; } else { url = urlAttr.getValue(); for (Iterator<Attribute> iter = attributes; iter.hasNext();) { Attribute next = iter.next(); parserState.attributeValue(next.getName().getLocalPart(), next.getValue()); parserState.string(nextEvent.asCharacters().getData()); break;
public void parseFromXML(Reader reader) throws XMLStreamException { XMLEventReader eventReader = factory.createXMLEventReader(reader); while (eventReader.hasNext()) { XMLEvent e = eventReader.nextEvent(); if (e.isStartElement()) { StartElement el = e.asStartElement(); if (el.getName().equals(SLIDE_ID)) { Attribute id = el.getAttributeByName(Relationships.ATTR_REL_ID); if (id != null) { Relationships.Rel rel = rels.getRelById(id.getValue()); if (rel == null) { throw new IllegalStateException( "Presentation refers to non-existent slide ID " + id.getValue()); } slidePartNames.add(rel.target); } } } } } }
Iterator namespaces = element.getNamespaces(); while (namespaces.hasNext()) { Namespace ns = (Namespace) namespaces.next(); String prefix = ns.getPrefix(); String nsURI = ns.getNamespaceURI(); streamWriter.writeNamespace(prefix, nsURI); Iterator attris = element.getAttributes(); while (attris.hasNext()) { Attribute attr = (Attribute) attris.next(); QName atQName = attr.getName(); String value = attr.getValue(); if (atQName.getPrefix().length() > 0 && atQName.getNamespaceURI().length() > 0) } else if (event.isCharacters()) { Characters chars = event.asCharacters(); streamWriter.writeCharacters(chars.getData()); } else if (event.isEndElement()) { streamWriter.writeEndElement();
protected void outputNsAndAttr(XMLStreamWriter w) throws XMLStreamException { // First namespace declarations, if any: if (mNsCtxt != null) { mNsCtxt.outputNamespaceDeclarations(w); } // Then attributes, if any: if (mAttrs != null && mAttrs.size() > 0) { Iterator it = mAttrs.values().iterator(); while (it.hasNext()) { Attribute attr = (Attribute) it.next(); // Let's only output explicit attribute values: if (!attr.isSpecified()) { continue; } QName name = attr.getName(); String prefix = name.getPrefix(); String ln = name.getLocalPart(); String nsURI = name.getNamespaceURI(); w.writeAttribute(prefix, nsURI, ln, attr.getValue()); } } } }
switch (event.getEventType()) { case XMLStreamConstants.ATTRIBUTE: Attribute attr = (Attribute) event; if (isBlank(attr.getName().getPrefix())) { if (isBlank(attr.getName().getNamespaceURI())) { theEventWriter.writeAttribute(attr.getName().getLocalPart(), attr.getValue()); } else { theEventWriter.writeAttribute(attr.getName().getNamespaceURI(), attr.getName().getLocalPart(), attr.getValue()); theEventWriter.writeAttribute(attr.getName().getPrefix(), attr.getName().getNamespaceURI(), attr.getName().getLocalPart(), attr.getValue()); theEventWriter.writeCData(((Characters) event).getData()); break; case XMLStreamConstants.CHARACTERS: case XMLStreamConstants.SPACE: String data = ((Characters) event).getData(); theEventWriter.writeCharacters(data); break; theEventWriter.writeStartElement(se.getName().getLocalPart()); theEventWriter.writeDefaultNamespace(namespaceURI); } else { theEventWriter.writeAttribute(next.getName().getLocalPart(), next.getValue());
public static void convertXMLStreamToJSON(XMLEventReader reader, XMLStreamWriter streamWriter) throws XMLStreamException { while (reader.hasNext()) { XMLEvent event = (XMLEvent) reader.next(); switch (event.getEventType()) { case XMLStreamConstants.ATTRIBUTE: Attribute attribute = (Attribute) event; QName attributeName = attribute.getName(); String attributeValue = attribute.getValue(); streamWriter.writeAttribute(attributeName.getNamespaceURI(), attributeName.getLocalPart(), attributeValue); break; case XMLStreamConstants.CDATA: streamWriter.writeCData(event.asCharacters().getData()); break; case XMLStreamConstants.CHARACTERS: String trimmedData = event.asCharacters().getData().trim(); if (trimmedData.length() > 0) { streamWriter.writeCharacters(trimmedData); break; case XMLStreamConstants.START_ELEMENT: QName qName = event.asStartElement().getName(); streamWriter.writeStartElement(qName.getNamespaceURI(), qName.getLocalPart()); break;
while (xmlEventReader.hasNext()) { XMLEvent xmleve = (XMLEvent) xmlEventReader.next(); if (xmleve.getEventType() == XmlNodeType.END_ELEMENT) { Node node = currentElement.getParentNode(); if (node instanceof Document) { if (xmleve.getEventType() == XmlNodeType.START_ELEMENT) { element = document.createElementNS(ele.getName() .getNamespaceURI(), ele.getName().getLocalPart()); Iterator<Attribute> ite = ele.getAttributes(); element.setAttribute(attr.getName().getLocalPart(), attr.getValue()); while (ite.hasNext()) { Namespace ns = (Namespace) ite.next(); String name = ns.getPrefix(); if (!name.isEmpty()) { element.setAttributeNS(xmlns, name, ns.getNamespaceURI()); } else { xmlns = ns.getNamespaceURI();
Iterator<Attribute> attributes = startElement.getAttributes(); while (attributes.hasNext()) { Attribute attribute = attributes.next(); if (!target.setAttribute(this, attribute.getName().getLocalPart().toString(), attribute.getValue())) { throw new InvalidRecipeConfigException("Unexpected attribute '" + attribute.getName() + "' inside " + startElement.getName()); } else { throw new InvalidRecipeConfigException(e, "at [row,col]:[" + startElement.getLocation().getLineNumber() + "," + startElement.getLocation().getColumnNumber() + "]"); while (eventReader.hasNext()) { XMLEvent event = eventReader.nextEvent(); if (event.isStartElement()) { if (!target.setElement(this, event.asStartElement().getName().getLocalPart(), event.asStartElement())) { throw new InvalidRecipeConfigException("Unexpected tag '" + event.asStartElement().getName() + "' inside " + startElement.getName()); target.readResolve(); return target; } else if (event.isCharacters() && event.asCharacters().isWhiteSpace()) { } else if (event.getEventType() == XMLStreamConstants.COMMENT) {
int line = element.getLocation().getLineNumber(); if (!element.getName().equals(new QName("property"))) { errors.add(String.format("Line %d: element not <property>", line)); continue; List<XMLEvent> events = node.getXMLEventsForQName(new QName("name")); if (events == null) { errors.add(String.format("Line %d: <property> has no <name>", line)); String v = null; for (XMLEvent event : events) { if (event.isAttribute()) { v = ((Attribute) event).getValue(); } else { Characters c = node.getElement(event.asStartElement()); if (c != null) { v = c.getData(); duplicatedProperties.put(v, lines); lines.add(node.getStartElement().getLocation().getLineNumber());
public void writeStartElement(StartElement elem) throws XMLStreamException { /* In repairing mode this is simple: let's just pass info * we have, and things should work... a-may-zing! */ QName name = elem.getName(); writeStartElement(name.getPrefix(), name.getLocalPart(), name.getNamespaceURI()); Iterator it = elem.getAttributes(); while (it.hasNext()) { Attribute attr = (Attribute) it.next(); name = attr.getName(); writeAttribute(name.getPrefix(), name.getNamespaceURI(), name.getLocalPart(), attr.getValue()); } }
private void updateContext(XMLEvent event) { if (event == null) return; if (event.isEndElement()) { stack.pop(); stackString = ""; for (String s : stack) { stackString += "/" + s; } } else if (event.isStartElement()) { stack.push(event.asStartElement().getName().getLocalPart()); stackString += "/" + event.asStartElement().getName().getLocalPart(); } else if (event.isAttribute()) { Attribute attribute = (Attribute)event; stackString = ""; for (String s : stack) { stackString += "/" + s; } stackString += "/@" + attribute.getName().getLocalPart(); } }
private String gotWhat(XMLEvent e) { String v = null; switch (e.getEventType()) { case START_ELEMENT: v = e.asStartElement().getName().getLocalPart(); break; case END_ELEMENT: v = e.asEndElement().getName().getLocalPart(); break; case ATTRIBUTE: v = ((Attribute) e).getName().getLocalPart(); break; } return gotWhat(e.getEventType(), v); }
while (xmlEventReader.hasNext()) { XMLEvent xmlEvent = xmlEventReader.nextEvent(); if (xmlEvent.isStartElement()) { StartElement element = xmlEvent.asStartElement(); if (phase == 3 && element.getName().equals(qNode)) { osmNode = new OSMNode(); osmNode.setId(Long.parseLong(element.getAttributeByName(qId).getValue())); osmNode.lat = Double.parseDouble(element.getAttributeByName(qLat).getValue()); osmNode.lon = Double.parseDouble(element.getAttributeByName(qLon).getValue()); } else if (phase == 2 && element.getName().equals(qWay)) { osmWay = new OSMWay(); osmWay.setId(Long.parseLong(element.getAttributeByName(qId).getValue())); } else if (phase == 1 && element.getName().equals(qRelation)) { osmRelation = new OSMRelation(); osmRelation.setId(Long.parseLong(element.getAttributeByName(qId).getValue())); relMember.setType(element.getAttributeByName(qType).getValue()); relMember.setRole(element.getAttributeByName(qRole).getValue()); relMember.setRef(Long.parseLong(element.getAttributeByName(qRef).getValue())); osmRelation.addMember(relMember); nodeRef.setRef(Long.parseLong(element.getAttributeByName(qRef).getValue())); osmWay.addNodeRef(nodeRef); String key = element.getAttributeByName(qKey).getValue(); tag.setK(key.intern()); String value = element.getAttributeByName(qVal).getValue();