ChangeLog 39 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192
  1. 2016-11-28 Per Bothner <per@bothner.com>
  2. Incomplete support for using IString for strings.
  3. * BooleanValue.java: Generalize String to CharSequence.
  4. * QNameUtils.java: Likewise.
  5. 2015-08-02 Per Bothner <per@bothner.com>
  6. * ArithOp.java: Use new leastSpecificCode and/or UNKNOWN_CODE.
  7. * MinMax.java: Likewise.
  8. 2015-06-08 Per Bothner <per@bothner.com>
  9. * CompileMisc.java (compiledOrderedMap): Update call to compileInvoke.
  10. 2015-01-21 Per Bothner <per@bothner.com>
  11. * CompileMisc.java (validateApplyValuesFilter)
  12. validateApplyRelativeStep): Use new setInlineOnly method.
  13. 2015-01-20 Per Bothner <per@bothner.com>
  14. * NodeUtils.java (resolve): Fix an 'oops' - actually use base.
  15. 2014-08-28 Per Bothner <per@bothner.com>
  16. * CompileMisc.java validateApplyValuesFilter): Fix two errors
  17. in setting expression type.
  18. 2014-07-02 Per Bothner <per@bothner.com>
  19. * CastAs.java: Update for changes to super-type.
  20. 2014-02-16 Per Bothner <per@bothner.com>
  21. * CompileMisc.java: Make sure Error is uncaught or re-thrown.
  22. * Debug.java: Likewise.
  23. * NodeUtils.java: Likewise.
  24. * NumberValue.java: Likewise.
  25. * SequenceUtils.java: Likewise.
  26. 2013-11-28 Matthieu Vachon <matthieu.o.vachon@gmail.com>
  27. * DistinctValues.java, RelativeStepFilter.java: Don't use @Override
  28. for a method implementing an interface - Java 5 doesn't like it.
  29. 2013-11-03 Per Bothner <per@bothner.com>
  30. * CastAs.java (apply2): Update for new Values API.
  31. * CompileMisc.java (validateApplyValuesFilter): Update size
  32. method no longer in Nodes class.
  33. * OrderedTuples.java (ignoring): New method.
  34. * SequenceUtils.java (subList$C): Re-write to not depend on
  35. TreeList internals.
  36. 2013-11-02 Per Bothner <per@bothner.com>
  37. Reduce dependences on the implementation of the Values class.
  38. * Average.java: Remove needlessly-precise downcast.
  39. * MinMax.java: Likewise.
  40. * Reduce.java: Likewise.
  41. * BooleanValue.java: Use generic AbstractSequence position API.
  42. * Compare.java: Likewise.
  43. 2013-11-01 Per Bothner <per@bothner.com>
  44. * DistinctValues.java (consume): Rename to writePosition.
  45. * RelativeStepFilter.java: Likewise.
  46. 2012-07-15 Per Bothner <per@bothner.com>
  47. * Makefile.am (SCM_COMPILE_FLAGS): New macro.
  48. * IntegerRange.java: No longer extend MethodProc.
  49. (apply): Remove method.
  50. (integerRange$X): New static method.
  51. * Xutils.scm (integerRange): New function, uses integerRange$X.
  52. 2012-07-14 Per Bothner <per@bothner.com>
  53. * SubList.java: Class removed.
  54. (subList): Moved to SequenceUtils.
  55. * SequenceUtils.java (subList$X, subList$C): New methods.
  56. * Makefile.am: Update accordingly.
  57. * Xutils.scm (sublist): New function.
  58. 2012-07-10 Per Bothner <per@bothner.com>
  59. * Xutils.scm: Moved from gnu/kawa/slib.
  60. * Makefile.am: Update accordingly.
  61. * Xutils.scm (every-or-some-values, every, some): New functions.
  62. * ValuesEvery.java: Removed class.
  63. 2012-03-20 Per Bothner <per@bothner.com>
  64. * CompileMisc.java: Add needed setCanRead calls.
  65. 2011-03-23 Per Bothner <per@bothner.com>
  66. * CompileMisc.java (validateApplyValuesFilter): Use letStart/letVariable
  67. etc methods instead of creating LetExp directly.
  68. (validateApplyRelativeStep): Likewise.
  69. 2010-09-16 Per Bothner <per@bothner.com>
  70. * CompileMisc.java: Update validateApply methods, which no longer
  71. take a 'boolean argsInlined' parameter.
  72. 2010-08-27 Per Bothner <per@bothner.com>
  73. * CastableAs.java: Update to use Procedure.validateApplyKey,
  74. and move inlineXxx method to CompileMisc.
  75. * CastAs.java: Likewise.
  76. * CompileMisc.java: New (Moved/renamed) validateXxx methods.
  77. * ValuesFilter.java: Update to use Procedure.validateApplyKey,
  78. and move inlineXxx method to CompileMisc.
  79. * RelativeStep.java: Likewise.
  80. * OrderedMap.java: Likewise.
  81. Also move guts of compile method and typeTuples static to CompileMisc.
  82. * CompileMisc.java: New (Moved/renamed) validateXxx methods.
  83. 2010-08-26 Per Bothner <per@bothner.com>
  84. * ArithOp.java: Update to use Procedure.validateApplyKey.
  85. * BooleanValue.java: Likewise.
  86. * Compare.java: Likewise.
  87. * CompileMisc.java: Rename inlineXxx methods to validateXxx
  88. methods that take an extra require_type parameter.
  89. 2010-04-10 Per Bothner <per@bothner.com>
  90. * StringUtils.java (normalizeUnicode): Add a try-catch for a better
  91. error when java.text.Normalizer is missing, in JAVA6COMPAT5 mode.
  92. 2009-11-22 Per Bothner <per@bothner.com>
  93. * StringUtils.java (stringJoin): Fix error in nextIndex/nextValue
  94. handling.
  95. 2009-08-15 Per Bothner <per@bothner.com>
  96. * CompileMisc.java: New class - compilation/optimization-related
  97. methods for ArithOp, Compare, BooleanValue.
  98. * Makefile.am: Update accordingly.
  99. * ArithOp.java: Keep only runtime-specific parts.
  100. * Compare.java: Likewise.
  101. * BooleanValue.java: Likewise.
  102. 2009-06-28 Per Bothner <per@bothner.com>
  103. * RelativeStep.java (inline): Update for new inlining framework.
  104. * ValuesFilter.java (inline): Likewise.
  105. Also re-order things so they're properly scoped.
  106. 2008-10-24 Per Bothner <per@bothner.com>
  107. * StringUtils.java (makePattern): Fix comment so it doesn't
  108. break PreProcess.
  109. * StringUtils.java (matches, replace, tokenize$X): Use coerceToString
  110. for string argumemts.
  111. 2008-09-05 Per Bothner <per@bothner.com>
  112. * ValuesFilter.java (compile): Remove special handling of SeriesTarget.
  113. 2008-08-02 Per Bothner <per@bothner.com>
  114. * QNameUtils.java (lookupPrefix): Don't stop searching if we find
  115. null uri (for undeclare-namespace), unless prefix also matches.
  116. * NodeUtils.java (prefixesFromNodetype): Skip bindings with null uri,
  117. since those "undeclare" any outer matching prefixes.
  118. * StringUtils.java (makePattern): Fix space-skipping logic.
  119. * StringUtils.java (makePattern): Map "\p{IsXxxx}" to "\P{InXxxx}".
  120. * StringUtils.java (replace): Check for invalid use of '\' in
  121. replacement string.
  122. 2008-07-25 Per Bothner <per@bothner.com>
  123. * StringUtils.java (encodeForUri, iriToUri, escapeHtmlUri): Use
  124. coerceToString on parameter.
  125. (encodeForUri(Object,char)): Remove no-longer-needed method.
  126. * StringUtils.java (makePattern): With 'x' flag, don't strip spaces
  127. with '[...]' brackets.
  128. 2008-06-16 Per Bothner <per@bothner.com>
  129. * NumberValue.java (roundHalfToEven): If value is Double/Float
  130. and non-finite or zero, return as-is.
  131. 2008-01-16 Per Bothner <per@bothner.com>
  132. * CastableAs.java (inline): Handle new argsInlined parameter.
  133. * ArithOp.java (inline): Likewise.
  134. * CastAs.java (inline): Likewise.
  135. * OrderedMap.java (inline): Likewise.
  136. * Compare.java (inline): Likewise.
  137. * ValuesFilter.java (inline): Likewise.
  138. * RelativeStep.java (inline): Likewise.
  139. * BooleanValue.java (inline): Likewise.
  140. 2008-01-06 Per Bothner <per@bothner.com>
  141. * CastableAs.java: Clean up to remove warnings with some compilers.
  142. * NodeUtils.java: Likewise.
  143. * Reduce.java: Likewise.
  144. * Average.java: Likewise.
  145. * ValuesEvery.java: Likewise.
  146. * Castas.java: Likewise.
  147. * Orderedmap.java: Likewise.
  148. * IntegerRange.java: Likewise.
  149. * OrderedTuples.java: Likewise.
  150. * SequenceUtils.java: Likewise.
  151. * RelativeStep.java: Likewise. Also fix comment typo.
  152. 2007-02-26 Per Bothner <per@bothner.com>
  153. * CastableAs.java (inline): Update for new CanInline api.
  154. * ArithOp.java (inline): Likewise.
  155. * CastAs.java (inline): Likewise.
  156. * OrderedMap.java (inline): Likewise.
  157. * Compare.java (inline): Likewise.
  158. * ValuesFilter.java (inline): Likewise.
  159. * RelativeStep.java (inline): Likewise.
  160. * BooleanValue.java (inline): Likewise.
  161. 2007-01-17 Per Bothner <per@bothner.com>
  162. * NodeUtils.java (rootDocument): New static method.
  163. * NodeUtils.java (nodeName): New method.
  164. (name, localName, namespaceURI, inScopePrefixes$X): Use KNode's new
  165. getNodeNameObject method.
  166. * QNameUtils.java (localNameFromQName, prefixFromQName,
  167. namespaceURIFromQName, namespaceURIForPrefix):
  168. Fix throwing of WrongType.
  169. 2007-01-16 Per Bothner <per@bothner.com>
  170. * RelativeStep.java (inline): Error if 1st arg incompatible with node.
  171. 2007-01-15 Per Bothner <per@bothner.com>
  172. * SequenceUtils.java (deepEquals): Fix typo.
  173. * StringUtils.java (coerceToString): Allow any CharSequence.
  174. * QNameUtils.java (localNameFromQName, prefixFromQName): Change
  175. result types to NCName.
  176. 2007-01-14 Per Bothner <per@bothner.com>
  177. * SequenceUtils.java (isZeroOrOne, coerceToZeroOrOne): New methods.
  178. (zeroOrOne): Use coerceToZeroOrOne.
  179. * StringUtils.java (concat$V): Use coerceToZeroOrOne.
  180. * TimeUtils.java (currentDateTimeLocal): New ThreadLocal static.
  181. (currentDateTime, currentDate, currentTime, implicitTimezone):
  182. New static methods.
  183. * NamedCollator.java (codepointCompare): New method.
  184. (compare): Use it.
  185. * Compare.java (atomicCompare): Likewise.
  186. 2007-01-04 Per Bothner <per@bothner.com>
  187. * NodeUtils.java (baseUri): Change type of local 'uri' to Path.
  188. * StringUtils.java (encodeForUri): Move guts of method to URIPath.java.
  189. 2006-12-29 Per Bothner <per@bothner.com>
  190. * NodeUtils.java (resolve): Use gnu.text.Path.
  191. * StringUtils.java (coerceToString): Likewise.
  192. * BooleanValue.java (booleanValue): Likewise.
  193. * QNameUtils.java (resolveURI): Likewise.
  194. (namespaceURIFromQName): Create URIPath.
  195. 2006-12-17 Per Bothner <per@bothner.com>
  196. * QNameUtils.java (resolveURI): Handle UntypeAtomic.
  197. 2006-12-06 Per Bothner <per@bothner.com>
  198. * SequenceUtils.java: Update for renamed Consumer methods.
  199. `2006-12-01 Per Bothner <per@bothner.com>
  200. * StringUtils.java (normalizeUnicode): Add working implementation,
  201. using java.text.Normalizer (Java 6 only).
  202. * Debug.java (trace): Use XMLPrinter to format output.
  203. * NodeUtils.java: Suppress unchecked warnings if JAVA5.
  204. * NodeUtils.java (collection): Replace old methods.
  205. (setSavedCollection, getSavedCollection): New static methods.
  206. (collectionResolverSymbol): New constant.
  207. (resolve): New method.
  208. (docCached, availableCached, collection): Use it.
  209. 2006-11-29 Per Bothner <per@bothner.com>
  210. * NodeUtils.java (docAvailable): Moved from gnu.kawa.xml.Document.
  211. (docCached): Moved and renamed from Document/parseCahched.
  212. (docCached, docAvailable): Use StringUtils.coerceToString.
  213. 2006-11-28 Per Bothner <per@bothner.com>
  214. * ArithOp.java (div(BigDecimal,BigDecimal)): New static method.
  215. (apply2): Use new div method.
  216. (apply2): Use BigDecimal division for Duration division.
  217. * TimeUtils.java (secondsBigDecimalFromDuration): New static method.
  218. (secondsFromDuration): Use secondsBigDecimalFromDuration.
  219. 2006-11-26 Per Bothner <per@bothner.com>
  220. * NodeUtils.java (collection): New skeletal methods.
  221. 2006-11-25 Per Bothner <per@bothner.com>
  222. * NodeUtils.java: Update StringValue -> TextUtils.
  223. * ArithOp.java: Likewise.
  224. * NumberValue.java: Likewise.
  225. * StringUtils.java: Likewise.
  226. * MinMax.java: Likewise.
  227. * TimeUtils.java: Likewise.
  228. * QNameUtils.java: Update XDataType -> TextUtils.
  229. * StringUtils.java (normalizeUnicode): New placeholder/dummy methods.
  230. 2006-11-24 Per Bothner <per@bothner.com>
  231. * StringUtils.java (stringLength): Have to loop checking for surrogates.
  232. (substring, substring): Likewise must check for surrogates.
  233. (translate): Handle surrogates in all 3 arguments.
  234. (stringToCodepoints$X, appendCodepoint): Handle surrogates.
  235. 2006-11-23 Per Bothner <per@bothner.com>
  236. * RelativeStep.java: Implement inlineable.
  237. (inline): Note that 2nd argument is inline-only.
  238. Do some optimizations/rewriting.
  239. (compile, getReturnType): New methods.
  240. (maybeSortNodes$X): Remove method.
  241. (extractStep): New static method.
  242. * RelativeStepFilter.java: Make class public.
  243. 2006-11-22 Per Bothner <per@bothner.com>
  244. * ValuesFilter.java: Also implement Inlineable.
  245. (apply): Filter procedure can take 2 or 3 arguments.
  246. (inline): If last() is not needed, just splice it out and return.
  247. Otherwise rewrite to LetExp as before - but leave some work for compile.
  248. (compile): New method. Defer hard work to ValuesMap.compileInlined.
  249. (getReturnType): New method.
  250. 2006-11-20 Per Bothner <per@bothner.com>
  251. * Compare.java (inline): Partially inline in the value-comparson case.
  252. 2006-11-18 Per Bothner <per@bothner.com>
  253. * NodeUtils.java (baseUri): Remove throws clause.
  254. * StringUtils.java (tokenize$X): Add missing thow for the PreProcess
  255. case that we don't have java.util.regex.
  256. 2006-11-09 Per Bothner <per@bothner.com>
  257. * XMLFormat.java: Remove unused class.
  258. * Makefile.am: Update accordingly.
  259. 2006-10-31 Per Bothner <per@bothner.com>
  260. * DistinctValues.java (writeBoolean): New method.
  261. * Compare.java (inline): Set return type to boolean.
  262. * BooleanValue: New implements CanInline.
  263. (inline): Optimize constant case and when argument is already boolean.
  264. (<init>): Takes name - needed for PrimProcedure.getMethodFor,
  265. 2006-10-30 Per Bothner <per@bothner.com>
  266. * NodeUtils.java (baseUri): Use new KNode baseURI convenience method.
  267. * NodeUtils.java (getIDs, id$X, idScan, idref): New static methods,
  268. implementing fn:id and a dummy fn.idref.
  269. 2006-10-25 Per Bothner <per@bothner.com>
  270. * QNameUtils.java (lookupPrefix): New method based on resolvePrefix,
  271. but on failure return null rather than throwing exception
  272. (resolvePrefix): Now just a wrapper around lookupPrefix.
  273. * NumberValue.java (round): Fix rounding of negative BigDecimals.
  274. 2006-10-22 Per Bothner <per@bothner.com>
  275. * NodeUtils.java (nilled): New method, implements fn:nilled.
  276. * TimeUtils.java (adjustDateTimeToTimezone): Move body of method to ...
  277. (adjustDateTimeToTimezoneRaw): ... new method.
  278. (adjustDateToTimezone, adjustTimeToTimezone): New methods.
  279. * NodeUtils.java (root): New method, replaces method in Nodes.
  280. (baseUri): New method.
  281. 2006-10-19 Per Bothner <per@bothner.com>
  282. * QNameUtils.java (resolveURI): New static method.
  283. * Reduce.java: Re-write to a 'static class'.
  284. Try hard to follow the specification.
  285. * ArithOp.java (apply3): Implement mod on float or double using
  286. standard Java '%' operator. This fixes a negative-zero issue.
  287. * NamedCollator.java (getName): New method.
  288. 2006-10-17 Per Bothner <per@bothner.com>
  289. * StringUtils.java (coerceToString): New static helper method to
  290. correctly coerce to xs:string or xs:string?.
  291. (lowerCase, upperCase, substring, stringLength, substringBefore,
  292. substringAfter, translate, stringPad, contains, startsWith, endsWith,
  293. stringJoin, stringToCodepoints$X, normalizeSpace, codepointEqual):
  294. Use coerceToString.
  295. * StringUtils.java (substring): Various fixes to (hopefully this time)
  296. pedantically match the specification.
  297. * QNameUtils.java (resolveQNameUsingElement): If no prefix, check
  298. for a default namespace. Convetr resturn to URI, rather than string.
  299. 2006-10-16 Per Bothner <per@bothner.com>
  300. * StringUtils.java (appendCodepoint): Fix thinko.
  301. 2006-10-13 Per Bothner <per@bothner.com>
  302. * HandleExtension.java: Remove no-longer needed file.
  303. * Makefile.am: Update accordingly.
  304. 2006-10-12 Per Bothner <per@bothner.com>
  305. * NumberValue.java (numberValue): Do atomization.
  306. If argument is not coercible to double, return NaN.
  307. * RelativeStepFilter.java: New class, extends FilterConsumer.
  308. * Makefile.am: Update accordingly.
  309. * RelativeStep.java (apply, inline): Make use of RelativeStepFilter.
  310. This allows a relative step to return atoms rather just nodes.
  311. 2006-10-11 Per Bothner <per@bothner.com>
  312. * QNameUtils.java (resolveQNameUsingElement): Collapse white space.
  313. Throw exception if unknown namespace for prefix.
  314. Internalize prefix before calling lookupNamespaceURI.
  315. * QNameUtils.java (validNCName): Implement using new XName.isName
  316. method.
  317. * StringUtils.java (concat$V): Add initial 2 parameters, so we can
  318. catch calls with too few arguments.
  319. Also, use StringBuilder if JAVA5.
  320. * MinMax.java (minMax): Add a dummy compare for singleton case,
  321. which is a easy way to check for an invalid value.
  322. * SubList.java: Use double lower and upper boand, to match
  323. specification. This fixes some corner cases.
  324. * NumberValue.java (abs): Calculate abs by clearing sign bit.
  325. This fixes handling of -0.
  326. * SequenceUtils.java (deepEqualItems): Fix thinko: '||' -> '&&'.
  327. * BooleanValue.java (booleanValue): Don't allow non-RealNum Numerics.
  328. Specifically disallow Duration and DateTime values.
  329. * TimeUtils.java (adjustDateTimeToTimezone): Check that zone offset
  330. is within range and an integral number of minutes.
  331. 2006-10-07 Per Bothner <per@bothner.com>
  332. * StringUtils.java (tokenize$X): New method.
  333. * QNameUtils.java (resolveQNameUsingElement): New method.
  334. * QNameUtils.java (resolveQName): "Inline" call to method resolve in
  335. NamespaceBinding because resolve is wrong for "undeclare".
  336. * QNameUtils.java (makeQName): Call validNCName - currently a dummy.
  337. * QNameUtils.java (prefixFromQName): Fix return value for no match.
  338. * QNameUtils.java (namespaceURIForPrefix): Handle empty sequence
  339. or bad types for prefix.
  340. * SequenceUtils.java (insertBefore$X): New method.
  341. 2006-10-06 Per Bothner <per@bothner.com>
  342. * NodeUtils.java (localName, namespaceURI): Add error-checking.
  343. * NodeUtils.java (prefixesFromNodetype): Remove duplicates from result.
  344. * ArithOp.java (apply2): Fix errors in handling invalid argument types.
  345. * StringUtils.java (substring): Fixes to match specification.
  346. (asDoubleRounded): Removed - no longer used.
  347. * TimeUtils.java (coerceToDateTime, coerceToDate, coerceToTime):
  348. Change to use new XTimeType.parseDateTime helper method.
  349. * Compare.java (atomicCompare): Likewise.
  350. 2006-10-04 Per Bothner <per@bothner.com>
  351. * NumberValue.java (isNaN): New static utility method.
  352. * DistinctValues.java (hash): Change algorithm so equal real numbers
  353. have the same hash value.
  354. (matches): Return true if both values satisfy NumberValue.isNaN.
  355. * Compare.java (LENIENT_COMPARISON, LENIENT_EQ): New flags.
  356. (equalityComparison): New helper method.
  357. (atomicCompare): Fix handling of UntypedAtomic and Boolean.
  358. More compliant handling for DateTime and Duration. Error on
  359. mismatched types if not lenient and not an equality comparison.
  360. ($Ex$Eq, valNe): Should also be true if either argument is NaN.
  361. * MinMax.java (minMax): Add hack for NaN.
  362. * IntegerRange.java (apply): Do atomization and handle UntypedAtomic.
  363. * SequenceUtils.java (indexOf$X): Comparison should be lenient.
  364. (deepEqualItems): New helper, to check for NaN.
  365. (deepEqual, deepEqualChildren): Use new helper method.
  366. * NamedCollator.java (UNICODE_CODEPOINT_COLLATION): Match XQTS.
  367. 2006-09-30 Per Bothner <per@bothner.com>
  368. * Compare.java (atomicCompare): Throw exception if not comparable.
  369. * MinMax.java: Rewrite to not use Reduce and to better match spec.
  370. (min, max, minMax, convert): New static methods.
  371. * ArithOp.java (apply2): 'idiv' result must sometimes be cast to
  372. integer.
  373. * ValuesFilter.java (matches): Fix number case to match spec.
  374. * QNameUtils.java (resolveQName): Catch errors.
  375. * Reduce.java (sum): Use XQuery-specific ArithOp, rather than
  376. Scheme-appropriate gnu.kawa.functions.AddOp instance.
  377. * StringUtils.java (appendCodepoint): Check codepoints for validity.
  378. 2006-09-28 Per Bothner <per@bothner.com>
  379. * NodeUtils.java (name, getLang, lang, documentUri): New static
  380. methods to implement new fn:xxx functions.
  381. (localName): Change return type. Inline QNameUtils.localNameFromQName.
  382. * Compare.java (VALUE_COMPARISON): New mask bit.
  383. (apply2): Check for VALUE_COMPARISON.
  384. (valEq, valNe, Vallt, valNe, valGt, valGe): New static fields.
  385. * XQException.java: New class, extends RuntimeException.
  386. * Makefile.am: Update accordingly/
  387. * ValuesFilter.java (matches): Simplify and fix to match specification.
  388. * CastAs.java (apply2): Handle OccurrenceType.
  389. (compile): Suppress inherited/incorrect inlining.
  390. * NumberValue.java (abd): Fix so abd(-0) is 0.
  391. * StringUtils.java (encodeForUri): Fixes to match updated
  392. specification of fn-encode-for-uri.
  393. * BooleanValue.java (not): New static method.
  394. * SequenceUtils.java (remove$X): New static method.
  395. 2006-09-26 Per Bothner <per@bothner.com>
  396. * TimeUtils.java (dateTime): Handle empty sequence arguments.
  397. * NumberValue.java (abs): Use numberCast, rather than numberValue.
  398. The latter always returns a double, which is not always right.
  399. * StringUtils.java (codepointEqual): New static method.
  400. * TimeUtils.java (dateTime): New static method.
  401. * SequenceUtils.java (seepEqual): Fix thinko.
  402. 2006-09-19 Per Bothner <per@bothner.com>
  403. * HandleExtension.java: New class.
  404. * Makefile.am: Update accordingly.
  405. * BooleanValue.java (booleanValue): Throw WrongType exception
  406. when appropriate. Handle URI similar to String/UntypedAtomic.
  407. 2006-09-17 Per Bothner <per@bothner.com>
  408. * Debug.java: Parameterize output file and options using static.
  409. (tracePrefix, tracePort, traaceFilename, traceShouldFlush,
  410. traceShouldAppend): New static fields.
  411. (trace): Make synchronized.
  412. 2006-09-14 Per Bothner <per@bothner.com>
  413. * SequenceUtils.java (deepEqualChaildren, deepEqual): New methods.
  414. (deepEqual): Fix handling of nodes to use new methods.
  415. (textOrElement): New constant.
  416. 2006-09-13 Per Bothner <per@bothner.com>
  417. * XMLFormat.java (writeObject): Update for XMLPrinter changes.
  418. (format): Likewise.
  419. 2006-08-27 Per Bothner <per@bothner.com>
  420. * OrderedTuples.java (cmp): Update NumberCompare.compare call.
  421. * Compare.java (apply): Move atomic value handle to ...
  422. (atomicCompare): ... new static method.
  423. Use new NumberCompare.applyWithPromotion method.
  424. * SequenceUtils.java (deepEqual): New static method.
  425. 2006-08-18 Per Bothner <per@bothner.com>
  426. * TimeUtils.java (now): New static method.
  427. 2006-08-17 Per Bothner <per@bothner.com>
  428. * TimeUtils.java (coerceToDateTime, coerceToDate, coerceToTime):
  429. Convert node and xs:untypedAtomic as needed.
  430. Also throw more informative WrongType constructor.
  431. 2006-06-28 Per Bothner <per@bothner.com>
  432. * QNameUtils.java: Update SName -> Symbol.
  433. * Compare.java: Likewise.
  434. 2006-06-10 Per Bothner <per@bothner.com>
  435. * TimeUtils.java: Fix typo in package statement.
  436. 2006-06-04 Per Bothner <per@bothner.com>
  437. * CastableAs.java (inline): Fix thinko.
  438. 2006-03-26 Per Bothner <per@bothner.com>
  439. * NodeUtils.java (localName, namespaceURI): Fix to match specification.
  440. * NodeUtils.java (data$X): New static method.
  441. * NumberValue.java (round): New static method.
  442. * NumberValue.java (numberValue): Optimization.
  443. * Compare.java (apply): Fix indentation so PreProcess will work.
  444. * StringUtils.java (asDouble, asDoubleRounded): New static helpers.
  445. (substring): Use asDoubleRounded.
  446. * StringUtils.java (stringJoin): Remove redundant casts.
  447. * StringUtils.java (encodeForUri, iriToUri, escapeHtmlUri,
  448. encodeForUri, normalizeSpace): New static methods.
  449. * StringUtils.java (makePattern, matches, repalce): New static methods.
  450. * SequenceUtils.java (indexOf$X): New static method, implements
  451. fn:index-of function.
  452. * IndexOf.java: Remove no-longer-used class
  453. . * LastIndexOf.java: Likewise.
  454. * Makefile.am: Update accordingly.
  455. 2006-03-25 Per Bothner <per@bothner.com>
  456. * OrderedTuples.java (cmp): Various fixes to match 'order by'
  457. specification: empty sequence and NaN handling; UntypeAtomic support.
  458. * QNameUtils.java (makeQName): Add expected intern call.
  459. 2006-03-20 Per Bothner <per@bothner.com>
  460. * BooleanValue.java (booleanValue): Handle Number that are not Numeric
  461. so we DTRT for xs:double and xs:float.
  462. 2006-03-17 Per Bothner <per@bothner.com>
  463. * QNameUtils.java (resolvePrefix): New method.
  464. (resolveQName): Make use of resolvePrefix.
  465. * Compare.java (apply): Fix comparison of QNames (SName).
  466. 2006-03-15 Per Bothner <per@bothner.com>
  467. * CastAs.java: New class, extends gnu.kawa.functions.Convert.
  468. * CastableAs.java: New class, extends gnu.kawa.reflect.InstanceOf.
  469. * Makefile.am: Update accordingly.
  470. * TimeUtils.java: New class with static methods implementing
  471. date/time/duration-related functions.
  472. * Makefile.am: Update accordingly.
  473. * StringValue.java: Remove file. Contents partly moved to new file
  474. StringUtils.java and partly moved to gnu/kawa/xml/StringValue.java.
  475. (stringToCodepoints$X, appendCodepoint, codepointsToString): New.
  476. * Makefile.am: Update accordingly.
  477. * NodeUtils.java (atomicValue): Moved to gnu.kawa.xml.KNode.
  478. (prefixesFromNodetype, inScopePrefixes$X): New methods.
  479. * BooleanValue (booleanValue): Fix thinko.
  480. Add correct handling for String and UntypedAtomic.
  481. * RelativeStep.java (inline): Don't optimize unless mustCompile.
  482. Also rename Compilation local from 'parser' to 'comp'.
  483. * Compare.java (apply): Fixes to handle dates/times/durations, and
  484. UntypedAtomic. Other fixes to follow specification more closely.
  485. * OrderedTuples.java (cmp): Try numeric compare first.
  486. * MinMax.java (cmobine): Use new NumverValue.numberCast method.
  487. * IntegerRange.java (apply): DTRT when range end is empty sequence.
  488. * Average.java: Use XQuery-specific ArithOp.add rather than AddOp.$pl.
  489. Fix handling of empty and singleton sequences.
  490. Use ArithOp.div for division.
  491. (combine): Inline into caller.
  492. * NumberValue.java (abs, floor, ceiling, roundHalfToEven): New methods.
  493. (numberCast): New static helper method.
  494. (numberValue): Use new classes/methods to better follow specification.
  495. (apply1): Return NaN on failure, as per specification.
  496. 2006-03-15 Per Bothner <per@bothner.com>
  497. * ArithOp.java: New class, extends Procedure1or2.
  498. * Makefile.am: Update accordingly.
  499. 2006-03-14 Per Bothner <per@bothner.com>
  500. * SequenceUtils.java (zeroOrOne, oneOrMore, exactlyOne): New
  501. static methods that implement the corresponding standard functions.
  502. 2005-11-29 Per Bothner <per@bothner.com>
  503. * ValuesFilter.java (matches): Handle a String value.
  504. 2005-11-22 Per Bothner <per@bothner.com>
  505. * OrderedMap.java (compile): Update compile->compileInvoke rename.
  506. 2005-09-26 Per Bothner <per@bothner.com>
  507. * Average.java (combine): Coerce operands with NumberValue.
  508. * OrderedTuples.java (listsort): Fix thinko.
  509. 2005-09-25 Per Bothner <per@bothner.com>
  510. * OrderedMap.java: New class, extends MethodProc.
  511. * OrderedTuples.java: New class, extends FilterConsumer.
  512. * Makefile.am: Update accordingly.
  513. * SequenceUtils.java (reverse$X): New methods, implements fn:revrese.
  514. 2005-08-16 Per Bothner <per@bothner.com>
  515. * NodeUtils.java: New class.
  516. (atomicValue, localName, namespaceURI): New static methods.
  517. * DistinctValues.java: New class.
  518. * Makefile.am: Update accordingly.
  519. * Compare.java (apply): Add NamedCollator parameter. Use it.
  520. Get atomiValue of nodes.
  521. (apply2): Update for modified apply.
  522. * MinMax.java (combine): Extract numberValue from nodes.
  523. * StringValue.java (compare): New method.
  524. * NamedCollator.java (UNICODE_CODEPOINT_COLLATION): Update uri.
  525. (find): New alias (for now) for make.
  526. * QNameUtils.java (prefixFromQName): New static method.
  527. * Reduce.java (apply1): Fix bogus iteration.
  528. 2005-06-09 Per Bothner <per@bothner.com>
  529. * StringValue.java (stringValue): null or #!void append nothing.
  530. (lowerCase, upperCase, substring, stringLength, substringBefore,
  531. substringAfter, translate, stringPad, contains, startsWith, endWith,
  532. stringJoin): Don't return empty on empty input string; instead return
  533. the empty string, usually taken care of by stringValue.
  534. (substring, stringLength, substringBefore, substringAfter, translate,
  535. startsWith, stringJoin): Convert to String using stringvalue, not
  536. toString.
  537. (contains, startsWith, endsWith, substringAfter): Remove redundant
  538. comparisons.
  539. (substringBefore): Fix off-by-one error.
  540. (translate): Re-do StringBuffer construction to append each character,
  541. rather than modify/delete characters.
  542. (stringPad): Throw exception on error instead of printing.
  543. Also, improve StringBuffer allocation.
  544. 2005-06-04 Per Bothner <per@bothner.com>
  545. * XMLFormat.java: Update for AbstractFormat move to gnu.lists.
  546. 2005-03-03 Per Bothner <per@bothner.com>
  547. * Children.java: Moved to gnu.kawa.xml, because it is also
  548. used for Scheme.
  549. * Makefile.am: Update accordingly.
  550. 2005-01-02 Per Bothner <per@bothner.com>
  551. * NamedCollator.java: Change "select" (preprocessor) syntax.
  552. 2004-12-22 Per Bothner <per@bothner.com>
  553. * MakeAttribute.java: Moved to gnu.kawa.xml.
  554. * MakeElement.java: Likewise.
  555. * Makefile.am: Update accordingly,
  556. * QNameUtils.java (resolveQName): New helper method, used for xs:QName.
  557. (makeQName): New implementation, for fn:QName.
  558. (localNameFromQName, namespaceURIFromQName): Handle SName.
  559. 2004-12-10 Per Bothner <bothner@Per-Bothners-Computer.local>
  560. * SequenceUtils.java: New class has sequence functions implementations.
  561. * IsEmptySequence.java: Removed class - use SequenceUtils instead.
  562. * NamedCollator.java: New class extends Collator.
  563. * Makefile.am: Update accordingly.
  564. 2004-11-06 Per Bothner <per@bothner.com>
  565. * QNameUtils.java: New class.
  566. * Makefile.am: Update accordingly.
  567. 2004-08-10 Per Bothner <per@bothner.com>
  568. * ValuesFilter.java (inline): Add missing letEnter call.
  569. 2004-08-08 Per Bothner <per@bothner.com>
  570. * RelativeStep.java (apply): Update to use check3.
  571. * ValuesEvery.java (apply): Update to use check1.
  572. 2004-08-03 Per Bothner <per@bothner.com>
  573. * Children.java: Extend MethodProc instead of CpsProcedure
  574. * RelativeStep.java: Likewise.
  575. * SubList.java: Likewise.
  576. * ValuesEvery.java: Likewise.
  577. * ValuesFilter.java: Likewise.
  578. * IntegerRange.java: Likewise. Also explicitly call setName
  579. 2004-07-20 Per Bothner <per@bothner.com>
  580. * IntegerRange.java: Remove unused import statements.
  581. * MinMax.java: Likewise.
  582. * RelativeStep.java: Likewise.
  583. * XMLFormat.java: Likewise.
  584. 2004-01-04 Per Bothner <per@bothner.com>
  585. * StringValue.java (stringValue): Require KNode, not SeqPosition.
  586. * ValuesFilter.java (matches): Check KNode, not SeqPosition.
  587. 2003-11-21 Per Bothner <per@bothner.com>
  588. * IntegerRange.java (integerRange): If M > N then M to N is now empty.
  589. 2003-11-14 Per Bothner <per@bothner.com>
  590. * StringValue.java (concat$V): New method.
  591. 2003-10-19 Per Bothner <per@bothner.com>
  592. * ValuesEvery.java: New class, extends CpsProcedure.
  593. * Makefile.am: Update accordingly.
  594. 2003-10-07 Per Bothner <per@bothner.com>
  595. * BooleanValue.java (booleanValue): Change to match spec better.
  596. * IntegerRange.java (integerRange): Fix bugs. Make static.
  597. 2003-09-24 Per Bothner <per@bothner.com>
  598. * MakeAttribute.java: Now extends gnu.kawa.xml.NodeConstructor.
  599. (apply): Update. (compileToNode): New, replaces compile method.
  600. * MakeElement.java: Likewise.
  601. 2003-09-11 Per Bothner <per@bothner.com>
  602. * ValuesFilter.java: Implement CanInline.
  603. (inline): New method.
  604. 2003-09-09 Per Bothner <per@bothner.com>
  605. * RelativeStep.java: Now implements CanInline.
  606. (inline): New method.
  607. (apply): Use Nodes class and simplify.
  608. 2003-08-03 Per Bothner <per@bothner.com>
  609. * RelativeStep.java: New class, extends CpsProcedure.
  610. * ValuesFilter.java: Re-write to correctly implement spec.
  611. * Position.java: Remove - no longer used.
  612. * Makefile.in (java_sources): Update accordingly.
  613. * StringValue.java (contains, startsWith, endsWith): Use stringValue
  614. rather than toString to convert arguments.
  615. 2003-07-23 Terje Pedersen <terje@brassforum.com>
  616. * StringValue.java (stringLength, substringBefore, substringAfter,
  617. translate, stringPad, contains, startsWith, endsWith, stringJoin):
  618. New standard functions.
  619. 2003-07-16 Per Bothner <per@bothner.com>
  620. * Compare.java (inline): Use new inlineIfConstant method overloading.
  621. 2003-07-10 Per Bothner <per@bothner.com>
  622. * MakeElement.java (compile): Use new
  623. ElementConstructor.compileUsingNodeTree method.
  624. 2003-05-08 Per Bothner <per@bothner.com>
  625. * Debug.java: New class.
  626. (trace): New static method, implements the 'trace' function.
  627. * Makefile.am (java_sources): Update accordingly.
  628. 2003-03-29 Per Bothner <per@bothner.com>
  629. * StringValue.java (lowerCase, upperCase, substring): New methods.
  630. Based on a patch from Jim Smith <jim@pagesmiths.com>.
  631. 2003-03-15 Per Bothner <per@bothner.com>
  632. * XMLFormat.java (writeObject): Check if toString returns null.
  633. 2003-03-02 Per Bothner <per@bothner.com>
  634. * BaseUri.java: Moved gnu.kawa.functions.
  635. * Makefile.am (java_sources): Remove BaseUri.java.
  636. 2003-02-13 Per Bothner <per@bothner.com>
  637. * BaseUri.java: New class, extends Procedure1.
  638. * Makefile.am (java_sources): Add BaseUri.java.
  639. 2003-01-09 Per Bothner <per@bothner.com>
  640. * Average.java: Update for gnu.lists changes.
  641. * BooleanValue.java: Likewise.
  642. * Children.java: Likewise.
  643. * Compare.java: Likewise.
  644. * Reduce.java: Likewise.
  645. * StringValue.java: Likewise.
  646. * SubList.java: Likewise.
  647. * ValuesFilter.java: Likewise.
  648. 2002-11-16 Per Bothner <per@bothner.com>
  649. * MakeAttribute.java, MakeElement.java: Use gnu.mapping.Symbol
  650. instead of gnu.xml.QName.
  651. 2002-08-18 Per Bothner <per@bothner.com>
  652. * MakeAttribute.java (beginAttribute): Swap argument order, for
  653. consistency with compile and also MakeElement's beginGroup.
  654. (apply): Fix beginAttribute call to match.
  655. 2002-07-21 Per Bothner <per@bothner.com>
  656. * Compare.java, MakeElement.java (inline): Update to take
  657. extra ExpWalker parameter.
  658. 2002-07-02 Per Bothner <per@bothner.com>
  659. * Compare.java (apply): Mistaken assumption - String.compareTo does
  660. not necessarily return -1, 0, or 1.
  661. * IndexOf.java: New class, extends Procedure2.
  662. * LastIndexOf.java: New class, extends Procedure2.
  663. * Makefile.am (java_sources): add new files.
  664. 2002-05-06 Per Bothner <per@bothner.com>
  665. * Compare.java: Implement CanInline.
  666. * Focus.java.in: Move to gnu.kawa.xml.
  667. * Makefile.am: Update accordingly.
  668. * Position.java: Now need to import Focus.
  669. * ValuesFilter.java: Likewise.
  670. 2002-04-19 Per Bothner <per@bothner.com>
  671. * Average.java: New class, extends Procedure1.
  672. * Reduce.java: New class, extends Procedure1.
  673. * Makefile.am (java_sources): Update accordingly.
  674. * MinMax.java: Change to inherit from Reduce.
  675. 2002-04-18 Per Bothner <per@bothner.com>
  676. * BooleanValue.java: New class, extends Procedure1.
  677. * Makefile.am (java_sources): Add BooleanValue.java.
  678. 2002-04-08 Per Bothner <per@bothner.com>
  679. * Children.java (children): Use nextNodeIndex.
  680. 2002-03-16 Per Bothner <per@bothner.com>
  681. * Makefile.am (java_sources): Remove mistakenly added MapDescendents.
  682. 2002-03-07 Per Bothner <per@bothner.com>
  683. * MinMax.java: New class, extends Procedure1.
  684. * Position.java: New class, extends Procedure0.
  685. * Makefile.am: Update accordingly.
  686. * Focus.java.in (compileGetCurrent): New static helper method.
  687. * Focus.java.in (position): Change type from int to long.
  688. * ValuesFilter.java (apply): Update current Focus's position field.
  689. 2002-03-02 Per Bothner <per@bothner.com>
  690. * Focus.java.in: New sed-processed class, extends SeqPosition.
  691. * Makefile.am: Update accordingly.
  692. 2002-02-13 Per Bothner <per@bothner.com>
  693. * MakeAttribute.java (apply): Do getNextArg inside loop.
  694. 2002-02-05 Per Bothner <per@bothner.com>
  695. * ElementType.java: Moved to gnu.kawa.xml.
  696. * NamedChildren.java: Moved to gnu.kawa.xml.
  697. * NodeType.java: Moved to gnu.kawa.xml.
  698. * Makefile.am: Update accordingly.
  699. 2002-01-23 Per Bothner <per@bothner.com>
  700. * AppendValues.java: Removed - moved to gnu.kawa.functions.
  701. * Makefile.am: Update accordingly.
  702. 2002-01-21 Per Bothner <per@bothner.com>
  703. * Document.java: Moved to gnu.kawa.xml.
  704. * Document.java (document): New static methods.
  705. (apply): Use one of the new methods.
  706. 2002-01-07 Per Bothner <per@bothner.com>
  707. * Document.java (makeURL): New helper method.
  708. (apply(CallContext)): New method, send directly to Consumer.
  709. * NamedChildren.java (compile): Optimize if ConsumeTarget.
  710. * ValuesFilter.java (matches): Handle a TreeList.
  711. * XMLFormat.java (format): New method.
  712. 2002-01-02 Per Bothner <per@bothner.com>
  713. * NumberValue.java: New class, extends Procedure1.
  714. * Makefile.am (java_sources): Add NumberValue.java.
  715. 2001-12-24 Per Bothner <per@bothner.com>
  716. * ElementType.java: New class, extends NodeType, implements TypeValue.
  717. * ItemAt.java: New class, extends Proecdure2.
  718. * SubList.java: New class, extends CpsProcedure.
  719. * Makefile.am (java_sources): Add new classes.
  720. * Document.java (document): Reverse incorrect isLetter test.
  721. 2001-11-24 Per Bothner <per@bothner.com>
  722. * MakeElement.java (beginGroup, endGroup): Switch argument order.
  723. (inline): Use Expressions's setLine to set line number info.
  724. * NamedChildren.java (compile): Also optimize ConsumerTarget.
  725. (getPropertyName, getNamedProperty): New methods.
  726. (namedChildren, getNamaedChild, gotoNext, gotoFirstChild): Add
  727. support for getting named properties from beans e.g. $request/method.
  728. * NodeType.java (coerce): Handle arbitrary value.
  729. 2001-11-18 Per Bothner <per@bothner.com>
  730. * Document.java (document, apply1): Specific that it throws Throwable,
  731. thus we no longer have to wrap exceptions.
  732. * AppendValues.java (compile): Use compileWithPosition.
  733. 2001-11-12 Per Bothner <per@bothner.com>
  734. * Document.java (document): Filter through NamespaceResolver.
  735. * NamedChildren.java (namedChildren): Use getNamedChild method.
  736. * MakeElement.java: Also implement CanInline.
  737. (inline): New method.
  738. * MakeElement.am (beginGroup, endGroup): New helper methods.
  739. (apply): Use new methods.
  740. (compile): Call new methods.
  741. * MakeAttribute.java (beginAttribute): New helper method.
  742. (numArgs): Now takes any number of arguments.
  743. (apply): Use new helper method; handle any number of arguments.
  744. (compile): Similarly.
  745. 2001-11-06 Per Bothner <per@bothner.com>
  746. * StringValue.java: Various fixes to actually make it work.
  747. (string): New static, to match function name "string".
  748. * ValuesFilter.java (matches): Handle multiple values better.
  749. (apply): Inceement count *before* calling matches.
  750. * XMLFormat.java: Update as XMLPrinter now takes a Consumer.
  751. * Compare.java: New class, extends Procedure2.
  752. * Makefile.am (java_sources): Add Compare.java.
  753. 2001-11-01 Per Bothner <per@bothner.com>
  754. * ValuesFilter.java: New class, extends CpsProcedure.
  755. * Makefile.am (java_sources): Added ValuesFilter.java.
  756. * NamedChildren.java (compile): If namespaceURI and localName are
  757. constant, don't recompile them to a variable.
  758. * NamedChildren.java (compile): Remove pushScope/popScope ad it can
  759. cause register clobbering due to use complex jsr-based control flow.
  760. 2001-10-25 Per Bothner <per@bothner.com>
  761. * AppendValues.java (compile): Optimize for SeriesTarget.
  762. * NamedChildren.java: Now implements Inlineable.
  763. (getNamedChild, gotoNext, gotoFirstChild): New static helper methods.
  764. (compile, getReturnType): New methods.
  765. * NodeType.java: New class, extends ClassType.
  766. * Makefile.am (java_sources): Added NodeType.java.
  767. 2001-10-17 Per Bothner <per@bothner.com>
  768. * NamedChildren.java: Turn into a 3-argument procedure.
  769. 2001-10-02 Per Bothner <per@bothner.com>
  770. * IsEmptySequence.java: New class; extends Procedure1.
  771. * Makefile.am (java_sources): Add IsEmptySequence.java.
  772. 2001-09-24 Per Bothner <per@bothner.com>
  773. * IntegerRange.java: New class; extends CpsProcedure.
  774. 2001-08-16 Per Bothner <per@bothner.com>
  775. * Children.java: New class, extends CpsProcedure.
  776. * NamedChildren.java: New class, extends CpsProcedure.
  777. * StringValue.java: New class, extends Procedure1.
  778. * Makefile.am (java_sources): Add new classes.
  779. * Document.java (document): Call TreeList's beginDocument method.
  780. 2001-07-18 Per Bothner <per@bothner.com>
  781. New package gnu.xquery.util.
  782. * XMLFormat.java: New class, extends AbstractFormat.
  783. * MakeElement.java: New class; extends CpsProcedure.
  784. * MakeAttribute.java: New class; extends CpsProcedure.
  785. * Document.java: New class; extends Procedure1.
  786. * AppendValues.java: New class; extends CpsProcedure.