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