?? changelog
字號:
2007-01-19 Per Bothner <per@bothner.com> * XQResolveNames.java (walkStatements, resolveModule): Remove pointless no-longer-erv-true isNamespaceDecl invocations.2007-01-17 Per Bothner <per@bothner.com> * XQParser.java (parseTypeSwitch): Fix parsing of default case with variable declaration. * XQParser.java (parsePathExpr): Use new rootDocument node for '/' non-infix operator to coerce to document-node. * XQParser.java (baseURI): Change type to Path. (setStaticBaseUri, fixupStaticBaseUri): New methods. (getStaticBaseUri): Try Environment, then LineBufferedReader, then currentPath. Then coerce to an absolute URI. (resolveAgainstBaseUri): Making absolute is no longer done here. * XQuery.java (typeMap): use new XDataType.anyAtomicType. * XQParser.java (parseItemType): Explicitly test for XDataType.anyAtomicType, which is now different from item(). Use SingletonType.getInstance(); for item(). * XQuery.java (initXQuery): Change implementation class of node-name. * XQParser.java (resolveAgainstBaseUri): New method. (parse): Use it to resolve 'default collation'. (parseFLWRExpression): Use it to resolve 'order by' collation. * XQParser.java (parseStepExpr): IF step is 'attribute(....)' then default axis is AXIS_ATTRIBUTE.2007-01-16 Per Bothner <per@bothner.com> * XQuery.java (getTypeFor): Map java.lang.String to stringStringType. * XQuery.java (formatType): New method. * XQParser.java (parseRelativePathExpr): Type dot type to node.2007-01-15 Per Bothner <per@bothner.com> * XQParser.java (parseContent): Make sure we don't skip boundary-space before a CDATA section. Which requires some re-organizing. * XQuery.java (typeMap): Add mappings for normalizedString, token, language, NMTOKEN, Name, NCName, ID, IDREF, and ENTITY.2007-01-14 Per Bothner <per@bothner.com> * XQResolveNames.java: No longer need special handling of current-dateTime etc, since we now use a ThreadLocal. (CURRENT_DATETIME_BUILTIN, CURRENT_DATE_BUILTIN, CURRENT_TIME_BUILTIN, IMPLICIT_TIMEZONE_BUILTIN): Remove constants. (<init>): No longer pushBuiltin on corresponding functions. (walkApplyExp): No longer handle those builtins. (currentDateTimeDecl, currentDateDecl, currentTimeDecl, currentTimezoneDecl): Remove fields. (resolveModule): Remove special hndling of currentDateTimeDecl etc. * XQuery.java (initXQuery): Declarations of current-dateTime, current-date, current-time, implicit-timezone moved to here. * XQParser.java (checkAllowedNamespaceDeclaration): New inConstructor parameter. If true, allow binding xml prefix to its standard value. * XQParser.java (getAxis): Error if AXIS_NAMESPACE. Include error code on error. * XQParser.java (parseContent): Ignore if empty CDATA section. This fixes K2-ComputeConAttr-35.xq and K2-ComputeConAttr-36.xq in XQTS.2007-01-03 Per Bothner <per@bothner.com> * XQParser.java (parse): Use Path's resolve rather than deprecated URI_utils for collation.2007-01-02 Per Bothner <per@bothner.com> * XQParser.java (maybeSetLine): New methods. Set Expression/Declaration file and line - but only if file is non-null. (various places): Use new methods.2006-12-29 Per Bothner <per@bothner.com> * XQuery.java (getTypeFor): Update to map Path to URI. * XQuery.java: Update for move of uriSchemeSpecified from InPort to Path.2006-12-17 Per Bothner <per@bothner.com> * XQuery.java (registerEnvironment): Don't allocate new XQuery.2006-12-06 Per Bothner <per@bothner.com> * XQResolveNames.java: Update for renamed Consumer methods.2006-12-04 Per Bothner <per@bothner.com> * XQParser.java (parse): Get ModuleInfo for this compilation. Update require.importDefinitions calls.2006-12-01 Per Bothner <per@bothner.com> * XQResolveNames.java (COLLECTION_BUILTIN): New constant. (<init>): Declare fn:collection. (walkApplyExp): Handle COLLECTION_BUILTIN. * XQuery.java (initXQuery): Remove declaration of fn:collection.2006-11-29 Per Bothner <per@bothner.com> * XQResolveNames.java (walkApplyExp): Update for moved methods implementing fn:doc and fn:doc-available.2006-11-28 Per Bothner <per@bothner.com> * XQParser.java: Some extra check for library module namespaces. (libraryModuleNamespace): New field. (parse): Set libraryModuleNamespace. Error if duplicate module declaration (parseFunctionDefinition): Error if function namespace differs from library module namespace. (parse): Likewise for 'declare variable'.2006-11-27 Per Bothner <per@bothner.com> Handle multiple functions with the same name and different arity. * XQuery.java (namespaceForFunctions): New static method. (VARIADIC_FUNCTION_NAMESPACE): New constant, (getNamespaceOf): Rewrite - now also encodes argument count. (hasNamespace): New method. * XQParser.java )parseFunctionDefinition): Set OVERLOADABLE_FIELD flag. (parsePathExpr, parseNodeTest, parseStepExpr): Change to match new namespace int convention, * XQResolveNames.java (walkReferenceExp(ReferenceExp,ApplyExp)): New method. If a called function, encode arg count in namespace. (walkApplyExp): Call walkReferenceExp on caller if appropriate. (withContext): Update for new namespace encoding. * XQParser.java (parseFunctionDefinition): Try to recover from syntax error in parameter list.2006-11-26 Per Bothner <per@bothner.com> * XQuery.java (initXQuery): Declare fn:collection.2006-11-25 Per Bothner <per@bothner.com> * XQParser.java: Update XDataType -> TextUtils. * XQResolveNames.java: Upadte StringValue -> TextUtils. * XQuery.java: Add declaration of fn:normalize-unicode.2006-11-24 Per Bothner <per@bothner.com> * XQParser.java (parseDataType): Re-organize so we get error message if we see empty-sequence for 'cast as'/'castable as'. * XQResolveNames.java (CAST_AS_BUILTIN, CASTABLE_AS_BUILTIN): New constants. (castAsDecl, castableAsDecl): New static fields. (walkApplyExp): Support new builtins. Specifically, inline literals in the QName case as required. * XQParser.java (parseBinaryExpr): Use new decls for OP_CASTABLE_AS and OP_CAST_AS. (castQName): Make static and chaneg return type - for walkApplyExp. * XQParser.java (parseTypeSwitch): Error if pedantic and no default.2006-11-23 Per Bothner <per@bothner.com> * XQParser.java (parseRelativePathExpr): Set dot's type. (parseStepQualifiers): Likewise.2006-11-22 Per Bothner <per@bothner.com> * XQResolveNames.java (walkApplyExp): On position() and last() set can-read flag on corresponding Declaration. * XQParser.java (parseContent): Don't "optimize" simple text to avoid use of MakeText, since the latter is now optimized. (parseElementConstructor): Now needs to unwrap MakeText.2006-11-16 Per Bothner <per@bothner.com> * XQParser.java (stringValue): Remove static method. (stringValueMethod): Remove static field. (parseContent): Don't need to take sprintValue here - now handled by XMLFilter. * XQParser.java (orderingModeSeen): New field. (parse): Error if duplicate ordering declaration.2006-11-15 Per Bothner <per@bothner.com> * XQParser.java (parseURILiteral): Normalize whitespace.2006-11-14 Per Bothner <per@bothner.com> * XQParser.java: Update for functionality moved NodeTree -> XMLFilter. * XQResolveNames.java: Likewise.2006-11-13 Per Bothner <per@bothner.com> * XQParser.java: Update. * XQResolveNames.java: Likewise.2006-11-09 Per Bothner <per@bothner.com> * XQuery.java (getFormat): Remogve unused method. (writeFormat): Remove unused class.2006-10-31 Per Bothner <per@bothner.com> * XQuery.java (trueExp, falseExp): New static fields. (booleanType): Remove field - use XDataType.booleanType instead. (getTypeFor): Update accordingly. * XQParser.java (parseBinaryExpr): Use now type-correct constants. This simplifies optimizations at inlining time. * XQParser.java: Use QuoteExps that directly use RelativeStep and ValuesFilter instances. (funcForwardFilter, funcReverseFilter, funcExprFilter): Removed. * XQResolveNames.java: Set type for doc and doc-available calls. * XQParser.java (documentNodeTest, textNodeTest, commentNodeTest, anyNodeTest): Removed fields, now in NodeType. Update various references. (parseRelativePathExpr): Use new DescendantOrSelfAxis.anyNode field.2006-10-30 Per Bothner <per@bothner.com> * XQuery.java (getExternal): Fall back to general coerceFromObject. * XQParser.java (getStaticBaseUri): New method. If baseURI hasn't been set yet, try 'base-uri' in the environment (from command-line). (wrapWithBaseUri, parse): Use getStaticBaseUri. * XQResolveNames.java (getBaseUriExpr): Likewise. * XQResolveNames.java (ID_BUILTIN, IDREF_BUILTIN): New constants. (<init>): Push fn:id and fn:idref. (walkApplyExp): Handle ID_BUILTIN and IDREF_BUILTIN.2006-10-29 Per Bothner <per@bothner.com> * XQuery.java (typeName): Map 'NOTATION' to NotationType. * XQParser.java (parseItemType): Error if 'cast as' or 'castable as' NOTATION. Better error message for other bad type. * XQResolveNames.java (walkApplyExp): Use NamespaceBinding.nconc instead of reversing bindings, since the chain should be in inverse "document order".2006-10-26 Per Bothner <per@bothner.com> * XQResolveNames.java (walkStatements): New recursive helper method. (resolveModule): Use it, to properly handle module-level variables. * XQParser.java (copyNamespacesDeclarationSeen, copyNamespacesMode): New fields, whihc replace the old ... (copyNamespacesNoInherit, copyNamespacesNoPreserve): .. removed fields. (parseElementConstructor, parse): Copy copyNamespacesMode to MakeElement instance. (parse): Update handling of DECLARE_COPY_NAMESPACES_TOKEN. * XQuery.java (getExternal): Make use of new makeWithUnknownNamespace method in Symbol to look for definitions with prefix-only. * XQParser.java (makeChildAxisStep, makeDescendantAxisStep): New constant static fields. (parseNodeTest): Make use of above constants. Use relatively-new PrimProcedure convenience constructor. (parseFLWRInner): Likewise new PrimProcedure convenience constructor. (parseRelativePathExpr): Optimize 'E1//child::TEST' to 'E1/descendant::TEST'.2006-10-25 Per Bothner <per@bothner.com> No longer create Declarations for namespaces. Do create Symbols with prefixes for variable and functions. * XQuery.java (DEFAULT_ELEMENT_PREFIX): Use null, for consistency with NamespaceBinding. (DEFAULT_FUNCTION_PREFIX): Also change this constant for good measure. (parse): Set state to BODY_PARSED so we don't resolve twice. * XQParser.java (pushNamespace): Don't makeNamespaceDecl. But we now need to push DEFAULT_FUNCTION_PREFIX. (<init>): Don't need to push Declarations for builtin namespaces. (makeNamespaceDecl): Remove method. (parseElementConstructor): Don't need to create a lexical scope for namespace bindings. Make list of NamespaceBindings for local namespace attributes. but not inherited ones. (parse): Likewise defer setting namespace bindinsg for computer element constructors. (constructorNamespaces): New field, moved from XQResolveNames. (namespaceResolve): To map prefix to uri search NamespaceBinding lists with QNameUtils.lookupPrefix, not using NameLookup and Declarationss. And we no longer need to use an exception handler for the error case. (parse): Do namespaceResolve at parse time for 'declare variable' and 'declare function'. Don't push Declaration yet, though. Update searching for duplicate namespace declaration. Error if duplicate default namespace declarations seen. * XQResolveNames.java (makeBuiltin): Set 'fn' prefix. (push(Declaration)): New method. (push(ScopeExp)): Use previous new function. Simplify, since we don't have to handle namaspace declarations first. (walkReferenceExp): When searching in functionNamespacePath we can't just check if the Namespace has a matching symbol, since a different Namespace can have the same uri but different prefix. (constructorNamespaces): Field moved to XQParser. (walkApplyExp): Update accordingly. (walkApplyExp): Have to merge in namespace nodes from inherited constructors now, rather than in parseElementConstructor. (walkApplyExp): Use QNameUtils.lookupPrefix rather than resolvePrefix. * XQResolveNames.java (walkApplyExp): Use new StringValue.asString method for fn:string. * XQParser.java (parseDataType): For OP_EMPTY_SEQUENCE use new OccurrenceType.emptySequenceType field. Error if repeat indicator. (parseItemType): No longer allow OP_EMPTY_SEQUENCE here. Move check for invalid type fir 'cast as' or 'castable as'.2006-10-22 Per Bothner <per@bothner.com> * XQuery.java (initQuery): Declare fn:nilled. * XQuery.java (adjust-date-to-timezone, adjust-time-to-timezone): These are now implemented using separate methods. * XQParser.java (wrapWithBaseUri): New method. (parseXMLConstructor, parseMaybePrimaryExpr): Use it to set base-uri property of constructed elements and documents. * XQResolveNames.java (staticBaseUriDecl): New static field. (apply): Updates for moved methods. Use getBaseUriExpr for STATIC_BASE_URI_BUILTIN. * XQParser.java (parseXMLConstructor): Take extra inElementContent parameter. Complain if CDATA section seen and !inElementContent. (parseContent, parseMaybePrimaryExpr): Update callers. (parseElementConstructor): Don't take string value of attribute.2006-10-19 Per Bothner <per@bothner.com> * XQuery.java (initXQuery): fn:sum is now defined using define_method. Undeclare string-pad.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -