?? changelog
字號:
* XQResolveNames.java (walkApplyExp): Use new XQuery-specific function for RESOLVE_URI_BUILTIN. * XQParser.java (parseQName): Remove misleading-named method. (parseNamedNodeType): Inline parseQName, with fixes. * XQParser.java (parseNameTest): Also pass prefix to Symbol.make. Default element namespace must be resolved a resolve-time. Inline Symbol.make if constant - but later. (makeNamespaceDecl): Don't need to intern already-intered prefix. (namespaceResolve): Minor optimization. Handle the DEFAULT_ELEMENT_PREFIX case. * XQResolveNames.java (walkApplyExp): If if prefix for resolvePrefix is null, which it is for the default namespace. * XQParser.java (parse): Fix various problems with 'default collation'. Error if duplicate seen. Resolve relative collation against base-uri. Don't return early on error, since that causes needless parse errors. Include error codes in messages. * XQResolveNames.java (DEFAULT_COLLATION_BUILTIN): New constant, (<init>): Push fn:default-collation. (walkApplyExp): Handle DEFAULT_COLLATION_BUILTIN.2006-10-16 Per Bothner <per@bothner.com> * XQParser.java (seenDeclaration): New flag to catch errors where namespace declaration etc follow var/function/option decl. * XQParser.java (DECLARE_OPTION_TOKEN): New constant. (peekOperand): Recognize 'declare option'. (parse): Handle DECLARE_OPTION_TOKEN. (handleOption): New method. * XQParser.java (parse): Complain about duplicate namespace prefix. (pushNamespace): Remove now-redundant intern. (builtinNamespaces): New static field. Initialize by clinit. Remove support for 'xdt' prefix. (pushStandardNamespaces): Simplify - now just iterate over builtinNamespaces and makeNamespaceDecl+push for each. Imline now-simplified function init <init>. * XQResolveNames.java (namespaceResolve): Move to ... * XQParser.java (namespaceResolve): ... here. * XQResolveNames.java: Update callers of namespaceResolve. * XQResolveNames.java (push): Move check for bad namespace uri for function to ... * XQParser.java (parseFunctionDefinition): ... here so we can catch the error at parse-time. * XQParser.java (makeFunctionExp): Simplify using new method getDeclarationValueFromStatic in Declaration.2006-10-15 Per Bothner <per@bothner.com> * XQParser.java (warnOldVersion): New convenience method. Call it lots of places we used to check for warnOldVersion. * XQParser.java (parseContext): New field, to catch some context-dependent errors. (parseDataType): Error if disallowed types in cast context. (parseBinaryExpr): Set parseContext so we can catch above error. * XQParser.java (errorIfComment): New field. (skipComment): Emit error if errorIfComment is non-null. (parseEnclosedExpr): Save/clear/restore errorIfComment. (parseElementConstructor): Disallow comments in direct constructor. Error if QName does not immeditately follow '</'. * XQParser.java (parseElementConstructor): Error if there are duplicate namespace declaration attributes. * XQParser.java (parseContent): Normalize attribute whitespace. Complain if literal '<' in attribute value. * XQParser.java (getRawToken): Check there is a separator after number. * XQParser.java (makeCDATA): New static field. (parseXMLConstructor): Use makeCDATA field to parse CDATA. (parseContent): Boundary-space not skippable before/after CDATA. * XQParser.java (parseIfExpr): Don't use parseParenExpr, because that allows an missing expression, which is not allowed here. * XQParser.java (parse): Fix bad parse of 'at' in 'import module'.2006-10-15 Per Bothner <per@bothner.com> * XQParser.java (parseFLWRExpression): Coerce let value to its type. (parse): Coerce 'declare variable' value to its type. * XQParser.java (getExternalFunction): New static field. (parse): Use new field. * XQResolveNames.java (walkSetExp): Don't make declaration private for 'local' namespace if variabel is external. * XQResolveNames.java (push): Check for disallowed uri of function. Print error if duplicate variable declaration in same scope. * XQParser.java (parseFLWRExpression): Pass error code to new error variant. * XQuery.java (isNameStart, isNamePart): Removed, since now in gnu.xml.XPath. Update callers. (checkSeparator): Nwe convenience method. (parseXMLConstructor): Check that tag name immediately follows '<'. * XQuery.java (SCHEMA_INSTANCE_NAMESPACE): New URI, for xsi. (XQUERY_FUNCTION_NAMESPACE, LOCAL_NAMESPACE): Update URIs. * XQParser.java (pushStandardNamespaces): Bind "xsi" prefix to SCHEMA_INSTANCE_NAMESPACE.2006-10-13 Per Bothner <per@bothner.com> * XQResolveNames.java (HANDLE_EXTENSION_BUILTIN): New constant. (handleExtensionDecl): New static. (walkApplyExp): Handle HANDLE_EXTENSION_BUILTIN. (checkPragma): New method. * XQParser.java (parseMaybePrimaryExpr): Re-do handling of PRAGMA_START_TOKEN. Use handleExtensionDecl. Check errors.2006-10-12 Per Bothner <per@bothner.com> * XQResolveNames.java (walkApplyExp): Fix typo. * XQResolveNames.java (NUMBER_BUILTIN): New constant. (<init>): Push number function. (walkApplyExp): Handle fn:number. * XQuery.java (initXQuery): No number declare fn:number here.2006-10-07 Per Bothner <per@bothner.com> * XQuery.java (initXQuery): Declare fn:insert-before, fn:tokenize, and fn:resolve-QName.2006-09-30 Per Bothner <per@bothner.com> * XQResolveNames.java (MIN_BUILTIN, MAX_BUILTIN): New constants. (<init>): Declare new builtins. (walkApplyExp): Handle new builtins. * XQuery.java (initXQuery): No longer declare fn:min and fn:max here. * XQParser.java (parseNameSpec): Use parseNameTest so we get correct namespace-resolution. And then inline into single caller, parseMaybePrimaryExpr. * XQParser.java (parseXMLConstructor): Check for correct syntax, specifically whitespace, of direct processing-instruction constructor. * XQParser.java (parseCount, commentCount): New fields. (skipComment): Increment commentCount. (parse): Increment parseCount. Warn/error if stuff before XQUERY_VERSION_TOKEN. * XQuery.java (parse): Error if we saw an empty module. * XQuery.java (parse): Don't PARSE_ONE_LINE if reading from a file. * XQParser.java (parse): Fix thinko in logic for checking encoding specification 'xquery version' declaration. * XQParser.java (parseExprSequence): New parameter 'optional'. Error if empty body and optional is false. (parseStepQualifiers, parseParenExpr, parseMaybePrimaryExpr): Update callers. (parseStepQualifiers): Error if unexpected EOF_TOKEN. * XQParser.java (parseXMLConstructor): Improved error message.2006-09-29 Per Bothner <per@bothner.com> * XQParser.java (warnHidePreviousDeclaration): New flag field, currently off. * XQResolveNames.java (push): Only warn about hidden previous declaration of warnHidePreviousDeclaration.2006-09-28 Per Bothner <per@bothner.com> * XQResolveNames.java (IMPLICIT_TIMEZONE_BUILTIN, LANG_BUILTIN, NAME_BUILTIN): New constants. (<init>): Declare new builtins. (walkApplyExp): Handle new builtins. (currentTimezoneDecl): New field. (resolveModule): Initialzie currentTimezoneDecl if needed. * XQResolveNames.java (withContext): Add code to error message. * XQuery.java (initXQuery): Declare fn:document-uri. * XQParser.java (OP_EQ, OP_NE, OP_LT, OP_LE, OP_GT, OP_NE): New token constants for 'eq' etc, distinct from OP_EQU for '=' etc. (peekOperator): Fix to return new tokens. (prioty): Update for new tokens. (makeBinary): Update for new token. * XQuery.java (initXQuery): Declare fn:error. * XQuery.java (initXQuery): Declare fn:remove function. * XQuery.java (initXQuery): Fix fn:not function to use new BooleanValue.not method.2006-09-26 Per Bothner <per@bothner.com> * XQParser.java (enclosedExpressionsSeen): New field. (parseContent): Increment enclosedExpressionsSeen. (parseElementConstructor): Use enclosedExpressionsSeen to detect non-literal namespace declaration. * XQResolveNames.java (walkApplyExp): Check for duplicate attributes in MakeElement call. Remove excess increment of loop counter. * XQuery.java (initXQuery): Declare fn:codepoint-equal and fn:dateTime.2006-09-19 Per Bothner <per@bothner.com> * XQParser.java: Add support for Extenssion Expressions and pragmas. (PRAGMA_START_TOKEN): New token constant. (getRawToken): Recognize PRAGMA_START_TOKEN. (parseMaybePrimaryExpr): Handle PRAGMA_START_TOKEN and parse an Extension Expression.2006-09-17 Per Bothner <per@bothner.com> * XQParser.java (baseURIDeclarationSeen): New field. (parse): Complain if duplicate base-uri declaration. (parseEntityOrCharRef): Check that char ref is valid XML character. (parseXMLConstructor): Check for invalid comment contents. (parse): Fix error code for duplicate copy-namespaces declaration. (parse): Invalid version number should be error, not warning. (parse): Check that encoding has valid form.2006-08-27 Per Bothner <per@bothner.com> * XQResolveNames.java (DEEP_EQUAL_BUILTIN): New constant. (<init>): Define fn:deep-equal. (walkApplyExp): Map deep-equal to SequenceUtils.deepEqual.2006-08-23 Per Bothner <per@bothner.com> * XQuery.java (makeClassName): New static method. * XQParser.java (parse): Change handling of module declaration. Generated class name now depends on URI *and& makeClassName. Fix handling of module import to handle multiple modules, and handle 'at' location "hint".2006-08-23 Per Bothner <per@bothner.com> * XQParser.java (parse): Set file/line on initializer of external variables. * XQParser.java (parse): Complain about zero-length namespace in module import.2006-08-22 Per Bothner <per@bothner.com> * XQuery.java (getCompilation): New method. (parse): Change interface, with passed-in Compilation. Merge existing and new expressions in passed-in ModuleExp.2006-08-18 Per Bothner <per@bothner.com> * XQResolveNames.java (CURRENT_DATETIME_BUILTIN, CURRENT_DATE_BUILTIN, CURRENT_TIME_BUILTIN): New constants. (currentDateTimeDecl; currentDateDecl, currentTimeDecl): New fields. (resolveModule): New method generates code to initialize the above declarations. (walkApplyExp): Handle fn:current-dataTime, fn:current-date, and fn:current-time standard functions.2006-08-17 Per Bothner <per@bothner.com> * XQParser.java (parseItemType): The sementics of empty-sequence() don't really match those of Type.void_type. * XQParser.java (parseItemType): Emit error if unknown type. * XQParser.java (parseFLWRExpression): Also reset flworDeclsCount when done. * XQParser.java (parseUnaryExpr): Fix precedence by recursively calling parseUnaryExpr instead of parseUnionExpr.2006-06-28 Per Bothner <per@bothner.com> * XQParser.java: Update to use Symbol.makeUninterned. (parseNamedNodeType, parseQName): Use new ElementType.MATCH_ANY_QNAME. (parseNameTest): Cleaner handling of the any-namespace case. Remove redundant intern call. * XQResolveNames.java: Update SName -> Symbol. * XQuery.java (typeMap, getExternal): Likewise.2006-06-10 Per Bothner <per@bothner.com> * XQuery.java (initXQuery): Fix packages names for functions in TimeUtils class.2006-05-31 Per Bothner <per@bothner.com> * XQuery.java (evalToFocusProc): Update ModuleExp.evalModule call.2006-05-25 Per Bothner <per@bothner.com> Handle module dependencies and cycles. * XQParser.java (parse): Pass ModuleInfo to require.importDefinitions. * XQuery.java (parse): Use new Compilation.pushNewModule method. 2006-05-21 Per Bothner <per@bothner.com> * XQParser.java (parse): Fix typo in error message.2006-04-11 Per Bothner <per@bothner.com> * XQuery.java (instance): Make public.2006-03-27 Per Bothner <per@bothner.com> * XQuery.java (typeMap): Added newly-implemented base64Binary. Added anyAtomicType as an alias for Object.2006-03-26 Per Bothner <per@bothner.com> * XQParser.java (treatAs): New static constant. (emptyOrderDeclarationSeen, boundarySpaceDeclarationSeen, copyNamespacesNoInherit, copyNamespacesNoPreserve, copyNamespacesDeclarationSeen, constructionModeStrip, constructionModeDeclarationSeen): New fields for static context and prolog state. (preserveBoundarySpace): Rename to boundarySpacePreserve. (DEFAULT_ORDER_TOKEN, DECLARE_CONSTRUCTION_TOKEN, DECLARE_COPY_NAMESPACES_TOKEN): New tokens. (peekOperand): Recognize new tokens. (parse): Handle new tokens. Also improve DECLARE_BOUNDARY_SPACE_TOKEN handling. * XQuery.java (initXQuery): Declare fn:data and fn:round. * XQResolveNames.java (NORMALIZE_SPACE_BUILTIN, UNORDERED_BUILTIN): New constants. (<init>): Declare fn:normalize-space and fn:unordered. (walkApplyExp): Handle NORMALIZE_SPACE_BUILTIN and UNORDERED_BUILTIN. * XQuery.java (initXQuery): Declare fn:encode-for-uri, fn:iri-to-uri, fn:escape-html-uri, fn:matches, and fn:replace. * XQParser.java (stringValueMethod): New static final field. (stringValue): Use stringValueMethod, rather than removed field. * XQResolveNames.java (INDEX_OF_BUILTIN,STRING_BUILTIN): New constants. (<init>): Declare 'fn:index-of' and 'fn:string'. (walkApplyExp): Handle INDEX_OF_BUILTIN and STRING_BUILTIN.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -