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