1 2005-03-11 Atsushi Enomoto <atsushi@ximian.com>
3 * XsltCompiledContext.cs,
4 XslStylesheet.cs : Fixed significant performance loss on whitespace
7 2005-03-11 Atsushi Enomoto <atsushi@ximian.com>
9 * XslKey.cs : removed unused NeedAbsoluteMatching.
10 * XslFunctions.cs : Added Peer (for peer & subtree optimization).
11 Added some missing ToString() overrides.
13 2005-03-09 Atsushi Enomoto <atsushi@ximian.com>
15 * XslStylesheet.cs, XslCompiledContext.cs : Fixed PreserveWhitespace()
16 to work fine with xsl:*-space attributes as expected.
17 * XslTransformProcessor.cs : PreserveWhitespace() in this file is
18 actually nothing. It should not use XsltContext.PreserveWhitespace()
19 because this method is used to control output, while the referenced
20 method is used to control source document.
22 2005-03-09 Atsushi Enomoto <atsushi@ximian.com>
24 * XslTemplate.cs : First non-element content were incorrectly ignored.
26 2005-03-09 Atsushi Enomoto <atsushi@ximian.com>
28 * XslFunctions.cs, Compiler.cs : Eliminated XPathNavigatorNsm class
29 to reduce references to stylesheet XPathNavigator. To accomplish it,
30 IStaticXsltContext does not declare GetNsm() anymore. All xslt
31 function types now directly hold IStaticXsltContext.
32 * XslStylesheet.cs : removed "Compiler c" field.
33 Removed unused properties.
35 2005-03-08 Atsushi Enomoto <atsushi@ximian.com>
37 * GenericOutputter.cs : When WriteStartElement() requires to add
38 new namespace declaration, _currentNamespaceDecls needs to be set.
40 2005-03-08 Atsushi Enomoto <atsushi@ximian.com>
42 * GenericOutputter.cs : for duplicate attribute in an element, no need
43 to keep previous prefix.
45 2005-03-08 Atsushi Enomoto <atsushi@ximian.com>
47 * GenericOutputter.cs : Prefix "xml" is only allowed to the fixed XML
48 namespace. Rewrite prefix only when there is non-empty namespace.
50 2005-03-07 Atsushi Enomoto <atsushi@ximian.com>
52 * XslStylesheet.cs : Now namespace aliases are collected in prior to
53 all other toplevel elements. Removed unused code.
55 2005-03-07 Atsushi Enomoto <atsushi@ximian.com>
57 * GenericOutputter.cs : compute attribute prefix only when actual
58 emission. Fixed some cases that namespace output was missing.
60 2005-03-07 Atsushi Enomoto <atsushi@ximian.com>
62 * GenericOutputter.cs : no need to use two collections to store
63 pending attributes. Just use ordered ListDictionary.
64 newNamespace.Add(int) causes extraneous boxing.
66 2005-03-07 Atsushi Enomoto <atsushi@ximian.com>
68 * XslTransformProcessor.cs : renamed TryElementNamespacesOutput() to
69 OutputLiteralNamespaceUriNodes() so that everyone can understand
70 what it means and when it should be invoked.
72 2005-03-04 Atsushi Enomoto <atsushi@ximian.com>
74 * Compiler.cs : added another CompileTemplateContent() which is
75 requred in xsl:for-each. Commented out unused method.
77 2005-03-03 Atsushi Enomoto <atsushi@ximian.com>
79 * XslStylesheet.cs, XslTransformProcessor.cs : exclude-element-prefix
80 in stylesheet should be considered in TryElementNamespacesOutput().
81 ParseQNameListAttribute() is not properly working for filling
84 2005-03-02 Atsushi Enomoto <atsushi@ximian.com>
86 * XslStylesheet.cs : included stylesheet could be literal result
87 element as stylesheet (see the spec 2.6.1).
89 2005-03-02 Atsushi Enomoto <atsushi@ximian.com>
91 * GenericOutputter.cs : On WriteStartElement(), prefix should be an
92 empty string when nsURI is empty.
93 * HtmlEmitter.cs : non-HTML elements in default namespace are treated
94 unlike xml but like span, as written in the spec 16.2.
96 2005-03-02 Atsushi Enomoto <atsushi@ximian.com>
98 * XslCompiledContext.cs, XslTransformProcessor.cs :
99 According to errata E25, those namespaces 1) that has the same
100 name as current element's prefix, or an empty name when current
101 element's namespace URI is empty, are not written to output.
102 So added current element information to XPathContext and added
103 prefix parameter to PushElementState(), added xsl:copy check to
104 TryElementNamespacesOutput().
105 http://www.w3.org/1999/11/REC-xslt-19991116-errata/
107 2005-02-26 Atsushi Enomoto <atsushi@ximian.com>
109 * XslFunctions.cs : unparsed-entity-uri() should return SYSTEM ID
112 2005-02-25 Atsushi Enomoto <atsushi@ximian.com>
114 * XslTemplate.cs : According to the spec 5.7, it is an error for
115 xsl:template to have 'mode' without 'match'.
117 2005-02-24 Atsushi Enomoto <atsushi@ximian.com>
119 * Compiler.cs : added ns lookup with nsDecls Hashtable.
121 2005-02-24 Atsushi Enomoto <atsushi@ximian.com>
123 * XslStylesheet.cs : It should consider "#default" in namespace-alias.
125 2005-02-23 Atsushi Enomoto <atsushi@ximian.com>
127 * GenericOutputter.cs : It should not attempt to write prefix "xml" and
128 namespace "http://www.w3.org/XML/1998/namespace".
130 2005-02-21 Atsushi Enomoto <atsushi@ximian.com>
132 * XmlWriterEmitter.cs : PI nodes are normalized as to not contain "?>".
133 * HtmlEmitter.cs : CDATA nodes are written just as text.
134 * GenericOutputter.cs : custom format are treated just as XML output.
136 2005-02-17 Atsushi Enomoto <atsushi@ximian.com>
140 GenericOutputter.cs : removed WriteStartDocument(), WriteEndDocument()
141 and WriteState. Writing XML declaration is done inside
142 DetermineOutputMethod().
144 2005-02-17 Atsushi Enomoto <atsushi@ximian.com>
146 * Compiler.cs : reverted previous fix, since it should be done
147 in XslTransformProcessor with root stylesheet.
148 * XslTransformProcessor.cs : In TryElementNamespacesOutput(),
149 don't output alias namespaces. And now consider null exclusions.
151 2005-02-17 Atsushi Enomoto <atsushi@ximian.com>
153 * Compiler.cs : don't return alias namespaces in GetNamespacesToCopy().
155 2005-02-16 Atsushi Enomoto <atsushi@ximian.com>
157 * Compiler.cs : GetNamespacesToCopy() should also find for non-local
158 namespace nodes. Patch by Andrew Skiba with some fixes.
159 * XslTransformProcessor.cs : Patch by Andrew Skiba.
160 TryStylesheetNamespaceOutput() is now TryElementNamespacesOutput()
161 as to handle all namespace nodes to copy in stylesheet nodes.
162 Global parameterss are evaluated before global variables.
163 * XmlOutputter.cs : removed unused code.
167 * Actually variables and params should check reference recursion.
168 This patch incompletely fixes the problem.
169 * Those operations that considers excluded-result-prefixes must
170 also check those attributes of its ancestors.
172 2005-02-10 Atsushi Enomoto <atsushi@ximian.com>
174 * XmlWriterEmitter.cs : String.Replace() was insufficient for
175 sequential candidates for replacement. Patch by Andrew Skiba.
177 2005-02-10 Atsushi Enomoto <atsushi@ximian.com>
179 * GenericOutputter.cs : don't output extraneous xml declaration.
182 2005-02-09 Atsushi Enomoto <atsushi@ximian.com>
184 * XslStylesheet.cs : MS implementation had chosen to recover from
185 the error, in the way specified in the spec 7.7.1. Patch by Andrew
188 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
190 * XslTemplate.cs : if input is literal result element, it could result
191 in ArgumentException. Patch by Andrew Skiba.
193 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
195 * XslFunctions.cs : Fixed unparsed-entity-uri() that might result in
196 NullReferenceException. Patch by Andrew Skiba.
198 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
200 * XslOutput.cs : MS.NET recovers from unknown encoding according to
201 XSLT spec 16.1. Patch by Andrew Skiba.
203 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
205 * HtmlEmitter.cs : patch by Andrew Skiba.
206 Remove extra element prefix output. simplify attribute prefix output.
207 Attribute output might have resulted in invalid element stack peek.
208 Output specified media type if any.
210 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
212 * Compiler.cs : Patch by Andrew Skiba.
213 wrap internal exception with XsltCompileException.
214 Raise an error for not-found document URI.
215 QName might contain sequential whitespaces and thus could be empty.
217 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
219 * XslAttributeSet.cs : just ignore other kind of nodes than element
220 in its content. Fix by Andrew Skiba.
222 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
224 * XslOutput.cs : for html and text output mode, just set internal
225 omitXmlDeclaration status true. Patch by Andrew Skiba.
227 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
229 * XslFunctions.cs : fixed line ending mixture.
231 2005-02-03 Atsushi Enomoto <atsushi@ximian.com>
233 * ScriptCompilerInfo.cs : XsltCompileException->XsltException, just
236 2004-12-22 Atsushi Enomoto <atsushi@ximian.com>
239 Compiler.cs : XmlResolver.ResolveUri() may return null.
241 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
243 * Compiler.cs : XPathNavigatorNsm needed more love. Clone() does not
246 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
248 * Compiler.cs : don't create XPathNavigatorNsm for every GetNsm() call.
250 2004-11-26 Atsushi Enomoto <atsushi@ximian.com>
252 * XslKey.cs, XslStylesheet.cs, MSXslScriptManager.cs :
255 2004-11-24 Atsushi Enomoto <atsushi@ximian.com>
257 * XslStylesheet.cs : removed unused fields.
258 * XslOutput.cs : removed members for XSLT 2.0 (won't be implemented in
261 2004-11-08 Atsushi Enomoto <atsushi@ximian.com>
263 * Compiler.cs, XslTransformProcessor.cs :
264 when creating XmlTextReader, reuse XmlNameTable.
266 2004-11-05 Atsushi Enomoto <atsushi@ximian.com>
268 * Compiler.cs : Changes that reflects CompiledExpression changes.
270 2004-10-04 Atsushi Enomoto <atsushi@ximian.com>
272 * HtmlEmitter.cs : TH tag is not regarded as HTML tag.
273 This fixes bug #67390.
275 Thu Sep 9 07:09:11 PDT 2004 Paolo Molaro <lupus@ximian.com>
277 * ScriptCompilerInfo.cs: avoid using a .cctor and fix precomp.
279 2004-06-18 Atsushi Enomoto <atsushi@ximian.com>
281 * Debug.cs, HtmlEmitter.cs, MSXslScriptManager.cs,
282 ScriptCompilerInfo.cs, XslFunctions.cs, XslTemplate.cs
283 : Globalization. Removed unused code.
285 2004-06-14 Atsushi Enomoto <atsushi@ximian.com>
287 * XslKey.cs : Key-value search in absolute path search was
290 2004-06-14 Atsushi Enomoto <atsushi@ximian.com>
292 * HtmlEmitter.cs : Correct URL escape implementation.
294 2004-06-06 Atsushi Enomoto <atsushi@ximian.com>
296 * XslTransformProcessor.cs : On document() function, close the
297 XmlTextReader opened from uri string.
299 2004-06-03 Atsushi Enomoto <atsushi@ximian.com>
302 GenericOutputter.cs : XmlNamespaceManager.LookupPrefix() allows only
303 atomized names. Fixed XPathNavigatorNsm.LookupNamespace() that
304 should override another overload.
306 2004-05-25 Lluis Sanchez Gual <lluis@ximian.com>
308 * ScriptCompilerInfo.cs: the name used to load the Microsoft.JScript
309 assembly should not include the .dll extension.
311 2004-05-20 Atsushi Enomoto <atsushi@ximian.com>
314 - CompilePattern() now throws XsltCompileException for invalid
315 pattern, and add error location support.
316 - In Compiler.TryGetFunction(), compare namespace URI, not prefix.
317 Now it returns MSXslNodeSet instance (for msxsl:node-set).
318 * Debug.cs : don't throw System.Exception.
319 * XslFunctions.cs : Added MSXslNodeSet class.
320 * XslTemplate.cs : reflected CompilePattern() change.
321 * XslTransformProcessor.cs : don't throw System.Exception.
322 * XsltCompiledContext.cs : don't throw System.Exception.
324 2004-05-12 Atsushi Enomoto <atsushi@ximian.com>
328 XslStylesheet.cs : made classes/enums internal.
330 2004-04-24 Atsushi Enomoto <atsushi@ximian.com>
332 * Attribute.cs, Compiler.cs, Debug.cs, Emitter.cs,
333 MSXslScriptCompiler.cs, Outputter.cs, XslAttributeSet.cs,
334 XslDecimalFormat.cs, XslKey.cs, XslStylesheet.cs, XslTemplate.cs,
335 XslTransformProcessor.cs : Make extra classes internal.
337 * XslKey.cs : It should require sorting.
338 * Debug.cs : Just avoid debug output. Only who want to output should
341 2004-04-24 Atsushi Enomoto <atsushi@ximian.com>
343 * GenericOutputter.cs : Culture-independency fix.
344 Replaced StringCollection to ArrayList.
345 * XslOutput.cs : Culture-independency fix.
347 2004-04-12 Atsushi Enomoto <atsushi@ximian.com>
349 * Compiler.cs : When BaseURI is an empty string, it should not try to
350 create Uri instance. This will fix bug #56832, but not sure.
351 * XslFunctions.cs : for XsltDocument.Resolve(), did the same.
352 * HtmlEmitter.cs : Environment.NewLine was incorrectly used (it
353 should be the TextReader's NewLine).
354 * MSXslScriptManager.cs : Should raise an error when the prefix which
355 was specified by "implements-prefix" was not found.
357 2004-03-27 Atsushi Enomoto <atsushi@ximian.com>
359 * ScriptCompilerInfo.cs : #line directive now holds dummy filename
360 when BaseURI for msxsl:script node is not available. This fixes
362 Don't output line number in the error message, when it is 0.
364 2004-03-27 Atsushi Enomoto <atsushi@ximian.com>
366 * Compiler.cs : Supply NameTable to base ctor() of XPathNavigatorNsm.
368 2004-03-22 Atsushi Enomoto <atsushi@ximian.com>
373 XslTransformProcessor.cs :
374 Throw specific types of exceptions instead of Exception.
375 * XslFunctions.cs, XsltCompiledContext.cs :
376 added node argument for XsltExtensionFunction ctor() etc.
378 2004-03-22 Atsushi Enomoto <atsushi@ximian.com>
380 * ScriptCompilerInfo.cs : Modified compilation processing. Now it uses
381 CodeDom. Compilation error should be caught. This fixes bug #55875.
383 2004-03-13 Atsushi Enomoto <atsushi@ximian.com>
385 * XslStylesheet.cs : "version" attribute is also required for embedded
388 2004-03-13 Atsushi Enomoto <atsushi@ximian.com>
391 XslStylesheet.cs : Reject xsl element other than stylesheet and
392 transform. Check mandatory version attribute (only for existence).
394 2004-03-07 Atsushi Enomoto <atsushi@ximian.com>
396 * MSXslScriptManager.cs : if extension namespace was not found in
397 the script, just return null. Patch by Joshua Tauberer.
399 2004-03-01 Atsushi Enomoto <atsushi@ximian.com>
401 * XslLiteralElement.cs : quick fix for ArgumentNullException which
402 was because of the combination of non-namespaced instances and
403 exclude-result-prefixes.
405 2004-02-17 Atsushi Enomoto <atsushi@ximian.com>
407 * XsltCompiledContext.cs : Extracted XslFunctions and changed namespace
408 from Mono.Xml.Xsl.Functions to Mono.Xml.Xsl.
409 * XslFunctions.cs : hereby Added.
410 * Compiler.cs : Removed deleted usingdecl.
412 2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
414 * XslTransformProcessor.cs : Bugfix. Stored keys should be cleared.
415 * XslKey.cs : Added ExprKeyContainer expression type, which is
416 designed to be matched at any level.
417 * Compiler.cs : support for ExprKeyContainer.
419 2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
421 * XslKey.cs : Now it collects key and matching nodes at the first
422 evaluation time. After that, we can just get them from the table.
423 * Compiler.cs : Added KeyCompilationMode. It is used to prevent
424 prohibited key() usage in "match" and "use" attributes in xsl:key.
425 Modified accessibility of some classes.
426 * GenericOutputter.cs,
430 XmlWriterEmitter.cs : made classes internal.
431 * XslOutput.cs : support line info for exception.
432 * XsltCompiledContext.cs : implemented CompareDocument() - so easily.
434 2004-02-13 Atsushi Enomoto <atsushi@ximian.com>
436 * XsltCompiledContext.cs : fixed the length of context info array.
438 2004-02-10 Atsushi Enomoto <atsushi@ximian.com>
440 * XsltCompiledContext.cs :
441 replaced EnumeratorIterator with ListIterator
443 2004-02-08 Atsushi Enomoto <atsushi@ximian.com>
445 * GenericOutputter.cs,
448 XslTemplate.cs : tiny foreach elimination.
450 2004-01-16 Atsushi Enomoto <atsushi@ximian.com>
452 * XslOutput.cs : Reverted. default encoding should be utf-8.
454 2004-01-14 Jackson Harper <jackson@ximian.com>
456 * GenericOutputter.cs: Add constructors that do not take an
457 encoding to fix build.
459 2004-01-14 Atsushi Enomoto <atsushi@ximian.com>
461 * XmlWriterEmitter.cs : It now uses WriteProcessingInstruction() to
462 write XML declaration. It means that output supports non document
463 entity. This fixes bug #52729.
464 * Emitter.cs, TextEmitter.cs, HtmlEmitter.cs, XmlWriterEmitter.cs :
465 modified WriteStartDocument() signature to receive Encoding.
466 * GenericOutputter.cs :
467 - Added .ctor() which receives Encoding. (It is used for TextWriter
468 output to get actual encoding.)
469 - Added .ctor() to take an boolean argument which indicates it is
470 variable content or not. (When variable, it does not call
471 WriteStartDocument().)
473 XsltCompiledContext.cs : comment out WriteLine().
474 * XslOutput.cs : set default encoding utf-16.
476 2004-01-08 Nick Drochak <ndrochak@ieee.org>
478 * XsltCompiledContext.cs: Remove unused variable and unreachable code.
480 2003-12-26 Atsushi Enomoto <atsushi@ximian.com>
482 * XslDecimalFormat.cs : implemented format-number() other than number
484 * XsltCompiledContext.cs : Modified XsltFormatNumber.Evaluate() to
485 catch ArgumentException which will be thrown by formatting process.
487 2003-12-23 Atsushi Enomoto <atsushi@ximian.com>
489 * ScriptCompilerInfo.cs : Use "mjs" as JScript compiler.
491 2003-12-20 Ben Maurer <bmaurer@users.sourceforge.net>
493 * XsltCompiledContext.cs: Remove workaround now that monodoc
496 2003-12-20 Atsushi Enomoto <atsushi@ximian.com>
498 * XslStylesheet.cs : considering xsl:imports, we can't handle namespace
499 aliases at compilation time, so evaluate at the first run-time.
501 2003-12-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
503 * GenericOutputter.cs : support for runtime-determined output type.
504 * HtmlEmitter.cs : Fixed invalid doctype output.
505 Fixed incorrect double attribute output on non-HTML elements.
506 Improved indentation. Fixed "selected" attribute output.
507 Don't have to convert "'" to "'".
508 * XmlWriterEmitter.cs : Now don't output incorrect doctype.
509 Escapes CDATA section text "]]>" to "...]]]]><![CDATA[>..." .
510 * XslStylesheet.cs, XsltCompiledContext.cs :
511 space resolution consideration for import and wildcard.
513 2003-12-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
515 * Compiler.cs, XslTransformProcessor.cs :
516 Use XmlValidatingReader to support id() for external stylesheets.
517 * XslKey.cs, XsltCompiledContext.cs :
518 to evaluate MatchPattern and UsePattern, SetContext() is required.
519 * XslTemplate.cs : Forgot to commit. Change is below(12/16).
521 2003-12-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
523 * Emitter.cs, HtmlEmitter.cs, XmlWriterEmitter.cs :
524 Added WriteWhitespace().
525 * GenericOutputter.cs, XslTemplate.cs : Call above.
526 * XslTransformProcessor.cs : Changed NodesetStack to ArrayList since
527 CurrentNode in for-each context have to be pulled at evaluation.
529 2003-12-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
531 * XsltCompiledContext.cs : Temporarily allow incorrectly resolved
532 function for bugzilla #52144. It should be reverted soon.
534 2003-12-12 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
536 * ScriptCompilerInfo.cs : SecurityManager.ResolvePolicy() was not
538 * MSMslScriptManager.cs : modified generated assembly class to be unique
539 through running AppDomain.
540 * XsltCompiledContext.cs : XsltExtensionFunction.Invoke() has to cast
541 arguments to actual argument types. Bugzilla #51450 should be fixed.
543 2003-12-12 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
545 * HtmlEmitter.cs : Fixed incorrect character entity output.
547 2003-12-11 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
549 * Added ScriptCompilerInfo.cs.
550 * MSXslScriptManager.cs : Fixed *true* author's name.
551 Implemented basic msxsl:script support.
552 * Compiler.cs : Added Evidence member.
554 2003-12-07 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
556 * Compiler.cs : Check stylesheet recursion. Check decimal-format name.
557 * GenericOutputter.cs, Outputter.cs, TextOutputter.cs :
558 Added WriteWhitespace() to assure not writing whitespaces as cdata.
559 * XslAttributeSet.cs : Error check if attribute-set contains other than
560 xsl:attribute. Error should be XsltException.
561 * XslDecimalFormat.cs : Complete equality check. Allow just one
562 character value for some attributes.
563 * XslStylesheet.cs : Made whitespace control setting overridable.
564 Added Version property (for the future compatibility mode).
565 Check unrecongnized top level element.
566 * XslTemplate.cs : Check priority as a number.
567 * XslTransformProcessor.cs : PushCDataState is now PushElementState,
568 for xsl:preserve-space and xsl:strip-space support.
569 * XsltCompiledContext.cs : Implemented PreserveWhitespace() (far from
570 incomplete), PushScope and Pop
572 2003-12-03 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
574 * HtmlEmitter.cs : CloseStartElement is needed almost everywhere.
576 2003-12-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
578 * Compiler.cs : In FromListString(), it should use default ns,
580 * GenericOutputter.cs : CheckState() - attribute's Prefix should take
581 precedence. Doctype should be written even if SYSTEM id is absent.
582 Fixed possible multiple xmlns output.
584 - Encoding output using META element.
585 - Doctype name is fixed (html).
586 - Double quotation on PUBLIC and SYSTEM missing.
587 - Fixed incorrect tag name check for IMG.
588 - '>' should not be escaped.
589 * XmlWriterEmitter.cs :
590 Added newline before doctype. In WriteComment(), "--" and tail
591 '-' are not allowed (it escapes, while XmlWriter simply rejects).
592 * XslTransformProcessor.cs : cdata-section-elements should enclose
593 direct child tests only. Added PreserveWhitespace() (incomplete).
594 * XsltCompiledContext.cs : Implemented PreserveWhitespace() (incomplete).
596 2003-11-28 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
598 * IdPattern.cs : This should work against multiple ids.
600 2003-11-27 Ben Maurer <bmaurer@users.sourceforge.net>
603 * MSXslScriptManager.cs
605 * XslTransformProcessor.cs
606 * XsltCompiledContext.cs: Some work on msxsl script.
608 2003-11-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
610 (in general: cdata-section-elements support, correct document()
611 base uri handling, and so on)
612 * Compiler.cs : Use XmlSpace.Preserve to parse included stylesheet.
613 And move to document element. Added XslNameUtil.FromListString().
614 * Emitter.cs, HtmlEmitter.cs, TextEmitter.cs XmlWriterEmitter.cs :
615 Added WriteCDataSection().
616 * Outputter.cs, GenericOutputter.cs, TextOutputter.cs :
617 Added InsideCDataSection.
618 * GenericOutputter.cs :
619 In .ctor(), WriteState should be succeeded from output XmlWriter.
620 WriteNamespaceDecl() now drops declaration identical to existing one.
621 Removed obsolete htmlEmulation.
622 * XslOutput.cs : Added CDataSectionElements support.
623 * XslStylesheet.cs : Added BaseUri, StyleDocument and PrefixInEffect().
624 * XslTransformProcessor.cs :
625 Added Output and CurrentOutputUri. TryStylesheetNamespaceOutput()
626 now considers xsl:exclude-element-prefixes on literal element.
627 Added PushCDataState() and PopCDataState().
628 * XsltCompiledContext.cs : When base uri of document() target is empty,
629 then it should use stylesheet's BaseURI, not that of current document.
631 2003-11-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
633 * Compiler.cs : Modified decimal-format comparison code.
636 GenericOutputter.cs : Added WriteState. Now WriteStartDocument() will
637 be called only when required.
638 * HtmlEmitter.cs : Improved indentation stuff.
639 * XslDecimalFormat.cs : Added incomplete implementation of
640 CheckSameAs() and FormatNumber().
642 XslTransformProcessor.cs : Changed XslStylesheet.StylesheetNamespaces
643 from StringDictionary to ArrayList of QName (to keep order).
645 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
647 * XsltCompiledContext.cs : XsltGenerateId.Evaluate() should consider
648 node type (i.e. attribute and namespace). Removed extraneous Clone().
649 Fixed XsltKey.Evaluate() to use MoveToNextAttribute to iterate attrs.
651 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
653 * Compiler.cs : Changed Keys from ArrayList to Hashtable.
654 XslStylesheet.cs : Added Keys support here.
655 * XslTransformProcessor.cs : Should call SetContext() to expressions
656 before evaluating current nodes.
657 * XsltCompiledContext.cs : 1) XsltDocument.GetDocument() should use
658 xsltContext. 2) XsltKey exposes KeyName, Field and NamespaceManager
659 for KeyPattern. It now uses CompiledStyle.FindKeys().
661 2003-11-13 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
663 * GenericOutputter.cs : Added HTML output support. Closer xmlns handling
664 to Xalan tests and MS.NET implementation (only for test convenience).
665 * XslOutput.cs : Indent holds string rathen than bool. Its default value
666 varies in the context. When method="html", then default is "yes".
667 * XslTransformProcessor.cs : Extension element prefixes should not
668 be written as stylesheet namespaces.
669 * XsltCompiledContext.cs : Return type of generate-id() is string.
670 Implemented unparsed-entity-uri().
672 2003-11-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
674 * Compiler.cs : More complete attribute set gathering.
675 GetNamespacesToCopy() should only return Local namespaces.
676 * GenericOutputter.cs : Added support for indentation.
677 Added easy hack for html output.
678 More correct Prefix handling (considers already defined ones).
679 Namespace emmission is moved to CheckState().
680 * Emitter.cs, XmlWriterEmitter.cs, GenericOutputter.cs, Outputter.cs :
681 Added WriteFullEndElement(). (i.e. IsEmptyElement support)
682 * GenericOutputter.cs, Outputter.cs :
683 Added CanProcessAttributes property for
684 use-attribute-sets of xsl:copy.
685 * XslStylesheet.cs : Added support for stylesheet-defined xmlns decls.
686 Added support for exclude-result-prefixes.
687 * XslTransformProcessor.cs : Added support for stylesheet-defined xmlns.
689 2003-10-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
691 * Compiler.cs : It is not important, but attribute order became closer
692 to MS.NET and Xalan (assuming from OASIS tests).
694 2003-10-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
696 * GenericOutputter.cs : Attribute wasn't overwritten its properties
697 because Attribute is struct it was let to another local variable.
699 2003-09-28 Ben Maurer <bmaurer@users.sourceforge.net>
701 * GenericOutputter.cs: make html output a warning, because doing
702 xml will be right most of the time.
704 2003-09-28 Ben Maurer <bmaurer@users.sourceforge.net>
706 * Debug.cs: comment out {Enter, Exit}Navigator. Haven't had bugs
707 here for a long time and it hurts thread safty and memory
710 2003-09-21 Ben Maurer <bmaurer@users.sourceforge.net>
712 * Compiler.cs: save the parser (will reduce memory allocation when
713 Jackson's jay patch is committed).
715 2003-09-20 Ben Maurer <bmaurer@users.sourceforge.net>
717 * Attribute.cs: Change to struct. Remove QName class.
718 * GenericOutputter.cs: use an Attribute [] rather than an
719 ArrayList. Allows us not to allocate Attributes, which is great
720 for speed. Roll our own allocation.
722 2003-09-20 Ben Maurer <bmaurer@users.sourceforge.net>
724 * Compiler.cs: add GetNsm to main class as well.
726 2003-09-20 Ben Maurer <bmaurer@users.sourceforge.net>
728 * Compiler.cs (ParseAvtAttribute): Get the attribue using our
729 internal version so we get null if the attr doesnt exist.
731 2003-09-17 Ben Maurer <bmaurer@users.sourceforge.net>
733 * Compiler.cs (IStaticXsltContext.TryGetVariable): handle the case
734 where curVarScope == null
736 2003-09-16 Ben Maurer <bmaurer@users.sourceforge.net>
739 - Better handling of empty attributes (vs not being specified)
740 - Bug in handling #default
742 2003-09-15 Ben Maurer <bmaurer@users.sourceforge.net>
744 * Compiler.cs: Off by one when parsing localname of QName
745 * XslAttributeSet.cs: must evaluate used attr sets *BEFORE*
746 children (so that they get overriden)
748 2003-09-15 Ben Maurer <bmaurer@users.sourceforge.net>
750 * GenericOutputter.cs: Output attributes in order recieved; not
751 required by spec, but useful for running test cases.
753 2003-09-14 Oleg Tkachenko <oleg@tkachenko.com>
755 * GenericOutputter.cs - fix bug with outputting state.
756 * Emitter.cs, TextEmitter.cs, XmlWriterEmitter.cs, Outputter.cs,
757 * TextOutputter.cs - get rid of WriteStartAttribute/WriteEndAttribute.
759 2003-09-13 Ben Maurer <bmaurer@users.sourceforge.net>
761 * Compiler.cs, XslKey.cs, XslTransformProcessor.cs: dont clone
762 exprs on use, pass to nav.
764 2003-09-13 Ben Maurer <bmaurer@users.sourceforge.net>
766 * Compiler.cs: pass satic context to Pattern ctor.
768 2003-08-30 Oleg Tkachenko <oleg@tkachenko.com>
771 GenericOutputter.cs - generic Outputter implementation,
772 Attribute.cs - represents outputted attribute,
773 Emitter.cs - abstract output emitter,
774 TextEmitter.cs - text emitter,
775 XmlWriterEmitter.cs - emitter to XmlWriter.
776 * Checking of duplicating attributes is done in GenericOutputter.
777 * Namespace outputting logic is implemented in GenericOutputter.
778 * Outputter.cs: Writing namespace declarations is delegated to
779 derived classes (GenericOutputter).
780 * XslOutput.cs: standalone flag is now 3-value enum (NONE, YES, NO).
782 2003-08-21 Ben Maurer <bmaurer@users.sourceforge.net>
784 * XslTransformProcessor.cs: evaluate variables at beginning
785 when / is current node.
787 2003-08-21 Ben Maurer <bmaurer@users.sourceforge.net>
789 * Compiler.cs, XsltCompiledContext.cs, XslTransformProcessorcs:
790 Fix up namespace handeling
792 2003-08-20 Ben Maurer <bmaurer@users.sourceforge.net>
794 * Compiler.cs, XslStylesheet.cs, XsltCompiledContext.cs: Stubs for
796 * XslDecimalFormat.cs: Stub for decimal-format.
798 2003-08-20 Ben Maurer <bmaurer@users.sourceforge.net>
800 * TextOutputter.cs: Add option to ignore element content (Oleg).
802 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
804 * Compiler.cs: Really give null for blank avt's
806 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
808 * Compiler.cs: Fixed lre/lre04.
810 2003-08-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
812 * Compiler.cs : Fixed XslNameUtil.FromString() so that unprefixed name
813 won't have default namespace. See http://www.w3.org/TR/xslt#qname
815 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
817 * XslTransformProcessor.cs: add support for resolving documents.
818 * XsltCompiledContext: add support for document () function.
820 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
822 * Outputter.cs, TextOutputter.cs, XmlOutputter.cs: Implement some
823 of the abstract methods in Outputter, making them call other
824 functions with default values, remove impl's in derived classes.
826 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
828 * Outputter.cs: s/Close/Done
829 * TextOutputter.cs, XmlOutputter.cs: Flush, don't close the backing.
830 * XslTransformProcessor.cs: Flush output when popping, pop at end.
832 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
834 * Outputter.cs: Add support for namespaces.
836 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
838 * Compiler.cs, XslOutput.cs, XslStylesheet.cs,
839 XslTransformProcessor.cs: move output logic from XslStylesheet to
842 2003-08-18 Ben Maurer <bmaurer@users.sourceforge.net>
844 * XslOutput.cs: add support for encoding.
846 2003-08-18 Ben Maurer <bmaurer@users.sourceforge.net>
848 * *.cs: Support for xsl:output. (Oleg)
850 2003-08-17 Ben Maurer <bmaurer@users.sourceforge.net>
852 * Compiler.cs: handle extension and excluded namespaces.
854 2003-08-17 Ben Maurer <bmaurer@users.sourceforge.net>
856 * XsltCompiledContext.cs, Compiler.cs: copy the XPathNavigator
857 from the stylesheet for correct namespace resolution.
859 2003-08-14 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
861 * Compiler.cs : 1) Changed public .ctor() to receive Evidence argument
862 introduced in .NET 1.1. 2) XmlResolver object is required for 'res'.
864 2003-08-07 Ben Maurer <bmaurer@users.sourceforge.net>
866 * XslTransformProcessor.cs: Add a table to detect when an object
868 * XslAttributeSet.cs: Use the above table. Dont throw nullref
869 exception when no use-attribute-sets are specified.
871 2003-08-04 Ben Maurer <bmaurer@users.sourceforge.net>
873 * Compiler.cs: Add support for boolean attributes (yes/no).
875 2003-08-04 Ben Maurer <bmaurer@users.sourceforge.net>
877 * Compiler.cs: Add method LocalNameOf, to get the local name of a
879 * XslTransformProcessor.cs: Support for setting the XmlResolver.
881 2003-08-01 Ben Maurer <bmaurer@users.sourceforge.net>
883 * Compiler.cs, XslAttributeSet.cs: Handle attribute set merging
885 2003-08-01 Ben Maurer <bmaurer@users.sourceforge.net>
887 * XslTransformProcessor.cs: Add EvaluateNumber method.
889 2003-07-31 Ben Maurer <bmaurer@users.sourceforge.net>
891 * XsltCompiledContext.cs: Implement more functions.
893 2003-07-31 Ben Maurer <bmaurer@users.sourceforge.net>
895 * Compiler.cs: Add support for key, utility function to parse
896 QName's from the XsltContext. Store keys in the CompiledStyle, not
898 * XslKey.cs: Real implementation
899 * XslStylesheet.cs: Move the keys to CompiledStyle.
900 * XsltCompiledContext.cs: Implement the key function
902 2003-07-31 Ben Maurer <bmaurer@users.sourceforge.net>
904 * XsltCompiledContext.cs: Hmm, maybe I should actually *enable*
905 the functions ;-). Also wrote current ().
907 2003-07-31 Ben Maurer <bmaurer@users.sourceforge.net>
909 * XsltCompiledContext.cs: Remove excess conversion stuff. It is
910 done in XPath. Add stubs for XSLT functions.
912 2003-07-31 Ben Maurer <bmaurer@users.sourceforge.net>
914 * Compiler.cs: To resolve a variable you now need to pass the
915 processor, so that it can be passed to IsEvaluated. A local will
916 only be resolved if it has already been evaluated.
917 * XsltCompiledContext.cs: Pass along the processor.
919 2003-07-30 Ben Maurer <bmaurer@users.sourceforge.net>
921 * Compiler.cs, XslTemplate.cs, XslTransformProcessor.cs: Store
922 variable values in the XslTransformProcessor.
923 * XsltCompiledContext.cs: If the scope is null, don't look there!
924 * Debug.cs: New method Assert
926 2003-07-30 Ben Maurer <bmaurer@users.sourceforge.net>
928 * Compiler.cs, XsltCompiledContext.cs: Remove verbose messages
929 * XslTransformProcessor.cs: Use strongtyped evaluation, using new
930 internal methods in XPathNavigator. Remove verbose debugging messages.
932 2003-07-29 Ben Maurer <bmaurer@users.sourceforge.net>