1 2005-03-09 Atsushi Enomoto <atsushi@ximian.com>
3 * XslStylesheet.cs, XslCompiledContext.cs : Fixed PreserveWhitespace()
4 to work fine with xsl:*-space attributes as expected.
5 * XslTransformProcessor.cs : PreserveWhitespace() in this file is
6 actually nothing. It should not use XsltContext.PreserveWhitespace()
7 because this method is used to control output, while the referenced
8 method is used to control source document.
10 2005-03-09 Atsushi Enomoto <atsushi@ximian.com>
12 * XslTemplate.cs : First non-element content were incorrectly ignored.
14 2005-03-09 Atsushi Enomoto <atsushi@ximian.com>
16 * XslFunctions.cs, Compiler.cs : Eliminated XPathNavigatorNsm class
17 to reduce references to stylesheet XPathNavigator. To accomplish it,
18 IStaticXsltContext does not declare GetNsm() anymore. All xslt
19 function types now directly hold IStaticXsltContext.
20 * XslStylesheet.cs : removed "Compiler c" field.
21 Removed unused properties.
23 2005-03-08 Atsushi Enomoto <atsushi@ximian.com>
25 * GenericOutputter.cs : When WriteStartElement() requires to add
26 new namespace declaration, _currentNamespaceDecls needs to be set.
28 2005-03-08 Atsushi Enomoto <atsushi@ximian.com>
30 * GenericOutputter.cs : for duplicate attribute in an element, no need
31 to keep previous prefix.
33 2005-03-08 Atsushi Enomoto <atsushi@ximian.com>
35 * GenericOutputter.cs : Prefix "xml" is only allowed to the fixed XML
36 namespace. Rewrite prefix only when there is non-empty namespace.
38 2005-03-07 Atsushi Enomoto <atsushi@ximian.com>
40 * XslStylesheet.cs : Now namespace aliases are collected in prior to
41 all other toplevel elements. Removed unused code.
43 2005-03-07 Atsushi Enomoto <atsushi@ximian.com>
45 * GenericOutputter.cs : compute attribute prefix only when actual
46 emission. Fixed some cases that namespace output was missing.
48 2005-03-07 Atsushi Enomoto <atsushi@ximian.com>
50 * GenericOutputter.cs : no need to use two collections to store
51 pending attributes. Just use ordered ListDictionary.
52 newNamespace.Add(int) causes extraneous boxing.
54 2005-03-07 Atsushi Enomoto <atsushi@ximian.com>
56 * XslTransformProcessor.cs : renamed TryElementNamespacesOutput() to
57 OutputLiteralNamespaceUriNodes() so that everyone can understand
58 what it means and when it should be invoked.
60 2005-03-04 Atsushi Enomoto <atsushi@ximian.com>
62 * Compiler.cs : added another CompileTemplateContent() which is
63 requred in xsl:for-each. Commented out unused method.
65 2005-03-03 Atsushi Enomoto <atsushi@ximian.com>
67 * XslStylesheet.cs, XslTransformProcessor.cs : exclude-element-prefix
68 in stylesheet should be considered in TryElementNamespacesOutput().
69 ParseQNameListAttribute() is not properly working for filling
72 2005-03-02 Atsushi Enomoto <atsushi@ximian.com>
74 * XslStylesheet.cs : included stylesheet could be literal result
75 element as stylesheet (see the spec 2.6.1).
77 2005-03-02 Atsushi Enomoto <atsushi@ximian.com>
79 * GenericOutputter.cs : On WriteStartElement(), prefix should be an
80 empty string when nsURI is empty.
81 * HtmlEmitter.cs : non-HTML elements in default namespace are treated
82 unlike xml but like span, as written in the spec 16.2.
84 2005-03-02 Atsushi Enomoto <atsushi@ximian.com>
86 * XslCompiledContext.cs, XslTransformProcessor.cs :
87 According to errata E25, those namespaces 1) that has the same
88 name as current element's prefix, or an empty name when current
89 element's namespace URI is empty, are not written to output.
90 So added current element information to XPathContext and added
91 prefix parameter to PushElementState(), added xsl:copy check to
92 TryElementNamespacesOutput().
93 http://www.w3.org/1999/11/REC-xslt-19991116-errata/
95 2005-02-26 Atsushi Enomoto <atsushi@ximian.com>
97 * XslFunctions.cs : unparsed-entity-uri() should return SYSTEM ID
100 2005-02-25 Atsushi Enomoto <atsushi@ximian.com>
102 * XslTemplate.cs : According to the spec 5.7, it is an error for
103 xsl:template to have 'mode' without 'match'.
105 2005-02-24 Atsushi Enomoto <atsushi@ximian.com>
107 * Compiler.cs : added ns lookup with nsDecls Hashtable.
109 2005-02-24 Atsushi Enomoto <atsushi@ximian.com>
111 * XslStylesheet.cs : It should consider "#default" in namespace-alias.
113 2005-02-23 Atsushi Enomoto <atsushi@ximian.com>
115 * GenericOutputter.cs : It should not attempt to write prefix "xml" and
116 namespace "http://www.w3.org/XML/1998/namespace".
118 2005-02-21 Atsushi Enomoto <atsushi@ximian.com>
120 * XmlWriterEmitter.cs : PI nodes are normalized as to not contain "?>".
121 * HtmlEmitter.cs : CDATA nodes are written just as text.
122 * GenericOutputter.cs : custom format are treated just as XML output.
124 2005-02-17 Atsushi Enomoto <atsushi@ximian.com>
128 GenericOutputter.cs : removed WriteStartDocument(), WriteEndDocument()
129 and WriteState. Writing XML declaration is done inside
130 DetermineOutputMethod().
132 2005-02-17 Atsushi Enomoto <atsushi@ximian.com>
134 * Compiler.cs : reverted previous fix, since it should be done
135 in XslTransformProcessor with root stylesheet.
136 * XslTransformProcessor.cs : In TryElementNamespacesOutput(),
137 don't output alias namespaces. And now consider null exclusions.
139 2005-02-17 Atsushi Enomoto <atsushi@ximian.com>
141 * Compiler.cs : don't return alias namespaces in GetNamespacesToCopy().
143 2005-02-16 Atsushi Enomoto <atsushi@ximian.com>
145 * Compiler.cs : GetNamespacesToCopy() should also find for non-local
146 namespace nodes. Patch by Andrew Skiba with some fixes.
147 * XslTransformProcessor.cs : Patch by Andrew Skiba.
148 TryStylesheetNamespaceOutput() is now TryElementNamespacesOutput()
149 as to handle all namespace nodes to copy in stylesheet nodes.
150 Global parameterss are evaluated before global variables.
151 * XmlOutputter.cs : removed unused code.
155 * Actually variables and params should check reference recursion.
156 This patch incompletely fixes the problem.
157 * Those operations that considers excluded-result-prefixes must
158 also check those attributes of its ancestors.
160 2005-02-10 Atsushi Enomoto <atsushi@ximian.com>
162 * XmlWriterEmitter.cs : String.Replace() was insufficient for
163 sequential candidates for replacement. Patch by Andrew Skiba.
165 2005-02-10 Atsushi Enomoto <atsushi@ximian.com>
167 * GenericOutputter.cs : don't output extraneous xml declaration.
170 2005-02-09 Atsushi Enomoto <atsushi@ximian.com>
172 * XslStylesheet.cs : MS implementation had chosen to recover from
173 the error, in the way specified in the spec 7.7.1. Patch by Andrew
176 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
178 * XslTemplate.cs : if input is literal result element, it could result
179 in ArgumentException. Patch by Andrew Skiba.
181 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
183 * XslFunctions.cs : Fixed unparsed-entity-uri() that might result in
184 NullReferenceException. Patch by Andrew Skiba.
186 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
188 * XslOutput.cs : MS.NET recovers from unknown encoding according to
189 XSLT spec 16.1. Patch by Andrew Skiba.
191 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
193 * HtmlEmitter.cs : patch by Andrew Skiba.
194 Remove extra element prefix output. simplify attribute prefix output.
195 Attribute output might have resulted in invalid element stack peek.
196 Output specified media type if any.
198 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
200 * Compiler.cs : Patch by Andrew Skiba.
201 wrap internal exception with XsltCompileException.
202 Raise an error for not-found document URI.
203 QName might contain sequential whitespaces and thus could be empty.
205 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
207 * XslAttributeSet.cs : just ignore other kind of nodes than element
208 in its content. Fix by Andrew Skiba.
210 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
212 * XslOutput.cs : for html and text output mode, just set internal
213 omitXmlDeclaration status true. Patch by Andrew Skiba.
215 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
217 * XslFunctions.cs : fixed line ending mixture.
219 2005-02-03 Atsushi Enomoto <atsushi@ximian.com>
221 * ScriptCompilerInfo.cs : XsltCompileException->XsltException, just
224 2004-12-22 Atsushi Enomoto <atsushi@ximian.com>
227 Compiler.cs : XmlResolver.ResolveUri() may return null.
229 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
231 * Compiler.cs : XPathNavigatorNsm needed more love. Clone() does not
234 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
236 * Compiler.cs : don't create XPathNavigatorNsm for every GetNsm() call.
238 2004-11-26 Atsushi Enomoto <atsushi@ximian.com>
240 * XslKey.cs, XslStylesheet.cs, MSXslScriptManager.cs :
243 2004-11-24 Atsushi Enomoto <atsushi@ximian.com>
245 * XslStylesheet.cs : removed unused fields.
246 * XslOutput.cs : removed members for XSLT 2.0 (won't be implemented in
249 2004-11-08 Atsushi Enomoto <atsushi@ximian.com>
251 * Compiler.cs, XslTransformProcessor.cs :
252 when creating XmlTextReader, reuse XmlNameTable.
254 2004-11-05 Atsushi Enomoto <atsushi@ximian.com>
256 * Compiler.cs : Changes that reflects CompiledExpression changes.
258 2004-10-04 Atsushi Enomoto <atsushi@ximian.com>
260 * HtmlEmitter.cs : TH tag is not regarded as HTML tag.
261 This fixes bug #67390.
263 Thu Sep 9 07:09:11 PDT 2004 Paolo Molaro <lupus@ximian.com>
265 * ScriptCompilerInfo.cs: avoid using a .cctor and fix precomp.
267 2004-06-18 Atsushi Enomoto <atsushi@ximian.com>
269 * Debug.cs, HtmlEmitter.cs, MSXslScriptManager.cs,
270 ScriptCompilerInfo.cs, XslFunctions.cs, XslTemplate.cs
271 : Globalization. Removed unused code.
273 2004-06-14 Atsushi Enomoto <atsushi@ximian.com>
275 * XslKey.cs : Key-value search in absolute path search was
278 2004-06-14 Atsushi Enomoto <atsushi@ximian.com>
280 * HtmlEmitter.cs : Correct URL escape implementation.
282 2004-06-06 Atsushi Enomoto <atsushi@ximian.com>
284 * XslTransformProcessor.cs : On document() function, close the
285 XmlTextReader opened from uri string.
287 2004-06-03 Atsushi Enomoto <atsushi@ximian.com>
290 GenericOutputter.cs : XmlNamespaceManager.LookupPrefix() allows only
291 atomized names. Fixed XPathNavigatorNsm.LookupNamespace() that
292 should override another overload.
294 2004-05-25 Lluis Sanchez Gual <lluis@ximian.com>
296 * ScriptCompilerInfo.cs: the name used to load the Microsoft.JScript
297 assembly should not include the .dll extension.
299 2004-05-20 Atsushi Enomoto <atsushi@ximian.com>
302 - CompilePattern() now throws XsltCompileException for invalid
303 pattern, and add error location support.
304 - In Compiler.TryGetFunction(), compare namespace URI, not prefix.
305 Now it returns MSXslNodeSet instance (for msxsl:node-set).
306 * Debug.cs : don't throw System.Exception.
307 * XslFunctions.cs : Added MSXslNodeSet class.
308 * XslTemplate.cs : reflected CompilePattern() change.
309 * XslTransformProcessor.cs : don't throw System.Exception.
310 * XsltCompiledContext.cs : don't throw System.Exception.
312 2004-05-12 Atsushi Enomoto <atsushi@ximian.com>
316 XslStylesheet.cs : made classes/enums internal.
318 2004-04-24 Atsushi Enomoto <atsushi@ximian.com>
320 * Attribute.cs, Compiler.cs, Debug.cs, Emitter.cs,
321 MSXslScriptCompiler.cs, Outputter.cs, XslAttributeSet.cs,
322 XslDecimalFormat.cs, XslKey.cs, XslStylesheet.cs, XslTemplate.cs,
323 XslTransformProcessor.cs : Make extra classes internal.
325 * XslKey.cs : It should require sorting.
326 * Debug.cs : Just avoid debug output. Only who want to output should
329 2004-04-24 Atsushi Enomoto <atsushi@ximian.com>
331 * GenericOutputter.cs : Culture-independency fix.
332 Replaced StringCollection to ArrayList.
333 * XslOutput.cs : Culture-independency fix.
335 2004-04-12 Atsushi Enomoto <atsushi@ximian.com>
337 * Compiler.cs : When BaseURI is an empty string, it should not try to
338 create Uri instance. This will fix bug #56832, but not sure.
339 * XslFunctions.cs : for XsltDocument.Resolve(), did the same.
340 * HtmlEmitter.cs : Environment.NewLine was incorrectly used (it
341 should be the TextReader's NewLine).
342 * MSXslScriptManager.cs : Should raise an error when the prefix which
343 was specified by "implements-prefix" was not found.
345 2004-03-27 Atsushi Enomoto <atsushi@ximian.com>
347 * ScriptCompilerInfo.cs : #line directive now holds dummy filename
348 when BaseURI for msxsl:script node is not available. This fixes
350 Don't output line number in the error message, when it is 0.
352 2004-03-27 Atsushi Enomoto <atsushi@ximian.com>
354 * Compiler.cs : Supply NameTable to base ctor() of XPathNavigatorNsm.
356 2004-03-22 Atsushi Enomoto <atsushi@ximian.com>
361 XslTransformProcessor.cs :
362 Throw specific types of exceptions instead of Exception.
363 * XslFunctions.cs, XsltCompiledContext.cs :
364 added node argument for XsltExtensionFunction ctor() etc.
366 2004-03-22 Atsushi Enomoto <atsushi@ximian.com>
368 * ScriptCompilerInfo.cs : Modified compilation processing. Now it uses
369 CodeDom. Compilation error should be caught. This fixes bug #55875.
371 2004-03-13 Atsushi Enomoto <atsushi@ximian.com>
373 * XslStylesheet.cs : "version" attribute is also required for embedded
376 2004-03-13 Atsushi Enomoto <atsushi@ximian.com>
379 XslStylesheet.cs : Reject xsl element other than stylesheet and
380 transform. Check mandatory version attribute (only for existence).
382 2004-03-07 Atsushi Enomoto <atsushi@ximian.com>
384 * MSXslScriptManager.cs : if extension namespace was not found in
385 the script, just return null. Patch by Joshua Tauberer.
387 2004-03-01 Atsushi Enomoto <atsushi@ximian.com>
389 * XslLiteralElement.cs : quick fix for ArgumentNullException which
390 was because of the combination of non-namespaced instances and
391 exclude-result-prefixes.
393 2004-02-17 Atsushi Enomoto <atsushi@ximian.com>
395 * XsltCompiledContext.cs : Extracted XslFunctions and changed namespace
396 from Mono.Xml.Xsl.Functions to Mono.Xml.Xsl.
397 * XslFunctions.cs : hereby Added.
398 * Compiler.cs : Removed deleted usingdecl.
400 2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
402 * XslTransformProcessor.cs : Bugfix. Stored keys should be cleared.
403 * XslKey.cs : Added ExprKeyContainer expression type, which is
404 designed to be matched at any level.
405 * Compiler.cs : support for ExprKeyContainer.
407 2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
409 * XslKey.cs : Now it collects key and matching nodes at the first
410 evaluation time. After that, we can just get them from the table.
411 * Compiler.cs : Added KeyCompilationMode. It is used to prevent
412 prohibited key() usage in "match" and "use" attributes in xsl:key.
413 Modified accessibility of some classes.
414 * GenericOutputter.cs,
418 XmlWriterEmitter.cs : made classes internal.
419 * XslOutput.cs : support line info for exception.
420 * XsltCompiledContext.cs : implemented CompareDocument() - so easily.
422 2004-02-13 Atsushi Enomoto <atsushi@ximian.com>
424 * XsltCompiledContext.cs : fixed the length of context info array.
426 2004-02-10 Atsushi Enomoto <atsushi@ximian.com>
428 * XsltCompiledContext.cs :
429 replaced EnumeratorIterator with ListIterator
431 2004-02-08 Atsushi Enomoto <atsushi@ximian.com>
433 * GenericOutputter.cs,
436 XslTemplate.cs : tiny foreach elimination.
438 2004-01-16 Atsushi Enomoto <atsushi@ximian.com>
440 * XslOutput.cs : Reverted. default encoding should be utf-8.
442 2004-01-14 Jackson Harper <jackson@ximian.com>
444 * GenericOutputter.cs: Add constructors that do not take an
445 encoding to fix build.
447 2004-01-14 Atsushi Enomoto <atsushi@ximian.com>
449 * XmlWriterEmitter.cs : It now uses WriteProcessingInstruction() to
450 write XML declaration. It means that output supports non document
451 entity. This fixes bug #52729.
452 * Emitter.cs, TextEmitter.cs, HtmlEmitter.cs, XmlWriterEmitter.cs :
453 modified WriteStartDocument() signature to receive Encoding.
454 * GenericOutputter.cs :
455 - Added .ctor() which receives Encoding. (It is used for TextWriter
456 output to get actual encoding.)
457 - Added .ctor() to take an boolean argument which indicates it is
458 variable content or not. (When variable, it does not call
459 WriteStartDocument().)
461 XsltCompiledContext.cs : comment out WriteLine().
462 * XslOutput.cs : set default encoding utf-16.
464 2004-01-08 Nick Drochak <ndrochak@ieee.org>
466 * XsltCompiledContext.cs: Remove unused variable and unreachable code.
468 2003-12-26 Atsushi Enomoto <atsushi@ximian.com>
470 * XslDecimalFormat.cs : implemented format-number() other than number
472 * XsltCompiledContext.cs : Modified XsltFormatNumber.Evaluate() to
473 catch ArgumentException which will be thrown by formatting process.
475 2003-12-23 Atsushi Enomoto <atsushi@ximian.com>
477 * ScriptCompilerInfo.cs : Use "mjs" as JScript compiler.
479 2003-12-20 Ben Maurer <bmaurer@users.sourceforge.net>
481 * XsltCompiledContext.cs: Remove workaround now that monodoc
484 2003-12-20 Atsushi Enomoto <atsushi@ximian.com>
486 * XslStylesheet.cs : considering xsl:imports, we can't handle namespace
487 aliases at compilation time, so evaluate at the first run-time.
489 2003-12-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
491 * GenericOutputter.cs : support for runtime-determined output type.
492 * HtmlEmitter.cs : Fixed invalid doctype output.
493 Fixed incorrect double attribute output on non-HTML elements.
494 Improved indentation. Fixed "selected" attribute output.
495 Don't have to convert "'" to "'".
496 * XmlWriterEmitter.cs : Now don't output incorrect doctype.
497 Escapes CDATA section text "]]>" to "...]]]]><![CDATA[>..." .
498 * XslStylesheet.cs, XsltCompiledContext.cs :
499 space resolution consideration for import and wildcard.
501 2003-12-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
503 * Compiler.cs, XslTransformProcessor.cs :
504 Use XmlValidatingReader to support id() for external stylesheets.
505 * XslKey.cs, XsltCompiledContext.cs :
506 to evaluate MatchPattern and UsePattern, SetContext() is required.
507 * XslTemplate.cs : Forgot to commit. Change is below(12/16).
509 2003-12-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
511 * Emitter.cs, HtmlEmitter.cs, XmlWriterEmitter.cs :
512 Added WriteWhitespace().
513 * GenericOutputter.cs, XslTemplate.cs : Call above.
514 * XslTransformProcessor.cs : Changed NodesetStack to ArrayList since
515 CurrentNode in for-each context have to be pulled at evaluation.
517 2003-12-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
519 * XsltCompiledContext.cs : Temporarily allow incorrectly resolved
520 function for bugzilla #52144. It should be reverted soon.
522 2003-12-12 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
524 * ScriptCompilerInfo.cs : SecurityManager.ResolvePolicy() was not
526 * MSMslScriptManager.cs : modified generated assembly class to be unique
527 through running AppDomain.
528 * XsltCompiledContext.cs : XsltExtensionFunction.Invoke() has to cast
529 arguments to actual argument types. Bugzilla #51450 should be fixed.
531 2003-12-12 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
533 * HtmlEmitter.cs : Fixed incorrect character entity output.
535 2003-12-11 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
537 * Added ScriptCompilerInfo.cs.
538 * MSXslScriptManager.cs : Fixed *true* author's name.
539 Implemented basic msxsl:script support.
540 * Compiler.cs : Added Evidence member.
542 2003-12-07 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
544 * Compiler.cs : Check stylesheet recursion. Check decimal-format name.
545 * GenericOutputter.cs, Outputter.cs, TextOutputter.cs :
546 Added WriteWhitespace() to assure not writing whitespaces as cdata.
547 * XslAttributeSet.cs : Error check if attribute-set contains other than
548 xsl:attribute. Error should be XsltException.
549 * XslDecimalFormat.cs : Complete equality check. Allow just one
550 character value for some attributes.
551 * XslStylesheet.cs : Made whitespace control setting overridable.
552 Added Version property (for the future compatibility mode).
553 Check unrecongnized top level element.
554 * XslTemplate.cs : Check priority as a number.
555 * XslTransformProcessor.cs : PushCDataState is now PushElementState,
556 for xsl:preserve-space and xsl:strip-space support.
557 * XsltCompiledContext.cs : Implemented PreserveWhitespace() (far from
558 incomplete), PushScope and Pop
560 2003-12-03 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
562 * HtmlEmitter.cs : CloseStartElement is needed almost everywhere.
564 2003-12-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
566 * Compiler.cs : In FromListString(), it should use default ns,
568 * GenericOutputter.cs : CheckState() - attribute's Prefix should take
569 precedence. Doctype should be written even if SYSTEM id is absent.
570 Fixed possible multiple xmlns output.
572 - Encoding output using META element.
573 - Doctype name is fixed (html).
574 - Double quotation on PUBLIC and SYSTEM missing.
575 - Fixed incorrect tag name check for IMG.
576 - '>' should not be escaped.
577 * XmlWriterEmitter.cs :
578 Added newline before doctype. In WriteComment(), "--" and tail
579 '-' are not allowed (it escapes, while XmlWriter simply rejects).
580 * XslTransformProcessor.cs : cdata-section-elements should enclose
581 direct child tests only. Added PreserveWhitespace() (incomplete).
582 * XsltCompiledContext.cs : Implemented PreserveWhitespace() (incomplete).
584 2003-11-28 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
586 * IdPattern.cs : This should work against multiple ids.
588 2003-11-27 Ben Maurer <bmaurer@users.sourceforge.net>
591 * MSXslScriptManager.cs
593 * XslTransformProcessor.cs
594 * XsltCompiledContext.cs: Some work on msxsl script.
596 2003-11-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
598 (in general: cdata-section-elements support, correct document()
599 base uri handling, and so on)
600 * Compiler.cs : Use XmlSpace.Preserve to parse included stylesheet.
601 And move to document element. Added XslNameUtil.FromListString().
602 * Emitter.cs, HtmlEmitter.cs, TextEmitter.cs XmlWriterEmitter.cs :
603 Added WriteCDataSection().
604 * Outputter.cs, GenericOutputter.cs, TextOutputter.cs :
605 Added InsideCDataSection.
606 * GenericOutputter.cs :
607 In .ctor(), WriteState should be succeeded from output XmlWriter.
608 WriteNamespaceDecl() now drops declaration identical to existing one.
609 Removed obsolete htmlEmulation.
610 * XslOutput.cs : Added CDataSectionElements support.
611 * XslStylesheet.cs : Added BaseUri, StyleDocument and PrefixInEffect().
612 * XslTransformProcessor.cs :
613 Added Output and CurrentOutputUri. TryStylesheetNamespaceOutput()
614 now considers xsl:exclude-element-prefixes on literal element.
615 Added PushCDataState() and PopCDataState().
616 * XsltCompiledContext.cs : When base uri of document() target is empty,
617 then it should use stylesheet's BaseURI, not that of current document.
619 2003-11-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
621 * Compiler.cs : Modified decimal-format comparison code.
624 GenericOutputter.cs : Added WriteState. Now WriteStartDocument() will
625 be called only when required.
626 * HtmlEmitter.cs : Improved indentation stuff.
627 * XslDecimalFormat.cs : Added incomplete implementation of
628 CheckSameAs() and FormatNumber().
630 XslTransformProcessor.cs : Changed XslStylesheet.StylesheetNamespaces
631 from StringDictionary to ArrayList of QName (to keep order).
633 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
635 * XsltCompiledContext.cs : XsltGenerateId.Evaluate() should consider
636 node type (i.e. attribute and namespace). Removed extraneous Clone().
637 Fixed XsltKey.Evaluate() to use MoveToNextAttribute to iterate attrs.
639 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
641 * Compiler.cs : Changed Keys from ArrayList to Hashtable.
642 XslStylesheet.cs : Added Keys support here.
643 * XslTransformProcessor.cs : Should call SetContext() to expressions
644 before evaluating current nodes.
645 * XsltCompiledContext.cs : 1) XsltDocument.GetDocument() should use
646 xsltContext. 2) XsltKey exposes KeyName, Field and NamespaceManager
647 for KeyPattern. It now uses CompiledStyle.FindKeys().
649 2003-11-13 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
651 * GenericOutputter.cs : Added HTML output support. Closer xmlns handling
652 to Xalan tests and MS.NET implementation (only for test convenience).
653 * XslOutput.cs : Indent holds string rathen than bool. Its default value
654 varies in the context. When method="html", then default is "yes".
655 * XslTransformProcessor.cs : Extension element prefixes should not
656 be written as stylesheet namespaces.
657 * XsltCompiledContext.cs : Return type of generate-id() is string.
658 Implemented unparsed-entity-uri().
660 2003-11-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
662 * Compiler.cs : More complete attribute set gathering.
663 GetNamespacesToCopy() should only return Local namespaces.
664 * GenericOutputter.cs : Added support for indentation.
665 Added easy hack for html output.
666 More correct Prefix handling (considers already defined ones).
667 Namespace emmission is moved to CheckState().
668 * Emitter.cs, XmlWriterEmitter.cs, GenericOutputter.cs, Outputter.cs :
669 Added WriteFullEndElement(). (i.e. IsEmptyElement support)
670 * GenericOutputter.cs, Outputter.cs :
671 Added CanProcessAttributes property for
672 use-attribute-sets of xsl:copy.
673 * XslStylesheet.cs : Added support for stylesheet-defined xmlns decls.
674 Added support for exclude-result-prefixes.
675 * XslTransformProcessor.cs : Added support for stylesheet-defined xmlns.
677 2003-10-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
679 * Compiler.cs : It is not important, but attribute order became closer
680 to MS.NET and Xalan (assuming from OASIS tests).
682 2003-10-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
684 * GenericOutputter.cs : Attribute wasn't overwritten its properties
685 because Attribute is struct it was let to another local variable.
687 2003-09-28 Ben Maurer <bmaurer@users.sourceforge.net>
689 * GenericOutputter.cs: make html output a warning, because doing
690 xml will be right most of the time.
692 2003-09-28 Ben Maurer <bmaurer@users.sourceforge.net>
694 * Debug.cs: comment out {Enter, Exit}Navigator. Haven't had bugs
695 here for a long time and it hurts thread safty and memory
698 2003-09-21 Ben Maurer <bmaurer@users.sourceforge.net>
700 * Compiler.cs: save the parser (will reduce memory allocation when
701 Jackson's jay patch is committed).
703 2003-09-20 Ben Maurer <bmaurer@users.sourceforge.net>
705 * Attribute.cs: Change to struct. Remove QName class.
706 * GenericOutputter.cs: use an Attribute [] rather than an
707 ArrayList. Allows us not to allocate Attributes, which is great
708 for speed. Roll our own allocation.
710 2003-09-20 Ben Maurer <bmaurer@users.sourceforge.net>
712 * Compiler.cs: add GetNsm to main class as well.
714 2003-09-20 Ben Maurer <bmaurer@users.sourceforge.net>
716 * Compiler.cs (ParseAvtAttribute): Get the attribue using our
717 internal version so we get null if the attr doesnt exist.
719 2003-09-17 Ben Maurer <bmaurer@users.sourceforge.net>
721 * Compiler.cs (IStaticXsltContext.TryGetVariable): handle the case
722 where curVarScope == null
724 2003-09-16 Ben Maurer <bmaurer@users.sourceforge.net>
727 - Better handling of empty attributes (vs not being specified)
728 - Bug in handling #default
730 2003-09-15 Ben Maurer <bmaurer@users.sourceforge.net>
732 * Compiler.cs: Off by one when parsing localname of QName
733 * XslAttributeSet.cs: must evaluate used attr sets *BEFORE*
734 children (so that they get overriden)
736 2003-09-15 Ben Maurer <bmaurer@users.sourceforge.net>
738 * GenericOutputter.cs: Output attributes in order recieved; not
739 required by spec, but useful for running test cases.
741 2003-09-14 Oleg Tkachenko <oleg@tkachenko.com>
743 * GenericOutputter.cs - fix bug with outputting state.
744 * Emitter.cs, TextEmitter.cs, XmlWriterEmitter.cs, Outputter.cs,
745 * TextOutputter.cs - get rid of WriteStartAttribute/WriteEndAttribute.
747 2003-09-13 Ben Maurer <bmaurer@users.sourceforge.net>
749 * Compiler.cs, XslKey.cs, XslTransformProcessor.cs: dont clone
750 exprs on use, pass to nav.
752 2003-09-13 Ben Maurer <bmaurer@users.sourceforge.net>
754 * Compiler.cs: pass satic context to Pattern ctor.
756 2003-08-30 Oleg Tkachenko <oleg@tkachenko.com>
759 GenericOutputter.cs - generic Outputter implementation,
760 Attribute.cs - represents outputted attribute,
761 Emitter.cs - abstract output emitter,
762 TextEmitter.cs - text emitter,
763 XmlWriterEmitter.cs - emitter to XmlWriter.
764 * Checking of duplicating attributes is done in GenericOutputter.
765 * Namespace outputting logic is implemented in GenericOutputter.
766 * Outputter.cs: Writing namespace declarations is delegated to
767 derived classes (GenericOutputter).
768 * XslOutput.cs: standalone flag is now 3-value enum (NONE, YES, NO).
770 2003-08-21 Ben Maurer <bmaurer@users.sourceforge.net>
772 * XslTransformProcessor.cs: evaluate variables at beginning
773 when / is current node.
775 2003-08-21 Ben Maurer <bmaurer@users.sourceforge.net>
777 * Compiler.cs, XsltCompiledContext.cs, XslTransformProcessorcs:
778 Fix up namespace handeling
780 2003-08-20 Ben Maurer <bmaurer@users.sourceforge.net>
782 * Compiler.cs, XslStylesheet.cs, XsltCompiledContext.cs: Stubs for
784 * XslDecimalFormat.cs: Stub for decimal-format.
786 2003-08-20 Ben Maurer <bmaurer@users.sourceforge.net>
788 * TextOutputter.cs: Add option to ignore element content (Oleg).
790 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
792 * Compiler.cs: Really give null for blank avt's
794 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
796 * Compiler.cs: Fixed lre/lre04.
798 2003-08-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
800 * Compiler.cs : Fixed XslNameUtil.FromString() so that unprefixed name
801 won't have default namespace. See http://www.w3.org/TR/xslt#qname
803 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
805 * XslTransformProcessor.cs: add support for resolving documents.
806 * XsltCompiledContext: add support for document () function.
808 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
810 * Outputter.cs, TextOutputter.cs, XmlOutputter.cs: Implement some
811 of the abstract methods in Outputter, making them call other
812 functions with default values, remove impl's in derived classes.
814 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
816 * Outputter.cs: s/Close/Done
817 * TextOutputter.cs, XmlOutputter.cs: Flush, don't close the backing.
818 * XslTransformProcessor.cs: Flush output when popping, pop at end.
820 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
822 * Outputter.cs: Add support for namespaces.
824 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
826 * Compiler.cs, XslOutput.cs, XslStylesheet.cs,
827 XslTransformProcessor.cs: move output logic from XslStylesheet to
830 2003-08-18 Ben Maurer <bmaurer@users.sourceforge.net>
832 * XslOutput.cs: add support for encoding.
834 2003-08-18 Ben Maurer <bmaurer@users.sourceforge.net>
836 * *.cs: Support for xsl:output. (Oleg)
838 2003-08-17 Ben Maurer <bmaurer@users.sourceforge.net>
840 * Compiler.cs: handle extension and excluded namespaces.
842 2003-08-17 Ben Maurer <bmaurer@users.sourceforge.net>
844 * XsltCompiledContext.cs, Compiler.cs: copy the XPathNavigator
845 from the stylesheet for correct namespace resolution.
847 2003-08-14 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
849 * Compiler.cs : 1) Changed public .ctor() to receive Evidence argument
850 introduced in .NET 1.1. 2) XmlResolver object is required for 'res'.
852 2003-08-07 Ben Maurer <bmaurer@users.sourceforge.net>
854 * XslTransformProcessor.cs: Add a table to detect when an object
856 * XslAttributeSet.cs: Use the above table. Dont throw nullref
857 exception when no use-attribute-sets are specified.
859 2003-08-04 Ben Maurer <bmaurer@users.sourceforge.net>
861 * Compiler.cs: Add support for boolean attributes (yes/no).
863 2003-08-04 Ben Maurer <bmaurer@users.sourceforge.net>
865 * Compiler.cs: Add method LocalNameOf, to get the local name of a
867 * XslTransformProcessor.cs: Support for setting the XmlResolver.
869 2003-08-01 Ben Maurer <bmaurer@users.sourceforge.net>
871 * Compiler.cs, XslAttributeSet.cs: Handle attribute set merging
873 2003-08-01 Ben Maurer <bmaurer@users.sourceforge.net>
875 * XslTransformProcessor.cs: Add EvaluateNumber method.
877 2003-07-31 Ben Maurer <bmaurer@users.sourceforge.net>
879 * XsltCompiledContext.cs: Implement more functions.
881 2003-07-31 Ben Maurer <bmaurer@users.sourceforge.net>
883 * Compiler.cs: Add support for key, utility function to parse
884 QName's from the XsltContext. Store keys in the CompiledStyle, not
886 * XslKey.cs: Real implementation
887 * XslStylesheet.cs: Move the keys to CompiledStyle.
888 * XsltCompiledContext.cs: Implement the key function
890 2003-07-31 Ben Maurer <bmaurer@users.sourceforge.net>
892 * XsltCompiledContext.cs: Hmm, maybe I should actually *enable*
893 the functions ;-). Also wrote current ().
895 2003-07-31 Ben Maurer <bmaurer@users.sourceforge.net>
897 * XsltCompiledContext.cs: Remove excess conversion stuff. It is
898 done in XPath. Add stubs for XSLT functions.
900 2003-07-31 Ben Maurer <bmaurer@users.sourceforge.net>
902 * Compiler.cs: To resolve a variable you now need to pass the
903 processor, so that it can be passed to IsEvaluated. A local will
904 only be resolved if it has already been evaluated.
905 * XsltCompiledContext.cs: Pass along the processor.
907 2003-07-30 Ben Maurer <bmaurer@users.sourceforge.net>
909 * Compiler.cs, XslTemplate.cs, XslTransformProcessor.cs: Store
910 variable values in the XslTransformProcessor.
911 * XsltCompiledContext.cs: If the scope is null, don't look there!
912 * Debug.cs: New method Assert
914 2003-07-30 Ben Maurer <bmaurer@users.sourceforge.net>
916 * Compiler.cs, XsltCompiledContext.cs: Remove verbose messages
917 * XslTransformProcessor.cs: Use strongtyped evaluation, using new
918 internal methods in XPathNavigator. Remove verbose debugging messages.
920 2003-07-29 Ben Maurer <bmaurer@users.sourceforge.net>