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