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