Package org.exist.xquery.value

Examples of org.exist.xquery.value.NodeValue


                    propertyName = "IS_VALID";
                } else {
                    logger.error("Unknown spatial property: " + mySignature.getName().getLocalName());
                    throw new XPathException("Unknown spatial property: " + mySignature.getName().getLocalName());
                }
                NodeValue geometryNode = (NodeValue)nodes.itemAt(0);
                if (geometryNode.getImplementationType() == NodeValue.PERSISTENT_NODE) {
                    //The node should be indexed : get its property
                    result = indexWorker.getGeometricPropertyForNode(context, (NodeProxy)geometryNode, propertyName);
                    hasUsedIndex = true;
                } else {
                    //builds the geometry
                    sourceCRS = ((Element)geometryNode.getNode()).getAttribute("srsName").trim();
                    geometry = indexWorker.streamNodeToGeometry(context, geometryNode);
                    if (geometry == null) {
                        logger.error("Unable to get a geometry from the node");
                        throw new XPathException("Unable to get a geometry from the node");
                    }
View Full Code Here


                if (indexWorker == null) {
                    logger.error("Unable to find a spatial index worker");
                    throw new XPathException("Unable to find a spatial index worker");
                }
                Geometry EPSG4326_geometry = null;
                NodeValue geometryNode = (NodeValue) args[1].itemAt(0);
                if (geometryNode.getImplementationType() == NodeValue.PERSISTENT_NODE)
                    //Get the geometry from the index if available
                    EPSG4326_geometry = indexWorker.getGeometryForNode(context.getBroker(), (NodeProxy)geometryNode, true);
                if (EPSG4326_geometry == null) {
                    String sourceCRS = ((Element)geometryNode.getNode()).getAttribute("srsName").trim();
                    Geometry geometry = indexWorker.streamNodeToGeometry(context, geometryNode);
                    EPSG4326_geometry = indexWorker.transformGeometry(geometry, sourceCRS, "EPSG:4326");
                }
                if (EPSG4326_geometry == null) {
                    logger.error("Unable to get a geometry from the node");
View Full Code Here

                builder.addAttribute( new QName( "updateCount", null, null ), String.valueOf( stmt.getUpdateCount() ) );
                builder.endElement();
            }

            // Change the root element count attribute to have the correct value
            NodeValue node  = (NodeValue)builder.getDocument().getDocumentElement();
            Node      count = node.getNode().getAttributes().getNamedItem( "count" );

            if( count != null ) {
                count.setNodeValue( String.valueOf( iRow ) );
            }
View Full Code Here

    public Sequence eval(Sequence[] args, Sequence contextSequence) throws XPathException {
        context.pushDocumentContext();
        try {
            ExtendedXMLStreamReader reader;
            NodeValue nv = (NodeValue) args[0].itemAt(0);
            if (nv.getImplementationType() == NodeValue.IN_MEMORY_NODE) {
                NodeImpl node = (NodeImpl) nv;
                reader = new InMemoryXMLStreamReader(node.getDocument(), node.getDocument());
            } else {
                NodeProxy proxy = (NodeProxy) nv;
                reader = context.getBroker().newXMLStreamReader(new NodeProxy(proxy.getDocument(), NodeId.DOCUMENT_NODE, proxy.getDocument().getFirstChildAddress()), false);
            }

            nv = (NodeValue) args[1].itemAt(0);
            if (nv.getImplementationType() == NodeValue.IN_MEMORY_NODE)
                throw new XPathException("patch cannot be applied to in-memory documents");
            NodeProxy diffProxy = (NodeProxy) nv;
            DocumentImpl diff = diffProxy.getDocument();
       
            MemTreeBuilder builder = context.getDocumentBuilder();
            DocumentBuilderReceiver receiver = new DocumentBuilderReceiver(builder);
            Patch patch = new Patch(context.getBroker(), diff);
            if (isCalledAs("annotate"))
                patch.annotate(reader, receiver);
            else
                patch.patch(reader, receiver);
            NodeValue result = (NodeValue) builder.getDocument().getDocumentElement();
            return result == null ? Sequence.EMPTY_SEQUENCE : result;
        } catch (IOException e) {
            throw new XPathException(this, e.getMessage(), e);
        } catch (XMLStreamException e) {
            throw new XPathException(this, e.getMessage(), e);
View Full Code Here

          }
          builder.endElement();
         
          // Change the root element count attribute to have the correct value
         
          NodeValue node = (NodeValue)builder.getDocument().getDocumentElement();

          Node count = node.getNode().getAttributes().getNamedItem("count");
         
          if(count != null)
          {
            count.setNodeValue(String.valueOf(iRow));
          }
View Full Code Here

    protected Properties parseOptions(Sequence contextSequence, Item contextItem) throws XPathException {
        if (getArgumentCount() < 3)
            return null;
        Properties options = new Properties();
        Sequence optSeq = getArgument(2).eval(contextSequence, contextItem);
        NodeValue optRoot = (NodeValue) optSeq.itemAt(0);
        try {
            XMLStreamReader reader = context.getXMLStreamReader(optRoot);
            reader.next();
             reader.next();
            while (reader.hasNext()) {
View Full Code Here

        MatchCallback matchCb = new MatchCallback(func, docBuilder);
        Serializer serializer = context.getBroker().getSerializer();
        serializer.reset();
        ValueSequence result = new ValueSequence();
        for (SequenceIterator i = args[0].iterate(); i.hasNext(); ) {
            NodeValue v = (NodeValue) i.nextItem();
            try {
                int nodeNr = builder.getDocument().getLastNode();
                if (v.getImplementationType() == NodeValue.IN_MEMORY_NODE) {
                    ((NodeImpl)v).copyTo(context.getBroker(), docBuilder);
                } else {
                    NodeProxy p = (NodeProxy) v;
                    MatchListener ml = index.getMatchListener(context.getBroker(), p, matchCb);
                    Receiver receiver;
View Full Code Here

            */

            // Node provided
            Serializer serializer = context.getBroker().newSerializer();

            NodeValue node = (NodeValue) item;
            return new NodeInputStream(serializer, node);
        }
        else {
            LOG.error("Wrong item type " + Type.getTypeName(item.getType()));
            throw new XPathException("wrong item type " + Type.getTypeName(item.getType()));
View Full Code Here

      SAXDecoder decoder = new SAXDecoder(exiFactory);
      SAXAdapter adapter = new AppendingSAXAdapter(builder);
            decoder.setContentHandler(adapter);
            decoder.parse(new InputSource(exiBinary.getInputStream()));
       
        NodeValue node  = (NodeValue)builder.getDocument().getDocumentElement();
        return node;
    }
    catch(EXIException exie) {
      throw new XPathException(this, new JavaErrorCode(exie.getCause()), exie.getMessage());
    }
View Full Code Here

        ProcessorAdapter adapter = null;
        try {
            adapter = ((XSLFOModule)getParentModule()).getProcessorAdapter();

            NodeValue configFile = args.length == 4 ? (NodeValue)args[3].itemAt(0) : null;
            ByteArrayOutputStream baos = new ByteArrayOutputStream();

            ContentHandler contentHandler = adapter.getContentHandler(context.getBroker(), configFile, parameters, mimeType, baos);

            // process the XSL-FO
View Full Code Here

TOP

Related Classes of org.exist.xquery.value.NodeValue

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.