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