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