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