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