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