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