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