Example usage for javax.xml.stream.events Namespace getNamespaceURI

List of usage examples for javax.xml.stream.events Namespace getNamespaceURI

Introduction

In this page you can find the example usage for javax.xml.stream.events Namespace getNamespaceURI.

Prototype

public String getNamespaceURI();

Source Link

Document

Gets the uri bound to the prefix of this namespace

Usage

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;
}