1 2004-11-17 Atsushi Enomoto <atsushi@ximian.com>
3 * XQueryConvert.cs : moved to System.Xml.
5 2004-11-16 Atsushi Enomoto <atsushi@ximian.com>
7 * XQueryConvert.cs : added some date/dateTime methods.
9 2004-10-28 Atsushi Enomoto <atsushi@ximian.com>
11 * XQueryConvert.cs : hexbinary to base64 is now byte[] to byte[].
13 2004-10-22 Atsushi Enomoto <atsushi@ximian.com>
15 * XQueryConvert.cs : now it is in System.Xml and made as public.
17 2004-10-08 Atsushi Enomoto <atsushi@ximian.com>
19 * XQueryParser.jay : I was mixing XPath1 class and XPath2.
21 2004-10-08 Atsushi Enomoto <atsushi@ximian.com>
23 * XQueryCliFunction.cs : native method invokation was still crashing.
25 2004-10-08 Atsushi Enomoto <atsushi@ximian.com>
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.
35 Fixed incorrect function name fn:zero-or-more -> fn:zero-or-one.
36 * XQueryFunctionCliImpl.cs :
37 Implemented some functions. Fixed some function signatures.
39 2004-10-07 Atsushi Enomoto <atsushi@ximian.com>
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").
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().
55 2004-10-05 Atsushi Enomoto <atsushi@ximian.com>
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.
65 2004-10-05 Atsushi Enomoto <atsushi@ximian.com>
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.
73 2004-10-04 Atsushi Enomoto <atsushi@ximian.com>
75 * XQueryParser.jay, XPath2Expression.cs, XPathSequence.cs :
76 two or more Filter expressions could be simply constructed as
77 nested FilterExpr objects.
79 2004-09-22 Atsushi Enomoto <atsushi@ximian.com>
81 * SequenceType.cs : return TypedValue instead of null in case of
83 * XPath2Expression.cs : now FunctionCallExpr also handles evaluation.
84 * XPathSequence.cs : rewrote FLWORIterator to iterate forlet
85 expressions based on index.
87 2004-09-13 Atsushi Enomoto <atsushi@ximian.com>
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
96 2004-09-12 Atsushi Enomoto <atsushi@ximian.com>
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().
110 2004-09-08 Atsushi Enomoto <atsushi@ximian.com>
112 * XPathSequence.cs : workarounded bug #65521. Erased foreach inside
115 2004-09-08 Atsushi Enomoto <atsushi@ximian.com>
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).
122 2004-08-31 Atsushi Enomoto <atsushi@ximian.com>
124 * XPath2Expression.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.
137 2004-08-31 Atsushi Enomoto <atsushi@ximian.com>
139 * XPath2Expression.cs :
140 Implemented the whole ComparisonExpr.Evaluate(). It now handles
141 empty sequence expectedly.
142 * XQueryComparisonOperator.cs : added.
144 2004-08-31 Atsushi Enomoto <atsushi@ximian.com>
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
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).
160 2004-08-31 Atsushi Enomoto <atsushi@ximian.com>
162 * XQueryArithmeticOperator.cs : added.
163 * XPath2Expression.cs, XQueryParser.jay :
164 renamed some ArithmeticOperator enumeration members.
165 Implemented ArithmeticOperationExpr.Evaluate().
167 2004-08-30 Atsushi Enomoto <atsushi@ximian.com>
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.
173 2004-08-30 Atsushi Enomoto <atsushi@ximian.com>
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.
182 2004-08-30 Atsushi Enomoto <atsushi@ximian.com>
184 * XQueryCommandImpl.cs : dust cleaning :(
186 2004-08-30 Atsushi Enomoto <atsushi@ximian.com>
188 * XQueryASTCompiler.cs, XQueryStaticContext.cs :
189 Now it requires Evidence and XQueryCommandImpl for security check
191 * XQueryCommandImpl.cs :
192 Provide Evidence for compiler. Added some code for message dispatch.
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_).
202 implemented GetFallbackType(). Fixed some comments.
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.
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. "( )".
221 2004-08-26 Atsushi Enomoto <atsushi@ximian.com>
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
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.
240 2004-08-26 Atsushi Enomoto <atsushi@ximian.com>
242 * XPath2Expression.cs :
243 Don't compute node's EBV based on atomized value.
245 2004-08-26 Atsushi Enomoto <atsushi@ximian.com>
247 * XPath2Expression.cs : in Compiler(), function call's arguments must
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
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
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.
263 2004-08-25 Atsushi Enomoto <atsushi@ximian.com>
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
277 * XQueryFunctionCliImpl.cs : fixed more method signatures.
279 2004-08-25 Atsushi Enomoto <atsushi@ximian.com>
281 * removed IXmlCompilerInclude.cs (does not exist anymore).
283 2004-08-25 Atsushi Enomoto <atsushi@ximian.com>
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().
295 2004-08-24 Atsushi Enomoto <atsushi@ximian.com>
297 * SequenceType.cs : added ToRuntimeType().
298 * XPath2Expression.cs : override is required.
299 * XPathSequence.cs : fixed ExprSequenceIterator.MoveNext() that caused
301 * XQueryCompileContext.cs : CultureInfo was missing.
302 * XQueryContext.cs : CurrentContext must be created after setting
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
308 * XQueryParser.jay : create XQueryFunctionArgumentList instance
309 for function calls that does not have parameters.
311 2004-08-23 Atsushi Enomoto <atsushi@ximian.com>
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,
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.
323 2004-08-20 Atsushi Enomoto <atsushi@ximian.com>
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.
330 2004-08-20 Atsushi Enomoto <atsushi@ximian.com>
332 * XPath2Expression.cs, XQueryConvert.cs, XQueryExpression.cs,
333 XQueryModuleProlog.cs, XQueryParser.jay, XQueryTokenizer.cs :
334 several changes for XQueryCommand.Execute() implementation.
336 2004-08-20 Atsushi Enomoto <atsushi@ximian.com>
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.
344 2004-07-28 Atsushi Enomoto <atsushi@ximian.com>
346 * XmlQueryCompileException.cs : removed extra GetObjectData().
347 * XsltCommand.cs : fixed signatures of Compile() and Execute() methods.
349 2004-07-27 Atsushi Enomoto <atsushi@ximian.com>
353 XQueryModuleProlog.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.
359 2004-07-26 Atsushi Enomoto <atsushi@ximian.com>
364 XQueryModuleProlog.cs,
366 XQueryExpression.cs : added.
368 2004-07-23 Atsushi Enomoto <atsushi@ximian.com>
370 * XmlQueryCompileException.cs, XmlQueryException.cs :
371 added internal constructor that supplies error location.
372 Removed Message property.
374 2004-07-20 Atsushi Enomoto <atsushi@ximian.com>
376 * XsltCommand.cs, XmlArgumentList.cs : sealed. Added missing MonoTODO.
377 * XQueryConvert.cs : added. (namespace is temporarily MS.Internal.Xml)
379 2004-05-22 Atsushi Enomoto <atsushi@ximian.com>
381 * IXmlCompilerInclude.cs,
383 QuertEventHandler.cs,
385 XsltCommand.cs : added.
387 * XmlQueryArgumentList.cs,
388 XsltProcessor.cs : removed (only in .NET 1.2).
391 XmlQueryCompileException.cs,
392 XmlQueryException.cs : updated API to that of .NET 2.0.
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