TARGET_JVM: refer nunit from mono tree
[mono.git] / mcs / class / System.XML / Mono.Xml.Xsl / ChangeLog
1 2006-03-15  Atsushi Enomoto  <atsushi@ximian.com>
2
3         * XslTransformProcessor.cs,
4           Compiler.cs : eliminate ExpressionStore. Now sorting is done
5           inside XslSortEvaluator.
6         * XslSortEvaluator.cs : new file. It handles current node in XSLT
7           context. Fixed bug #77781.
8
9 2006-03-15  Atsushi Enomoto  <atsushi@ximian.com>
10
11         * XslTransformProcessor.cs : in PushNodeset() avoid Clone(). It saves
12           extra cost, and might avoid possible bug in for-each and current()
13           evaluation.
14
15 2006-02-22  Atsushi Enomoto  <atsushi@ximian.com>
16
17         * ScriptCompilerInfo.cs : mbas unlike vbc references System.dll
18           etc. by default, so don't add them as references.
19           Set only local file name for #ExternalSource. Fixed bug #75789.
20
21 2006-01-13  Atsushi Enomoto  <atsushi@ximian.com>
22
23         * GenericOutputter.cs : When writing string, use WriteWhitespace()
24           instead of WhiteString() when its state is not Content. This fixes
25           BVTs_bvt066 case (broken after implementing strict state check in
26           XmlTextWriter).
27
28 2005-12-24  Gert Driesen  <drieseng@users.sourceforge.net>
29
30         * XslOutput.cs: Do not report error for unknown value for "standalone"
31         and "omit-xml-declaration" attributes, and extranous attributes if
32         stylesheet version is not "1.0".
33
34 2005-12-24  Atsushi Enomoto  <atsushi@ximian.com>
35
36         * Compiler.cs : pass stylesheet version to XslOutput to determine
37           "indent" value validity.
38         * XslOutput.cs, HtmlEmitter.cs, GenericOutputter.cs : Reverted
39           buggy changes on "indent" attribute handling.
40           http://www.w3.org/TR/xslt#section-HTML-Output-Method
41
42 2005-12-23  Gert Driesen  <drieseng@users.sourceforge.net>
43
44         * XslOutput.cs: Reduced indentation of cases in switch statement.
45
46 2005-12-23  Gert Driesen  <drieseng@users.sourceforge.net>
47
48         * ScriptCompilerInfo.cs: Fixed line endings.
49         * XslStylesheet.cs: Beautify error messages.
50         * Debug.cs: Fixed line endings.
51         * XslOutput.cs: Indent is now bool instead of string, use
52         MoveToAttribute to navigate through attributes instead of using
53         GetAttribute, as we also need to distinguish attributes with 
54         zero-length value from attributes that are not specified for
55         correct implementation of DOCTYPE. Implemented validation for 
56         value of "omit-xml-declaration", "standalone" and "indent".
57         We now throw a XsltCompileException for unknown attribute.
58         * XmlWriterEmitter.cs: only skip WriteDocType is systemId is null.
59         * HtmlEmitter.cs: XslOutput.Indent is now bool. Fixed WriteDocType
60         to match MS.NET.
61         * XmlDecimalFormat.cs: Beautify error messages.
62         * XslTemplate.cs: Beautify error messages.
63         * GenericOutputter.cs: XslOutput.Indent is now bool.
64         * Compiler.cs: Beautify error messages.
65
66 2005-12-21  Atsushi Enomoto  <atsushi@ximian.com>
67
68         * XslTemplate.cs : don't check name and mode attributes on
69           non-'xsl:template' element. This should fix bug #77051.
70
71 2005-12-13  Andrew Skiba  <andrews@mainsoft.com>
72
73         * XslDecimalFormat.jvm.cs: set correct defaults for NaN and Infinity
74
75 2005-11-30  Atsushi Enomoto  <atsushi@ximian.com>
76
77         * ScriptCompilerInfo.cs : (VBCompilerInfo) There was a space between
78           '#' and 'ExternalResource'. bug #75789 should be fixed.
79
80 2005-11-23  Vladimir Krasnov  <vladimirk@mainsoft.com>
81
82         * XslKey.cs: fixed KeyIndexTable.Evaluate method, changed
83         XPathNavigator given to GetNodesByValue()
84
85 2005-11-17  Atsushi Enomoto  <atsushi@ximian.com>
86
87         * XslCompiledContext.cs : since XsltContextInfo is struct, having
88           an array of this type and setting fields of each struct didn't
89           make sense. It thus blocked expected PreserveWhitespace behavior.
90
91 2005-10-24  Atsushi Enomoto  <atsushi@ximian.com>
92
93         * Compiler.cs : (FromString(s, hashtable)) pull default namespace
94           from the table for LRE (don't consider it as ""; spec. 7.1.2)
95           Fixed bug #76530.
96
97 2005-09-16  Atsushi Enomoto  <atsushi@ximian.com>
98
99         * ScriptCompilerInfo.cs : Compile correct replacement result.
100           Fixed bug #76116.
101
102 2005-09-10  Atsushi Enomoto  <atsushi@ximian.com>
103
104         * Compiler.cs : (Compile) check children only when it is the document
105           element. Fixed bug #76046.
106
107 2005-08-25  Atsushi Enomoto  <atsushi@ximian.com>
108
109         * ScriptCompilerInfo.cs : It should not be "#line" when the source is
110           not C#. It should fix bug #75789.
111
112 2005-08-05  Atsushi Enomoto  <atsushi@ximian.com>
113
114         * XslKey.cs : Fixed match pattern in xsl:key to check attribute nodes.
115           To minimize attribute iteration, use Pattern.EvaluatedNodeType.
116           Fixed bug #75709.
117
118 2005-07-29  Atsushi Enomoto  <atsushi@ximian.com>
119
120         * XslFunctions.cs : XslTransform recovers from errors on document
121           resolution. Fixed bug #75663.
122
123 2005-06-06  Atsushi Enomoto  <atsushi@ximian.com>
124
125         * HtmlEmitter.cs : Boolean attribute values should be omitted, but
126           only for related elements.
127
128 2005-05-07  Atsushi Enomoto  <atsushi@ximian.com>
129
130         * MSXslScriptManager.cs : it should ignore compiler warnings. This
131           fixes bug #74859.
132
133 2005-04-07  Andrew Skiba  <andrews@mainsoft.com>
134
135         * XslDecimalFormat.jvm.cs : added
136  
137 2005-03-31  Atsushi Enomoto  <atsushi@ximian.com>
138
139         * MSXslScriptManager.cs : added TARGET_JVM switch (that does not
140           support CodeDom). Use Guid.ToString("N").
141
142 2005-03-31  Atsushi Enomoto  <atsushi@ximian.com>
143
144         * Compiler.cs : removed extraneous using_directive.
145
146 2005-03-25  Atsushi Enomoto  <atsushi@ximian.com>
147
148         * XslKey.cs : the iterator does not require sorting (already sorted).
149           Removed unused code.
150
151 2005-03-23  Atsushi Enomoto  <atsushi@ximian.com>
152
153         * XslStylesheet.cs :
154           Variables are stored per stylesheet and added to compiler after
155           all of the contents are processed (handle import precedence).
156           Imports are now processed in prior to other contents (incorrect
157           imports are now rejected). After imports, process includes to 
158           process nested imports. In-process included stylesheets are 
159           temporarily stored in including stylesheet.
160           Handle keys like variables are handled.
161           Added Compile() that is splitted from .ctor().
162         * Compiler.cs :
163           Store keys in compiler and compiled stylesheet.
164           Duplicate variables in imports are now overriden as expected.
165         * XsltCompiledContext.cs : use CompiledStylesheet.ResolveKey().
166
167 2005-03-22  Atsushi Enomoto  <atsushi@ximian.com>
168
169         * XslTransformProcessor.cs : now it looks safe to remove SetContext()
170           from each EvaluateXXX() methods.
171         * MsxslScriptManager.cs : not to leave reference to stylesheet
172           navigator, pass current node to Compile().
173         * XslCompiledContext.cs : Added GetNavCache() that returns reusable
174           navigator cache for each pattern, to avoid Clone() and not to leave
175           reference to already-done instance navigator.
176
177 2005-03-22  Atsushi Enomoto  <atsushi@ximian.com>
178
179         * Compiler.cs : Now it holds XPath parser and XSLT pattern parser.
180         * XslKey.cs : Use XSLT pattern parser for match.
181           UsePattern is now "Use" (it is not a pattern). 
182           Reimplemented Evaluate() to make full use of index table.
183           Added Matches() to handle shorter match evaluation. For const value
184           for key (e.g. key patterns), it could avoid Evaluate().
185         * XsltCompiledContext.cs : Added MatchesKey() that just delegates to
186           new KeyIndexTable.Matches().
187         * XslFunctions.cs : Added PatternMatches() that just delegates to new
188           XsltCompiledContext.MatchesKey().
189
190 2005-03-22  Atsushi Enomoto  <atsushi@ximian.com>
191
192         * GenericOutputter.cs : commented out warned fields.
193
194 2005-03-15  Atsushi Enomoto  <atsushi@ximian.com>
195
196         * XslKey.cs : removed last ListIterator.ctor() argument.
197           Reverted the last commit that changed internal key index change 
198           from ArrayList to Hashtable. Avoid clone in CollectIndex().
199           Sort results in Evaluate() before passing list to ListIterator.
200         * XslFunctions.cs : removed last ListIterator.ctor() argument.
201
202 2005-03-14  Atsushi Enomoto  <atsushi@ximian.com>
203
204         * XslKey.cs,
205           XsltCompiledContext.cs,
206           XslFunctions.cs,
207           XslTransformProcessor.cs : Now dynamic context key index table is 
208           separate from XslKey static context. Added KeyIndexTable class and
209           store it into XsltCompiledContext with hash name-table mapping.
210           Cache map from statically-named key to index table.
211           Use Hashtable for internal key cache instead of ArrayList.
212
213 2005-03-14  Atsushi Enomoto  <atsushi@ximian.com>
214
215         * XslKey.cs : fixed node iteration on collecting key indices which
216           could have resulted in an infinite loop.
217
218 2005-03-14  Atsushi Enomoto  <atsushi@ximian.com>
219
220         * XslDecimalFormat.cs : in some cases it does not throw format
221           exception.
222
223 2005-03-11  Atsushi Enomoto  <atsushi@ximian.com>
224
225         * XsltCompiledContext.cs,
226           XslStylesheet.cs : Fixed significant performance loss on whitespace
227           handling.
228
229 2005-03-11  Atsushi Enomoto  <atsushi@ximian.com>
230
231         * XslKey.cs : removed unused NeedAbsoluteMatching.
232         * XslFunctions.cs : Added Peer (for peer & subtree optimization).
233           Added some missing ToString() overrides.
234
235 2005-03-09  Atsushi Enomoto  <atsushi@ximian.com>
236
237         * XslStylesheet.cs, XslCompiledContext.cs : Fixed PreserveWhitespace()
238           to work fine with xsl:*-space attributes as expected.
239         * XslTransformProcessor.cs : PreserveWhitespace() in this file is 
240           actually nothing. It should not use XsltContext.PreserveWhitespace()
241           because this method is used to control output, while the referenced
242           method is used to control source document.
243
244 2005-03-09  Atsushi Enomoto  <atsushi@ximian.com>
245
246         * XslTemplate.cs : First non-element content were incorrectly ignored.
247
248 2005-03-09  Atsushi Enomoto  <atsushi@ximian.com>
249
250         * XslFunctions.cs, Compiler.cs : Eliminated XPathNavigatorNsm class
251           to reduce references to stylesheet XPathNavigator. To accomplish it,
252           IStaticXsltContext does not declare GetNsm() anymore. All xslt
253           function types now directly hold IStaticXsltContext.
254         * XslStylesheet.cs : removed "Compiler c" field.
255           Removed unused properties.
256
257 2005-03-08  Atsushi Enomoto  <atsushi@ximian.com>
258
259         * GenericOutputter.cs : When WriteStartElement() requires to add
260           new namespace declaration, _currentNamespaceDecls needs to be set.
261
262 2005-03-08  Atsushi Enomoto  <atsushi@ximian.com>
263
264         * GenericOutputter.cs : for duplicate attribute in an element, no need
265           to keep previous prefix.
266
267 2005-03-08  Atsushi Enomoto  <atsushi@ximian.com>
268
269         * GenericOutputter.cs : Prefix "xml" is only allowed to the fixed XML
270           namespace. Rewrite prefix only when there is non-empty namespace.
271
272 2005-03-07  Atsushi Enomoto  <atsushi@ximian.com>
273
274         * XslStylesheet.cs : Now namespace aliases are collected in prior to
275           all other toplevel elements. Removed unused code.
276
277 2005-03-07  Atsushi Enomoto  <atsushi@ximian.com>
278
279         * GenericOutputter.cs : compute attribute prefix only when actual
280           emission. Fixed some cases that namespace output was missing.
281
282 2005-03-07  Atsushi Enomoto  <atsushi@ximian.com>
283
284         * GenericOutputter.cs : no need to use two collections to store
285           pending attributes. Just use ordered ListDictionary.
286           newNamespace.Add(int) causes extraneous boxing.
287
288 2005-03-07  Atsushi Enomoto  <atsushi@ximian.com>
289
290         * XslTransformProcessor.cs : renamed TryElementNamespacesOutput() to
291           OutputLiteralNamespaceUriNodes() so that everyone can understand
292           what it means and when it should be invoked.
293
294 2005-03-04  Atsushi Enomoto  <atsushi@ximian.com>
295
296         * Compiler.cs : added another CompileTemplateContent() which is
297           requred in xsl:for-each. Commented out unused method.
298
299 2005-03-03  Atsushi Enomoto  <atsushi@ximian.com>
300
301         * XslStylesheet.cs, XslTransformProcessor.cs : exclude-element-prefix
302           in stylesheet should be considered in TryElementNamespacesOutput().
303           ParseQNameListAttribute() is not properly working for filling
304           namespaces.
305
306 2005-03-02  Atsushi Enomoto  <atsushi@ximian.com>
307
308         * XslStylesheet.cs : included stylesheet could be literal result 
309           element as stylesheet (see the spec 2.6.1).
310
311 2005-03-02  Atsushi Enomoto  <atsushi@ximian.com>
312
313         * GenericOutputter.cs : On WriteStartElement(), prefix should be an
314           empty string when nsURI is empty.
315         * HtmlEmitter.cs : non-HTML elements in default namespace are treated
316           unlike xml but like span, as written in the spec 16.2.
317
318 2005-03-02  Atsushi Enomoto  <atsushi@ximian.com>
319
320         * XslCompiledContext.cs, XslTransformProcessor.cs :
321           According to errata E25, those namespaces 1) that has the same
322           name as current element's prefix, or an empty name when current
323           element's namespace URI is empty, are not written to output.
324           So added current element information to XPathContext and added
325           prefix parameter to PushElementState(), added xsl:copy check to
326           TryElementNamespacesOutput().
327           http://www.w3.org/1999/11/REC-xslt-19991116-errata/
328
329 2005-02-26  Atsushi Enomoto <atsushi@ximian.com>
330
331         * XslFunctions.cs : unparsed-entity-uri() should return SYSTEM ID
332           instead of BaseURI.
333
334 2005-02-25  Atsushi Enomoto <atsushi@ximian.com>
335
336         * XslTemplate.cs : According to the spec 5.7, it is an error for 
337           xsl:template to have 'mode' without 'match'.
338
339 2005-02-24  Atsushi Enomoto <atsushi@ximian.com>
340
341         * Compiler.cs : added ns lookup with nsDecls Hashtable.
342
343 2005-02-24  Atsushi Enomoto <atsushi@ximian.com>
344
345         * XslStylesheet.cs : It should consider "#default" in namespace-alias.
346
347 2005-02-23  Atsushi Enomoto <atsushi@ximian.com>
348
349         * GenericOutputter.cs : It should not attempt to write prefix "xml" and
350           namespace "http://www.w3.org/XML/1998/namespace".
351
352 2005-02-21  Atsushi Enomoto <atsushi@ximian.com>
353
354         * XmlWriterEmitter.cs : PI nodes are normalized as to not contain "?>".
355         * HtmlEmitter.cs : CDATA nodes are written just as text.
356         * GenericOutputter.cs : custom format are treated just as XML output.
357
358 2005-02-17  Atsushi Enomoto <atsushi@ximian.com>
359
360         * Outputter.cs,
361           TextOutputter.cs,
362           GenericOutputter.cs : removed WriteStartDocument(), WriteEndDocument()
363           and WriteState. Writing XML declaration is done inside
364           DetermineOutputMethod().
365
366 2005-02-17  Atsushi Enomoto <atsushi@ximian.com>
367
368         * Compiler.cs : reverted previous fix, since it should be done
369           in XslTransformProcessor with root stylesheet.
370         * XslTransformProcessor.cs : In TryElementNamespacesOutput(),
371           don't output alias namespaces. And now consider null exclusions.
372
373 2005-02-17  Atsushi Enomoto <atsushi@ximian.com>
374
375         * Compiler.cs : don't return alias namespaces in GetNamespacesToCopy().
376
377 2005-02-16  Atsushi Enomoto <atsushi@ximian.com>
378
379         * Compiler.cs : GetNamespacesToCopy() should also find for non-local
380           namespace nodes. Patch by Andrew Skiba with some fixes.
381         * XslTransformProcessor.cs : Patch by Andrew Skiba.
382           TryStylesheetNamespaceOutput() is now TryElementNamespacesOutput()
383           as to handle all namespace nodes to copy in stylesheet nodes.
384           Global parameterss are evaluated before global variables. 
385         * XmlOutputter.cs : removed unused code.
386
387         Pending items:
388
389         * Actually variables and params should check reference recursion.
390             This patch incompletely fixes the problem.
391         * Those operations that considers excluded-result-prefixes must
392           also check those attributes of its ancestors.
393
394 2005-02-10  Atsushi Enomoto <atsushi@ximian.com>
395
396         * XmlWriterEmitter.cs : String.Replace() was insufficient for
397           sequential candidates for replacement. Patch by Andrew Skiba.
398
399 2005-02-10  Atsushi Enomoto <atsushi@ximian.com>
400
401         * GenericOutputter.cs : don't output extraneous xml declaration.
402           fix by Andrew Skiba.
403
404 2005-02-09  Atsushi Enomoto <atsushi@ximian.com>
405
406         * XslStylesheet.cs : MS implementation had chosen to recover from 
407           the error, in the way specified in the spec 7.7.1. Patch by Andrew
408           Skiba.
409
410 2005-02-08  Atsushi Enomoto <atsushi@ximian.com>
411
412         * XslTemplate.cs : if input is literal result element, it could result
413           in ArgumentException. Patch by Andrew Skiba.
414
415 2005-02-08  Atsushi Enomoto <atsushi@ximian.com>
416
417         * XslFunctions.cs : Fixed unparsed-entity-uri() that might result in
418           NullReferenceException. Patch by Andrew Skiba.
419
420 2005-02-08  Atsushi Enomoto <atsushi@ximian.com>
421
422         * XslOutput.cs : MS.NET recovers from unknown encoding according to
423           XSLT spec 16.1. Patch by Andrew Skiba.
424
425 2005-02-08  Atsushi Enomoto <atsushi@ximian.com>
426
427         * HtmlEmitter.cs : patch by Andrew Skiba.
428           Remove extra element prefix output. simplify attribute prefix output.
429           Attribute output might have resulted in invalid element stack peek.
430           Output specified media type if any.
431
432 2005-02-08  Atsushi Enomoto <atsushi@ximian.com>
433
434         * Compiler.cs : Patch by Andrew Skiba.
435           wrap internal exception with XsltCompileException.
436           Raise an error for not-found document URI.
437           QName might contain sequential whitespaces and thus could be empty.
438
439 2005-02-08  Atsushi Enomoto <atsushi@ximian.com>
440
441         * XslAttributeSet.cs : just ignore other kind of nodes than element
442           in its content. Fix by Andrew Skiba.
443
444 2005-02-08  Atsushi Enomoto <atsushi@ximian.com>
445
446         * XslOutput.cs : for html and text output mode, just set internal
447           omitXmlDeclaration status true. Patch by Andrew Skiba.
448
449 2005-02-08  Atsushi Enomoto <atsushi@ximian.com>
450
451         * XslFunctions.cs : fixed line ending mixture.
452
453 2005-02-03  Atsushi Enomoto <atsushi@ximian.com>
454
455         * ScriptCompilerInfo.cs : XsltCompileException->XsltException, just
456           to make test pass.
457
458 2004-12-22  Atsushi Enomoto <atsushi@ximian.com>
459
460         * XslFunction.cs,
461           Compiler.cs : XmlResolver.ResolveUri() may return null.
462
463 2004-12-01  Atsushi Enomoto  <atsushi@ximian.com>
464
465         * Compiler.cs : XPathNavigatorNsm needed more love. Clone() does not
466           make sense here.
467
468 2004-12-01  Atsushi Enomoto  <atsushi@ximian.com>
469
470         * Compiler.cs : don't create XPathNavigatorNsm for every GetNsm() call.
471
472 2004-11-26  Atsushi Enomoto  <atsushi@ximian.com>
473
474         * XslKey.cs, XslStylesheet.cs, MSXslScriptManager.cs :
475           warning elimination.
476
477 2004-11-24  Atsushi Enomoto  <atsushi@ximian.com>
478
479         * XslStylesheet.cs : removed unused fields.
480         * XslOutput.cs : removed members for XSLT 2.0 (won't be implemented in
481           this class).
482
483 2004-11-08  Atsushi Enomoto  <atsushi@ximian.com>
484
485         * Compiler.cs, XslTransformProcessor.cs :
486           when creating XmlTextReader, reuse XmlNameTable.
487
488 2004-11-05  Atsushi Enomoto  <atsushi@ximian.com>
489
490         * Compiler.cs : Changes that reflects CompiledExpression changes.
491
492 2004-10-04  Atsushi Enomoto  <atsushi@ximian.com>
493
494         * HtmlEmitter.cs : TH tag is not regarded as HTML tag.
495           This fixes bug #67390.
496
497 Thu Sep 9 07:09:11 PDT 2004 Paolo Molaro <lupus@ximian.com>
498
499         * ScriptCompilerInfo.cs: avoid using a .cctor and fix precomp.
500
501 2004-06-18  Atsushi Enomoto  <atsushi@ximian.com>
502
503         * Debug.cs, HtmlEmitter.cs, MSXslScriptManager.cs,
504           ScriptCompilerInfo.cs, XslFunctions.cs, XslTemplate.cs
505           : Globalization. Removed unused code.
506
507 2004-06-14  Atsushi Enomoto  <atsushi@ximian.com>
508
509         * XslKey.cs : Key-value search in absolute path search was 
510           insufficient.
511
512 2004-06-14  Atsushi Enomoto  <atsushi@ximian.com>
513
514         * HtmlEmitter.cs : Correct URL escape implementation.
515
516 2004-06-06  Atsushi Enomoto  <atsushi@ximian.com>
517
518         * XslTransformProcessor.cs : On document() function, close the 
519           XmlTextReader opened from uri string.
520
521 2004-06-03  Atsushi Enomoto  <atsushi@ximian.com>
522
523         * Compiler.cs,
524           GenericOutputter.cs : XmlNamespaceManager.LookupPrefix() allows only
525           atomized names. Fixed XPathNavigatorNsm.LookupNamespace() that 
526           should override another overload.
527
528 2004-05-25  Lluis Sanchez Gual  <lluis@ximian.com>
529
530         * ScriptCompilerInfo.cs: the name used to load the Microsoft.JScript
531           assembly should not include the .dll extension.
532
533 2004-05-20  Atsushi Enomoto  <atsushi@ximian.com>
534
535         * Compiler.cs :
536           - CompilePattern() now throws XsltCompileException for invalid
537             pattern, and add error location support.
538           - In Compiler.TryGetFunction(), compare namespace URI, not prefix.
539             Now it returns MSXslNodeSet instance (for msxsl:node-set).
540         * Debug.cs : don't throw System.Exception.
541         * XslFunctions.cs : Added MSXslNodeSet class.
542         * XslTemplate.cs : reflected CompilePattern() change.
543         * XslTransformProcessor.cs : don't throw System.Exception.
544         * XsltCompiledContext.cs : don't throw System.Exception.
545
546 2004-05-12  Atsushi Enomoto  <atsushi@ximian.com>
547
548         * XmlOutputter.cs,
549           XslOutput.cs,
550           XslStylesheet.cs : made classes/enums internal.
551
552 2004-04-24  Atsushi Enomoto  <atsushi@ximian.com>
553
554         * Attribute.cs, Compiler.cs, Debug.cs, Emitter.cs, 
555           MSXslScriptCompiler.cs, Outputter.cs, XslAttributeSet.cs,
556           XslDecimalFormat.cs, XslKey.cs, XslStylesheet.cs, XslTemplate.cs,
557           XslTransformProcessor.cs : Make extra classes internal.
558
559         * XslKey.cs : It should require sorting.
560         * Debug.cs : Just avoid debug output. Only who want to output should
561           turn it on.
562
563 2004-04-24  Atsushi Enomoto  <atsushi@ximian.com>
564
565         * GenericOutputter.cs : Culture-independency fix. 
566           Replaced StringCollection to ArrayList.
567         * XslOutput.cs : Culture-independency fix.
568
569 2004-04-12  Atsushi Enomoto  <atsushi@ximian.com>
570
571         * Compiler.cs : When BaseURI is an empty string, it should not try to
572           create Uri instance. This will fix bug #56832, but not sure.
573         * XslFunctions.cs : for XsltDocument.Resolve(), did the same.
574         * HtmlEmitter.cs : Environment.NewLine was incorrectly used (it 
575           should be the TextReader's NewLine).
576         * MSXslScriptManager.cs : Should raise an error when the prefix which
577           was specified by "implements-prefix" was not found.
578
579 2004-03-27  Atsushi Enomoto  <atsushi@ximian.com>
580
581         * ScriptCompilerInfo.cs : #line directive now holds dummy filename
582           when BaseURI for msxsl:script node is not available. This fixes
583           bug #56070.
584           Don't output line number in the error message, when it is 0.
585
586 2004-03-27  Atsushi Enomoto  <atsushi@ximian.com>
587
588         * Compiler.cs : Supply NameTable to base ctor() of XPathNavigatorNsm.
589
590 2004-03-22 Atsushi Enomoto <atsushi@ximian.com>
591
592         * Compiler.cs, 
593           XslAttributeSet.cs,
594           XslFunctions,
595           XslTransformProcessor.cs :
596           Throw specific types of exceptions instead of Exception.
597         * XslFunctions.cs, XsltCompiledContext.cs :
598           added node argument for XsltExtensionFunction ctor() etc.
599
600 2004-03-22 Atsushi Enomoto <atsushi@ximian.com>
601
602         * ScriptCompilerInfo.cs : Modified compilation processing. Now it uses
603           CodeDom. Compilation error should be caught. This fixes bug #55875.
604
605 2004-03-13 Atsushi Enomoto <atsushi@ximian.com>
606
607         * XslStylesheet.cs : "version" attribute is also required for embedded
608           stylesheet.
609
610 2004-03-13 Atsushi Enomoto <atsushi@ximian.com>
611
612         * Compiler.cs,
613           XslStylesheet.cs : Reject xsl element other than stylesheet and
614           transform. Check mandatory version attribute (only for existence).
615
616 2004-03-07 Atsushi Enomoto <atsushi@ximian.com>
617
618         * MSXslScriptManager.cs : if extension namespace was not found in
619           the script, just return null. Patch by Joshua Tauberer.
620
621 2004-03-01 Atsushi Enomoto <atsushi@ximian.com>
622
623         * XslLiteralElement.cs : quick fix for ArgumentNullException which
624           was because of the combination of non-namespaced instances and
625           exclude-result-prefixes.
626
627 2004-02-17 Atsushi Enomoto <atsushi@ximian.com>
628
629         * XsltCompiledContext.cs : Extracted XslFunctions and changed namespace
630           from Mono.Xml.Xsl.Functions to Mono.Xml.Xsl.
631         * XslFunctions.cs : hereby Added.
632         * Compiler.cs : Removed deleted usingdecl.
633
634 2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
635
636         * XslTransformProcessor.cs : Bugfix. Stored keys should be cleared.
637         * XslKey.cs : Added ExprKeyContainer expression type, which is 
638           designed to be matched at any level.
639         * Compiler.cs : support for ExprKeyContainer.
640
641 2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
642
643         * XslKey.cs : Now it collects key and matching nodes at the first
644           evaluation time. After that, we can just get them from the table.
645         * Compiler.cs : Added KeyCompilationMode. It is used to prevent
646           prohibited key() usage in "match" and "use" attributes in xsl:key.
647           Modified accessibility of some classes.
648         * GenericOutputter.cs,
649           HtmlEmitter.cs,
650           TextEmitter.cs,
651           TextOutputter.cs,
652           XmlWriterEmitter.cs : made classes internal.
653         * XslOutput.cs : support line info for exception.
654         * XsltCompiledContext.cs : implemented CompareDocument() - so easily.
655
656 2004-02-13 Atsushi Enomoto <atsushi@ximian.com>
657
658         * XsltCompiledContext.cs : fixed the length of context info array.
659
660 2004-02-10 Atsushi Enomoto <atsushi@ximian.com>
661
662         * XsltCompiledContext.cs :
663           replaced EnumeratorIterator with ListIterator
664
665 2004-02-08 Atsushi Enomoto <atsushi@ximian.com>
666
667         * GenericOutputter.cs,
668           XslAttributeSet.cs,
669           XslStylesheet.cs,
670           XslTemplate.cs : tiny foreach elimination.
671
672 2004-01-16 Atsushi Enomoto <atsushi@ximian.com>
673
674         * XslOutput.cs : Reverted. default encoding should be utf-8.
675
676 2004-01-14  Jackson Harper <jackson@ximian.com>
677
678         * GenericOutputter.cs: Add constructors that do not take an
679         encoding to fix build.
680         
681 2004-01-14 Atsushi Enomoto <atsushi@ximian.com>
682
683         * XmlWriterEmitter.cs : It now uses WriteProcessingInstruction() to
684           write XML declaration. It means that output supports non document
685           entity. This fixes bug #52729.
686         * Emitter.cs, TextEmitter.cs, HtmlEmitter.cs, XmlWriterEmitter.cs :
687           modified WriteStartDocument() signature to receive Encoding.
688         * GenericOutputter.cs : 
689           - Added .ctor() which receives Encoding. (It is used for TextWriter 
690             output to get actual encoding.)
691           - Added .ctor() to take an boolean argument which indicates it is
692             variable content or not. (When variable, it does not call 
693             WriteStartDocument().)
694         * XslKey.cs,
695           XsltCompiledContext.cs : comment out WriteLine().
696         * XslOutput.cs : set default encoding utf-16.
697
698 2004-01-08  Nick Drochak <ndrochak@ieee.org>
699
700         * XsltCompiledContext.cs: Remove unused variable and unreachable code.
701
702 2003-12-26 Atsushi Enomoto <atsushi@ximian.com>
703
704         * XslDecimalFormat.cs : implemented format-number() other than number
705           grouping.
706         * XsltCompiledContext.cs : Modified XsltFormatNumber.Evaluate() to
707           catch ArgumentException which will be thrown by formatting process.
708
709 2003-12-23 Atsushi Enomoto <atsushi@ximian.com>
710
711         * ScriptCompilerInfo.cs : Use "mjs" as JScript compiler.
712
713 2003-12-20 Ben Maurer  <bmaurer@users.sourceforge.net>
714
715         * XsltCompiledContext.cs: Remove workaround now that monodoc
716         is fixed.
717
718 2003-12-20 Atsushi Enomoto <atsushi@ximian.com>
719
720         * XslStylesheet.cs : considering xsl:imports, we can't handle namespace
721           aliases at compilation time, so evaluate at the first run-time.
722
723 2003-12-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
724
725         * GenericOutputter.cs : support for runtime-determined output type.
726         * HtmlEmitter.cs : Fixed invalid doctype output.
727           Fixed incorrect double attribute output on non-HTML elements.
728           Improved indentation. Fixed "selected" attribute output.
729           Don't have to convert "'" to "&apos;".
730         * XmlWriterEmitter.cs : Now don't output incorrect doctype.
731           Escapes CDATA section text "]]>" to "...]]]]><![CDATA[>..." .
732         * XslStylesheet.cs, XsltCompiledContext.cs :
733           space resolution consideration for import and wildcard.
734
735 2003-12-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
736
737         * Compiler.cs, XslTransformProcessor.cs :
738           Use XmlValidatingReader to support id() for external stylesheets.
739         * XslKey.cs, XsltCompiledContext.cs :
740           to evaluate MatchPattern and UsePattern, SetContext() is required.
741         * XslTemplate.cs : Forgot to commit. Change is below(12/16).
742
743 2003-12-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
744
745         * Emitter.cs, HtmlEmitter.cs, XmlWriterEmitter.cs :
746           Added WriteWhitespace().
747         * GenericOutputter.cs, XslTemplate.cs : Call above.
748         * XslTransformProcessor.cs : Changed NodesetStack to ArrayList since
749           CurrentNode in for-each context have to be pulled at evaluation.
750
751 2003-12-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
752
753         * XsltCompiledContext.cs : Temporarily allow incorrectly resolved
754           function for bugzilla #52144. It should be reverted soon.
755
756 2003-12-12 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
757
758         * ScriptCompilerInfo.cs : SecurityManager.ResolvePolicy() was not 
759           implemented yet.
760         * MSMslScriptManager.cs : modified generated assembly class to be unique
761           through running AppDomain.
762         * XsltCompiledContext.cs : XsltExtensionFunction.Invoke() has to cast
763           arguments to actual argument types. Bugzilla #51450 should be fixed.
764
765 2003-12-12 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
766
767         * HtmlEmitter.cs : Fixed incorrect character entity output.
768
769 2003-12-11 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
770
771         * Added ScriptCompilerInfo.cs.
772         * MSXslScriptManager.cs : Fixed *true* author's name.
773           Implemented basic msxsl:script support.
774         * Compiler.cs : Added Evidence member.
775
776 2003-12-07 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
777
778         * Compiler.cs : Check stylesheet recursion. Check decimal-format name.
779         * GenericOutputter.cs, Outputter.cs, TextOutputter.cs :
780           Added WriteWhitespace() to assure not writing whitespaces as cdata.
781         * XslAttributeSet.cs : Error check if attribute-set contains other than
782           xsl:attribute.  Error should be XsltException.
783         * XslDecimalFormat.cs : Complete equality check.  Allow just one
784           character value for some attributes.
785         * XslStylesheet.cs : Made whitespace control setting overridable.
786           Added Version property (for the future compatibility mode).
787           Check unrecongnized top level element.
788         * XslTemplate.cs : Check priority as a number.
789         * XslTransformProcessor.cs : PushCDataState is now PushElementState, 
790           for xsl:preserve-space and xsl:strip-space support.
791         * XsltCompiledContext.cs : Implemented PreserveWhitespace() (far from
792           incomplete), PushScope and Pop
793
794 2003-12-03 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
795
796         * HtmlEmitter.cs : CloseStartElement is needed almost everywhere.
797
798 2003-12-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
799
800         * Compiler.cs : In FromListString(), it should use default ns,
801           not unqualified one.
802         * GenericOutputter.cs : CheckState() - attribute's Prefix should take
803           precedence.  Doctype should be written even if SYSTEM id is absent.
804           Fixed possible multiple xmlns output.
805         * HtmlEmitter.cs :
806           - Encoding output using META element.
807           - Doctype name is fixed (html).
808           - Double quotation on PUBLIC and SYSTEM missing.
809           - Fixed incorrect tag name check for IMG.
810           - '>' should not be escaped.
811         * XmlWriterEmitter.cs :
812           Added newline before doctype.  In WriteComment(), "--" and tail
813           '-' are not allowed (it escapes, while XmlWriter simply rejects).
814         * XslTransformProcessor.cs : cdata-section-elements should enclose
815           direct child tests only.   Added PreserveWhitespace() (incomplete).
816         * XsltCompiledContext.cs : Implemented PreserveWhitespace() (incomplete).
817
818 2003-11-28 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
819
820         * IdPattern.cs : This should work against multiple ids.
821
822 2003-11-27 Ben Maurer  <bmaurer@users.sourceforge.net>
823
824         * Compiler.cs
825         * MSXslScriptManager.cs
826         * XslStylesheet.cs
827         * XslTransformProcessor.cs
828         * XsltCompiledContext.cs: Some work on msxsl script.
829
830 2003-11-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
831
832         (in general: cdata-section-elements support, correct document() 
833         base uri handling, and so on)
834         * Compiler.cs : Use XmlSpace.Preserve to parse included stylesheet.
835           And move to document element.  Added XslNameUtil.FromListString().
836         * Emitter.cs, HtmlEmitter.cs, TextEmitter.cs XmlWriterEmitter.cs :
837           Added WriteCDataSection().
838         * Outputter.cs, GenericOutputter.cs, TextOutputter.cs :
839           Added InsideCDataSection.
840         * GenericOutputter.cs :
841           In .ctor(), WriteState should be succeeded from output XmlWriter.
842           WriteNamespaceDecl() now drops declaration identical to existing one.
843           Removed obsolete htmlEmulation.
844         * XslOutput.cs : Added CDataSectionElements support.
845         * XslStylesheet.cs : Added BaseUri, StyleDocument and PrefixInEffect().
846         * XslTransformProcessor.cs :
847           Added Output and CurrentOutputUri. TryStylesheetNamespaceOutput()
848           now considers xsl:exclude-element-prefixes on literal element.
849           Added PushCDataState() and PopCDataState().
850         * XsltCompiledContext.cs : When base uri of document() target is empty,
851           then it should use stylesheet's BaseURI, not that of current document.
852
853 2003-11-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
854
855         * Compiler.cs : Modified decimal-format comparison code.
856         * Outputter.cs,
857           TextOutputter.cs,
858           GenericOutputter.cs : Added WriteState. Now WriteStartDocument() will
859           be called only when required. 
860         * HtmlEmitter.cs : Improved indentation stuff.
861         * XslDecimalFormat.cs : Added incomplete implementation of 
862           CheckSameAs() and FormatNumber().
863         * XslStylesheet.cs,
864           XslTransformProcessor.cs : Changed XslStylesheet.StylesheetNamespaces
865           from StringDictionary to ArrayList of QName (to keep order).
866
867 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
868
869         * XsltCompiledContext.cs : XsltGenerateId.Evaluate() should consider
870           node type (i.e. attribute and namespace). Removed extraneous Clone().
871           Fixed XsltKey.Evaluate() to use MoveToNextAttribute to iterate attrs.
872
873 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
874
875         * Compiler.cs : Changed Keys from ArrayList to Hashtable.
876           XslStylesheet.cs : Added Keys support here.
877         * XslTransformProcessor.cs : Should call SetContext() to expressions
878           before evaluating current nodes.
879         * XsltCompiledContext.cs : 1) XsltDocument.GetDocument() should use
880           xsltContext. 2) XsltKey exposes KeyName, Field and NamespaceManager
881           for KeyPattern. It now uses CompiledStyle.FindKeys().
882
883 2003-11-13 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
884
885         * GenericOutputter.cs : Added HTML output support. Closer xmlns handling
886           to Xalan tests and MS.NET implementation (only for test convenience).
887         * XslOutput.cs : Indent holds string rathen than bool. Its default value
888           varies in the context. When method="html", then default is "yes".
889         * XslTransformProcessor.cs : Extension element prefixes should not 
890           be written as stylesheet namespaces.
891         * XsltCompiledContext.cs : Return type of generate-id() is string.
892           Implemented unparsed-entity-uri().
893
894 2003-11-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
895
896         * Compiler.cs : More complete attribute set gathering.
897           GetNamespacesToCopy() should only return Local namespaces.
898         * GenericOutputter.cs : Added support for indentation.
899           Added easy hack for html output.
900           More correct Prefix handling (considers already defined ones).
901           Namespace emmission is moved to CheckState().
902         * Emitter.cs, XmlWriterEmitter.cs, GenericOutputter.cs, Outputter.cs :
903           Added WriteFullEndElement(). (i.e. IsEmptyElement support)
904         * GenericOutputter.cs, Outputter.cs :
905           Added CanProcessAttributes property for 
906           use-attribute-sets of xsl:copy.
907         * XslStylesheet.cs : Added support for stylesheet-defined xmlns decls.
908           Added support for exclude-result-prefixes.
909         * XslTransformProcessor.cs : Added support for stylesheet-defined xmlns.
910
911 2003-10-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
912
913         * Compiler.cs : It is not important, but attribute order became closer
914           to MS.NET and Xalan (assuming from OASIS tests).
915
916 2003-10-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
917
918         * GenericOutputter.cs : Attribute wasn't overwritten its properties
919           because Attribute is struct it was let to another local variable.
920
921 2003-09-28 Ben Maurer  <bmaurer@users.sourceforge.net>
922
923         * GenericOutputter.cs: make html output a warning, because doing
924         xml will be right most of the time.
925
926 2003-09-28 Ben Maurer  <bmaurer@users.sourceforge.net>
927
928         * Debug.cs: comment out {Enter, Exit}Navigator. Haven't had bugs
929         here for a long time and it hurts thread safty and memory
930         allocation.
931
932 2003-09-21 Ben Maurer  <bmaurer@users.sourceforge.net>
933
934         * Compiler.cs: save the parser (will reduce memory allocation when
935         Jackson's jay patch is committed).
936
937 2003-09-20 Ben Maurer  <bmaurer@users.sourceforge.net>
938
939         * Attribute.cs: Change to struct. Remove QName class.
940         * GenericOutputter.cs: use an Attribute [] rather than an
941         ArrayList. Allows us not to allocate Attributes, which is great
942         for speed. Roll our own allocation.
943
944 2003-09-20 Ben Maurer  <bmaurer@users.sourceforge.net>
945
946         * Compiler.cs: add GetNsm to main class as well.
947
948 2003-09-20 Ben Maurer  <bmaurer@users.sourceforge.net>
949
950         * Compiler.cs (ParseAvtAttribute): Get the attribue using our
951         internal version so we get null if the attr doesnt exist.
952
953 2003-09-17 Ben Maurer  <bmaurer@users.sourceforge.net>
954
955         * Compiler.cs (IStaticXsltContext.TryGetVariable): handle the case
956         where curVarScope == null
957
958 2003-09-16 Ben Maurer  <bmaurer@users.sourceforge.net>
959
960         * Compiler.cs: 
961         - Better handling of empty attributes (vs not being specified)
962         - Bug in handling #default
963         
964 2003-09-15 Ben Maurer  <bmaurer@users.sourceforge.net>
965
966         * Compiler.cs: Off by one when parsing localname of QName 
967         * XslAttributeSet.cs: must evaluate used attr sets *BEFORE*
968         children (so that they get overriden)
969
970 2003-09-15 Ben Maurer  <bmaurer@users.sourceforge.net>
971
972         * GenericOutputter.cs: Output attributes in order recieved; not
973         required by spec, but useful for running test cases.
974
975 2003-09-14 Oleg Tkachenko <oleg@tkachenko.com>
976
977         * GenericOutputter.cs - fix bug with outputting state.
978         * Emitter.cs, TextEmitter.cs, XmlWriterEmitter.cs, Outputter.cs, 
979         * TextOutputter.cs - get rid of WriteStartAttribute/WriteEndAttribute.  
980
981 2003-09-13 Ben Maurer  <bmaurer@users.sourceforge.net>
982
983         * Compiler.cs, XslKey.cs, XslTransformProcessor.cs: dont clone
984         exprs on use, pass to nav.
985
986 2003-09-13 Ben Maurer  <bmaurer@users.sourceforge.net>
987
988         * Compiler.cs: pass satic context to Pattern ctor.
989
990 2003-08-30 Oleg Tkachenko <oleg@tkachenko.com>
991
992         * New files: 
993         GenericOutputter.cs - generic Outputter implementation,
994         Attribute.cs - represents outputted attribute,
995         Emitter.cs - abstract output emitter,
996         TextEmitter.cs - text emitter,
997         XmlWriterEmitter.cs - emitter to XmlWriter.
998         * Checking of duplicating attributes is done in GenericOutputter.
999         * Namespace outputting logic is implemented in GenericOutputter.
1000         * Outputter.cs: Writing namespace declarations is delegated to 
1001         derived classes (GenericOutputter).
1002         * XslOutput.cs: standalone flag is now 3-value enum (NONE, YES, NO).                    
1003          
1004 2003-08-21 Ben Maurer  <bmaurer@users.sourceforge.net>
1005
1006         * XslTransformProcessor.cs: evaluate variables at beginning
1007         when / is current node.
1008
1009 2003-08-21 Ben Maurer  <bmaurer@users.sourceforge.net>
1010
1011         * Compiler.cs, XsltCompiledContext.cs, XslTransformProcessorcs:
1012         Fix up namespace handeling
1013
1014 2003-08-20 Ben Maurer  <bmaurer@users.sourceforge.net>
1015
1016         * Compiler.cs, XslStylesheet.cs, XsltCompiledContext.cs: Stubs for
1017         format-number.
1018         * XslDecimalFormat.cs: Stub for decimal-format.
1019
1020 2003-08-20 Ben Maurer  <bmaurer@users.sourceforge.net>
1021
1022         * TextOutputter.cs: Add option to ignore element content (Oleg).
1023
1024 2003-08-19 Ben Maurer  <bmaurer@users.sourceforge.net>
1025
1026         * Compiler.cs: Really give null for blank avt's
1027
1028 2003-08-19 Ben Maurer  <bmaurer@users.sourceforge.net>
1029
1030         * Compiler.cs: Fixed lre/lre04.
1031
1032 2003-08-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1033
1034         * Compiler.cs : Fixed XslNameUtil.FromString() so that unprefixed name
1035           won't have default namespace. See http://www.w3.org/TR/xslt#qname
1036
1037 2003-08-19 Ben Maurer  <bmaurer@users.sourceforge.net>
1038
1039         * XslTransformProcessor.cs: add support for resolving documents.
1040         * XsltCompiledContext: add support for document () function.
1041
1042 2003-08-19 Ben Maurer  <bmaurer@users.sourceforge.net>
1043
1044         * Outputter.cs, TextOutputter.cs, XmlOutputter.cs: Implement some
1045         of the abstract methods in Outputter, making them call other
1046         functions with default values, remove impl's in derived classes.
1047
1048 2003-08-19 Ben Maurer  <bmaurer@users.sourceforge.net>
1049
1050         * Outputter.cs: s/Close/Done
1051         * TextOutputter.cs, XmlOutputter.cs: Flush, don't close the backing.
1052         * XslTransformProcessor.cs: Flush output when popping, pop at end.
1053
1054 2003-08-19 Ben Maurer  <bmaurer@users.sourceforge.net>
1055
1056         * Outputter.cs: Add support for namespaces.
1057
1058 2003-08-19 Ben Maurer  <bmaurer@users.sourceforge.net>
1059
1060         * Compiler.cs, XslOutput.cs, XslStylesheet.cs,
1061         XslTransformProcessor.cs: move output logic from XslStylesheet to
1062         Compiler.
1063
1064 2003-08-18 Ben Maurer  <bmaurer@users.sourceforge.net>
1065
1066         * XslOutput.cs: add support for encoding.
1067
1068 2003-08-18 Ben Maurer  <bmaurer@users.sourceforge.net>
1069
1070         * *.cs: Support for xsl:output. (Oleg)
1071
1072 2003-08-17 Ben Maurer  <bmaurer@users.sourceforge.net>
1073
1074         * Compiler.cs: handle extension and excluded namespaces.
1075
1076 2003-08-17 Ben Maurer  <bmaurer@users.sourceforge.net>
1077
1078         * XsltCompiledContext.cs, Compiler.cs: copy the XPathNavigator
1079         from the stylesheet for correct namespace resolution.
1080
1081 2003-08-14 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1082
1083         * Compiler.cs : 1) Changed public .ctor() to receive Evidence argument 
1084           introduced in .NET 1.1. 2) XmlResolver object is required for 'res'.
1085
1086 2003-08-07 Ben Maurer  <bmaurer@users.sourceforge.net>
1087
1088         * XslTransformProcessor.cs: Add a table to detect when an object
1089         is busy.
1090         * XslAttributeSet.cs: Use the above table. Dont throw nullref
1091         exception when no use-attribute-sets are specified.
1092
1093 2003-08-04 Ben Maurer  <bmaurer@users.sourceforge.net>
1094
1095         * Compiler.cs: Add support for boolean attributes (yes/no).
1096
1097 2003-08-04 Ben Maurer  <bmaurer@users.sourceforge.net>
1098
1099         * Compiler.cs: Add method LocalNameOf, to get the local name of a
1100         string.
1101         * XslTransformProcessor.cs: Support for setting the XmlResolver.
1102
1103 2003-08-01 Ben Maurer  <bmaurer@users.sourceforge.net>
1104
1105         * Compiler.cs, XslAttributeSet.cs: Handle attribute set merging
1106
1107 2003-08-01 Ben Maurer  <bmaurer@users.sourceforge.net>
1108
1109         * XslTransformProcessor.cs: Add EvaluateNumber method.
1110
1111 2003-07-31 Ben Maurer  <bmaurer@users.sourceforge.net>
1112
1113         * XsltCompiledContext.cs: Implement more functions.
1114
1115 2003-07-31 Ben Maurer  <bmaurer@users.sourceforge.net>
1116
1117         * Compiler.cs: Add support for key, utility function to parse
1118         QName's from the XsltContext. Store keys in the CompiledStyle, not
1119         in the Stylesheet.
1120         * XslKey.cs: Real implementation
1121         * XslStylesheet.cs: Move the keys to CompiledStyle.
1122         * XsltCompiledContext.cs: Implement the key function
1123
1124 2003-07-31 Ben Maurer  <bmaurer@users.sourceforge.net>
1125
1126         * XsltCompiledContext.cs: Hmm, maybe I should actually *enable*
1127         the functions ;-). Also wrote current ().
1128
1129 2003-07-31 Ben Maurer  <bmaurer@users.sourceforge.net>
1130
1131         * XsltCompiledContext.cs: Remove excess conversion stuff. It is
1132         done in XPath. Add stubs for XSLT functions.
1133
1134 2003-07-31 Ben Maurer  <bmaurer@users.sourceforge.net>
1135
1136         * Compiler.cs: To resolve a variable you now need to pass the
1137         processor, so that it can be passed to IsEvaluated. A local will
1138         only be resolved if it has already been evaluated.
1139         * XsltCompiledContext.cs: Pass along the processor.
1140         
1141 2003-07-30 Ben Maurer  <bmaurer@users.sourceforge.net>
1142
1143         * Compiler.cs, XslTemplate.cs, XslTransformProcessor.cs: Store
1144         variable values in the XslTransformProcessor.
1145         * XsltCompiledContext.cs: If the scope is null, don't look there!
1146         * Debug.cs: New method Assert
1147
1148 2003-07-30 Ben Maurer  <bmaurer@users.sourceforge.net>
1149
1150         * Compiler.cs, XsltCompiledContext.cs: Remove verbose messages
1151         * XslTransformProcessor.cs: Use strongtyped evaluation, using new
1152         internal methods in XPathNavigator. Remove verbose debugging messages.
1153
1154 2003-07-29 Ben Maurer  <bmaurer@users.sourceforge.net>
1155
1156         * Initial Checkin
1157