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