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