ChangeLog 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494
  1. 2003-11-19 Atsushi Enomoto <[email protected]>
  2. * Added XPathComparer.cs
  3. * DefaultContext.cs : Fixed XPathFunctionId.Evaluate() to iterate base
  4. iterator correctly, and sort results.
  5. 2003-11-19 Atsushi Enomoto <[email protected]>
  6. * DefaultContext.cs : Imcomplete fix ;-)
  7. 2003-11-19 Atsushi Enomoto <[email protected]>
  8. * DefaultContext.cs : XPathFunctions.ToNumber() should catch overflow.
  9. XPathFunctionId.cs : Exposed Id expression.
  10. * Expression.cs : Added ExprLiteral.Value, and class ExprParens (it
  11. will be used to solve evaluation precedence problem).
  12. 2003-11-09 Atsushi Enomoto <[email protected]>
  13. * Iterator.cs : Fixed SlashIterator that might return nodes 1)in
  14. inconsistent order, and 2)may return duplicate result nodes.
  15. 2003-11-06 Ben Maurer <[email protected]>
  16. * Iterator.cs: (AxisIterator.ComparablePosition): Remove. Let
  17. it inherit from the base class. This made b[2] evaluated on
  18. <a /><b /><c /><a /><b /><c /> return the first b node because
  19. in the ChildIterator it was the second node and seemed to satsify
  20. the predicate.
  21. 2003-11-04 Atsushi Enomoto <[email protected]>
  22. * Iterator.cs : Added bool ReverseAxis property to identify whether
  23. the iterator is in reverse order or not. Added ComparablePosition
  24. for correct position comparison for PredicateIterator and reverse-
  25. order-axes. Modified AncestorIterator, AncestorOrSelfIterator,
  26. PrecedingIterator and PrecedingSiblingIterator to make MoveNext()
  27. return their nodes in document order. This fixes bugzilla #39079.
  28. 2003-10-15 Atsushi Enomoto <[email protected]>
  29. * Iterator.cs : DescendantIterator and FollowingIterator also should
  30. not MoveNext() after they reached to the end.
  31. 2003-10-13 Atsushi Enomoto <[email protected]>
  32. * Iterator.cs : Fixed UnionIterator who ignores document order.
  33. Fixed SlashIterator whose MoveNext() should finish at its end.
  34. 2003-09-27 Ben Maurer <[email protected]>
  35. * Iterator.cs, Expression.cs, XPathNavigator.cs: In AxisIterator
  36. use NameTable so we dont call strcmp.
  37. 2003-09-27 Ben Maurer <[email protected]>
  38. * DefaultContext.cs (translate): translate ("abc", "c", "") = "ab"
  39. not "abc".
  40. * Iterator.cs, Expression.cs: All axes are
  41. SimpleIterators. SimpleIterators are gaurenteed to give the same
  42. XPathNavigator in Current. Make AxisIterator take a
  43. SimpleIterator, not any old BaseIterator. Will allow us to make
  44. NameTable optimizations and avoid quite a few strcmp's.
  45. 2003-09-24 Ben Maurer <[email protected]>
  46. * Expression.cs: make // work right, must use another slash itr.
  47. 2003-09-21 Ben Maurer <[email protected]>
  48. * Expression.cs: cant use $$ before assigned.
  49. 2003-09-21 Ben Maurer <[email protected]>
  50. * Expression.cs, Parser.jay, XPathNavigator.cs: api beautification.
  51. 2003-09-20 Ben Maurer <[email protected]>
  52. * Expression.cs: num != double.NaN does not work.
  53. 2003-09-19 Ben Maurer <[email protected]>
  54. * Expression.cs: in NodeTypeTest dont throw an exception if it is
  55. an unknown node type (allows for better Pattern debugging).
  56. 2003-09-17 Ben Maurer <[email protected]>
  57. * DefaultContext.cs: implement sum () and translate ().
  58. 2003-09-13 Ben Maurer <[email protected]>
  59. * XPathNavigator.cs: Make methods where you pass in the context,
  60. so that we dont have to clone expressions so much.
  61. 2003-09-06 Ben Maurer <[email protected]>
  62. * DefaultContext.cs, Expresssion.cs, Parser.jay: Rewrite so that
  63. system functions are actually expressions. Will allow for some
  64. nice optimizations.
  65. 2003-08-25 Ben Maurer <[email protected]>
  66. * XPathNavigator.cs: "Smart" behavior in Matches. Nice 8x speed
  67. improvement in the method (5ms/call -> .7 ms / call) measured by
  68. monodoc's rendering of N:System.
  69. * Expression.cs: Utility methods to support above.
  70. 2003-08-13 Piers Haken <[email protected]>
  71. * Iterator.cs:
  72. fix MergedIterator.Clone(), now clones other's iterators
  73. fix DescendantIterator.Clone(), now copies depth
  74. make iterator cloning constructors more type-specific
  75. 2003-08-01 Piers Haken <[email protected]>
  76. * Expression.cs: added NodeNamespaceTest
  77. * XPathNavigator.cs: implement Select* with namespaces
  78. 2003-07-31 Ben Maurer <[email protected]>
  79. * Iterator.cs: Allow creation of an EnumeratorIterator with an
  80. XmlNamespaceManager.
  81. 2003-07-31 Piers Haken <[email protected]>
  82. * Parser.jay:
  83. Nested predicates (uses ExprFilter instead)
  84. more type safety
  85. make grammar look more like w3c spec
  86. * Expression.cs:
  87. remove ExprStep, ExprPredicates
  88. NodeTest is now a NodeSet
  89. more type-safety
  90. * Iterator.cs:
  91. PredicateIterator now only takes a single predicate expression
  92. more type-safety
  93. * XPathNavigator.cs:
  94. simplified SelectTest
  95. * XPathException.cs:
  96. fixed indenting
  97. 2003-07-30 Duncan Mak <[email protected]>
  98. * XPathException.cs
  99. (GetObjectData):
  100. (Message): Added.
  101. 2003-07-29 Piers Haken <[email protected]>
  102. * DefaultContext.cs: 'local-name' returns String, not NodeSet!
  103. 2003-07-29 Piers Haken <[email protected]>
  104. * XPathNavigator.cs:
  105. * Expression.cs:
  106. add typesafe Evaluate* methods
  107. 2003-07-29 Piers Haken <[email protected]>
  108. * DefaultContext.cs: fix 'substring-after'
  109. 2003-07-29 Piers Haken <[email protected]>
  110. * Iterator.cs: fix PredicateIterator.CurrentPosition bug (it wasn't incrementing)
  111. 2003-07-29 Ben Maurer <[email protected]>
  112. * Iterator.cs: dont throw exceptions on tostring ()
  113. 2003-07-28 Piers Haken <[email protected]>
  114. * DefaultContext.cs: better handling of null argument lists
  115. * XPathNavigator.cs: implement ComparePosition
  116. 2003-07-28 Piers Haken <[email protected]>
  117. * Expression.cs: boolean operators: handle comparing .Any better
  118. 2003-07-28 Piers Haken <[email protected]>
  119. * DefaultContext.cs: count() should return a double
  120. * Expression.cs: better support for handling non-double numbers
  121. 2003-07-28 Piers Haken <[email protected]>
  122. * DefaultContext.cs: better function param matching
  123. 2003-07-27 Piers Haken <[email protected]>
  124. * Expression.cs:
  125. * DefaultContext.cs:
  126. catch FormatExceptions while parsing numbers
  127. 2003-07-27 Piers Haken <[email protected]>
  128. * Expression.cs:
  129. fix case sorting order
  130. allow EvaluateNumber to take XPathResultType.Any
  131. 2003-07-27 Piers Haken <[email protected]>
  132. * Expression.cs:
  133. * Tokenizer.cs:
  134. don't pass null to XmlQualifiedName constructor
  135. 2003-07-27 Piers Haken <[email protected]>
  136. * DefaultContext.cs: allow 'concat' to take arbitrary-typed arguments (spec?)
  137. 2003-07-27 Piers Haken <[email protected]>
  138. * Expression.cs: allow EvaluateNodeSet to take XPathResultType.Any
  139. 2003-07-26 Piers Haken <[email protected]>
  140. * Expression.cs: fix function evaluation with ambigous argument types
  141. * XPathNavigator.cs: fix silly null reference bug
  142. 2003-07-26 Piers Haken <[email protected]>
  143. * Iterator.cs:
  144. * DefaultContext.cs:
  145. ArrayListIterator->EnumeratorIterator
  146. * Expression.cs: add sorting support
  147. 2003-07-26 Piers Haken <[email protected]>
  148. * Tokenizer.cs:
  149. * Parser.jay:
  150. move QName parsing into tokenizer
  151. * Expression.cs:
  152. fix evaluating XPathResultType.Any
  153. fix ExprDiv.ToString()
  154. fix NodeTypeTest.ToString() (for namespace axis)
  155. 2003-07-25 Piers Haken <[email protected]>
  156. * Expression.cs: return clone of $var evaluation
  157. 2003-07-26 Piers Haken <[email protected]>
  158. * Iterator.cs: add setter for NamespaceManager
  159. * XPathNavigator.cs: propagate NamespaceManager from context on Evaluate
  160. * Expression.cs: fix func/var exception strings
  161. 2003-07-25 Piers Haken <[email protected]>
  162. * Expression.cs: implement ExprFilter.Evaluate
  163. 2003-07-25 Piers Haken <[email protected]>
  164. * Expression.cs: implement ExprVariable.Evaluate
  165. 2003-07-24 Ben Maurer <[email protected]>
  166. * DefaultContext.cs: implement lang ()
  167. 2003-07-24 Piers Haken <[email protected]>
  168. * Parser.jay:
  169. * Expression.cs:
  170. allow ExprUNION to take non-nodeset (eg, $var) arguments
  171. 2003-07-24 Piers Haken <[email protected]>
  172. * Tokenizer.cs: fix variable references
  173. * Parser.jay:
  174. * Expression.cs:
  175. * XPathNavigator.cs:
  176. use XmlQualifiedName
  177. 2003-06-30 Atsushi Enomoto <[email protected]>
  178. * XPathDocument.cs : removed Driver class and restored authors' name
  179. (though it is completely rewrote).
  180. 2003-06-30 Atsushi Enomoto <[email protected]>
  181. * XPathDocument.cs : Replaced existing stub class with real
  182. XPathDocument implementation.
  183. 2003-04-28 Piers Haken <[email protected]>
  184. * Parser.jay, Tokenizer.cs: more compliant lexical parsing of ambiguous tokens
  185. 2003-03-07 Piers Haken <[email protected]>
  186. * Tokenizer.cs: allow '.'s in NCNames
  187. 2003-03-07 Piers Haken <[email protected]>
  188. * Exression.cs:
  189. * DefaultContext.cs:
  190. fixed function argument resolution
  191. 2003-02-09 Piers Haken <[email protected]>
  192. * XPathNavigator.cs:
  193. * Iterator.cs:
  194. * Expression.cs: fix namespace handling
  195. 2003-01-04 Piers Haken <[email protected]>
  196. * Parser.*: Remove extraneous "using" that was stopping the build. Permanently thisi time ;-)
  197. 2003-02-02 Piers Haken <[email protected]>
  198. * Parser.jay: add token names
  199. * Tokenizer.cs: fix NCName tokenization
  200. 2003-01-02 Atsushi Enomoto <[email protected]>
  201. * Tokenizer.cs : Fixed ParseIdentifier to allow digits.
  202. (It should be a temporary fix.)
  203. 2002-09-22 Nick Drochak <[email protected]>
  204. * Parser.cs: Remove extraneous "using" that was stopping the build.
  205. 2002-09-21 Piers Haken <[email protected]>
  206. * XPathException: implementation
  207. * Expression.cs:
  208. * Iterator.cs:
  209. * Parser.jay:
  210. * Tokenizer.jay:
  211. * XPathNavigator.jay:
  212. use XPathException.
  213. 2002-09-13 Gonzalo Paniagua Javier <[email protected]>
  214. * Parser.cs: commented out non-existent namespace (it compiles fine
  215. with mcs because of a bug that is already on bugzilla).
  216. 2002-09-12 Piers Haken <[email protected]>
  217. * Tokenizer.cs: fix parsing numbers that start with '.'
  218. * DefaultContext.cs: use MS-compatible formatting of doubles
  219. 2002-09-12 Piers Haken <[email protected]>
  220. * Iterator.cs: added NullIterator to handle unspecified contexts
  221. * XPathNavigator.cs: use NullIterator insted of SelfIterator when context is unspecified.
  222. * XPathNodeIterator.cs: change default _count to -1 to prevent recalculations for NullIterators
  223. 2002-09-12 Piers Haken <[email protected]>
  224. * Expression.cs, Parser.jay: allow ExprSLASH to take a generic expression as its left argument.
  225. * Iterator.cs: fix SlashIterator.Clone() when _iterRight is null.
  226. * DefaultContext.cs: fix id() return type.
  227. 2002-09-03 Gonzalo Paniagua Javier <[email protected]>
  228. * DefaultContext.cs: fixed bug #28840.
  229. * Expression.cs: added FIXME.
  230. 2002-08-17 Jason Diamond <[email protected]>
  231. * XPathNavigator.cs: Fixed matching on patterns that look like
  232. absolute XPath expressions.
  233. 2002-08-17 Jason Diamond <[email protected]>
  234. * XPathNavigator.cs: Added naive (but working) implementation of
  235. Matches.
  236. 2002-07-31 Piers Haken <[email protected]>
  237. * XPathDocument.cs: simple, XmlDocument-based implementation
  238. 2002-07-25 Piers Haken <[email protected]>
  239. * DefaultContext.cs: implement XPathFunctionName 'name()' function.
  240. 2002-07-17 Piers Haken <[email protected]>
  241. * DefaultContext.cs: implement 'string-length()', 'normalize-space()'
  242. * Parser.jay: remove redundant production
  243. * Expression.cs: add switches for debugging under VS.NET
  244. 2002-07-17 Piers Haken <[email protected]>
  245. * Expression.cs: implement nodeset/nodeset comparisons (non-optimal)
  246. 2002-07-15 Piers Haken <[email protected]>
  247. * Iterator.cs:
  248. - rename UnionIterator to MergedIterator,
  249. - create new UnionIterator to implment uniqueness for '|' operator
  250. - fix position bug in ArrayListIterator.Clone()
  251. * Expression.cs: use new UnionIterator constructor syntax
  252. 2002-07-12 Piers Haken <[email protected]>
  253. * Iterator.cs: PredicateIterator: handle numeric predicates
  254. * Parser.jay: add some debugging support: yyparseDebug
  255. * Tokenizer.cs: cleanup, include '-' chars in identifier tokens
  256. 2002-06-29 Piers Haken <[email protected]>
  257. * Expression.cs:
  258. - remove dead code
  259. - NodeTest uses XPathResultType instead of internal NodeTestTypes enum
  260. - remove NodeTestTypes enum
  261. - remove NodeTestTypeAny (functionality provided by base now)
  262. - fix ExprStep to handle wildcard QNames
  263. * Parser.jay:
  264. - moved to Mono.Xml.XPath namespace
  265. - use XPathResultType
  266. - handle wildcard QNames
  267. * Tokenizer.cs: moved to Mono.Xml.XPath namespace
  268. * XPathNavigator.cs: implement
  269. - IsDescendant
  270. - SelectAncestors
  271. - SelectDescendants
  272. - SelectChildren
  273. * XPathResultType.cs: fix enum values
  274. 2002-06-24 Jason Diamond <[email protected]>
  275. * XPathScanner.cs: Removed.
  276. 2002-06-24 Dick Porter <[email protected]>
  277. * XmlCaseOrder.cs: Fix namespace
  278. 2002-06-23 Piers Haken <[email protected]>
  279. * DefaultContext.cs: implemented XPathFUnctionId
  280. * Iterator.cs: new ArrayListIterator for id() support
  281. 2002-06-23 Piers Haken <[email protected]>
  282. * XPathNavigator.cs: implement:
  283. - Compile
  284. - Evaluate
  285. - Clone
  286. - Select
  287. - ToString
  288. - some forwarding methods
  289. * XPathNodeIterator: implement caching Count
  290. * Tokenizer.cs: new XPath tokenizer
  291. * Parser.jay: new XPath grammar
  292. * Parser.cs: new precompiled XPath grammar
  293. * Expression.cs: new XPath expression objects
  294. * Iterator.cs: new XPath result/context objects
  295. * DefaultContext.cs: new XPath function binding context
  296. 2002-05-08 Tim Coleman <[email protected]>
  297. * XPathDocument.cs:
  298. * XPathException.cs: New stub files added.
  299. 2002-04-12 Duncan Mak <[email protected]>
  300. * XmlCaseOrder.cs: Moved to here from System.Xml.
  301. 2002-03-26 Jason Diamond <[email protected]>
  302. * XPathScanner.cs: Now handles name tests with wildacards. Abbreviated
  303. steps. Both absolution and relative abbreviated location paths.
  304. 2002-03-25 Jason Diamond <[email protected]>
  305. * XPathScanner.cs: Added new file. This class is supposed to be internal
  306. but that would make it impossible to test.
  307. 2002-03-08 Duncan Mak <[email protected]>
  308. * XPathNamespaceScope.cs:
  309. * XPathNodeType.cs:
  310. * XPathResultType.cs:
  311. * XmlDataType.cs:
  312. * XmlSortOrder.cs: Used EnumCheck and realigned elements to be compatible with MS
  313. implementation. XPathResultType is interesting as EnumCheck does
  314. not show the Navigator element, but shows the String element twice.
  315. 2002-03-08 Jason Diamond <[email protected]>
  316. * XmlDataType.cs, XmlSortOrder.cs, XPathNodeType.cs: Added files.
  317. 2002-03-06 Jason Diamond <[email protected]>
  318. * ChangeLog: Added to this directory.
  319. * XPathExpression.cs, XPathNamespaceScope.cs, XPathNodeIterator.cs,
  320. XPathResultType.cs: New files.
  321. * XPathNavigator.cs: Stubbed out all properties and methods.