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