List of usage examples for javax.xml.stream.events Namespace getNamespaceURI
public String getNamespaceURI();
From source file:org.modeldriven.fuml.xmi.stream.StreamContext.java
private void loadNamespaces(XMLEvent root) { List<Namespace> list = new ArrayList<Namespace>(); Iterator<Namespace> namespaceIter = root.asStartElement().getNamespaces(); while (namespaceIter.hasNext()) { Namespace namespace = namespaceIter.next(); list.add(namespace);//from w w w .j a va 2 s. c o m QName name = namespace.getName(); if (log.isDebugEnabled()) log.debug("root namespace: " + name.toString()); String uri = namespace.getValue(); if (!XmiConstants.NAMESPACE_PREFIX.equals(name.getPrefix())) continue; //not a namespace namespaceLocalNameMap.put(name.getLocalPart(), namespace); namespaceURIMap.put(namespace.getNamespaceURI(), namespace); NamespaceDomain domain = FumlConfiguration.getInstance().findNamespaceDomain(uri); if (domain == null) { log.debug("could not find domain for namespace '" + uri + "' - mapping only by local name"); continue; } Namespace existing = this.namespaceDomainMap.get(domain); if (existing != null) throw new XmiException("multiple " + domain.value() + " namespaces (" + existing.getNamespaceURI() + ", " + namespace.getNamespaceURI() + ")"); this.namespaceDomainMap.put(domain, namespace); } // while() if (getXmiNamespace() == null) { throw new XmiException(createNamespaceMessge(NamespaceDomain.XMI)); } if (getUmlNamespace() == null) { throw new XmiException(createNamespaceMessge(NamespaceDomain.UML)); } namespaces = new Namespace[list.size()]; list.toArray(namespaces); }
From source file:org.pentaho.di.trans.steps.xmlinputstream.XMLInputStream.java
@SuppressWarnings("unchecked") private Object[] parseNamespaces(Object[] outputRowData, XMLEvent e) throws KettleValueException, KettleStepException { Iterator<Namespace> iter = e.asStartElement().getNamespaces(); if (iter.hasNext()) { Object[] outputRowDataNamespace = data.outputRowMeta.cloneRow(outputRowData); putRowOut(outputRowDataNamespace); // first put the element name info out // change data_type to ATTRIBUTE if (data.pos_xml_data_type_numeric != -1) { outputRowData[data.pos_xml_data_type_numeric] = new Long(XMLStreamConstants.NAMESPACE); }/*from ww w . j a va 2 s. com*/ if (data.pos_xml_data_type_description != -1) { outputRowData[data.pos_xml_data_type_description] = eventDescription[XMLStreamConstants.NAMESPACE]; } } while (iter.hasNext()) { Object[] outputRowDataNamespace = data.outputRowMeta.cloneRow(outputRowData); Namespace n = iter.next(); outputRowDataNamespace[data.pos_xml_data_name] = n.getPrefix(); outputRowDataNamespace[data.pos_xml_data_value] = n.getNamespaceURI(); if (iter.hasNext()) { // send out the Namespace row putRowOut(outputRowDataNamespace); } else { // last row: this will be sent out by the outer loop outputRowData = outputRowDataNamespace; } } return outputRowData; }