Examples of DTMDocument


Examples of xbird.xquery.dm.instance.DocumentTableModel.DTMDocument

                docurl = resolvedUri.toURL();
            } catch (MalformedURLException e) {
                throw new DynamicError("Malformed URL: " + resolvedUri, e);
            }
            DocumentManager docmgr = dynEnv.getDocumentManager();
            DTMDocument doc = docmgr.loadDocument(docurl, dynEnv);
            return doc;
        }
    }
View Full Code Here

Examples of xbird.xquery.dm.instance.DocumentTableModel.DTMDocument

            String fname = FileUtils.getFileName(f);
            String dname = fname.substring(0, fname.lastIndexOf('.'));
            if(filterExp != null && !dname.matches(filterExp)) {
                continue;
            }
            final DTMDocument doc;
            if(lazy) {
                doc = new LazyDTMDocument(dname, this, dynEnv);
            } else {
                doc = getDocument(null, dname, dynEnv);
            }
View Full Code Here

Examples of xbird.xquery.dm.instance.DocumentTableModel.DTMDocument

                    if(listlen > 0) {
                        final Map<String, DTMDocument> defaultCollectionMap = new HashMap<String, DTMDocument>(listlen);
                        for(int j = 0; j < listlen; j++) {
                            String name = list.item(j).getTextContent();
                            String docName = name + ".xml";
                            DTMDocument testDataDoc = _docCache.get(name);
                            if(testDataDoc == null) {
                                File testDataFile = new File(xqtsDir, docName);
                                DocumentTableModel dtm = new DocumentTableModel(false);
                                dtm.loadDocument(new FileInputStream(testDataFile));
                                testDataDoc = dtm.documentNode();
                                _docCache.put(name, testDataDoc);
                            }
                            defaultCollectionMap.put(docName, testDataDoc);
                            // import namespace decl
                            Map<String, String> nsmap = testDataDoc.documentTable().getDeclaredNamespaces();
                            NamespaceBinder nsResolver = statEnv.getStaticalyKnownNamespaces();
                            nsResolver.declarePrefixs(nsmap);
                        }
                        statEnv.setDefaultCollection(defaultCollectionMap);
                    }
                }
            }
            Sequence<? extends Item> contextItem = null;
            {// ((//*:test-group)//*:test-case)/*:contextItem
                String contextItemRef = xpath.evaluate("./*[local-name()='contextItem']/text()", testCase);
                if(contextItemRef != null && contextItemRef.length() > 0) {
                    String contextItemFileRef = xpath.evaluate("/*[local-name()='test-suite']/*[local-name()='sources']/*[local-name()='source']/@FileName[../@ID='"
                            + contextItemRef + "']", catalog);
                    DTMDocument contextItemDoc = _docCache.get(contextItemRef);
                    if(contextItemDoc == null) {
                        File contextItemFile = new File(xqtsDir, contextItemFileRef);
                        DocumentTableModel dtm = new DocumentTableModel(false);
                        dtm.loadDocument(new FileInputStream(contextItemFile));
                        contextItemDoc = dtm.documentNode();
View Full Code Here

Examples of xbird.xquery.dm.instance.DocumentTableModel.DTMDocument

                        QualifiedName varName = QNameTable.instantiate(XMLConstants.DEFAULT_NS_PREFIX, varNameStr);
                        Variable var = new Variable.GlobalVariable(varName, null);
                        var.setResult(new XString(dest));
                        xqmod.putVariable(varName, var);
                    } else {
                        DTMDocument testDataDoc = _docCache.get(testDataId);
                        if(testDataDoc == null) {
                            File testDataFile = new File(xqtsDir, testFileRelDir);
                            // load test data
                            DocumentTableModel dtm = new DocumentTableModel(false);
                            dtm.loadDocument(new FileInputStream(testDataFile));
                            testDataDoc = dtm.documentNode();
                            _docCache.put(testDataId, testDataDoc);
                        }
                        // import namespace decl
                        Map<String, String> nsmap = testDataDoc.documentTable().getDeclaredNamespaces();
                        NamespaceBinder nsResolver = statEnv.getStaticalyKnownNamespaces();
                        nsResolver.declarePrefixs(nsmap);
                        // reserve variable
                        QualifiedName varName = QNameTable.instantiate(XMLConstants.DEFAULT_NS_PREFIX, varNameStr);
                        Variable var = new Variable.GlobalVariable(varName, null);
                        var.setResult(testDataDoc);
                        xqmod.putVariable(varName, var);
                    }
                } else {
                    NodeList list = (NodeList) xpath.evaluate("/*[local-name()='test-suite']/*[local-name()='sources']/*[local-name()='collection'][@ID='"
                            + testDataId + "']/*[local-name()='input-document']/text()", catalog, XPathConstants.NODESET);
                    final int listlen = list.getLength();
                    if(listlen > 0) {
                        final NodeSequence<DTMDocument> ret = new NodeSequence<DTMDocument>(new DynamicContext(statEnv));
                        for(int i = 0; i < listlen; i++) {
                            String name = list.item(i).getTextContent();
                            DTMDocument testDataDoc = _docCache.get(name);
                            if(testDataDoc == null) {
                                File testDataFile = new File(xqtsDir, name + ".xml");
                                DocumentTableModel dtm = new DocumentTableModel(false);
                                dtm.loadDocument(new FileInputStream(testDataFile));
                                testDataDoc = dtm.documentNode();
                                _docCache.put(testDataId, testDataDoc);
                            }
                            // import namespace decl
                            Map<String, String> nsmap = testDataDoc.documentTable().getDeclaredNamespaces();
                            NamespaceBinder nsResolver = statEnv.getStaticalyKnownNamespaces();
                            nsResolver.declarePrefixs(nsmap);
                            ret.addItem(testDataDoc);
                        }
                        // reserve variable
View Full Code Here

Examples of xbird.xquery.dm.instance.DocumentTableModel.DTMDocument

                docurl = new URL(unescaped);
            } catch (MalformedURLException e) {
                throw new IllegalStateException("failed to decode as URL: " + unescaped, e);
            }
        }
        final DTMDocument xqdoc;
        if(_sharedCache.containsKey(docurl)) {
            xqdoc = _sharedCache.get(docurl);
        } else {
            final InputStream is;
            boolean parseAsHtml = false;
            try {
                final URLConnection conn = docurl.openConnection();
                // TODO REVIEWME workaround code
                final String contentType = conn.getContentType();
                if(unescaped.endsWith(".html")
                        || (contentType != null && contentType.contains("html"))) {
                    parseAsHtml = true;
                    conn.setRequestProperty("User-agent", "Mozilla/5.0");
                }
                is = conn.getInputStream();
            } catch (IOException e) {
                throw new DynamicError("Openning a document failed: " + unescaped, e);
            }
            final DocumentTableModel dtm = new DocumentTableModel(parseAsHtml);
            try {
                dtm.loadDocument(is, dynEnv);
            } catch (XQueryException e) {
                throw new DynamicError("loading a document failed: " + unescaped, e);
            }
            xqdoc = dtm.documentNode();
            xqdoc.setDocumentUri(unescaped);
            _sharedCache.put(docurl, xqdoc);
        }
        // import namespace decl
        Map<String, String> nsmap = xqdoc.documentTable().getDeclaredNamespaces();
        NamespaceBinder nsResolver = dynEnv.getStaticContext().getStaticalyKnownNamespaces();
        nsResolver.declarePrefixs(nsmap);
        return xqdoc;
    }
View Full Code Here

Examples of xbird.xquery.dm.instance.DocumentTableModel.DTMDocument

            String fname = FileUtils.getFileName(f);
            String dname = fname.substring(0, fname.lastIndexOf('.'));
            if(filterExp != null && !dname.matches(filterExp)) {
                continue;
            }
            final DTMDocument doc;
            if(lazy) {
                doc = new LazyDTMDocument(dname, this, dynEnv);
            } else {
                IDocumentTable doctbl = getDocument(null, dname, dynEnv);
                doc = new DocumentTableModel(doctbl, true).documentNode();
View Full Code Here

Examples of xbird.xquery.dm.instance.DocumentTableModel.DTMDocument

            super(n);
        }

        @Override
        public String documentUri() {
            DTMDocument doc = (DTMDocument) _delegate.getDocumentNode();
            return doc == null ? null : doc.documentUri();
        }
View Full Code Here

Examples of xbird.xquery.dm.instance.DocumentTableModel.DTMDocument

            throw new XQueryException("File not found: " + docPath, fnf);
        } catch (DbException e) {
            throw new XQueryException("Database error", e);
        }
        DocumentTableModel dtm = new DocumentTableModel(doc);
        DTMDocument root = dtm.documentNode();
        return root;
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.