1 2008-01-08 Atsushi Enomoto <atsushi@ximian.com>
3 * XslKey.cs, XslStylesheet.cs, Compiler.cs : XSLT 1.0 does not
4 prohibit more than one xsl:key with the same QName, so do not use
5 the name as a 'key' in the table for xsl:key. Fixed bug #351939,
6 patch by Tor Lillqvist.
8 2007-12-27 Atsushi Enomoto <atsushi@ximian.com>
10 * XslTemplate.cs, XslTransformProcessor.cs :
11 Some disambiguation around whitespace handling (input strip/preserve
13 * XslStylesheet.cs : change GetPreserveWhitespace() to match the
14 actual behavior; it does not (and should not) really walk through
15 ancestors. Default whitespace handling depends on the default ("*")
16 handling. (Those changes should not affect anything.)
18 2007-10-30 Atsushi Enomoto <atsushi@ximian.com>
20 * Compiler.cs : added CheckExtraAttributes() to check invalid
21 attributes on stylesheet component elements.
22 Use it in xsl:sort too.
24 2007-09-21 Atsushi Enomoto <atsushi@ximian.com>
26 * GenericOutputter.cs : fixed possible conflict for auto-filled
27 attribute prefixes. Fixed bug #325482.
29 2007-08-21 Atsushi Enomoto <atsushi@ximian.com>
31 * XslFunctions.cs : fix wrong unboxing in extension functions.
34 2007-06-28 Atsushi Enomoto <atsushi@ximian.com>
36 initial attempt to hook debuggers.
37 * XsltDebuggerWrapper.cs : new.
38 * XslTransformProcessor.cs Compiler.cs : use above.
40 2007-01-09 Atsushi Enomoto <atsushi@ximian.com>
42 * XslKey.cs : keep keytables per instance document and do not share
45 2006-11-30 Atsushi Enomoto <atsushi@ximian.com>
47 * XslStylesheet.cs, XslTemplate.cs : added XSLT stack frame debug
48 support, based on the patch by Michael Meeks.
50 2006-04-07 Atsushi Enomoto <atsushi@ximian.com>
52 * XslTransformProcessor.cs : push current node context after iterating
53 template target node. Added another NodesetMoveNext() which takes
54 explicit XPathNodeIterator to iterate and filter whitespaces out.
56 2006-04-07 Atsushi Enomoto <atsushi@ximian.com>
58 * XslTransformProcessor.cs : in NodesetMoveNext() take
59 XPathContext.PreserveWhitespace() into consideration.
61 2006-03-15 Atsushi Enomoto <atsushi@ximian.com>
63 * XslTransformProcessor.cs,
64 Compiler.cs : eliminate ExpressionStore. Now sorting is done
65 inside XslSortEvaluator.
66 * XslSortEvaluator.cs : new file. It handles current node in XSLT
67 context. Fixed bug #77781.
69 2006-03-15 Atsushi Enomoto <atsushi@ximian.com>
71 * XslTransformProcessor.cs : in PushNodeset() avoid Clone(). It saves
72 extra cost, and might avoid possible bug in for-each and current()
75 2006-02-22 Atsushi Enomoto <atsushi@ximian.com>
77 * ScriptCompilerInfo.cs : mbas unlike vbc references System.dll
78 etc. by default, so don't add them as references.
79 Set only local file name for #ExternalSource. Fixed bug #75789.
81 2006-01-13 Atsushi Enomoto <atsushi@ximian.com>
83 * GenericOutputter.cs : When writing string, use WriteWhitespace()
84 instead of WhiteString() when its state is not Content. This fixes
85 BVTs_bvt066 case (broken after implementing strict state check in
88 2005-12-24 Gert Driesen <drieseng@users.sourceforge.net>
90 * XslOutput.cs: Do not report error for unknown value for "standalone"
91 and "omit-xml-declaration" attributes, and extranous attributes if
92 stylesheet version is not "1.0".
94 2005-12-24 Atsushi Enomoto <atsushi@ximian.com>
96 * Compiler.cs : pass stylesheet version to XslOutput to determine
97 "indent" value validity.
98 * XslOutput.cs, HtmlEmitter.cs, GenericOutputter.cs : Reverted
99 buggy changes on "indent" attribute handling.
100 http://www.w3.org/TR/xslt#section-HTML-Output-Method
102 2005-12-23 Gert Driesen <drieseng@users.sourceforge.net>
104 * XslOutput.cs: Reduced indentation of cases in switch statement.
106 2005-12-23 Gert Driesen <drieseng@users.sourceforge.net>
108 * ScriptCompilerInfo.cs: Fixed line endings.
109 * XslStylesheet.cs: Beautify error messages.
110 * Debug.cs: Fixed line endings.
111 * XslOutput.cs: Indent is now bool instead of string, use
112 MoveToAttribute to navigate through attributes instead of using
113 GetAttribute, as we also need to distinguish attributes with
114 zero-length value from attributes that are not specified for
115 correct implementation of DOCTYPE. Implemented validation for
116 value of "omit-xml-declaration", "standalone" and "indent".
117 We now throw a XsltCompileException for unknown attribute.
118 * XmlWriterEmitter.cs: only skip WriteDocType is systemId is null.
119 * HtmlEmitter.cs: XslOutput.Indent is now bool. Fixed WriteDocType
121 * XmlDecimalFormat.cs: Beautify error messages.
122 * XslTemplate.cs: Beautify error messages.
123 * GenericOutputter.cs: XslOutput.Indent is now bool.
124 * Compiler.cs: Beautify error messages.
126 2005-12-21 Atsushi Enomoto <atsushi@ximian.com>
128 * XslTemplate.cs : don't check name and mode attributes on
129 non-'xsl:template' element. This should fix bug #77051.
131 2005-12-13 Andrew Skiba <andrews@mainsoft.com>
133 * XslDecimalFormat.jvm.cs: set correct defaults for NaN and Infinity
135 2005-11-30 Atsushi Enomoto <atsushi@ximian.com>
137 * ScriptCompilerInfo.cs : (VBCompilerInfo) There was a space between
138 '#' and 'ExternalResource'. bug #75789 should be fixed.
140 2005-11-23 Vladimir Krasnov <vladimirk@mainsoft.com>
142 * XslKey.cs: fixed KeyIndexTable.Evaluate method, changed
143 XPathNavigator given to GetNodesByValue()
145 2005-11-17 Atsushi Enomoto <atsushi@ximian.com>
147 * XslCompiledContext.cs : since XsltContextInfo is struct, having
148 an array of this type and setting fields of each struct didn't
149 make sense. It thus blocked expected PreserveWhitespace behavior.
151 2005-10-24 Atsushi Enomoto <atsushi@ximian.com>
153 * Compiler.cs : (FromString(s, hashtable)) pull default namespace
154 from the table for LRE (don't consider it as ""; spec. 7.1.2)
157 2005-09-16 Atsushi Enomoto <atsushi@ximian.com>
159 * ScriptCompilerInfo.cs : Compile correct replacement result.
162 2005-09-10 Atsushi Enomoto <atsushi@ximian.com>
164 * Compiler.cs : (Compile) check children only when it is the document
165 element. Fixed bug #76046.
167 2005-08-25 Atsushi Enomoto <atsushi@ximian.com>
169 * ScriptCompilerInfo.cs : It should not be "#line" when the source is
170 not C#. It should fix bug #75789.
172 2005-08-05 Atsushi Enomoto <atsushi@ximian.com>
174 * XslKey.cs : Fixed match pattern in xsl:key to check attribute nodes.
175 To minimize attribute iteration, use Pattern.EvaluatedNodeType.
178 2005-07-29 Atsushi Enomoto <atsushi@ximian.com>
180 * XslFunctions.cs : XslTransform recovers from errors on document
181 resolution. Fixed bug #75663.
183 2005-06-06 Atsushi Enomoto <atsushi@ximian.com>
185 * HtmlEmitter.cs : Boolean attribute values should be omitted, but
186 only for related elements.
188 2005-05-07 Atsushi Enomoto <atsushi@ximian.com>
190 * MSXslScriptManager.cs : it should ignore compiler warnings. This
193 2005-04-07 Andrew Skiba <andrews@mainsoft.com>
195 * XslDecimalFormat.jvm.cs : added
197 2005-03-31 Atsushi Enomoto <atsushi@ximian.com>
199 * MSXslScriptManager.cs : added TARGET_JVM switch (that does not
200 support CodeDom). Use Guid.ToString("N").
202 2005-03-31 Atsushi Enomoto <atsushi@ximian.com>
204 * Compiler.cs : removed extraneous using_directive.
206 2005-03-25 Atsushi Enomoto <atsushi@ximian.com>
208 * XslKey.cs : the iterator does not require sorting (already sorted).
211 2005-03-23 Atsushi Enomoto <atsushi@ximian.com>
214 Variables are stored per stylesheet and added to compiler after
215 all of the contents are processed (handle import precedence).
216 Imports are now processed in prior to other contents (incorrect
217 imports are now rejected). After imports, process includes to
218 process nested imports. In-process included stylesheets are
219 temporarily stored in including stylesheet.
220 Handle keys like variables are handled.
221 Added Compile() that is splitted from .ctor().
223 Store keys in compiler and compiled stylesheet.
224 Duplicate variables in imports are now overriden as expected.
225 * XsltCompiledContext.cs : use CompiledStylesheet.ResolveKey().
227 2005-03-22 Atsushi Enomoto <atsushi@ximian.com>
229 * XslTransformProcessor.cs : now it looks safe to remove SetContext()
230 from each EvaluateXXX() methods.
231 * MsxslScriptManager.cs : not to leave reference to stylesheet
232 navigator, pass current node to Compile().
233 * XslCompiledContext.cs : Added GetNavCache() that returns reusable
234 navigator cache for each pattern, to avoid Clone() and not to leave
235 reference to already-done instance navigator.
237 2005-03-22 Atsushi Enomoto <atsushi@ximian.com>
239 * Compiler.cs : Now it holds XPath parser and XSLT pattern parser.
240 * XslKey.cs : Use XSLT pattern parser for match.
241 UsePattern is now "Use" (it is not a pattern).
242 Reimplemented Evaluate() to make full use of index table.
243 Added Matches() to handle shorter match evaluation. For const value
244 for key (e.g. key patterns), it could avoid Evaluate().
245 * XsltCompiledContext.cs : Added MatchesKey() that just delegates to
246 new KeyIndexTable.Matches().
247 * XslFunctions.cs : Added PatternMatches() that just delegates to new
248 XsltCompiledContext.MatchesKey().
250 2005-03-22 Atsushi Enomoto <atsushi@ximian.com>
252 * GenericOutputter.cs : commented out warned fields.
254 2005-03-15 Atsushi Enomoto <atsushi@ximian.com>
256 * XslKey.cs : removed last ListIterator.ctor() argument.
257 Reverted the last commit that changed internal key index change
258 from ArrayList to Hashtable. Avoid clone in CollectIndex().
259 Sort results in Evaluate() before passing list to ListIterator.
260 * XslFunctions.cs : removed last ListIterator.ctor() argument.
262 2005-03-14 Atsushi Enomoto <atsushi@ximian.com>
265 XsltCompiledContext.cs,
267 XslTransformProcessor.cs : Now dynamic context key index table is
268 separate from XslKey static context. Added KeyIndexTable class and
269 store it into XsltCompiledContext with hash name-table mapping.
270 Cache map from statically-named key to index table.
271 Use Hashtable for internal key cache instead of ArrayList.
273 2005-03-14 Atsushi Enomoto <atsushi@ximian.com>
275 * XslKey.cs : fixed node iteration on collecting key indices which
276 could have resulted in an infinite loop.
278 2005-03-14 Atsushi Enomoto <atsushi@ximian.com>
280 * XslDecimalFormat.cs : in some cases it does not throw format
283 2005-03-11 Atsushi Enomoto <atsushi@ximian.com>
285 * XsltCompiledContext.cs,
286 XslStylesheet.cs : Fixed significant performance loss on whitespace
289 2005-03-11 Atsushi Enomoto <atsushi@ximian.com>
291 * XslKey.cs : removed unused NeedAbsoluteMatching.
292 * XslFunctions.cs : Added Peer (for peer & subtree optimization).
293 Added some missing ToString() overrides.
295 2005-03-09 Atsushi Enomoto <atsushi@ximian.com>
297 * XslStylesheet.cs, XslCompiledContext.cs : Fixed PreserveWhitespace()
298 to work fine with xsl:*-space attributes as expected.
299 * XslTransformProcessor.cs : PreserveWhitespace() in this file is
300 actually nothing. It should not use XsltContext.PreserveWhitespace()
301 because this method is used to control output, while the referenced
302 method is used to control source document.
304 2005-03-09 Atsushi Enomoto <atsushi@ximian.com>
306 * XslTemplate.cs : First non-element content were incorrectly ignored.
308 2005-03-09 Atsushi Enomoto <atsushi@ximian.com>
310 * XslFunctions.cs, Compiler.cs : Eliminated XPathNavigatorNsm class
311 to reduce references to stylesheet XPathNavigator. To accomplish it,
312 IStaticXsltContext does not declare GetNsm() anymore. All xslt
313 function types now directly hold IStaticXsltContext.
314 * XslStylesheet.cs : removed "Compiler c" field.
315 Removed unused properties.
317 2005-03-08 Atsushi Enomoto <atsushi@ximian.com>
319 * GenericOutputter.cs : When WriteStartElement() requires to add
320 new namespace declaration, _currentNamespaceDecls needs to be set.
322 2005-03-08 Atsushi Enomoto <atsushi@ximian.com>
324 * GenericOutputter.cs : for duplicate attribute in an element, no need
325 to keep previous prefix.
327 2005-03-08 Atsushi Enomoto <atsushi@ximian.com>
329 * GenericOutputter.cs : Prefix "xml" is only allowed to the fixed XML
330 namespace. Rewrite prefix only when there is non-empty namespace.
332 2005-03-07 Atsushi Enomoto <atsushi@ximian.com>
334 * XslStylesheet.cs : Now namespace aliases are collected in prior to
335 all other toplevel elements. Removed unused code.
337 2005-03-07 Atsushi Enomoto <atsushi@ximian.com>
339 * GenericOutputter.cs : compute attribute prefix only when actual
340 emission. Fixed some cases that namespace output was missing.
342 2005-03-07 Atsushi Enomoto <atsushi@ximian.com>
344 * GenericOutputter.cs : no need to use two collections to store
345 pending attributes. Just use ordered ListDictionary.
346 newNamespace.Add(int) causes extraneous boxing.
348 2005-03-07 Atsushi Enomoto <atsushi@ximian.com>
350 * XslTransformProcessor.cs : renamed TryElementNamespacesOutput() to
351 OutputLiteralNamespaceUriNodes() so that everyone can understand
352 what it means and when it should be invoked.
354 2005-03-04 Atsushi Enomoto <atsushi@ximian.com>
356 * Compiler.cs : added another CompileTemplateContent() which is
357 requred in xsl:for-each. Commented out unused method.
359 2005-03-03 Atsushi Enomoto <atsushi@ximian.com>
361 * XslStylesheet.cs, XslTransformProcessor.cs : exclude-element-prefix
362 in stylesheet should be considered in TryElementNamespacesOutput().
363 ParseQNameListAttribute() is not properly working for filling
366 2005-03-02 Atsushi Enomoto <atsushi@ximian.com>
368 * XslStylesheet.cs : included stylesheet could be literal result
369 element as stylesheet (see the spec 2.6.1).
371 2005-03-02 Atsushi Enomoto <atsushi@ximian.com>
373 * GenericOutputter.cs : On WriteStartElement(), prefix should be an
374 empty string when nsURI is empty.
375 * HtmlEmitter.cs : non-HTML elements in default namespace are treated
376 unlike xml but like span, as written in the spec 16.2.
378 2005-03-02 Atsushi Enomoto <atsushi@ximian.com>
380 * XslCompiledContext.cs, XslTransformProcessor.cs :
381 According to errata E25, those namespaces 1) that has the same
382 name as current element's prefix, or an empty name when current
383 element's namespace URI is empty, are not written to output.
384 So added current element information to XPathContext and added
385 prefix parameter to PushElementState(), added xsl:copy check to
386 TryElementNamespacesOutput().
387 http://www.w3.org/1999/11/REC-xslt-19991116-errata/
389 2005-02-26 Atsushi Enomoto <atsushi@ximian.com>
391 * XslFunctions.cs : unparsed-entity-uri() should return SYSTEM ID
394 2005-02-25 Atsushi Enomoto <atsushi@ximian.com>
396 * XslTemplate.cs : According to the spec 5.7, it is an error for
397 xsl:template to have 'mode' without 'match'.
399 2005-02-24 Atsushi Enomoto <atsushi@ximian.com>
401 * Compiler.cs : added ns lookup with nsDecls Hashtable.
403 2005-02-24 Atsushi Enomoto <atsushi@ximian.com>
405 * XslStylesheet.cs : It should consider "#default" in namespace-alias.
407 2005-02-23 Atsushi Enomoto <atsushi@ximian.com>
409 * GenericOutputter.cs : It should not attempt to write prefix "xml" and
410 namespace "http://www.w3.org/XML/1998/namespace".
412 2005-02-21 Atsushi Enomoto <atsushi@ximian.com>
414 * XmlWriterEmitter.cs : PI nodes are normalized as to not contain "?>".
415 * HtmlEmitter.cs : CDATA nodes are written just as text.
416 * GenericOutputter.cs : custom format are treated just as XML output.
418 2005-02-17 Atsushi Enomoto <atsushi@ximian.com>
422 GenericOutputter.cs : removed WriteStartDocument(), WriteEndDocument()
423 and WriteState. Writing XML declaration is done inside
424 DetermineOutputMethod().
426 2005-02-17 Atsushi Enomoto <atsushi@ximian.com>
428 * Compiler.cs : reverted previous fix, since it should be done
429 in XslTransformProcessor with root stylesheet.
430 * XslTransformProcessor.cs : In TryElementNamespacesOutput(),
431 don't output alias namespaces. And now consider null exclusions.
433 2005-02-17 Atsushi Enomoto <atsushi@ximian.com>
435 * Compiler.cs : don't return alias namespaces in GetNamespacesToCopy().
437 2005-02-16 Atsushi Enomoto <atsushi@ximian.com>
439 * Compiler.cs : GetNamespacesToCopy() should also find for non-local
440 namespace nodes. Patch by Andrew Skiba with some fixes.
441 * XslTransformProcessor.cs : Patch by Andrew Skiba.
442 TryStylesheetNamespaceOutput() is now TryElementNamespacesOutput()
443 as to handle all namespace nodes to copy in stylesheet nodes.
444 Global parameterss are evaluated before global variables.
445 * XmlOutputter.cs : removed unused code.
449 * Actually variables and params should check reference recursion.
450 This patch incompletely fixes the problem.
451 * Those operations that considers excluded-result-prefixes must
452 also check those attributes of its ancestors.
454 2005-02-10 Atsushi Enomoto <atsushi@ximian.com>
456 * XmlWriterEmitter.cs : String.Replace() was insufficient for
457 sequential candidates for replacement. Patch by Andrew Skiba.
459 2005-02-10 Atsushi Enomoto <atsushi@ximian.com>
461 * GenericOutputter.cs : don't output extraneous xml declaration.
464 2005-02-09 Atsushi Enomoto <atsushi@ximian.com>
466 * XslStylesheet.cs : MS implementation had chosen to recover from
467 the error, in the way specified in the spec 7.7.1. Patch by Andrew
470 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
472 * XslTemplate.cs : if input is literal result element, it could result
473 in ArgumentException. Patch by Andrew Skiba.
475 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
477 * XslFunctions.cs : Fixed unparsed-entity-uri() that might result in
478 NullReferenceException. Patch by Andrew Skiba.
480 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
482 * XslOutput.cs : MS.NET recovers from unknown encoding according to
483 XSLT spec 16.1. Patch by Andrew Skiba.
485 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
487 * HtmlEmitter.cs : patch by Andrew Skiba.
488 Remove extra element prefix output. simplify attribute prefix output.
489 Attribute output might have resulted in invalid element stack peek.
490 Output specified media type if any.
492 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
494 * Compiler.cs : Patch by Andrew Skiba.
495 wrap internal exception with XsltCompileException.
496 Raise an error for not-found document URI.
497 QName might contain sequential whitespaces and thus could be empty.
499 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
501 * XslAttributeSet.cs : just ignore other kind of nodes than element
502 in its content. Fix by Andrew Skiba.
504 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
506 * XslOutput.cs : for html and text output mode, just set internal
507 omitXmlDeclaration status true. Patch by Andrew Skiba.
509 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
511 * XslFunctions.cs : fixed line ending mixture.
513 2005-02-03 Atsushi Enomoto <atsushi@ximian.com>
515 * ScriptCompilerInfo.cs : XsltCompileException->XsltException, just
518 2004-12-22 Atsushi Enomoto <atsushi@ximian.com>
521 Compiler.cs : XmlResolver.ResolveUri() may return null.
523 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
525 * Compiler.cs : XPathNavigatorNsm needed more love. Clone() does not
528 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
530 * Compiler.cs : don't create XPathNavigatorNsm for every GetNsm() call.
532 2004-11-26 Atsushi Enomoto <atsushi@ximian.com>
534 * XslKey.cs, XslStylesheet.cs, MSXslScriptManager.cs :
537 2004-11-24 Atsushi Enomoto <atsushi@ximian.com>
539 * XslStylesheet.cs : removed unused fields.
540 * XslOutput.cs : removed members for XSLT 2.0 (won't be implemented in
543 2004-11-08 Atsushi Enomoto <atsushi@ximian.com>
545 * Compiler.cs, XslTransformProcessor.cs :
546 when creating XmlTextReader, reuse XmlNameTable.
548 2004-11-05 Atsushi Enomoto <atsushi@ximian.com>
550 * Compiler.cs : Changes that reflects CompiledExpression changes.
552 2004-10-04 Atsushi Enomoto <atsushi@ximian.com>
554 * HtmlEmitter.cs : TH tag is not regarded as HTML tag.
555 This fixes bug #67390.
557 Thu Sep 9 07:09:11 PDT 2004 Paolo Molaro <lupus@ximian.com>
559 * ScriptCompilerInfo.cs: avoid using a .cctor and fix precomp.
561 2004-06-18 Atsushi Enomoto <atsushi@ximian.com>
563 * Debug.cs, HtmlEmitter.cs, MSXslScriptManager.cs,
564 ScriptCompilerInfo.cs, XslFunctions.cs, XslTemplate.cs
565 : Globalization. Removed unused code.
567 2004-06-14 Atsushi Enomoto <atsushi@ximian.com>
569 * XslKey.cs : Key-value search in absolute path search was
572 2004-06-14 Atsushi Enomoto <atsushi@ximian.com>
574 * HtmlEmitter.cs : Correct URL escape implementation.
576 2004-06-06 Atsushi Enomoto <atsushi@ximian.com>
578 * XslTransformProcessor.cs : On document() function, close the
579 XmlTextReader opened from uri string.
581 2004-06-03 Atsushi Enomoto <atsushi@ximian.com>
584 GenericOutputter.cs : XmlNamespaceManager.LookupPrefix() allows only
585 atomized names. Fixed XPathNavigatorNsm.LookupNamespace() that
586 should override another overload.
588 2004-05-25 Lluis Sanchez Gual <lluis@ximian.com>
590 * ScriptCompilerInfo.cs: the name used to load the Microsoft.JScript
591 assembly should not include the .dll extension.
593 2004-05-20 Atsushi Enomoto <atsushi@ximian.com>
596 - CompilePattern() now throws XsltCompileException for invalid
597 pattern, and add error location support.
598 - In Compiler.TryGetFunction(), compare namespace URI, not prefix.
599 Now it returns MSXslNodeSet instance (for msxsl:node-set).
600 * Debug.cs : don't throw System.Exception.
601 * XslFunctions.cs : Added MSXslNodeSet class.
602 * XslTemplate.cs : reflected CompilePattern() change.
603 * XslTransformProcessor.cs : don't throw System.Exception.
604 * XsltCompiledContext.cs : don't throw System.Exception.
606 2004-05-12 Atsushi Enomoto <atsushi@ximian.com>
610 XslStylesheet.cs : made classes/enums internal.
612 2004-04-24 Atsushi Enomoto <atsushi@ximian.com>
614 * Attribute.cs, Compiler.cs, Debug.cs, Emitter.cs,
615 MSXslScriptCompiler.cs, Outputter.cs, XslAttributeSet.cs,
616 XslDecimalFormat.cs, XslKey.cs, XslStylesheet.cs, XslTemplate.cs,
617 XslTransformProcessor.cs : Make extra classes internal.
619 * XslKey.cs : It should require sorting.
620 * Debug.cs : Just avoid debug output. Only who want to output should
623 2004-04-24 Atsushi Enomoto <atsushi@ximian.com>
625 * GenericOutputter.cs : Culture-independency fix.
626 Replaced StringCollection to ArrayList.
627 * XslOutput.cs : Culture-independency fix.
629 2004-04-12 Atsushi Enomoto <atsushi@ximian.com>
631 * Compiler.cs : When BaseURI is an empty string, it should not try to
632 create Uri instance. This will fix bug #56832, but not sure.
633 * XslFunctions.cs : for XsltDocument.Resolve(), did the same.
634 * HtmlEmitter.cs : Environment.NewLine was incorrectly used (it
635 should be the TextReader's NewLine).
636 * MSXslScriptManager.cs : Should raise an error when the prefix which
637 was specified by "implements-prefix" was not found.
639 2004-03-27 Atsushi Enomoto <atsushi@ximian.com>
641 * ScriptCompilerInfo.cs : #line directive now holds dummy filename
642 when BaseURI for msxsl:script node is not available. This fixes
644 Don't output line number in the error message, when it is 0.
646 2004-03-27 Atsushi Enomoto <atsushi@ximian.com>
648 * Compiler.cs : Supply NameTable to base ctor() of XPathNavigatorNsm.
650 2004-03-22 Atsushi Enomoto <atsushi@ximian.com>
655 XslTransformProcessor.cs :
656 Throw specific types of exceptions instead of Exception.
657 * XslFunctions.cs, XsltCompiledContext.cs :
658 added node argument for XsltExtensionFunction ctor() etc.
660 2004-03-22 Atsushi Enomoto <atsushi@ximian.com>
662 * ScriptCompilerInfo.cs : Modified compilation processing. Now it uses
663 CodeDom. Compilation error should be caught. This fixes bug #55875.
665 2004-03-13 Atsushi Enomoto <atsushi@ximian.com>
667 * XslStylesheet.cs : "version" attribute is also required for embedded
670 2004-03-13 Atsushi Enomoto <atsushi@ximian.com>
673 XslStylesheet.cs : Reject xsl element other than stylesheet and
674 transform. Check mandatory version attribute (only for existence).
676 2004-03-07 Atsushi Enomoto <atsushi@ximian.com>
678 * MSXslScriptManager.cs : if extension namespace was not found in
679 the script, just return null. Patch by Joshua Tauberer.
681 2004-03-01 Atsushi Enomoto <atsushi@ximian.com>
683 * XslLiteralElement.cs : quick fix for ArgumentNullException which
684 was because of the combination of non-namespaced instances and
685 exclude-result-prefixes.
687 2004-02-17 Atsushi Enomoto <atsushi@ximian.com>
689 * XsltCompiledContext.cs : Extracted XslFunctions and changed namespace
690 from Mono.Xml.Xsl.Functions to Mono.Xml.Xsl.
691 * XslFunctions.cs : hereby Added.
692 * Compiler.cs : Removed deleted usingdecl.
694 2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
696 * XslTransformProcessor.cs : Bugfix. Stored keys should be cleared.
697 * XslKey.cs : Added ExprKeyContainer expression type, which is
698 designed to be matched at any level.
699 * Compiler.cs : support for ExprKeyContainer.
701 2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
703 * XslKey.cs : Now it collects key and matching nodes at the first
704 evaluation time. After that, we can just get them from the table.
705 * Compiler.cs : Added KeyCompilationMode. It is used to prevent
706 prohibited key() usage in "match" and "use" attributes in xsl:key.
707 Modified accessibility of some classes.
708 * GenericOutputter.cs,
712 XmlWriterEmitter.cs : made classes internal.
713 * XslOutput.cs : support line info for exception.
714 * XsltCompiledContext.cs : implemented CompareDocument() - so easily.
716 2004-02-13 Atsushi Enomoto <atsushi@ximian.com>
718 * XsltCompiledContext.cs : fixed the length of context info array.
720 2004-02-10 Atsushi Enomoto <atsushi@ximian.com>
722 * XsltCompiledContext.cs :
723 replaced EnumeratorIterator with ListIterator
725 2004-02-08 Atsushi Enomoto <atsushi@ximian.com>
727 * GenericOutputter.cs,
730 XslTemplate.cs : tiny foreach elimination.
732 2004-01-16 Atsushi Enomoto <atsushi@ximian.com>
734 * XslOutput.cs : Reverted. default encoding should be utf-8.
736 2004-01-14 Jackson Harper <jackson@ximian.com>
738 * GenericOutputter.cs: Add constructors that do not take an
739 encoding to fix build.
741 2004-01-14 Atsushi Enomoto <atsushi@ximian.com>
743 * XmlWriterEmitter.cs : It now uses WriteProcessingInstruction() to
744 write XML declaration. It means that output supports non document
745 entity. This fixes bug #52729.
746 * Emitter.cs, TextEmitter.cs, HtmlEmitter.cs, XmlWriterEmitter.cs :
747 modified WriteStartDocument() signature to receive Encoding.
748 * GenericOutputter.cs :
749 - Added .ctor() which receives Encoding. (It is used for TextWriter
750 output to get actual encoding.)
751 - Added .ctor() to take an boolean argument which indicates it is
752 variable content or not. (When variable, it does not call
753 WriteStartDocument().)
755 XsltCompiledContext.cs : comment out WriteLine().
756 * XslOutput.cs : set default encoding utf-16.
758 2004-01-08 Nick Drochak <ndrochak@ieee.org>
760 * XsltCompiledContext.cs: Remove unused variable and unreachable code.
762 2003-12-26 Atsushi Enomoto <atsushi@ximian.com>
764 * XslDecimalFormat.cs : implemented format-number() other than number
766 * XsltCompiledContext.cs : Modified XsltFormatNumber.Evaluate() to
767 catch ArgumentException which will be thrown by formatting process.
769 2003-12-23 Atsushi Enomoto <atsushi@ximian.com>
771 * ScriptCompilerInfo.cs : Use "mjs" as JScript compiler.
773 2003-12-20 Ben Maurer <bmaurer@users.sourceforge.net>
775 * XsltCompiledContext.cs: Remove workaround now that monodoc
778 2003-12-20 Atsushi Enomoto <atsushi@ximian.com>
780 * XslStylesheet.cs : considering xsl:imports, we can't handle namespace
781 aliases at compilation time, so evaluate at the first run-time.
783 2003-12-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
785 * GenericOutputter.cs : support for runtime-determined output type.
786 * HtmlEmitter.cs : Fixed invalid doctype output.
787 Fixed incorrect double attribute output on non-HTML elements.
788 Improved indentation. Fixed "selected" attribute output.
789 Don't have to convert "'" to "'".
790 * XmlWriterEmitter.cs : Now don't output incorrect doctype.
791 Escapes CDATA section text "]]>" to "...]]]]><![CDATA[>..." .
792 * XslStylesheet.cs, XsltCompiledContext.cs :
793 space resolution consideration for import and wildcard.
795 2003-12-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
797 * Compiler.cs, XslTransformProcessor.cs :
798 Use XmlValidatingReader to support id() for external stylesheets.
799 * XslKey.cs, XsltCompiledContext.cs :
800 to evaluate MatchPattern and UsePattern, SetContext() is required.
801 * XslTemplate.cs : Forgot to commit. Change is below(12/16).
803 2003-12-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
805 * Emitter.cs, HtmlEmitter.cs, XmlWriterEmitter.cs :
806 Added WriteWhitespace().
807 * GenericOutputter.cs, XslTemplate.cs : Call above.
808 * XslTransformProcessor.cs : Changed NodesetStack to ArrayList since
809 CurrentNode in for-each context have to be pulled at evaluation.
811 2003-12-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
813 * XsltCompiledContext.cs : Temporarily allow incorrectly resolved
814 function for bugzilla #52144. It should be reverted soon.
816 2003-12-12 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
818 * ScriptCompilerInfo.cs : SecurityManager.ResolvePolicy() was not
820 * MSMslScriptManager.cs : modified generated assembly class to be unique
821 through running AppDomain.
822 * XsltCompiledContext.cs : XsltExtensionFunction.Invoke() has to cast
823 arguments to actual argument types. Bugzilla #51450 should be fixed.
825 2003-12-12 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
827 * HtmlEmitter.cs : Fixed incorrect character entity output.
829 2003-12-11 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
831 * Added ScriptCompilerInfo.cs.
832 * MSXslScriptManager.cs : Fixed *true* author's name.
833 Implemented basic msxsl:script support.
834 * Compiler.cs : Added Evidence member.
836 2003-12-07 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
838 * Compiler.cs : Check stylesheet recursion. Check decimal-format name.
839 * GenericOutputter.cs, Outputter.cs, TextOutputter.cs :
840 Added WriteWhitespace() to assure not writing whitespaces as cdata.
841 * XslAttributeSet.cs : Error check if attribute-set contains other than
842 xsl:attribute. Error should be XsltException.
843 * XslDecimalFormat.cs : Complete equality check. Allow just one
844 character value for some attributes.
845 * XslStylesheet.cs : Made whitespace control setting overridable.
846 Added Version property (for the future compatibility mode).
847 Check unrecongnized top level element.
848 * XslTemplate.cs : Check priority as a number.
849 * XslTransformProcessor.cs : PushCDataState is now PushElementState,
850 for xsl:preserve-space and xsl:strip-space support.
851 * XsltCompiledContext.cs : Implemented PreserveWhitespace() (far from
852 incomplete), PushScope and Pop
854 2003-12-03 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
856 * HtmlEmitter.cs : CloseStartElement is needed almost everywhere.
858 2003-12-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
860 * Compiler.cs : In FromListString(), it should use default ns,
862 * GenericOutputter.cs : CheckState() - attribute's Prefix should take
863 precedence. Doctype should be written even if SYSTEM id is absent.
864 Fixed possible multiple xmlns output.
866 - Encoding output using META element.
867 - Doctype name is fixed (html).
868 - Double quotation on PUBLIC and SYSTEM missing.
869 - Fixed incorrect tag name check for IMG.
870 - '>' should not be escaped.
871 * XmlWriterEmitter.cs :
872 Added newline before doctype. In WriteComment(), "--" and tail
873 '-' are not allowed (it escapes, while XmlWriter simply rejects).
874 * XslTransformProcessor.cs : cdata-section-elements should enclose
875 direct child tests only. Added PreserveWhitespace() (incomplete).
876 * XsltCompiledContext.cs : Implemented PreserveWhitespace() (incomplete).
878 2003-11-28 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
880 * IdPattern.cs : This should work against multiple ids.
882 2003-11-27 Ben Maurer <bmaurer@users.sourceforge.net>
885 * MSXslScriptManager.cs
887 * XslTransformProcessor.cs
888 * XsltCompiledContext.cs: Some work on msxsl script.
890 2003-11-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
892 (in general: cdata-section-elements support, correct document()
893 base uri handling, and so on)
894 * Compiler.cs : Use XmlSpace.Preserve to parse included stylesheet.
895 And move to document element. Added XslNameUtil.FromListString().
896 * Emitter.cs, HtmlEmitter.cs, TextEmitter.cs XmlWriterEmitter.cs :
897 Added WriteCDataSection().
898 * Outputter.cs, GenericOutputter.cs, TextOutputter.cs :
899 Added InsideCDataSection.
900 * GenericOutputter.cs :
901 In .ctor(), WriteState should be succeeded from output XmlWriter.
902 WriteNamespaceDecl() now drops declaration identical to existing one.
903 Removed obsolete htmlEmulation.
904 * XslOutput.cs : Added CDataSectionElements support.
905 * XslStylesheet.cs : Added BaseUri, StyleDocument and PrefixInEffect().
906 * XslTransformProcessor.cs :
907 Added Output and CurrentOutputUri. TryStylesheetNamespaceOutput()
908 now considers xsl:exclude-element-prefixes on literal element.
909 Added PushCDataState() and PopCDataState().
910 * XsltCompiledContext.cs : When base uri of document() target is empty,
911 then it should use stylesheet's BaseURI, not that of current document.
913 2003-11-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
915 * Compiler.cs : Modified decimal-format comparison code.
918 GenericOutputter.cs : Added WriteState. Now WriteStartDocument() will
919 be called only when required.
920 * HtmlEmitter.cs : Improved indentation stuff.
921 * XslDecimalFormat.cs : Added incomplete implementation of
922 CheckSameAs() and FormatNumber().
924 XslTransformProcessor.cs : Changed XslStylesheet.StylesheetNamespaces
925 from StringDictionary to ArrayList of QName (to keep order).
927 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
929 * XsltCompiledContext.cs : XsltGenerateId.Evaluate() should consider
930 node type (i.e. attribute and namespace). Removed extraneous Clone().
931 Fixed XsltKey.Evaluate() to use MoveToNextAttribute to iterate attrs.
933 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
935 * Compiler.cs : Changed Keys from ArrayList to Hashtable.
936 XslStylesheet.cs : Added Keys support here.
937 * XslTransformProcessor.cs : Should call SetContext() to expressions
938 before evaluating current nodes.
939 * XsltCompiledContext.cs : 1) XsltDocument.GetDocument() should use
940 xsltContext. 2) XsltKey exposes KeyName, Field and NamespaceManager
941 for KeyPattern. It now uses CompiledStyle.FindKeys().
943 2003-11-13 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
945 * GenericOutputter.cs : Added HTML output support. Closer xmlns handling
946 to Xalan tests and MS.NET implementation (only for test convenience).
947 * XslOutput.cs : Indent holds string rathen than bool. Its default value
948 varies in the context. When method="html", then default is "yes".
949 * XslTransformProcessor.cs : Extension element prefixes should not
950 be written as stylesheet namespaces.
951 * XsltCompiledContext.cs : Return type of generate-id() is string.
952 Implemented unparsed-entity-uri().
954 2003-11-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
956 * Compiler.cs : More complete attribute set gathering.
957 GetNamespacesToCopy() should only return Local namespaces.
958 * GenericOutputter.cs : Added support for indentation.
959 Added easy hack for html output.
960 More correct Prefix handling (considers already defined ones).
961 Namespace emmission is moved to CheckState().
962 * Emitter.cs, XmlWriterEmitter.cs, GenericOutputter.cs, Outputter.cs :
963 Added WriteFullEndElement(). (i.e. IsEmptyElement support)
964 * GenericOutputter.cs, Outputter.cs :
965 Added CanProcessAttributes property for
966 use-attribute-sets of xsl:copy.
967 * XslStylesheet.cs : Added support for stylesheet-defined xmlns decls.
968 Added support for exclude-result-prefixes.
969 * XslTransformProcessor.cs : Added support for stylesheet-defined xmlns.
971 2003-10-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
973 * Compiler.cs : It is not important, but attribute order became closer
974 to MS.NET and Xalan (assuming from OASIS tests).
976 2003-10-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
978 * GenericOutputter.cs : Attribute wasn't overwritten its properties
979 because Attribute is struct it was let to another local variable.
981 2003-09-28 Ben Maurer <bmaurer@users.sourceforge.net>
983 * GenericOutputter.cs: make html output a warning, because doing
984 xml will be right most of the time.
986 2003-09-28 Ben Maurer <bmaurer@users.sourceforge.net>
988 * Debug.cs: comment out {Enter, Exit}Navigator. Haven't had bugs
989 here for a long time and it hurts thread safty and memory
992 2003-09-21 Ben Maurer <bmaurer@users.sourceforge.net>
994 * Compiler.cs: save the parser (will reduce memory allocation when
995 Jackson's jay patch is committed).
997 2003-09-20 Ben Maurer <bmaurer@users.sourceforge.net>
999 * Attribute.cs: Change to struct. Remove QName class.
1000 * GenericOutputter.cs: use an Attribute [] rather than an
1001 ArrayList. Allows us not to allocate Attributes, which is great
1002 for speed. Roll our own allocation.
1004 2003-09-20 Ben Maurer <bmaurer@users.sourceforge.net>
1006 * Compiler.cs: add GetNsm to main class as well.
1008 2003-09-20 Ben Maurer <bmaurer@users.sourceforge.net>
1010 * Compiler.cs (ParseAvtAttribute): Get the attribue using our
1011 internal version so we get null if the attr doesnt exist.
1013 2003-09-17 Ben Maurer <bmaurer@users.sourceforge.net>
1015 * Compiler.cs (IStaticXsltContext.TryGetVariable): handle the case
1016 where curVarScope == null
1018 2003-09-16 Ben Maurer <bmaurer@users.sourceforge.net>
1021 - Better handling of empty attributes (vs not being specified)
1022 - Bug in handling #default
1024 2003-09-15 Ben Maurer <bmaurer@users.sourceforge.net>
1026 * Compiler.cs: Off by one when parsing localname of QName
1027 * XslAttributeSet.cs: must evaluate used attr sets *BEFORE*
1028 children (so that they get overriden)
1030 2003-09-15 Ben Maurer <bmaurer@users.sourceforge.net>
1032 * GenericOutputter.cs: Output attributes in order recieved; not
1033 required by spec, but useful for running test cases.
1035 2003-09-14 Oleg Tkachenko <oleg@tkachenko.com>
1037 * GenericOutputter.cs - fix bug with outputting state.
1038 * Emitter.cs, TextEmitter.cs, XmlWriterEmitter.cs, Outputter.cs,
1039 * TextOutputter.cs - get rid of WriteStartAttribute/WriteEndAttribute.
1041 2003-09-13 Ben Maurer <bmaurer@users.sourceforge.net>
1043 * Compiler.cs, XslKey.cs, XslTransformProcessor.cs: dont clone
1044 exprs on use, pass to nav.
1046 2003-09-13 Ben Maurer <bmaurer@users.sourceforge.net>
1048 * Compiler.cs: pass satic context to Pattern ctor.
1050 2003-08-30 Oleg Tkachenko <oleg@tkachenko.com>
1053 GenericOutputter.cs - generic Outputter implementation,
1054 Attribute.cs - represents outputted attribute,
1055 Emitter.cs - abstract output emitter,
1056 TextEmitter.cs - text emitter,
1057 XmlWriterEmitter.cs - emitter to XmlWriter.
1058 * Checking of duplicating attributes is done in GenericOutputter.
1059 * Namespace outputting logic is implemented in GenericOutputter.
1060 * Outputter.cs: Writing namespace declarations is delegated to
1061 derived classes (GenericOutputter).
1062 * XslOutput.cs: standalone flag is now 3-value enum (NONE, YES, NO).
1064 2003-08-21 Ben Maurer <bmaurer@users.sourceforge.net>
1066 * XslTransformProcessor.cs: evaluate variables at beginning
1067 when / is current node.
1069 2003-08-21 Ben Maurer <bmaurer@users.sourceforge.net>
1071 * Compiler.cs, XsltCompiledContext.cs, XslTransformProcessorcs:
1072 Fix up namespace handeling
1074 2003-08-20 Ben Maurer <bmaurer@users.sourceforge.net>
1076 * Compiler.cs, XslStylesheet.cs, XsltCompiledContext.cs: Stubs for
1078 * XslDecimalFormat.cs: Stub for decimal-format.
1080 2003-08-20 Ben Maurer <bmaurer@users.sourceforge.net>
1082 * TextOutputter.cs: Add option to ignore element content (Oleg).
1084 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
1086 * Compiler.cs: Really give null for blank avt's
1088 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
1090 * Compiler.cs: Fixed lre/lre04.
1092 2003-08-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1094 * Compiler.cs : Fixed XslNameUtil.FromString() so that unprefixed name
1095 won't have default namespace. See http://www.w3.org/TR/xslt#qname
1097 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
1099 * XslTransformProcessor.cs: add support for resolving documents.
1100 * XsltCompiledContext: add support for document () function.
1102 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
1104 * Outputter.cs, TextOutputter.cs, XmlOutputter.cs: Implement some
1105 of the abstract methods in Outputter, making them call other
1106 functions with default values, remove impl's in derived classes.
1108 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
1110 * Outputter.cs: s/Close/Done
1111 * TextOutputter.cs, XmlOutputter.cs: Flush, don't close the backing.
1112 * XslTransformProcessor.cs: Flush output when popping, pop at end.
1114 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
1116 * Outputter.cs: Add support for namespaces.
1118 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
1120 * Compiler.cs, XslOutput.cs, XslStylesheet.cs,
1121 XslTransformProcessor.cs: move output logic from XslStylesheet to
1124 2003-08-18 Ben Maurer <bmaurer@users.sourceforge.net>
1126 * XslOutput.cs: add support for encoding.
1128 2003-08-18 Ben Maurer <bmaurer@users.sourceforge.net>
1130 * *.cs: Support for xsl:output. (Oleg)
1132 2003-08-17 Ben Maurer <bmaurer@users.sourceforge.net>
1134 * Compiler.cs: handle extension and excluded namespaces.
1136 2003-08-17 Ben Maurer <bmaurer@users.sourceforge.net>
1138 * XsltCompiledContext.cs, Compiler.cs: copy the XPathNavigator
1139 from the stylesheet for correct namespace resolution.
1141 2003-08-14 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
1143 * Compiler.cs : 1) Changed public .ctor() to receive Evidence argument
1144 introduced in .NET 1.1. 2) XmlResolver object is required for 'res'.
1146 2003-08-07 Ben Maurer <bmaurer@users.sourceforge.net>
1148 * XslTransformProcessor.cs: Add a table to detect when an object
1150 * XslAttributeSet.cs: Use the above table. Dont throw nullref
1151 exception when no use-attribute-sets are specified.
1153 2003-08-04 Ben Maurer <bmaurer@users.sourceforge.net>
1155 * Compiler.cs: Add support for boolean attributes (yes/no).
1157 2003-08-04 Ben Maurer <bmaurer@users.sourceforge.net>
1159 * Compiler.cs: Add method LocalNameOf, to get the local name of a
1161 * XslTransformProcessor.cs: Support for setting the XmlResolver.
1163 2003-08-01 Ben Maurer <bmaurer@users.sourceforge.net>
1165 * Compiler.cs, XslAttributeSet.cs: Handle attribute set merging
1167 2003-08-01 Ben Maurer <bmaurer@users.sourceforge.net>
1169 * XslTransformProcessor.cs: Add EvaluateNumber method.
1171 2003-07-31 Ben Maurer <bmaurer@users.sourceforge.net>
1173 * XsltCompiledContext.cs: Implement more functions.
1175 2003-07-31 Ben Maurer <bmaurer@users.sourceforge.net>
1177 * Compiler.cs: Add support for key, utility function to parse
1178 QName's from the XsltContext. Store keys in the CompiledStyle, not
1180 * XslKey.cs: Real implementation
1181 * XslStylesheet.cs: Move the keys to CompiledStyle.
1182 * XsltCompiledContext.cs: Implement the key function
1184 2003-07-31 Ben Maurer <bmaurer@users.sourceforge.net>
1186 * XsltCompiledContext.cs: Hmm, maybe I should actually *enable*
1187 the functions ;-). Also wrote current ().
1189 2003-07-31 Ben Maurer <bmaurer@users.sourceforge.net>
1191 * XsltCompiledContext.cs: Remove excess conversion stuff. It is
1192 done in XPath. Add stubs for XSLT functions.
1194 2003-07-31 Ben Maurer <bmaurer@users.sourceforge.net>
1196 * Compiler.cs: To resolve a variable you now need to pass the
1197 processor, so that it can be passed to IsEvaluated. A local will
1198 only be resolved if it has already been evaluated.
1199 * XsltCompiledContext.cs: Pass along the processor.
1201 2003-07-30 Ben Maurer <bmaurer@users.sourceforge.net>
1203 * Compiler.cs, XslTemplate.cs, XslTransformProcessor.cs: Store
1204 variable values in the XslTransformProcessor.
1205 * XsltCompiledContext.cs: If the scope is null, don't look there!
1206 * Debug.cs: New method Assert
1208 2003-07-30 Ben Maurer <bmaurer@users.sourceforge.net>
1210 * Compiler.cs, XsltCompiledContext.cs: Remove verbose messages
1211 * XslTransformProcessor.cs: Use strongtyped evaluation, using new
1212 internal methods in XPathNavigator. Remove verbose debugging messages.
1214 2003-07-29 Ben Maurer <bmaurer@users.sourceforge.net>