ChangeLog 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398
  1. 2004-11-17 Atsushi Enomoto <[email protected]>
  2. * XQueryConvert.cs : moved to System.Xml.
  3. 2004-11-16 Atsushi Enomoto <[email protected]>
  4. * XQueryConvert.cs : added some date/dateTime methods.
  5. 2004-10-28 Atsushi Enomoto <[email protected]>
  6. * XQueryConvert.cs : hexbinary to base64 is now byte[] to byte[].
  7. 2004-10-22 Atsushi Enomoto <[email protected]>
  8. * XQueryConvert.cs : now it is in System.Xml and made as public.
  9. 2004-10-08 Atsushi Enomoto <[email protected]>
  10. * XQueryParser.jay : I was mixing XPath1 class and XPath2.
  11. 2004-10-08 Atsushi Enomoto <[email protected]>
  12. * XQueryCliFunction.cs : native method invokation was still crashing.
  13. 2004-10-08 Atsushi Enomoto <[email protected]>
  14. * XPathSequence.cs :
  15. missed last checkin.
  16. Added WrapperIterator, RemovalIterator for fn:remove(),
  17. InsertingIterator for fn:insertBefore() and DistinctValueIterator
  18. for fn:distinct-values().
  19. * XQueryCliFunction.cs :
  20. Improved error message. Handle null argument as empty sequence.
  21. * XQueryFunction.cs :
  22. Fixed incorrect function name fn:zero-or-more -> fn:zero-or-one.
  23. * XQueryFunctionCliImpl.cs :
  24. Implemented some functions. Fixed some function signatures.
  25. 2004-10-07 Atsushi Enomoto <[email protected]>
  26. * XPath2Expression.cs, XPathSequence.cs :
  27. Changed ListIterator.ctor() signature not to demand current sequence.
  28. * XQueryCliFunction.cs, XQueryFunctionCliImpl.cs :
  29. Now, to represent a sequence, IEnumerable is not used anymore (it is
  30. confusing because System.String is also IEnumerable). So those native
  31. functions should just require XPathSequence (for user functions?
  32. not idea how MS will solve the "problem").
  33. If a native function method has [XQueryFunctionContext] attribute,
  34. then it means that the function requires current sequence, so fill
  35. it before invoking the method.
  36. * XQueryFunctionContextAttribute.cs : added, to mark "it needs
  37. current sequence" for fn:position() and fn:count().
  38. 2004-10-05 Atsushi Enomoto <[email protected]>
  39. * XPathSequence.cs, XQueryTokenizer.cs :
  40. removed commented && unused code.
  41. * XQueryContext.cs, XQueryCliFunction.cs, XQueryFunction.cs,
  42. XQueryFunctionCliImpl.cs :
  43. Now that position() requires current sequence that is not managed by
  44. XQueryContextManager (that is for FLWOR), it need to support
  45. XPathSequence input as the current node information.
  46. 2004-10-05 Atsushi Enomoto <[email protected]>
  47. * XQueryParser.jay, XQueryTokenizer.cs :
  48. Added attribute value template support.
  49. * XPath2Expression.cs : Inside attribute value, expressions must not
  50. serialize attributes as attribute node but should just pick value up.
  51. e.g. attr="{foo/@bar}" and <elem>{foo/@bar}</elem> are different.
  52. 2004-10-04 Atsushi Enomoto <[email protected]>
  53. * XQueryParser.jay, XPath2Expression.cs, XPathSequence.cs :
  54. two or more Filter expressions could be simply constructed as
  55. nested FilterExpr objects.
  56. 2004-09-22 Atsushi Enomoto <[email protected]>
  57. * SequenceType.cs : return TypedValue instead of null in case of
  58. XPathNavigator.
  59. * XPath2Expression.cs : now FunctionCallExpr also handles evaluation.
  60. * XPathSequence.cs : rewrote FLWORIterator to iterate forlet
  61. expressions based on index.
  62. 2004-09-13 Atsushi Enomoto <[email protected]>
  63. * SequenceType.cs, XPath2Expression.cs :
  64. Added SequenceType.IsNumeric(XmlTypeCode).
  65. In type comparison, untyped XPathNavigator is xdt:untypedAtomic
  66. (not sure as yet if it is always correct.)
  67. * XQueryComparisonOperator.cs : rewrote all numeric comparison using
  68. IsNumeric().
  69. 2004-09-12 Atsushi Enomoto <[email protected]>
  70. * XPath2Expression.cs : ComparisonExpr.CompareAtomic() should consider
  71. spec-conformant untypedAtomic handling.
  72. * XQueryContext.cs : Variables were incorrectly added to the older
  73. context. Fixed Context and ContextManager constructors that were
  74. in silly chicken-and-egg.
  75. * XPathSequence.cs : now Context property always returns current
  76. XQuery context (will be fixed; it is workaround for variable
  77. resolution). In For iteration, context sequence should vary.
  78. * XQueryComparisonOperator.cs : All value comparison failed to return
  79. true when both operands are the same types.
  80. * XsltCommand.cs : use XmlWriter.Create().
  81. 2004-09-08 Atsushi Enomoto <[email protected]>
  82. * XPathSequence.cs : workarounded bug #65521. Erased foreach inside
  83. iterators.
  84. 2004-09-08 Atsushi Enomoto <[email protected]>
  85. * XPath2Expression.cs : fixed EnclosedExpr.Compile() that resulted
  86. in index out of range.
  87. * XPathSequence.cs : FLWORIterator got working, but only when compiled
  88. with .NET 2.0 csc (still weird Invalid IL error happens).
  89. 2004-08-31 Atsushi Enomoto <[email protected]>
  90. * XPath2Expression.cs,
  91. XPathSequence.cs :
  92. Implemented GroupExpr.Evaluate() [union/intersect/except].
  93. Fixed incorrect iterator input for DescendantExpr.Evaluate().
  94. MinusExpr is (already) implemented not to be evaluated.
  95. * XQueryExpression.cs :
  96. PI name and nameExpr could be implemented.
  97. * XQueryFunction.cs :
  98. UserFunctionCallExpr.Invoke() should not be invoked.
  99. * XQueryFunctionCliImpl.cs :
  100. Implemented count(), doc(). Halfly implemented trace().
  101. * XmlQueryException.cs : Serializable.
  102. 2004-08-31 Atsushi Enomoto <[email protected]>
  103. * XPath2Expression.cs :
  104. Implemented the whole ComparisonExpr.Evaluate(). It now handles
  105. empty sequence expectedly.
  106. * XQueryComparisonOperator.cs : added.
  107. 2004-08-31 Atsushi Enomoto <[email protected]>
  108. * XPath2Expression.cs :
  109. Revised some parameters for XPathSequence classes ctor().
  110. Don't require XPathSequence while they are not required.
  111. AxisIterator need to accept only current node as its input.
  112. Implemented node comparison operators.
  113. Removed AxisStepExpr.ParentStep (in the future it might hold line
  114. information).
  115. * XQueryParser.jay : changes wrt AxisStepExpr.ParentStep.
  116. * XPathSequence.cs, XQueryExpression.cs, XQueryFunction.cs :
  117. Removed some extraneous code.
  118. NodeIterator.ctor() now requires XPathNavigator and XQueryContext
  119. instead of XPathSequence.
  120. Added SelfIterator (derived from NodeIterator).
  121. 2004-08-31 Atsushi Enomoto <[email protected]>
  122. * XQueryArithmeticOperator.cs : added.
  123. * XPath2Expression.cs, XQueryParser.jay :
  124. renamed some ArithmeticOperator enumeration members.
  125. Implemented ArithmeticOperationExpr.Evaluate().
  126. 2004-08-30 Atsushi Enomoto <[email protected]>
  127. * XPathSequence.cs : fixed NodeIterator to get correct current node
  128. from the input sequence. Now open MoveNext() again as public to
  129. allow override by NodeIterator.
  130. 2004-08-30 Atsushi Enomoto <[email protected]>
  131. * XPath2Expression.cs : empty ExprSequence should not be allowed for
  132. FLWORExpr.WhereClause. It should be null.
  133. * XPathSequence.cs : ExprSequenceIterator.Clone() was missing copy of
  134. the input sequence. FLWORIterator.MoveNext() had incorrect !(not)
  135. and wrong Where test.
  136. * XQueryContext.cs : sequence should be cloned when pushed to context.
  137. 2004-08-30 Atsushi Enomoto <[email protected]>
  138. * XQueryCommandImpl.cs : dust cleaning :(
  139. 2004-08-30 Atsushi Enomoto <[email protected]>
  140. * XQueryASTCompiler.cs, XQueryStaticContext.cs :
  141. Now it requires Evidence and XQueryCommandImpl for security check
  142. and event dispatch.
  143. * XQueryCommandImpl.cs :
  144. Provide Evidence for compiler. Added some code for message dispatch.
  145. * XQueryContext.cs :
  146. Now don't pool variable only in XQueryContextManager.
  147. When variable name could not be resolved, return empty sequence
  148. (not sure if it is always correct).
  149. Fixes which reflects XPathEmptySequence.ctor() parameter changes.
  150. * XQueryCliFunction.cs :
  151. Now it requires CAS if Evidence is supplied (in the future
  152. Evidence won't be null _at any time_).
  153. * XQueryConvert.cs :
  154. implemented GetFallbackType(). Fixed some comments.
  155. * XPathSequence.cs :
  156. Don't require XPathSequence as an argument for XPathEmptySequence.
  157. Implemented FilteredIterator.
  158. Implemented FLWORIterator partly (not working).
  159. Fixed some incorrect exception type: XPathEx- to XmlQueryEx-.
  160. Dispatch message event to XQueryStaticContext.OnMessageEvent().
  161. Added EnumeratorIterator.
  162. * XQueryFunction.cs:
  163. Fixes which reflects XPathEmptySequence.ctor() parameter changes.
  164. * XQueryExpression.cs :
  165. Commonized content serialization for node constructors.
  166. * XPath2Expression.cs :
  167. use XPathItem.TypedValue instead of (string) Value.
  168. In effective boolean value computation, Check Decimal as well.
  169. Fixed misimplemented QuantifiedExpr.EvaluateAsBoolean().
  170. Fix which reflects XQueryContext.PushVariables() changes.
  171. Handle possible null argument on ParenthesizedExpr i.e. "( )".
  172. 2004-08-26 Atsushi Enomoto <[email protected]>
  173. * XPath2Expression.cs :
  174. Fixed PathRootExpr.Evaluate() that always failed.
  175. Renamed PathChildExpr to PathSlashExpr, PathDescendantExpr to
  176. PathSlash2Expr, and added abstract PathStepExpr.
  177. PathSlash2Expr.Evaluate() now uses PathStepIterator
  178. * XPathSequence.cs :
  179. - Modified MoveNextCore() as protected.
  180. - Fixed SingleItemIterator.MoveNext() to be simple.
  181. - Renamed ChildPathIterator to PathStepIterator. Mostly copied
  182. SlashIterator logic from Iterator.cs into PathStepIterator.
  183. - Removed DescendantPathIterator ("//" should be the same as
  184. "/descendant-or-self::node()/").
  185. - NodeIterator.Node should come from current node, not context node.
  186. - Added dummy flag for NodeIterator's copy constructor (that resulted
  187. in incorrect copying for some usecases).
  188. * XQueryParser.jay : Fixes in sync with Expr class name changes.
  189. 2004-08-26 Atsushi Enomoto <[email protected]>
  190. * XPath2Expression.cs :
  191. Don't compute node's EBV based on atomized value.
  192. 2004-08-26 Atsushi Enomoto <[email protected]>
  193. * XPath2Expression.cs : in Compiler(), function call's arguments must
  194. also be compiled.
  195. * XQueryASTCompiler.cs : When function is external, it should not try
  196. to compile body, and tries to handle it as a native CLI method (I
  197. don't like this name resolution design very much, so it is likely
  198. to be redesigned).
  199. * XQueryCliFunction.cs : trivial code comment fix.
  200. * XQueryFunction : added user-specified function call support.
  201. When CLI function returned null, don't wrap null and just return
  202. XQueryEmptySequence.
  203. * XQueryFunctionCliImpl.cs : fn:nilled() requires certain node.
  204. Implemented numeric functions (in the future they might be
  205. rewritten to avoid boxing).
  206. * XQueryTokenizer.cs : Skip XQuery comment inside default state.
  207. PI and XML comment are not read correctly.
  208. 2004-08-25 Atsushi Enomoto <[email protected]>
  209. * XPath2Expression.cs :
  210. Check write state before writing document node.
  211. Check if navigator's SchemaInfo is null or not before atomizing.
  212. Use individual axis-based iterator in AxisStepExpr.Evaluate().
  213. * XPathSequence.cs : added individual axis-based iterator.
  214. Removed commented NodeKindTestIterator.
  215. * XQueryCliFunction.cs, XQueryContext.cs, XQueryFunction.cs :
  216. Now XQueryContext.CurrentItem explicitly throws exception if
  217. no context node was provided (also XQueryCommand.Execute() is
  218. fixed not to provide empty document as input).
  219. Now XQueryFunction should not access to CurrentItem unless it is
  220. required.
  221. * XQueryFunctionCliImpl.cs : fixed more method signatures.
  222. 2004-08-25 Atsushi Enomoto <[email protected]>
  223. * removed IXmlCompilerInclude.cs (does not exist anymore).
  224. 2004-08-25 Atsushi Enomoto <[email protected]>
  225. * SequenceType.cs : moved type inference method to XPathAtomicValue.
  226. Use IsArray in runtime type inference. Initialize fields completely.
  227. Handle collection to runtime type for functions that takes array.
  228. * XPath2Expression.cs : Add whitespaces on serializing XPath items.
  229. EBV != atomized boolean value. Add Atomize() for XPathItem (Atomize()
  230. for XPathSequence should be removed in the future).
  231. Replaced some ExprSequence to ExprSingle for optimization.
  232. * XQueryFunctionCliImpl.cs : Fixed some return types.
  233. * XQueryTokenizer.cs : Fixed weird ReadDecimal().
  234. 2004-08-24 Atsushi Enomoto <[email protected]>
  235. * SequenceType.cs : added ToRuntimeType().
  236. * XPath2Expression.cs : override is required.
  237. * XPathSequence.cs : fixed ExprSequenceIterator.MoveNext() that caused
  238. infinite loop.
  239. * XQueryCompileContext.cs : CultureInfo was missing.
  240. * XQueryContext.cs : CurrentContext must be created after setting
  241. currentSequence.
  242. * XQueryConvert.cs : DateTimeToString() was missing.
  243. * XQueryFunction.cs : convert parameters to runtime type before
  244. being used in Invoke(). Use function's ReturnType to create typed
  245. atomic.
  246. * XQueryParser.jay : create XQueryFunctionArgumentList instance
  247. for function calls that does not have parameters.
  248. 2004-08-23 Atsushi Enomoto <[email protected]>
  249. * SequenceType.cs, XPath2Expression.cs, XQueryASTCompiler.cs,
  250. XQueryCliFunction.cs, XQueryCompileOptions.cs, XQueryContext.cs,
  251. XQueryConvert.cs, XQueryExpression.cs, XQueryFunction,cs,
  252. XQueryFunctionCliImpl.cs, XQueryFunctionTable.cs,
  253. XQueryModuleProlog.cs, XQueryParser.jay, XQueryStaticContext.cs,
  254. XQueryTokenizer.cs :
  255. Eliminate MS.Internal.Xml.* classes. More null check everywhere and
  256. make Compile() pass though as a dummy. Unified FunctionParam into
  257. XQueryFunctionArgument. More kind error message. Several fixes.
  258. 2004-08-20 Atsushi Enomoto <[email protected]>
  259. * XQueryExpression.cs : Content for XmlTextConstructor might be null,
  260. and use literal text for constructor argument if supplied.
  261. * XQueryParser.jay, XQueryTokenizer.cs : Element content literal
  262. string was not parsed and kept correctly. Parse CDATA section.
  263. 2004-08-20 Atsushi Enomoto <[email protected]>
  264. * XPath2Expression.cs, XQueryConvert.cs, XQueryExpression.cs,
  265. XQueryModuleProlog.cs, XQueryParser.jay, XQueryTokenizer.cs :
  266. several changes for XQueryCommand.Execute() implementation.
  267. 2004-08-20 Atsushi Enomoto <[email protected]>
  268. * XQueryContext.cs, XQueryStaticContext.cs, SequenceType.cs,
  269. XPathSequence.cs, XQueryFunction.cs, XQueryFunctionTable.cs,
  270. XQueryCliFunction.cs, XQueryCompileContext.cs, XQueryASTCompiler.cs,
  271. XQueryCommandImpl.cs, XQueryFunctionCliImpl :
  272. new files for XQuery implementation.
  273. 2004-07-28 Atsushi Enomoto <[email protected]>
  274. * XmlQueryCompileException.cs : removed extra GetObjectData().
  275. * XsltCommand.cs : fixed signatures of Compile() and Execute() methods.
  276. 2004-07-27 Atsushi Enomoto <[email protected]>
  277. * XQueryParser.jay,
  278. XPath2Expression.cs,
  279. XQueryModuleProlog.cs,
  280. XQueryTokenizer.cs :
  281. Removed SchemaContext. StepExpr and XPathAxis redesign.
  282. (Partially) updated Prolog to match with XQuery 7/23/2004 spec.
  283. XML comment/PI/CDATA recognition in tokenizer.
  284. 2004-07-26 Atsushi Enomoto <[email protected]>
  285. * skelton-2.0.cs,
  286. XQueryParser.jay,
  287. XQueryTokenizer.cs,
  288. XQueryModuleProlog.cs,
  289. XPath2Expression.cs,
  290. XQueryExpression.cs : added.
  291. 2004-07-23 Atsushi Enomoto <[email protected]>
  292. * XmlQueryCompileException.cs, XmlQueryException.cs :
  293. added internal constructor that supplies error location.
  294. Removed Message property.
  295. 2004-07-20 Atsushi Enomoto <[email protected]>
  296. * XsltCommand.cs, XmlArgumentList.cs : sealed. Added missing MonoTODO.
  297. * XQueryConvert.cs : added. (namespace is temporarily MS.Internal.Xml)
  298. 2004-05-22 Atsushi Enomoto <[email protected]>
  299. * IXmlCompilerInclude.cs,
  300. QueryEventArgs.cs,
  301. QuertEventHandler.cs,
  302. XmlArgumentList.cs,
  303. XsltCommand.cs : added.
  304. * XmlQueryArgumentList.cs,
  305. XsltProcessor.cs : removed (only in .NET 1.2).
  306. * XmlCommand.cs,
  307. XmlQueryCompileException.cs,
  308. XmlQueryException.cs : updated API to that of .NET 2.0.
  309. 2003-12-14 Tim Coleman <[email protected]>
  310. * ChangeLog XmlCommand.cs XmlQueryArgumentList.cs
  311. * XmlQueryCompileException.cs XmlQueryException.cs XsltProcessor.cs:
  312. Move classes from the System.Data.SqlXml assembly where they
  313. did not belong.