Search in sources :

Example 16 with Namespace

use of javax.xml.stream.events.Namespace in project cxf by apache.

the class CorbaStreamReader method getNamespaceURI.

public String getNamespaceURI(int arg0) {
    List<Namespace> namespaces = eventProducer.getNamespaces();
    if (namespaces == null) {
        return null;
    }
    Namespace ns = namespaces.get(arg0);
    if (ns != null) {
        return ns.getNamespaceURI();
    }
    return null;
}
Also used : Namespace(javax.xml.stream.events.Namespace)

Example 17 with Namespace

use of javax.xml.stream.events.Namespace in project cxf by apache.

the class StaxUtils method readDocElement.

public static Node readDocElement(Document doc, Node parent, XMLEvent ev, StreamToDOMContext context) throws XMLStreamException {
    switch(ev.getEventType()) {
        case XMLStreamConstants.START_ELEMENT:
            {
                context.incrementCount();
                Element e;
                StartElement startElem = ev.asStartElement();
                QName name = startElem.getName();
                if (!StringUtils.isEmpty(name.getPrefix())) {
                    e = doc.createElementNS(name.getNamespaceURI(), name.getPrefix() + ":" + name.getLocalPart());
                } else {
                    e = doc.createElementNS(name.getNamespaceURI(), name.getLocalPart());
                }
                e = (Element) parent.appendChild(e);
                if (context.isRecordLoc()) {
                    context.setRecordLoc(addLocation(doc, e, startElem.getLocation(), context.isRecordLoc()));
                }
                if (context.isRepairing() && !isDeclared(e, name.getNamespaceURI(), name.getPrefix())) {
                    declare(e, name.getNamespaceURI(), name.getPrefix());
                }
                context.pushToStack(parent);
                if (context.isThreshold() && innerElementLevelThreshold != -1 && context.getStackSize() >= innerElementLevelThreshold) {
                    throw new DepthExceededStaxException("reach the innerElementLevelThreshold:" + innerElementLevelThreshold);
                }
                if (context.isThreshold() && innerElementCountThreshold != -1 && context.getCount() >= innerElementCountThreshold) {
                    throw new DepthExceededStaxException("reach the innerElementCountThreshold:" + innerElementCountThreshold);
                }
                parent = e;
                break;
            }
        case XMLStreamConstants.END_ELEMENT:
            if (context.isStackEmpty()) {
                return parent;
            }
            parent = context.popFromStack();
            if (parent instanceof Document || parent instanceof DocumentFragment) {
                return parent;
            }
            break;
        case XMLStreamConstants.NAMESPACE:
            Namespace ns = (Namespace) ev;
            declare((Element) parent, ns.getNamespaceURI(), ns.getPrefix());
            break;
        case XMLStreamConstants.ATTRIBUTE:
            Attribute at = (Attribute) ev;
            QName qname = at.getName();
            String attName = qname.getLocalPart();
            String attPrefix = qname.getPrefix();
            if (attPrefix != null && attPrefix.length() > 0) {
                attName = attPrefix + ":" + attName;
            }
            Attr attr = doc.createAttributeNS(qname.getNamespaceURI(), attName);
            attr.setValue(at.getValue());
            ((Element) parent).setAttributeNode(attr);
            break;
        case XMLStreamConstants.CHARACTERS:
            if (parent != null) {
                Characters characters = ev.asCharacters();
                context.setRecordLoc(addLocation(doc, parent.appendChild(doc.createTextNode(characters.getData())), characters.getLocation(), context.isRecordLoc()));
            }
            break;
        case XMLStreamConstants.COMMENT:
            if (parent != null) {
                parent.appendChild(doc.createComment(((javax.xml.stream.events.Comment) ev).getText()));
            }
            break;
        case XMLStreamConstants.CDATA:
            Characters characters = ev.asCharacters();
            context.setRecordLoc(addLocation(doc, parent.appendChild(doc.createCDATASection(characters.getData())), characters.getLocation(), context.isRecordLoc()));
            break;
        case XMLStreamConstants.PROCESSING_INSTRUCTION:
            parent.appendChild(doc.createProcessingInstruction(((ProcessingInstruction) ev).getTarget(), ((ProcessingInstruction) ev).getData()));
            break;
        case XMLStreamConstants.ENTITY_REFERENCE:
            javax.xml.stream.events.EntityReference er = (javax.xml.stream.events.EntityReference) ev;
            parent.appendChild(doc.createEntityReference(er.getName()));
            break;
        default:
            break;
    }
    return parent;
}
Also used : Comment(org.w3c.dom.Comment) Attribute(javax.xml.stream.events.Attribute) QName(javax.xml.namespace.QName) StartElement(javax.xml.stream.events.StartElement) Element(org.w3c.dom.Element) Characters(javax.xml.stream.events.Characters) Document(org.w3c.dom.Document) StartDocument(javax.xml.stream.events.StartDocument) Namespace(javax.xml.stream.events.Namespace) Attr(org.w3c.dom.Attr) StartElement(javax.xml.stream.events.StartElement) EntityReference(org.w3c.dom.EntityReference) DocumentFragment(org.w3c.dom.DocumentFragment) ProcessingInstruction(org.w3c.dom.ProcessingInstruction)

Aggregations

Namespace (javax.xml.stream.events.Namespace)17 QName (javax.xml.namespace.QName)10 Attribute (javax.xml.stream.events.Attribute)7 Iterator (java.util.Iterator)6 ArrayList (java.util.ArrayList)4 LinkedHashMap (java.util.LinkedHashMap)1 NamespaceContext (javax.xml.namespace.NamespaceContext)1 Characters (javax.xml.stream.events.Characters)1 EndElement (javax.xml.stream.events.EndElement)1 StartDocument (javax.xml.stream.events.StartDocument)1 StartElement (javax.xml.stream.events.StartElement)1 Attr (org.w3c.dom.Attr)1 Comment (org.w3c.dom.Comment)1 Document (org.w3c.dom.Document)1 DocumentFragment (org.w3c.dom.DocumentFragment)1 Element (org.w3c.dom.Element)1 EntityReference (org.w3c.dom.EntityReference)1 ProcessingInstruction (org.w3c.dom.ProcessingInstruction)1 AttributesImpl (org.xml.sax.helpers.AttributesImpl)1