private Attributes getAttributes() { AttributesImpl attributes = new AttributesImpl(); for (int i = 0; i < this.reader.getAttributeCount(); i++) { String namespace = this.reader.getAttributeNamespace(i); if (namespace == null || !hasNamespacesFeature()) { namespace = ""; } String type = this.reader.getAttributeType(i); if (type == null) { type = "CDATA"; } attributes.addAttribute(namespace, this.reader.getAttributeLocalName(i), toQualifiedName(this.reader.getAttributeName(i)), type, this.reader.getAttributeValue(i)); } if (hasNamespacePrefixesFeature()) { for (int i = 0; i < this.reader.getNamespaceCount(); i++) { String prefix = this.reader.getNamespacePrefix(i); String namespaceUri = this.reader.getNamespaceURI(i); String qName; if (StringUtils.hasLength(prefix)) { qName = "xmlns:" + prefix; } else { qName = "xmlns"; } attributes.addAttribute("", "", qName, "CDATA", namespaceUri); } } return attributes; }
private void handleEndElement() throws SAXException { if (getContentHandler() != null) { QName qName = this.reader.getName(); if (hasNamespacesFeature()) { getContentHandler().endElement(qName.getNamespaceURI(), qName.getLocalPart(), toQualifiedName(qName)); for (int i = 0; i < this.reader.getNamespaceCount(); i++) { String prefix = this.reader.getNamespacePrefix(i); if (prefix == null) { prefix = ""; } endPrefixMapping(prefix); } } else { getContentHandler().endElement("", "", toQualifiedName(qName)); } } }
logRowlevel( "START_ELEMENT / " + vReader.getAttributeCount() + " / " + vReader.getNamespaceCount() ); logRowlevel( "vReader.getLocalName = " + vReader.getLocalName() ); WebServiceField field = meta.getFieldOutFromWsName( vReader.getLocalName(), ignoreNamespacePrefix ); if ( field != null ) { outputRowData[ outputIndex++ ] = getValue( vReader.getElementText(), field ); oneValueRowProcessing = false; } else { if ( meta.getOutFieldContainerName().equals( vReader.getLocalName() ) ) {
private void doNamespaces(XMLStreamReader xsr, LoadContext context) { int n = xsr.getNamespaceCount(); for (int a = 0; a < n; a++) { String prefix = xsr.getNamespacePrefix(a); if (prefix == null || prefix.length() == 0) context.attr("xmlns", _xmlnsUri, null, xsr.getNamespaceURI(a)); else context.attr(prefix, _xmlnsUri, "xmlns", xsr.getNamespaceURI(a)); } }
public static Boolean rootElementMatches(FileResource fileResource, String path, String expectedRootElement, String expectedNameSpace) throws IOException { try (InputStream stream = fileResource.createStream()) { XMLStreamReader reader = factory.createXMLStreamReader(stream); while (reader.hasNext()) { int event = reader.next(); switch (event) { case XMLStreamConstants.START_ELEMENT: String rootElement = reader.getLocalName(); int namespaces = reader.getNamespaceCount(); if (expectedRootElement.equals(rootElement)) { // In case of Java 8 -> for-loops are faster! for (int i = 0; i < namespaces; i++) { String namespaceURI = reader.getNamespaceURI(i); if (expectedNameSpace.equals(namespaceURI)) { return true; } } } return false; } } } catch (XMLStreamException e) { LOGGER.warn("Cannot parse XML file '{}'.", path); } return false; } }
private static ImmutableMap<String, String> parseAttributes(XMLStreamReader reader) { ImmutableMap<String, String> attrs; int attributeCount = reader.getAttributeCount() + reader.getNamespaceCount(); if (attributeCount == 0) { attrs = ImmutableMap.of(); } else { ImmutableMap.Builder<String, String> builder = ImmutableMap.builder(); for (int i = 0; i < reader.getAttributeCount(); i++) { builder.put(reader.getAttributeLocalName(i), reader.getAttributeValue(i)); } attrs = builder.build(); } return attrs; }
private void handleStartElement() throws SAXException { if (getContentHandler() != null) { QName qName = this.reader.getName(); if (hasNamespacesFeature()) { for (int i = 0; i < this.reader.getNamespaceCount(); i++) { startPrefixMapping(this.reader.getNamespacePrefix(i), this.reader.getNamespaceURI(i)); } for (int i = 0; i < this.reader.getAttributeCount(); i++) { String prefix = this.reader.getAttributePrefix(i); String namespace = this.reader.getAttributeNamespace(i); if (StringUtils.hasLength(namespace)) { startPrefixMapping(prefix, namespace); } } getContentHandler().startElement(qName.getNamespaceURI(), qName.getLocalPart(), toQualifiedName(qName), getAttributes()); } else { getContentHandler().startElement("", "", toQualifiedName(qName), getAttributes()); } } }
private void handleStartElement() throws SAXException { if (getContentHandler() != null) { QName qName = this.reader.getName(); if (hasNamespacesFeature()) { for (int i = 0; i < this.reader.getNamespaceCount(); i++) { startPrefixMapping(this.reader.getNamespacePrefix(i), this.reader.getNamespaceURI(i)); } for (int i = 0; i < this.reader.getAttributeCount(); i++) { String prefix = this.reader.getAttributePrefix(i); String namespace = this.reader.getAttributeNamespace(i); if (StringUtils.hasLength(namespace)) { startPrefixMapping(prefix, namespace); } } getContentHandler().startElement(qName.getNamespaceURI(), qName.getLocalPart(), toQualifiedName(qName), getAttributes()); } else { getContentHandler().startElement("", "", toQualifiedName(qName), getAttributes()); } } }
private void extractNamespacesFromTag(final XMLStreamReader reader) throws EntityProviderException { // collect namespaces int namespaceCount = reader.getNamespaceCount(); for (int i = 0; i < namespaceCount; i++) { String namespacePrefix = reader.getNamespacePrefix(i); String namespaceUri = reader.getNamespaceURI(i); foundPrefix2NamespaceUri.put(namespacePrefix, namespaceUri); } }
public static Boolean rootElementMatches(FileResource fileResource, String path, String expectedRootElement, String expectedNameSpace) throws IOException { boolean result = false; try (InputStream stream = fileResource.createStream()) { XMLStreamReader reader = factory.createXMLStreamReader(stream); if (reader.hasNext()) { int event = reader.next(); switch (event) { case XMLStreamConstants.START_ELEMENT: String rootElement = reader.getLocalName(); int namespaces = reader.getNamespaceCount(); if (!expectedRootElement.equals(rootElement)) { break; } // In case of Java 8 -> for-loops are faster! for (int i = 0; i < namespaces; i++) { String namespaceURI = reader.getNamespaceURI(i); if (expectedNameSpace.equals(namespaceURI)) { result = true; break; } } break; } } } catch (XMLStreamException e) { LOGGER.warn("Cannot parse XML file '{}'.", path); } return result; }
private void writeAtributes(XMLStreamReader parser, int indent) throws IOException { formatter.incrementIndentBy(indent); for (int i = 0; i < parser.getAttributeCount(); i++) { if (parser.getNamespaceCount() > 0 || i != 0) { formatter.printNewLine(); formatter.indent(); } formatter.writeText(" "); formatter.writeAttribute(parser.getAttributePrefix(i), parser.getAttributeLocalName(i), parser.getAttributeValue(i)); } formatter.decrementIndentBy(indent); }
private void handleEndElement() throws SAXException { if (getContentHandler() != null) { QName qName = this.reader.getName(); if (hasNamespacesFeature()) { getContentHandler().endElement(qName.getNamespaceURI(), qName.getLocalPart(), toQualifiedName(qName)); for (int i = 0; i < this.reader.getNamespaceCount(); i++) { String prefix = this.reader.getNamespacePrefix(i); if (prefix == null) { prefix = ""; } endPrefixMapping(prefix); } } else { getContentHandler().endElement("", "", toQualifiedName(qName)); } } }
private Attributes getAttributes() { AttributesImpl attributes = new AttributesImpl(); for (int i = 0; i < this.reader.getAttributeCount(); i++) { String namespace = this.reader.getAttributeNamespace(i); if (namespace == null || !hasNamespacesFeature()) { namespace = ""; } String type = this.reader.getAttributeType(i); if (type == null) { type = "CDATA"; } attributes.addAttribute(namespace, this.reader.getAttributeLocalName(i), toQualifiedName(this.reader.getAttributeName(i)), type, this.reader.getAttributeValue(i)); } if (hasNamespacePrefixesFeature()) { for (int i = 0; i < this.reader.getNamespaceCount(); i++) { String prefix = this.reader.getNamespacePrefix(i); String namespaceUri = this.reader.getNamespaceURI(i); String qName; if (StringUtils.hasLength(prefix)) { qName = "xmlns:" + prefix; } else { qName = "xmlns"; } attributes.addAttribute("", "", qName, "CDATA", namespaceUri); } } return attributes; }
private void readNamespaces(XMLStreamReader reader, Map namespaces) { for (int i = 0; i < reader.getNamespaceCount(); i++) { String prefix = reader.getNamespacePrefix(i); if (prefix == null) prefix = ""; namespaces.put(prefix, reader.getNamespaceURI(i)); } }
private void handleEndElement() throws SAXException { if (getContentHandler() != null) { QName qName = reader.getName(); if (hasNamespacesFeature()) { getContentHandler().endElement(qName.getNamespaceURI(), qName.getLocalPart(), toQualifiedName(qName)); for (int i = 0; i < reader.getNamespaceCount(); i++) { String prefix = reader.getNamespacePrefix(i); if (prefix == null) { prefix = ""; } endPrefixMapping(prefix); } } else { getContentHandler().endElement("", "", toQualifiedName(qName)); } } }
private void handleEndElement() throws SAXException { processText(false); // fire endElement tagName.uri = fixNull(staxStreamReader.getNamespaceURI()); tagName.local = staxStreamReader.getLocalName(); visitor.endElement(tagName); // end namespace bindings int nsCount = staxStreamReader.getNamespaceCount(); for (int i = nsCount - 1; i >= 0; i--) { visitor.endPrefixMapping(fixNull(staxStreamReader.getNamespacePrefix(i))); } }
private void addCurrentNamespaceDecls(XMLStreamReader xmlReader, Map<String, String> bodyNsMap) { for (int i = 0; i < xmlReader.getNamespaceCount(); i++) { String nsuri = xmlReader.getNamespaceURI(i); if ("".equals(nsuri)) { bodyNsMap.remove(""); } else { bodyNsMap.put(xmlReader.getNamespacePrefix(i), nsuri); } } }
@SuppressWarnings("unchecked") public void parse(XMLStreamReader xtr, BpmnModel model) throws Exception { model.setTargetNamespace(xtr.getAttributeValue(null, TARGET_NAMESPACE_ATTRIBUTE)); for (int i = 0; i < xtr.getNamespaceCount(); i++) { String prefix = xtr.getNamespacePrefix(i); if (StringUtils.isNotEmpty(prefix)) { model.addNamespace(prefix, xtr.getNamespaceURI(i)); } } for (int i = 0; i < xtr.getAttributeCount(); i++) { ExtensionAttribute extensionAttribute = new ExtensionAttribute(); extensionAttribute.setName(xtr.getAttributeLocalName(i)); extensionAttribute.setValue(xtr.getAttributeValue(i)); if (StringUtils.isNotEmpty(xtr.getAttributeNamespace(i))) { extensionAttribute.setNamespace(xtr.getAttributeNamespace(i)); } if (StringUtils.isNotEmpty(xtr.getAttributePrefix(i))) { extensionAttribute.setNamespacePrefix(xtr.getAttributePrefix(i)); } if (!BpmnXMLUtil.isBlacklisted(extensionAttribute, defaultAttributes)) { model.addDefinitionsAttribute(extensionAttribute); } } } }
private void addCurrentNamespaceDecls(XMLStreamReader xmlReader, Map<String, String> bodyNsMap) { for (int i = 0; i < xmlReader.getNamespaceCount(); i++) { String nsuri = xmlReader.getNamespaceURI(i); if ("".equals(nsuri)) { bodyNsMap.remove(""); } else { bodyNsMap.put(xmlReader.getNamespacePrefix(i), nsuri); } } }
private void handleStartElement() throws SAXException { if (getContentHandler() != null) { QName qName = this.reader.getName(); if (hasNamespacesFeature()) { for (int i = 0; i < this.reader.getNamespaceCount(); i++) { startPrefixMapping(this.reader.getNamespacePrefix(i), this.reader.getNamespaceURI(i)); } for (int i = 0; i < this.reader.getAttributeCount(); i++) { String prefix = this.reader.getAttributePrefix(i); String namespace = this.reader.getAttributeNamespace(i); if (StringUtils.hasLength(namespace)) { startPrefixMapping(prefix, namespace); } } getContentHandler().startElement(qName.getNamespaceURI(), qName.getLocalPart(), toQualifiedName(qName), getAttributes()); } else { getContentHandler().startElement("", "", toQualifiedName(qName), getAttributes()); } } }