1 2005-03-09 Atsushi Enomoto <atsushi@ximian.com>
3 * XslTemplate.cs : First non-element content were incorrectly ignored.
5 2005-03-09 Atsushi Enomoto <atsushi@ximian.com>
7 * XslFunctions.cs, Compiler.cs : Eliminated XPathNavigatorNsm class
8 to reduce references to stylesheet XPathNavigator. To accomplish it,
9 IStaticXsltContext does not declare GetNsm() anymore. All xslt
10 function types now directly hold IStaticXsltContext.
11 * XslStylesheet.cs : removed "Compiler c" field.
12 Removed unused properties.
14 2005-03-08 Atsushi Enomoto <atsushi@ximian.com>
16 * GenericOutputter.cs : When WriteStartElement() requires to add
17 new namespace declaration, _currentNamespaceDecls needs to be set.
19 2005-03-08 Atsushi Enomoto <atsushi@ximian.com>
21 * GenericOutputter.cs : for duplicate attribute in an element, no need
22 to keep previous prefix.
24 2005-03-08 Atsushi Enomoto <atsushi@ximian.com>
26 * GenericOutputter.cs : Prefix "xml" is only allowed to the fixed XML
27 namespace. Rewrite prefix only when there is non-empty namespace.
29 2005-03-07 Atsushi Enomoto <atsushi@ximian.com>
31 * XslStylesheet.cs : Now namespace aliases are collected in prior to
32 all other toplevel elements. Removed unused code.
34 2005-03-07 Atsushi Enomoto <atsushi@ximian.com>
36 * GenericOutputter.cs : compute attribute prefix only when actual
37 emission. Fixed some cases that namespace output was missing.
39 2005-03-07 Atsushi Enomoto <atsushi@ximian.com>
41 * GenericOutputter.cs : no need to use two collections to store
42 pending attributes. Just use ordered ListDictionary.
43 newNamespace.Add(int) causes extraneous boxing.
45 2005-03-07 Atsushi Enomoto <atsushi@ximian.com>
47 * XslTransformProcessor.cs : renamed TryElementNamespacesOutput() to
48 OutputLiteralNamespaceUriNodes() so that everyone can understand
49 what it means and when it should be invoked.
51 2005-03-04 Atsushi Enomoto <atsushi@ximian.com>
53 * Compiler.cs : added another CompileTemplateContent() which is
54 requred in xsl:for-each. Commented out unused method.
56 2005-03-03 Atsushi Enomoto <atsushi@ximian.com>
58 * XslStylesheet.cs, XslTransformProcessor.cs : exclude-element-prefix
59 in stylesheet should be considered in TryElementNamespacesOutput().
60 ParseQNameListAttribute() is not properly working for filling
63 2005-03-02 Atsushi Enomoto <atsushi@ximian.com>
65 * XslStylesheet.cs : included stylesheet could be literal result
66 element as stylesheet (see the spec 2.6.1).
68 2005-03-02 Atsushi Enomoto <atsushi@ximian.com>
70 * GenericOutputter.cs : On WriteStartElement(), prefix should be an
71 empty string when nsURI is empty.
72 * HtmlEmitter.cs : non-HTML elements in default namespace are treated
73 unlike xml but like span, as written in the spec 16.2.
75 2005-03-02 Atsushi Enomoto <atsushi@ximian.com>
77 * XslCompiledContext.cs, XslTransformProcessor.cs :
78 According to errata E25, those namespaces 1) that has the same
79 name as current element's prefix, or an empty name when current
80 element's namespace URI is empty, are not written to output.
81 So added current element information to XPathContext and added
82 prefix parameter to PushElementState(), added xsl:copy check to
83 TryElementNamespacesOutput().
84 http://www.w3.org/1999/11/REC-xslt-19991116-errata/
86 2005-02-26 Atsushi Enomoto <atsushi@ximian.com>
88 * XslFunctions.cs : unparsed-entity-uri() should return SYSTEM ID
91 2005-02-25 Atsushi Enomoto <atsushi@ximian.com>
93 * XslTemplate.cs : According to the spec 5.7, it is an error for
94 xsl:template to have 'mode' without 'match'.
96 2005-02-24 Atsushi Enomoto <atsushi@ximian.com>
98 * Compiler.cs : added ns lookup with nsDecls Hashtable.
100 2005-02-24 Atsushi Enomoto <atsushi@ximian.com>
102 * XslStylesheet.cs : It should consider "#default" in namespace-alias.
104 2005-02-23 Atsushi Enomoto <atsushi@ximian.com>
106 * GenericOutputter.cs : It should not attempt to write prefix "xml" and
107 namespace "http://www.w3.org/XML/1998/namespace".
109 2005-02-21 Atsushi Enomoto <atsushi@ximian.com>
111 * XmlWriterEmitter.cs : PI nodes are normalized as to not contain "?>".
112 * HtmlEmitter.cs : CDATA nodes are written just as text.
113 * GenericOutputter.cs : custom format are treated just as XML output.
115 2005-02-17 Atsushi Enomoto <atsushi@ximian.com>
119 GenericOutputter.cs : removed WriteStartDocument(), WriteEndDocument()
120 and WriteState. Writing XML declaration is done inside
121 DetermineOutputMethod().
123 2005-02-17 Atsushi Enomoto <atsushi@ximian.com>
125 * Compiler.cs : reverted previous fix, since it should be done
126 in XslTransformProcessor with root stylesheet.
127 * XslTransformProcessor.cs : In TryElementNamespacesOutput(),
128 don't output alias namespaces. And now consider null exclusions.
130 2005-02-17 Atsushi Enomoto <atsushi@ximian.com>
132 * Compiler.cs : don't return alias namespaces in GetNamespacesToCopy().
134 2005-02-16 Atsushi Enomoto <atsushi@ximian.com>
136 * Compiler.cs : GetNamespacesToCopy() should also find for non-local
137 namespace nodes. Patch by Andrew Skiba with some fixes.
138 * XslTransformProcessor.cs : Patch by Andrew Skiba.
139 TryStylesheetNamespaceOutput() is now TryElementNamespacesOutput()
140 as to handle all namespace nodes to copy in stylesheet nodes.
141 Global parameterss are evaluated before global variables.
142 * XmlOutputter.cs : removed unused code.
146 * Actually variables and params should check reference recursion.
147 This patch incompletely fixes the problem.
148 * Those operations that considers excluded-result-prefixes must
149 also check those attributes of its ancestors.
151 2005-02-10 Atsushi Enomoto <atsushi@ximian.com>
153 * XmlWriterEmitter.cs : String.Replace() was insufficient for
154 sequential candidates for replacement. Patch by Andrew Skiba.
156 2005-02-10 Atsushi Enomoto <atsushi@ximian.com>
158 * GenericOutputter.cs : don't output extraneous xml declaration.
161 2005-02-09 Atsushi Enomoto <atsushi@ximian.com>
163 * XslStylesheet.cs : MS implementation had chosen to recover from
164 the error, in the way specified in the spec 7.7.1. Patch by Andrew
167 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
169 * XslTemplate.cs : if input is literal result element, it could result
170 in ArgumentException. Patch by Andrew Skiba.
172 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
174 * XslFunctions.cs : Fixed unparsed-entity-uri() that might result in
175 NullReferenceException. Patch by Andrew Skiba.
177 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
179 * XslOutput.cs : MS.NET recovers from unknown encoding according to
180 XSLT spec 16.1. Patch by Andrew Skiba.
182 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
184 * HtmlEmitter.cs : patch by Andrew Skiba.
185 Remove extra element prefix output. simplify attribute prefix output.
186 Attribute output might have resulted in invalid element stack peek.
187 Output specified media type if any.
189 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
191 * Compiler.cs : Patch by Andrew Skiba.
192 wrap internal exception with XsltCompileException.
193 Raise an error for not-found document URI.
194 QName might contain sequential whitespaces and thus could be empty.
196 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
198 * XslAttributeSet.cs : just ignore other kind of nodes than element
199 in its content. Fix by Andrew Skiba.
201 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
203 * XslOutput.cs : for html and text output mode, just set internal
204 omitXmlDeclaration status true. Patch by Andrew Skiba.
206 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
208 * XslFunctions.cs : fixed line ending mixture.
210 2005-02-03 Atsushi Enomoto <atsushi@ximian.com>
212 * ScriptCompilerInfo.cs : XsltCompileException->XsltException, just
215 2004-12-22 Atsushi Enomoto <atsushi@ximian.com>
218 Compiler.cs : XmlResolver.ResolveUri() may return null.
220 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
222 * Compiler.cs : XPathNavigatorNsm needed more love. Clone() does not
225 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
227 * Compiler.cs : don't create XPathNavigatorNsm for every GetNsm() call.
229 2004-11-26 Atsushi Enomoto <atsushi@ximian.com>
231 * XslKey.cs, XslStylesheet.cs, MSXslScriptManager.cs :
234 2004-11-24 Atsushi Enomoto <atsushi@ximian.com>
236 * XslStylesheet.cs : removed unused fields.
237 * XslOutput.cs : removed members for XSLT 2.0 (won't be implemented in
240 2004-11-08 Atsushi Enomoto <atsushi@ximian.com>
242 * Compiler.cs, XslTransformProcessor.cs :
243 when creating XmlTextReader, reuse XmlNameTable.
245 2004-11-05 Atsushi Enomoto <atsushi@ximian.com>
247 * Compiler.cs : Changes that reflects CompiledExpression changes.
249 2004-10-04 Atsushi Enomoto <atsushi@ximian.com>
251 * HtmlEmitter.cs : TH tag is not regarded as HTML tag.
252 This fixes bug #67390.
254 Thu Sep 9 07:09:11 PDT 2004 Paolo Molaro <lupus@ximian.com>
256 * ScriptCompilerInfo.cs: avoid using a .cctor and fix precomp.
258 2004-06-18 Atsushi Enomoto <atsushi@ximian.com>
260 * Debug.cs, HtmlEmitter.cs, MSXslScriptManager.cs,
261 ScriptCompilerInfo.cs, XslFunctions.cs, XslTemplate.cs
262 : Globalization. Removed unused code.
264 2004-06-14 Atsushi Enomoto <atsushi@ximian.com>
266 * XslKey.cs : Key-value search in absolute path search was
269 2004-06-14 Atsushi Enomoto <atsushi@ximian.com>
271 * HtmlEmitter.cs : Correct URL escape implementation.
273 2004-06-06 Atsushi Enomoto <atsushi@ximian.com>
275 * XslTransformProcessor.cs : On document() function, close the
276 XmlTextReader opened from uri string.
278 2004-06-03 Atsushi Enomoto <atsushi@ximian.com>
281 GenericOutputter.cs : XmlNamespaceManager.LookupPrefix() allows only
282 atomized names. Fixed XPathNavigatorNsm.LookupNamespace() that
283 should override another overload.
285 2004-05-25 Lluis Sanchez Gual <lluis@ximian.com>
287 * ScriptCompilerInfo.cs: the name used to load the Microsoft.JScript
288 assembly should not include the .dll extension.
290 2004-05-20 Atsushi Enomoto <atsushi@ximian.com>
293 - CompilePattern() now throws XsltCompileException for invalid
294 pattern, and add error location support.
295 - In Compiler.TryGetFunction(), compare namespace URI, not prefix.
296 Now it returns MSXslNodeSet instance (for msxsl:node-set).
297 * Debug.cs : don't throw System.Exception.
298 * XslFunctions.cs : Added MSXslNodeSet class.
299 * XslTemplate.cs : reflected CompilePattern() change.
300 * XslTransformProcessor.cs : don't throw System.Exception.
301 * XsltCompiledContext.cs : don't throw System.Exception.
303 2004-05-12 Atsushi Enomoto <atsushi@ximian.com>
307 XslStylesheet.cs : made classes/enums internal.
309 2004-04-24 Atsushi Enomoto <atsushi@ximian.com>
311 * Attribute.cs, Compiler.cs, Debug.cs, Emitter.cs,
312 MSXslScriptCompiler.cs, Outputter.cs, XslAttributeSet.cs,
313 XslDecimalFormat.cs, XslKey.cs, XslStylesheet.cs, XslTemplate.cs,
314 XslTransformProcessor.cs : Make extra classes internal.
316 * XslKey.cs : It should require sorting.
317 * Debug.cs : Just avoid debug output. Only who want to output should
320 2004-04-24 Atsushi Enomoto <atsushi@ximian.com>
322 * GenericOutputter.cs : Culture-independency fix.
323 Replaced StringCollection to ArrayList.
324 * XslOutput.cs : Culture-independency fix.
326 2004-04-12 Atsushi Enomoto <atsushi@ximian.com>
328 * Compiler.cs : When BaseURI is an empty string, it should not try to
329 create Uri instance. This will fix bug #56832, but not sure.
330 * XslFunctions.cs : for XsltDocument.Resolve(), did the same.
331 * HtmlEmitter.cs : Environment.NewLine was incorrectly used (it
332 should be the TextReader's NewLine).
333 * MSXslScriptManager.cs : Should raise an error when the prefix which
334 was specified by "implements-prefix" was not found.
336 2004-03-27 Atsushi Enomoto <atsushi@ximian.com>
338 * ScriptCompilerInfo.cs : #line directive now holds dummy filename
339 when BaseURI for msxsl:script node is not available. This fixes
341 Don't output line number in the error message, when it is 0.
343 2004-03-27 Atsushi Enomoto <atsushi@ximian.com>
345 * Compiler.cs : Supply NameTable to base ctor() of XPathNavigatorNsm.
347 2004-03-22 Atsushi Enomoto <atsushi@ximian.com>
352 XslTransformProcessor.cs :
353 Throw specific types of exceptions instead of Exception.
354 * XslFunctions.cs, XsltCompiledContext.cs :
355 added node argument for XsltExtensionFunction ctor() etc.
357 2004-03-22 Atsushi Enomoto <atsushi@ximian.com>
359 * ScriptCompilerInfo.cs : Modified compilation processing. Now it uses
360 CodeDom. Compilation error should be caught. This fixes bug #55875.
362 2004-03-13 Atsushi Enomoto <atsushi@ximian.com>
364 * XslStylesheet.cs : "version" attribute is also required for embedded
367 2004-03-13 Atsushi Enomoto <atsushi@ximian.com>
370 XslStylesheet.cs : Reject xsl element other than stylesheet and
371 transform. Check mandatory version attribute (only for existence).
373 2004-03-07 Atsushi Enomoto <atsushi@ximian.com>
375 * MSXslScriptManager.cs : if extension namespace was not found in
376 the script, just return null. Patch by Joshua Tauberer.
378 2004-03-01 Atsushi Enomoto <atsushi@ximian.com>
380 * XslLiteralElement.cs : quick fix for ArgumentNullException which
381 was because of the combination of non-namespaced instances and
382 exclude-result-prefixes.
384 2004-02-17 Atsushi Enomoto <atsushi@ximian.com>
386 * XsltCompiledContext.cs : Extracted XslFunctions and changed namespace
387 from Mono.Xml.Xsl.Functions to Mono.Xml.Xsl.
388 * XslFunctions.cs : hereby Added.
389 * Compiler.cs : Removed deleted usingdecl.
391 2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
393 * XslTransformProcessor.cs : Bugfix. Stored keys should be cleared.
394 * XslKey.cs : Added ExprKeyContainer expression type, which is
395 designed to be matched at any level.
396 * Compiler.cs : support for ExprKeyContainer.
398 2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
400 * XslKey.cs : Now it collects key and matching nodes at the first
401 evaluation time. After that, we can just get them from the table.
402 * Compiler.cs : Added KeyCompilationMode. It is used to prevent
403 prohibited key() usage in "match" and "use" attributes in xsl:key.
404 Modified accessibility of some classes.
405 * GenericOutputter.cs,
409 XmlWriterEmitter.cs : made classes internal.
410 * XslOutput.cs : support line info for exception.
411 * XsltCompiledContext.cs : implemented CompareDocument() - so easily.
413 2004-02-13 Atsushi Enomoto <atsushi@ximian.com>
415 * XsltCompiledContext.cs : fixed the length of context info array.
417 2004-02-10 Atsushi Enomoto <atsushi@ximian.com>
419 * XsltCompiledContext.cs :
420 replaced EnumeratorIterator with ListIterator
422 2004-02-08 Atsushi Enomoto <atsushi@ximian.com>
424 * GenericOutputter.cs,
427 XslTemplate.cs : tiny foreach elimination.
429 2004-01-16 Atsushi Enomoto <atsushi@ximian.com>
431 * XslOutput.cs : Reverted. default encoding should be utf-8.
433 2004-01-14 Jackson Harper <jackson@ximian.com>
435 * GenericOutputter.cs: Add constructors that do not take an
436 encoding to fix build.
438 2004-01-14 Atsushi Enomoto <atsushi@ximian.com>
440 * XmlWriterEmitter.cs : It now uses WriteProcessingInstruction() to
441 write XML declaration. It means that output supports non document
442 entity. This fixes bug #52729.
443 * Emitter.cs, TextEmitter.cs, HtmlEmitter.cs, XmlWriterEmitter.cs :
444 modified WriteStartDocument() signature to receive Encoding.
445 * GenericOutputter.cs :
446 - Added .ctor() which receives Encoding. (It is used for TextWriter
447 output to get actual encoding.)
448 - Added .ctor() to take an boolean argument which indicates it is
449 variable content or not. (When variable, it does not call
450 WriteStartDocument().)
452 XsltCompiledContext.cs : comment out WriteLine().
453 * XslOutput.cs : set default encoding utf-16.
455 2004-01-08 Nick Drochak <ndrochak@ieee.org>
457 * XsltCompiledContext.cs: Remove unused variable and unreachable code.
459 2003-12-26 Atsushi Enomoto <atsushi@ximian.com>
461 * XslDecimalFormat.cs : implemented format-number() other than number
463 * XsltCompiledContext.cs : Modified XsltFormatNumber.Evaluate() to
464 catch ArgumentException which will be thrown by formatting process.
466 2003-12-23 Atsushi Enomoto <atsushi@ximian.com>
468 * ScriptCompilerInfo.cs : Use "mjs" as JScript compiler.
470 2003-12-20 Ben Maurer <bmaurer@users.sourceforge.net>
472 * XsltCompiledContext.cs: Remove workaround now that monodoc
475 2003-12-20 Atsushi Enomoto <atsushi@ximian.com>
477 * XslStylesheet.cs : considering xsl:imports, we can't handle namespace
478 aliases at compilation time, so evaluate at the first run-time.
480 2003-12-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
482 * GenericOutputter.cs : support for runtime-determined output type.
483 * HtmlEmitter.cs : Fixed invalid doctype output.
484 Fixed incorrect double attribute output on non-HTML elements.
485 Improved indentation. Fixed "selected" attribute output.
486 Don't have to convert "'" to "'".
487 * XmlWriterEmitter.cs : Now don't output incorrect doctype.
488 Escapes CDATA section text "]]>" to "...]]]]><![CDATA[>..." .
489 * XslStylesheet.cs, XsltCompiledContext.cs :
490 space resolution consideration for import and wildcard.
492 2003-12-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
494 * Compiler.cs, XslTransformProcessor.cs :
495 Use XmlValidatingReader to support id() for external stylesheets.
496 * XslKey.cs, XsltCompiledContext.cs :
497 to evaluate MatchPattern and UsePattern, SetContext() is required.
498 * XslTemplate.cs : Forgot to commit. Change is below(12/16).
500 2003-12-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
502 * Emitter.cs, HtmlEmitter.cs, XmlWriterEmitter.cs :
503 Added WriteWhitespace().
504 * GenericOutputter.cs, XslTemplate.cs : Call above.
505 * XslTransformProcessor.cs : Changed NodesetStack to ArrayList since
506 CurrentNode in for-each context have to be pulled at evaluation.
508 2003-12-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
510 * XsltCompiledContext.cs : Temporarily allow incorrectly resolved
511 function for bugzilla #52144. It should be reverted soon.
513 2003-12-12 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
515 * ScriptCompilerInfo.cs : SecurityManager.ResolvePolicy() was not
517 * MSMslScriptManager.cs : modified generated assembly class to be unique
518 through running AppDomain.
519 * XsltCompiledContext.cs : XsltExtensionFunction.Invoke() has to cast
520 arguments to actual argument types. Bugzilla #51450 should be fixed.
522 2003-12-12 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
524 * HtmlEmitter.cs : Fixed incorrect character entity output.
526 2003-12-11 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
528 * Added ScriptCompilerInfo.cs.
529 * MSXslScriptManager.cs : Fixed *true* author's name.
530 Implemented basic msxsl:script support.
531 * Compiler.cs : Added Evidence member.
533 2003-12-07 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
535 * Compiler.cs : Check stylesheet recursion. Check decimal-format name.
536 * GenericOutputter.cs, Outputter.cs, TextOutputter.cs :
537 Added WriteWhitespace() to assure not writing whitespaces as cdata.
538 * XslAttributeSet.cs : Error check if attribute-set contains other than
539 xsl:attribute. Error should be XsltException.
540 * XslDecimalFormat.cs : Complete equality check. Allow just one
541 character value for some attributes.
542 * XslStylesheet.cs : Made whitespace control setting overridable.
543 Added Version property (for the future compatibility mode).
544 Check unrecongnized top level element.
545 * XslTemplate.cs : Check priority as a number.
546 * XslTransformProcessor.cs : PushCDataState is now PushElementState,
547 for xsl:preserve-space and xsl:strip-space support.
548 * XsltCompiledContext.cs : Implemented PreserveWhitespace() (far from
549 incomplete), PushScope and Pop
551 2003-12-03 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
553 * HtmlEmitter.cs : CloseStartElement is needed almost everywhere.
555 2003-12-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
557 * Compiler.cs : In FromListString(), it should use default ns,
559 * GenericOutputter.cs : CheckState() - attribute's Prefix should take
560 precedence. Doctype should be written even if SYSTEM id is absent.
561 Fixed possible multiple xmlns output.
563 - Encoding output using META element.
564 - Doctype name is fixed (html).
565 - Double quotation on PUBLIC and SYSTEM missing.
566 - Fixed incorrect tag name check for IMG.
567 - '>' should not be escaped.
568 * XmlWriterEmitter.cs :
569 Added newline before doctype. In WriteComment(), "--" and tail
570 '-' are not allowed (it escapes, while XmlWriter simply rejects).
571 * XslTransformProcessor.cs : cdata-section-elements should enclose
572 direct child tests only. Added PreserveWhitespace() (incomplete).
573 * XsltCompiledContext.cs : Implemented PreserveWhitespace() (incomplete).
575 2003-11-28 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
577 * IdPattern.cs : This should work against multiple ids.
579 2003-11-27 Ben Maurer <bmaurer@users.sourceforge.net>
582 * MSXslScriptManager.cs
584 * XslTransformProcessor.cs
585 * XsltCompiledContext.cs: Some work on msxsl script.
587 2003-11-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
589 (in general: cdata-section-elements support, correct document()
590 base uri handling, and so on)
591 * Compiler.cs : Use XmlSpace.Preserve to parse included stylesheet.
592 And move to document element. Added XslNameUtil.FromListString().
593 * Emitter.cs, HtmlEmitter.cs, TextEmitter.cs XmlWriterEmitter.cs :
594 Added WriteCDataSection().
595 * Outputter.cs, GenericOutputter.cs, TextOutputter.cs :
596 Added InsideCDataSection.
597 * GenericOutputter.cs :
598 In .ctor(), WriteState should be succeeded from output XmlWriter.
599 WriteNamespaceDecl() now drops declaration identical to existing one.
600 Removed obsolete htmlEmulation.
601 * XslOutput.cs : Added CDataSectionElements support.
602 * XslStylesheet.cs : Added BaseUri, StyleDocument and PrefixInEffect().
603 * XslTransformProcessor.cs :
604 Added Output and CurrentOutputUri. TryStylesheetNamespaceOutput()
605 now considers xsl:exclude-element-prefixes on literal element.
606 Added PushCDataState() and PopCDataState().
607 * XsltCompiledContext.cs : When base uri of document() target is empty,
608 then it should use stylesheet's BaseURI, not that of current document.
610 2003-11-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
612 * Compiler.cs : Modified decimal-format comparison code.
615 GenericOutputter.cs : Added WriteState. Now WriteStartDocument() will
616 be called only when required.
617 * HtmlEmitter.cs : Improved indentation stuff.
618 * XslDecimalFormat.cs : Added incomplete implementation of
619 CheckSameAs() and FormatNumber().
621 XslTransformProcessor.cs : Changed XslStylesheet.StylesheetNamespaces
622 from StringDictionary to ArrayList of QName (to keep order).
624 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
626 * XsltCompiledContext.cs : XsltGenerateId.Evaluate() should consider
627 node type (i.e. attribute and namespace). Removed extraneous Clone().
628 Fixed XsltKey.Evaluate() to use MoveToNextAttribute to iterate attrs.
630 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
632 * Compiler.cs : Changed Keys from ArrayList to Hashtable.
633 XslStylesheet.cs : Added Keys support here.
634 * XslTransformProcessor.cs : Should call SetContext() to expressions
635 before evaluating current nodes.
636 * XsltCompiledContext.cs : 1) XsltDocument.GetDocument() should use
637 xsltContext. 2) XsltKey exposes KeyName, Field and NamespaceManager
638 for KeyPattern. It now uses CompiledStyle.FindKeys().
640 2003-11-13 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
642 * GenericOutputter.cs : Added HTML output support. Closer xmlns handling
643 to Xalan tests and MS.NET implementation (only for test convenience).
644 * XslOutput.cs : Indent holds string rathen than bool. Its default value
645 varies in the context. When method="html", then default is "yes".
646 * XslTransformProcessor.cs : Extension element prefixes should not
647 be written as stylesheet namespaces.
648 * XsltCompiledContext.cs : Return type of generate-id() is string.
649 Implemented unparsed-entity-uri().
651 2003-11-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
653 * Compiler.cs : More complete attribute set gathering.
654 GetNamespacesToCopy() should only return Local namespaces.
655 * GenericOutputter.cs : Added support for indentation.
656 Added easy hack for html output.
657 More correct Prefix handling (considers already defined ones).
658 Namespace emmission is moved to CheckState().
659 * Emitter.cs, XmlWriterEmitter.cs, GenericOutputter.cs, Outputter.cs :
660 Added WriteFullEndElement(). (i.e. IsEmptyElement support)
661 * GenericOutputter.cs, Outputter.cs :
662 Added CanProcessAttributes property for
663 use-attribute-sets of xsl:copy.
664 * XslStylesheet.cs : Added support for stylesheet-defined xmlns decls.
665 Added support for exclude-result-prefixes.
666 * XslTransformProcessor.cs : Added support for stylesheet-defined xmlns.
668 2003-10-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
670 * Compiler.cs : It is not important, but attribute order became closer
671 to MS.NET and Xalan (assuming from OASIS tests).
673 2003-10-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
675 * GenericOutputter.cs : Attribute wasn't overwritten its properties
676 because Attribute is struct it was let to another local variable.
678 2003-09-28 Ben Maurer <bmaurer@users.sourceforge.net>
680 * GenericOutputter.cs: make html output a warning, because doing
681 xml will be right most of the time.
683 2003-09-28 Ben Maurer <bmaurer@users.sourceforge.net>
685 * Debug.cs: comment out {Enter, Exit}Navigator. Haven't had bugs
686 here for a long time and it hurts thread safty and memory
689 2003-09-21 Ben Maurer <bmaurer@users.sourceforge.net>
691 * Compiler.cs: save the parser (will reduce memory allocation when
692 Jackson's jay patch is committed).
694 2003-09-20 Ben Maurer <bmaurer@users.sourceforge.net>
696 * Attribute.cs: Change to struct. Remove QName class.
697 * GenericOutputter.cs: use an Attribute [] rather than an
698 ArrayList. Allows us not to allocate Attributes, which is great
699 for speed. Roll our own allocation.
701 2003-09-20 Ben Maurer <bmaurer@users.sourceforge.net>
703 * Compiler.cs: add GetNsm to main class as well.
705 2003-09-20 Ben Maurer <bmaurer@users.sourceforge.net>
707 * Compiler.cs (ParseAvtAttribute): Get the attribue using our
708 internal version so we get null if the attr doesnt exist.
710 2003-09-17 Ben Maurer <bmaurer@users.sourceforge.net>
712 * Compiler.cs (IStaticXsltContext.TryGetVariable): handle the case
713 where curVarScope == null
715 2003-09-16 Ben Maurer <bmaurer@users.sourceforge.net>
718 - Better handling of empty attributes (vs not being specified)
719 - Bug in handling #default
721 2003-09-15 Ben Maurer <bmaurer@users.sourceforge.net>
723 * Compiler.cs: Off by one when parsing localname of QName
724 * XslAttributeSet.cs: must evaluate used attr sets *BEFORE*
725 children (so that they get overriden)
727 2003-09-15 Ben Maurer <bmaurer@users.sourceforge.net>
729 * GenericOutputter.cs: Output attributes in order recieved; not
730 required by spec, but useful for running test cases.
732 2003-09-14 Oleg Tkachenko <oleg@tkachenko.com>
734 * GenericOutputter.cs - fix bug with outputting state.
735 * Emitter.cs, TextEmitter.cs, XmlWriterEmitter.cs, Outputter.cs,
736 * TextOutputter.cs - get rid of WriteStartAttribute/WriteEndAttribute.
738 2003-09-13 Ben Maurer <bmaurer@users.sourceforge.net>
740 * Compiler.cs, XslKey.cs, XslTransformProcessor.cs: dont clone
741 exprs on use, pass to nav.
743 2003-09-13 Ben Maurer <bmaurer@users.sourceforge.net>
745 * Compiler.cs: pass satic context to Pattern ctor.
747 2003-08-30 Oleg Tkachenko <oleg@tkachenko.com>
750 GenericOutputter.cs - generic Outputter implementation,
751 Attribute.cs - represents outputted attribute,
752 Emitter.cs - abstract output emitter,
753 TextEmitter.cs - text emitter,
754 XmlWriterEmitter.cs - emitter to XmlWriter.
755 * Checking of duplicating attributes is done in GenericOutputter.
756 * Namespace outputting logic is implemented in GenericOutputter.
757 * Outputter.cs: Writing namespace declarations is delegated to
758 derived classes (GenericOutputter).
759 * XslOutput.cs: standalone flag is now 3-value enum (NONE, YES, NO).
761 2003-08-21 Ben Maurer <bmaurer@users.sourceforge.net>
763 * XslTransformProcessor.cs: evaluate variables at beginning
764 when / is current node.
766 2003-08-21 Ben Maurer <bmaurer@users.sourceforge.net>
768 * Compiler.cs, XsltCompiledContext.cs, XslTransformProcessorcs:
769 Fix up namespace handeling
771 2003-08-20 Ben Maurer <bmaurer@users.sourceforge.net>
773 * Compiler.cs, XslStylesheet.cs, XsltCompiledContext.cs: Stubs for
775 * XslDecimalFormat.cs: Stub for decimal-format.
777 2003-08-20 Ben Maurer <bmaurer@users.sourceforge.net>
779 * TextOutputter.cs: Add option to ignore element content (Oleg).
781 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
783 * Compiler.cs: Really give null for blank avt's
785 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
787 * Compiler.cs: Fixed lre/lre04.
789 2003-08-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
791 * Compiler.cs : Fixed XslNameUtil.FromString() so that unprefixed name
792 won't have default namespace. See http://www.w3.org/TR/xslt#qname
794 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
796 * XslTransformProcessor.cs: add support for resolving documents.
797 * XsltCompiledContext: add support for document () function.
799 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
801 * Outputter.cs, TextOutputter.cs, XmlOutputter.cs: Implement some
802 of the abstract methods in Outputter, making them call other
803 functions with default values, remove impl's in derived classes.
805 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
807 * Outputter.cs: s/Close/Done
808 * TextOutputter.cs, XmlOutputter.cs: Flush, don't close the backing.
809 * XslTransformProcessor.cs: Flush output when popping, pop at end.
811 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
813 * Outputter.cs: Add support for namespaces.
815 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
817 * Compiler.cs, XslOutput.cs, XslStylesheet.cs,
818 XslTransformProcessor.cs: move output logic from XslStylesheet to
821 2003-08-18 Ben Maurer <bmaurer@users.sourceforge.net>
823 * XslOutput.cs: add support for encoding.
825 2003-08-18 Ben Maurer <bmaurer@users.sourceforge.net>
827 * *.cs: Support for xsl:output. (Oleg)
829 2003-08-17 Ben Maurer <bmaurer@users.sourceforge.net>
831 * Compiler.cs: handle extension and excluded namespaces.
833 2003-08-17 Ben Maurer <bmaurer@users.sourceforge.net>
835 * XsltCompiledContext.cs, Compiler.cs: copy the XPathNavigator
836 from the stylesheet for correct namespace resolution.
838 2003-08-14 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
840 * Compiler.cs : 1) Changed public .ctor() to receive Evidence argument
841 introduced in .NET 1.1. 2) XmlResolver object is required for 'res'.
843 2003-08-07 Ben Maurer <bmaurer@users.sourceforge.net>
845 * XslTransformProcessor.cs: Add a table to detect when an object
847 * XslAttributeSet.cs: Use the above table. Dont throw nullref
848 exception when no use-attribute-sets are specified.
850 2003-08-04 Ben Maurer <bmaurer@users.sourceforge.net>
852 * Compiler.cs: Add support for boolean attributes (yes/no).
854 2003-08-04 Ben Maurer <bmaurer@users.sourceforge.net>
856 * Compiler.cs: Add method LocalNameOf, to get the local name of a
858 * XslTransformProcessor.cs: Support for setting the XmlResolver.
860 2003-08-01 Ben Maurer <bmaurer@users.sourceforge.net>
862 * Compiler.cs, XslAttributeSet.cs: Handle attribute set merging
864 2003-08-01 Ben Maurer <bmaurer@users.sourceforge.net>
866 * XslTransformProcessor.cs: Add EvaluateNumber method.
868 2003-07-31 Ben Maurer <bmaurer@users.sourceforge.net>
870 * XsltCompiledContext.cs: Implement more functions.
872 2003-07-31 Ben Maurer <bmaurer@users.sourceforge.net>
874 * Compiler.cs: Add support for key, utility function to parse
875 QName's from the XsltContext. Store keys in the CompiledStyle, not
877 * XslKey.cs: Real implementation
878 * XslStylesheet.cs: Move the keys to CompiledStyle.
879 * XsltCompiledContext.cs: Implement the key function
881 2003-07-31 Ben Maurer <bmaurer@users.sourceforge.net>
883 * XsltCompiledContext.cs: Hmm, maybe I should actually *enable*
884 the functions ;-). Also wrote current ().
886 2003-07-31 Ben Maurer <bmaurer@users.sourceforge.net>
888 * XsltCompiledContext.cs: Remove excess conversion stuff. It is
889 done in XPath. Add stubs for XSLT functions.
891 2003-07-31 Ben Maurer <bmaurer@users.sourceforge.net>
893 * Compiler.cs: To resolve a variable you now need to pass the
894 processor, so that it can be passed to IsEvaluated. A local will
895 only be resolved if it has already been evaluated.
896 * XsltCompiledContext.cs: Pass along the processor.
898 2003-07-30 Ben Maurer <bmaurer@users.sourceforge.net>
900 * Compiler.cs, XslTemplate.cs, XslTransformProcessor.cs: Store
901 variable values in the XslTransformProcessor.
902 * XsltCompiledContext.cs: If the scope is null, don't look there!
903 * Debug.cs: New method Assert
905 2003-07-30 Ben Maurer <bmaurer@users.sourceforge.net>
907 * Compiler.cs, XsltCompiledContext.cs: Remove verbose messages
908 * XslTransformProcessor.cs: Use strongtyped evaluation, using new
909 internal methods in XPathNavigator. Remove verbose debugging messages.
911 2003-07-29 Ben Maurer <bmaurer@users.sourceforge.net>