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