Package xbird.xquery.misc.QNameTable

Examples of xbird.xquery.misc.QNameTable.QualifiedName


        return ret;
    }

    private static Map<String, DTMDocument> resolveCatalog(DTMDocument catalog, DynamicContext dynEnv)
            throws XQueryException {
        QualifiedName top = catalog.nodeName();
        if(QNameUtil.isSame(top, COLLECTION_CATALOG_NSURI, "collection")) {
            Map<String, DTMDocument> map = new HashMap<String, DTMDocument>();
            for(XQNode child = catalog.firstChild(); child != null; child = child.nextSibling()) {
                QualifiedName sec = child.nodeName();
                if(QNameUtil.isSame(sec, COLLECTION_CATALOG_NSURI, "document")) {
                    String urlstr = child.stringValue();
                    final URL url;
                    try {
                        url = new URL(urlstr);
View Full Code Here


                {// ((//*:test-group)//*:test-case)/*:input-query
                    String inputVarName = xpath.evaluate("./*[local-name()='input-query']/@variable", testCase);
                    if(inputVarName != null && inputVarName.length() > 0) {
                        String dateData = xpath.evaluate("./*[local-name()='input-query']/@date", testCase);
                        assert (dateData != null) : dateData;
                        QualifiedName varName = QNameTable.instantiate(XMLConstants.DEFAULT_NS_PREFIX, inputVarName);
                        Variable var = new Variable.GlobalVariable(varName, null);
                        var.setResult(new DateTimeValue(dateData, DateType.DATE));
                        xqmod.putVariable(varName, var);
                    }
                }
View Full Code Here

                        + testDataId + "']", catalog);
                if(testFileRelDir != null) {
                    if(fromUri) {
                        File testDataFile = new File(xqtsDir, testFileRelDir);
                        String dest = testDataFile.toURI().toString();
                        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
                        QualifiedName varName = QNameTable.instantiate(XMLConstants.DEFAULT_NS_PREFIX, varNameStr);
                        Variable var = new Variable.GlobalVariable(varName, null);
                        var.setResult(ret);
                        xqmod.putVariable(varName, var);
                    }
                }
View Full Code Here

        this._birthid = in.readInt();
    }

    protected void writeExternal(ObjectOutput out) throws IOException {
        out.writeObject(_type);
        final QualifiedName varName = _varName;
        if(varName == null) {
            out.writeBoolean(false);
        } else {
            out.writeBoolean(true);
            varName.writeExternal(out);
        }
        final XQExpression value = _value;
        if(value == null) {
            out.writeBoolean(false);
        } else {
View Full Code Here

        boolean isCopyNamespacesDeclCalled = false;
        boolean isDefaultCollationDeclCalled = false;
        boolean isConstructionDeclCalled = false;
        boolean isOrderingModeDeclCalled = false;
        boolean isEmptyOrderingDeclCalled = false;
        QualifiedName optName = null;
        String optValue = null;
        label_1: while(true) {
            switch(jj_nt.kind) {
                case DeclareConstruction:
                case DeclareDefaultOrder:
View Full Code Here

    [110] TypeDeclaration ::= "as" SequenceType

     TODO: err:XPTY0004, err:XQST0054, err:XP0006
    ************************************************************************/
    final public void parseVarDecl() throws ParseException, XQueryException {
        final QualifiedName varName;
        Type varType = null;
        XQExpression valueExpr = null;
        boolean isExternal = false;
        currentToken = jj_consume_token(DefineVariable);
        // TODO spaces afrer "$"
        currentToken = jj_consume_token(VarName);
        varName = QNameUtil.parse(currentToken.image, namespaceContext, currentModule.getNamespace());
        switch(jj_nt.kind) {
            case As:
                currentToken = jj_consume_token(As);
                varType = parseSequenceType();
                break;
            default:
                jj_la1[22] = jj_gen;
                ;
        }
        switch(jj_nt.kind) {
            case ColonEquals:
                currentToken = jj_consume_token(ColonEquals);
                valueExpr = parseExprSingle();
                break;
            case External:
                currentToken = jj_consume_token(External);
                isExternal = true;
                break;
            default:
                jj_la1[23] = jj_gen;
                jj_consume_token(-1);
                throw new ParseException();
        }
        final Variable variable;
        if(isExternal) {
            Variable extVar = currentModule.getVariable(varName);
            if(extVar != null) {
                variable = extVar;
            } else {
                variable = ExpressionFactory.createExternalVariable(varName, currentModule);
                currentModule.putVariable(varName, variable);
            }
        } else { // internal
            if(isLibraryModule) {
                final String expectedNamespace = currentModule.getNamespace();
                if(expectedNamespace != null) {
                    if(!expectedNamespace.equals(varName.getNamespaceURI())) {
                        error("err:XQST0048");
                    }
                }
            }
            variable = currentModule.declareGlobalVariable(varName, valueExpr); // may causes err:XQ0049
View Full Code Here

        }
    }

    private static ShippedVariable wrapVariableToShip(QueryRequest request, VarRef ref, ValueSequence contextSeq, DynamicContext dynEnv)
            throws XQueryException {
        QualifiedName varname = ref.getName();
        Variable var = ref.getValue();
        Sequence result = var.getResult();
        if(result == null) {
            result = var.eval(contextSeq, dynEnv);
        }
View Full Code Here

    [23] FunctionDecl ::= <"declare" "function"> <QName "("> ParamList? (")" | (<")" "as"> SequenceType)) (EnclosedExpr | "external")
    [26] EnclosedExpr ::= "{" Expr "}"
    ************************************************************************/
    final public void parseFunctionDecl() throws ParseException, XQueryException {
        final UserFunction func;
        final QualifiedName funcName;
        List<ParametricVariable> paramList = Collections.<ParametricVariable> emptyList();
        Type returnType = Untyped.UNTYPED;
        final XQExpression funcBody;
        currentModule.pushVarScope();
        currentToken = jj_consume_token(DefineFunction);
        currentToken = jj_consume_token(QNameLpar);
        funcName = QNameUtil.parse(currentToken.image.substring(0, currentToken.image.length() - 1).trim(), namespaceContext, staticContext.getDefaultFunctionNamespace());
        switch(jj_nt.kind) {
            case VariableIndicator:
                paramList = parseParamList();
                break;
            default:
                jj_la1[24] = jj_gen;
                ;
        }
        switch(jj_nt.kind) {
            case Rpar:
                currentToken = jj_consume_token(Rpar);
                break;
            case RparAs:
                currentToken = jj_consume_token(RparAs);
                returnType = parseSequenceType();
                break;
            default:
                jj_la1[25] = jj_gen;
                jj_consume_token(-1);
                throw new ParseException();
        }
        final String nsuri = funcName.getNamespaceURI();
        if(isLibraryModule) {
            final String tn = currentModule.getNamespace();
            if(tn == null) { // sanity check
                error("err:XQST0046");
            }
View Full Code Here

    [25Param ::= "$" QName TypeDeclaration?
    [110] TypeDeclaration ::= "as" SequenceType
    ************************************************************************/
    final public List<ParametricVariable> parseParamList() throws ParseException, XQueryException {
        final List<ParametricVariable> paramList = new LinkedList<ParametricVariable>();
        QualifiedName paramName;
        ParametricVariable param;
        Type paramType = null;
        currentToken = jj_consume_token(VariableIndicator);
        currentToken = jj_consume_token(VarName);
        paramName = QNameUtil.parse(currentToken.image, namespaceContext, currentModule.getNamespace());
View Full Code Here

                            default:
                                jj_la1[30] = jj_gen;
                                jj_consume_token(-1);
                                throw new ParseException();
                        }
                        QualifiedName itemName = QNameUtil.parse(currentToken.image, namespaceContext, staticContext.getDefaultElementNamespace());
                        itemType = TypeFactory.createAtomicType(itemName, staticContext);
                        break;
                    default:
                        jj_la1[31] = jj_gen;
                        jj_consume_token(-1);
View Full Code Here

TOP

Related Classes of xbird.xquery.misc.QNameTable.QualifiedName

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.