1 2005-03-08 Atsushi Enomoto <atsushi@ximian.com>
3 * GenericOutputter.cs : When WriteStartElement() requires to add
4 new namespace declaration, _currentNamespaceDecls needs to be set.
6 2005-03-08 Atsushi Enomoto <atsushi@ximian.com>
8 * GenericOutputter.cs : for duplicate attribute in an element, no need
9 to keep previous prefix.
11 2005-03-08 Atsushi Enomoto <atsushi@ximian.com>
13 * GenericOutputter.cs : Prefix "xml" is only allowed to the fixed XML
14 namespace. Rewrite prefix only when there is non-empty namespace.
16 2005-03-07 Atsushi Enomoto <atsushi@ximian.com>
18 * XslStylesheet.cs : Now namespace aliases are collected in prior to
19 all other toplevel elements. Removed unused code.
21 2005-03-07 Atsushi Enomoto <atsushi@ximian.com>
23 * GenericOutputter.cs : compute attribute prefix only when actual
24 emission. Fixed some cases that namespace output was missing.
26 2005-03-07 Atsushi Enomoto <atsushi@ximian.com>
28 * GenericOutputter.cs : no need to use two collections to store
29 pending attributes. Just use ordered ListDictionary.
30 newNamespace.Add(int) causes extraneous boxing.
32 2005-03-07 Atsushi Enomoto <atsushi@ximian.com>
34 * XslTransformProcessor.cs : renamed TryElementNamespacesOutput() to
35 OutputLiteralNamespaceUriNodes() so that everyone can understand
36 what it means and when it should be invoked.
38 2005-03-04 Atsushi Enomoto <atsushi@ximian.com>
40 * Compiler.cs : added another CompileTemplateContent() which is
41 requred in xsl:for-each. Commented out unused method.
43 2005-03-03 Atsushi Enomoto <atsushi@ximian.com>
45 * XslStylesheet.cs, XslTransformProcessor.cs : exclude-element-prefix
46 in stylesheet should be considered in TryElementNamespacesOutput().
47 ParseQNameListAttribute() is not properly working for filling
50 2005-03-02 Atsushi Enomoto <atsushi@ximian.com>
52 * XslStylesheet.cs : included stylesheet could be literal result
53 element as stylesheet (see the spec 2.6.1).
55 2005-03-02 Atsushi Enomoto <atsushi@ximian.com>
57 * GenericOutputter.cs : On WriteStartElement(), prefix should be an
58 empty string when nsURI is empty.
59 * HtmlEmitter.cs : non-HTML elements in default namespace are treated
60 unlike xml but like span, as written in the spec 16.2.
62 2005-03-02 Atsushi Enomoto <atsushi@ximian.com>
64 * XslCompiledContext.cs, XslTransformProcessor.cs :
65 According to errata E25, those namespaces 1) that has the same
66 name as current element's prefix, or an empty name when current
67 element's namespace URI is empty, are not written to output.
68 So added current element information to XPathContext and added
69 prefix parameter to PushElementState(), added xsl:copy check to
70 TryElementNamespacesOutput().
71 http://www.w3.org/1999/11/REC-xslt-19991116-errata/
73 2005-02-26 Atsushi Enomoto <atsushi@ximian.com>
75 * XslFunctions.cs : unparsed-entity-uri() should return SYSTEM ID
78 2005-02-25 Atsushi Enomoto <atsushi@ximian.com>
80 * XslTemplate.cs : According to the spec 5.7, it is an error for
81 xsl:template to have 'mode' without 'match'.
83 2005-02-24 Atsushi Enomoto <atsushi@ximian.com>
85 * Compiler.cs : added ns lookup with nsDecls Hashtable.
87 2005-02-24 Atsushi Enomoto <atsushi@ximian.com>
89 * XslStylesheet.cs : It should consider "#default" in namespace-alias.
91 2005-02-23 Atsushi Enomoto <atsushi@ximian.com>
93 * GenericOutputter.cs : It should not attempt to write prefix "xml" and
94 namespace "http://www.w3.org/XML/1998/namespace".
96 2005-02-21 Atsushi Enomoto <atsushi@ximian.com>
98 * XmlWriterEmitter.cs : PI nodes are normalized as to not contain "?>".
99 * HtmlEmitter.cs : CDATA nodes are written just as text.
100 * GenericOutputter.cs : custom format are treated just as XML output.
102 2005-02-17 Atsushi Enomoto <atsushi@ximian.com>
106 GenericOutputter.cs : removed WriteStartDocument(), WriteEndDocument()
107 and WriteState. Writing XML declaration is done inside
108 DetermineOutputMethod().
110 2005-02-17 Atsushi Enomoto <atsushi@ximian.com>
112 * Compiler.cs : reverted previous fix, since it should be done
113 in XslTransformProcessor with root stylesheet.
114 * XslTransformProcessor.cs : In TryElementNamespacesOutput(),
115 don't output alias namespaces. And now consider null exclusions.
117 2005-02-17 Atsushi Enomoto <atsushi@ximian.com>
119 * Compiler.cs : don't return alias namespaces in GetNamespacesToCopy().
121 2005-02-16 Atsushi Enomoto <atsushi@ximian.com>
123 * Compiler.cs : GetNamespacesToCopy() should also find for non-local
124 namespace nodes. Patch by Andrew Skiba with some fixes.
125 * XslTransformProcessor.cs : Patch by Andrew Skiba.
126 TryStylesheetNamespaceOutput() is now TryElementNamespacesOutput()
127 as to handle all namespace nodes to copy in stylesheet nodes.
128 Global parameterss are evaluated before global variables.
129 * XmlOutputter.cs : removed unused code.
133 * Actually variables and params should check reference recursion.
134 This patch incompletely fixes the problem.
135 * Those operations that considers excluded-result-prefixes must
136 also check those attributes of its ancestors.
138 2005-02-10 Atsushi Enomoto <atsushi@ximian.com>
140 * XmlWriterEmitter.cs : String.Replace() was insufficient for
141 sequential candidates for replacement. Patch by Andrew Skiba.
143 2005-02-10 Atsushi Enomoto <atsushi@ximian.com>
145 * GenericOutputter.cs : don't output extraneous xml declaration.
148 2005-02-09 Atsushi Enomoto <atsushi@ximian.com>
150 * XslStylesheet.cs : MS implementation had chosen to recover from
151 the error, in the way specified in the spec 7.7.1. Patch by Andrew
154 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
156 * XslTemplate.cs : if input is literal result element, it could result
157 in ArgumentException. Patch by Andrew Skiba.
159 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
161 * XslFunctions.cs : Fixed unparsed-entity-uri() that might result in
162 NullReferenceException. Patch by Andrew Skiba.
164 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
166 * XslOutput.cs : MS.NET recovers from unknown encoding according to
167 XSLT spec 16.1. Patch by Andrew Skiba.
169 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
171 * HtmlEmitter.cs : patch by Andrew Skiba.
172 Remove extra element prefix output. simplify attribute prefix output.
173 Attribute output might have resulted in invalid element stack peek.
174 Output specified media type if any.
176 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
178 * Compiler.cs : Patch by Andrew Skiba.
179 wrap internal exception with XsltCompileException.
180 Raise an error for not-found document URI.
181 QName might contain sequential whitespaces and thus could be empty.
183 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
185 * XslAttributeSet.cs : just ignore other kind of nodes than element
186 in its content. Fix by Andrew Skiba.
188 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
190 * XslOutput.cs : for html and text output mode, just set internal
191 omitXmlDeclaration status true. Patch by Andrew Skiba.
193 2005-02-08 Atsushi Enomoto <atsushi@ximian.com>
195 * XslFunctions.cs : fixed line ending mixture.
197 2005-02-03 Atsushi Enomoto <atsushi@ximian.com>
199 * ScriptCompilerInfo.cs : XsltCompileException->XsltException, just
202 2004-12-22 Atsushi Enomoto <atsushi@ximian.com>
205 Compiler.cs : XmlResolver.ResolveUri() may return null.
207 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
209 * Compiler.cs : XPathNavigatorNsm needed more love. Clone() does not
212 2004-12-01 Atsushi Enomoto <atsushi@ximian.com>
214 * Compiler.cs : don't create XPathNavigatorNsm for every GetNsm() call.
216 2004-11-26 Atsushi Enomoto <atsushi@ximian.com>
218 * XslKey.cs, XslStylesheet.cs, MSXslScriptManager.cs :
221 2004-11-24 Atsushi Enomoto <atsushi@ximian.com>
223 * XslStylesheet.cs : removed unused fields.
224 * XslOutput.cs : removed members for XSLT 2.0 (won't be implemented in
227 2004-11-08 Atsushi Enomoto <atsushi@ximian.com>
229 * Compiler.cs, XslTransformProcessor.cs :
230 when creating XmlTextReader, reuse XmlNameTable.
232 2004-11-05 Atsushi Enomoto <atsushi@ximian.com>
234 * Compiler.cs : Changes that reflects CompiledExpression changes.
236 2004-10-04 Atsushi Enomoto <atsushi@ximian.com>
238 * HtmlEmitter.cs : TH tag is not regarded as HTML tag.
239 This fixes bug #67390.
241 Thu Sep 9 07:09:11 PDT 2004 Paolo Molaro <lupus@ximian.com>
243 * ScriptCompilerInfo.cs: avoid using a .cctor and fix precomp.
245 2004-06-18 Atsushi Enomoto <atsushi@ximian.com>
247 * Debug.cs, HtmlEmitter.cs, MSXslScriptManager.cs,
248 ScriptCompilerInfo.cs, XslFunctions.cs, XslTemplate.cs
249 : Globalization. Removed unused code.
251 2004-06-14 Atsushi Enomoto <atsushi@ximian.com>
253 * XslKey.cs : Key-value search in absolute path search was
256 2004-06-14 Atsushi Enomoto <atsushi@ximian.com>
258 * HtmlEmitter.cs : Correct URL escape implementation.
260 2004-06-06 Atsushi Enomoto <atsushi@ximian.com>
262 * XslTransformProcessor.cs : On document() function, close the
263 XmlTextReader opened from uri string.
265 2004-06-03 Atsushi Enomoto <atsushi@ximian.com>
268 GenericOutputter.cs : XmlNamespaceManager.LookupPrefix() allows only
269 atomized names. Fixed XPathNavigatorNsm.LookupNamespace() that
270 should override another overload.
272 2004-05-25 Lluis Sanchez Gual <lluis@ximian.com>
274 * ScriptCompilerInfo.cs: the name used to load the Microsoft.JScript
275 assembly should not include the .dll extension.
277 2004-05-20 Atsushi Enomoto <atsushi@ximian.com>
280 - CompilePattern() now throws XsltCompileException for invalid
281 pattern, and add error location support.
282 - In Compiler.TryGetFunction(), compare namespace URI, not prefix.
283 Now it returns MSXslNodeSet instance (for msxsl:node-set).
284 * Debug.cs : don't throw System.Exception.
285 * XslFunctions.cs : Added MSXslNodeSet class.
286 * XslTemplate.cs : reflected CompilePattern() change.
287 * XslTransformProcessor.cs : don't throw System.Exception.
288 * XsltCompiledContext.cs : don't throw System.Exception.
290 2004-05-12 Atsushi Enomoto <atsushi@ximian.com>
294 XslStylesheet.cs : made classes/enums internal.
296 2004-04-24 Atsushi Enomoto <atsushi@ximian.com>
298 * Attribute.cs, Compiler.cs, Debug.cs, Emitter.cs,
299 MSXslScriptCompiler.cs, Outputter.cs, XslAttributeSet.cs,
300 XslDecimalFormat.cs, XslKey.cs, XslStylesheet.cs, XslTemplate.cs,
301 XslTransformProcessor.cs : Make extra classes internal.
303 * XslKey.cs : It should require sorting.
304 * Debug.cs : Just avoid debug output. Only who want to output should
307 2004-04-24 Atsushi Enomoto <atsushi@ximian.com>
309 * GenericOutputter.cs : Culture-independency fix.
310 Replaced StringCollection to ArrayList.
311 * XslOutput.cs : Culture-independency fix.
313 2004-04-12 Atsushi Enomoto <atsushi@ximian.com>
315 * Compiler.cs : When BaseURI is an empty string, it should not try to
316 create Uri instance. This will fix bug #56832, but not sure.
317 * XslFunctions.cs : for XsltDocument.Resolve(), did the same.
318 * HtmlEmitter.cs : Environment.NewLine was incorrectly used (it
319 should be the TextReader's NewLine).
320 * MSXslScriptManager.cs : Should raise an error when the prefix which
321 was specified by "implements-prefix" was not found.
323 2004-03-27 Atsushi Enomoto <atsushi@ximian.com>
325 * ScriptCompilerInfo.cs : #line directive now holds dummy filename
326 when BaseURI for msxsl:script node is not available. This fixes
328 Don't output line number in the error message, when it is 0.
330 2004-03-27 Atsushi Enomoto <atsushi@ximian.com>
332 * Compiler.cs : Supply NameTable to base ctor() of XPathNavigatorNsm.
334 2004-03-22 Atsushi Enomoto <atsushi@ximian.com>
339 XslTransformProcessor.cs :
340 Throw specific types of exceptions instead of Exception.
341 * XslFunctions.cs, XsltCompiledContext.cs :
342 added node argument for XsltExtensionFunction ctor() etc.
344 2004-03-22 Atsushi Enomoto <atsushi@ximian.com>
346 * ScriptCompilerInfo.cs : Modified compilation processing. Now it uses
347 CodeDom. Compilation error should be caught. This fixes bug #55875.
349 2004-03-13 Atsushi Enomoto <atsushi@ximian.com>
351 * XslStylesheet.cs : "version" attribute is also required for embedded
354 2004-03-13 Atsushi Enomoto <atsushi@ximian.com>
357 XslStylesheet.cs : Reject xsl element other than stylesheet and
358 transform. Check mandatory version attribute (only for existence).
360 2004-03-07 Atsushi Enomoto <atsushi@ximian.com>
362 * MSXslScriptManager.cs : if extension namespace was not found in
363 the script, just return null. Patch by Joshua Tauberer.
365 2004-03-01 Atsushi Enomoto <atsushi@ximian.com>
367 * XslLiteralElement.cs : quick fix for ArgumentNullException which
368 was because of the combination of non-namespaced instances and
369 exclude-result-prefixes.
371 2004-02-17 Atsushi Enomoto <atsushi@ximian.com>
373 * XsltCompiledContext.cs : Extracted XslFunctions and changed namespace
374 from Mono.Xml.Xsl.Functions to Mono.Xml.Xsl.
375 * XslFunctions.cs : hereby Added.
376 * Compiler.cs : Removed deleted usingdecl.
378 2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
380 * XslTransformProcessor.cs : Bugfix. Stored keys should be cleared.
381 * XslKey.cs : Added ExprKeyContainer expression type, which is
382 designed to be matched at any level.
383 * Compiler.cs : support for ExprKeyContainer.
385 2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
387 * XslKey.cs : Now it collects key and matching nodes at the first
388 evaluation time. After that, we can just get them from the table.
389 * Compiler.cs : Added KeyCompilationMode. It is used to prevent
390 prohibited key() usage in "match" and "use" attributes in xsl:key.
391 Modified accessibility of some classes.
392 * GenericOutputter.cs,
396 XmlWriterEmitter.cs : made classes internal.
397 * XslOutput.cs : support line info for exception.
398 * XsltCompiledContext.cs : implemented CompareDocument() - so easily.
400 2004-02-13 Atsushi Enomoto <atsushi@ximian.com>
402 * XsltCompiledContext.cs : fixed the length of context info array.
404 2004-02-10 Atsushi Enomoto <atsushi@ximian.com>
406 * XsltCompiledContext.cs :
407 replaced EnumeratorIterator with ListIterator
409 2004-02-08 Atsushi Enomoto <atsushi@ximian.com>
411 * GenericOutputter.cs,
414 XslTemplate.cs : tiny foreach elimination.
416 2004-01-16 Atsushi Enomoto <atsushi@ximian.com>
418 * XslOutput.cs : Reverted. default encoding should be utf-8.
420 2004-01-14 Jackson Harper <jackson@ximian.com>
422 * GenericOutputter.cs: Add constructors that do not take an
423 encoding to fix build.
425 2004-01-14 Atsushi Enomoto <atsushi@ximian.com>
427 * XmlWriterEmitter.cs : It now uses WriteProcessingInstruction() to
428 write XML declaration. It means that output supports non document
429 entity. This fixes bug #52729.
430 * Emitter.cs, TextEmitter.cs, HtmlEmitter.cs, XmlWriterEmitter.cs :
431 modified WriteStartDocument() signature to receive Encoding.
432 * GenericOutputter.cs :
433 - Added .ctor() which receives Encoding. (It is used for TextWriter
434 output to get actual encoding.)
435 - Added .ctor() to take an boolean argument which indicates it is
436 variable content or not. (When variable, it does not call
437 WriteStartDocument().)
439 XsltCompiledContext.cs : comment out WriteLine().
440 * XslOutput.cs : set default encoding utf-16.
442 2004-01-08 Nick Drochak <ndrochak@ieee.org>
444 * XsltCompiledContext.cs: Remove unused variable and unreachable code.
446 2003-12-26 Atsushi Enomoto <atsushi@ximian.com>
448 * XslDecimalFormat.cs : implemented format-number() other than number
450 * XsltCompiledContext.cs : Modified XsltFormatNumber.Evaluate() to
451 catch ArgumentException which will be thrown by formatting process.
453 2003-12-23 Atsushi Enomoto <atsushi@ximian.com>
455 * ScriptCompilerInfo.cs : Use "mjs" as JScript compiler.
457 2003-12-20 Ben Maurer <bmaurer@users.sourceforge.net>
459 * XsltCompiledContext.cs: Remove workaround now that monodoc
462 2003-12-20 Atsushi Enomoto <atsushi@ximian.com>
464 * XslStylesheet.cs : considering xsl:imports, we can't handle namespace
465 aliases at compilation time, so evaluate at the first run-time.
467 2003-12-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
469 * GenericOutputter.cs : support for runtime-determined output type.
470 * HtmlEmitter.cs : Fixed invalid doctype output.
471 Fixed incorrect double attribute output on non-HTML elements.
472 Improved indentation. Fixed "selected" attribute output.
473 Don't have to convert "'" to "'".
474 * XmlWriterEmitter.cs : Now don't output incorrect doctype.
475 Escapes CDATA section text "]]>" to "...]]]]><![CDATA[>..." .
476 * XslStylesheet.cs, XsltCompiledContext.cs :
477 space resolution consideration for import and wildcard.
479 2003-12-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
481 * Compiler.cs, XslTransformProcessor.cs :
482 Use XmlValidatingReader to support id() for external stylesheets.
483 * XslKey.cs, XsltCompiledContext.cs :
484 to evaluate MatchPattern and UsePattern, SetContext() is required.
485 * XslTemplate.cs : Forgot to commit. Change is below(12/16).
487 2003-12-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
489 * Emitter.cs, HtmlEmitter.cs, XmlWriterEmitter.cs :
490 Added WriteWhitespace().
491 * GenericOutputter.cs, XslTemplate.cs : Call above.
492 * XslTransformProcessor.cs : Changed NodesetStack to ArrayList since
493 CurrentNode in for-each context have to be pulled at evaluation.
495 2003-12-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
497 * XsltCompiledContext.cs : Temporarily allow incorrectly resolved
498 function for bugzilla #52144. It should be reverted soon.
500 2003-12-12 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
502 * ScriptCompilerInfo.cs : SecurityManager.ResolvePolicy() was not
504 * MSMslScriptManager.cs : modified generated assembly class to be unique
505 through running AppDomain.
506 * XsltCompiledContext.cs : XsltExtensionFunction.Invoke() has to cast
507 arguments to actual argument types. Bugzilla #51450 should be fixed.
509 2003-12-12 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
511 * HtmlEmitter.cs : Fixed incorrect character entity output.
513 2003-12-11 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
515 * Added ScriptCompilerInfo.cs.
516 * MSXslScriptManager.cs : Fixed *true* author's name.
517 Implemented basic msxsl:script support.
518 * Compiler.cs : Added Evidence member.
520 2003-12-07 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
522 * Compiler.cs : Check stylesheet recursion. Check decimal-format name.
523 * GenericOutputter.cs, Outputter.cs, TextOutputter.cs :
524 Added WriteWhitespace() to assure not writing whitespaces as cdata.
525 * XslAttributeSet.cs : Error check if attribute-set contains other than
526 xsl:attribute. Error should be XsltException.
527 * XslDecimalFormat.cs : Complete equality check. Allow just one
528 character value for some attributes.
529 * XslStylesheet.cs : Made whitespace control setting overridable.
530 Added Version property (for the future compatibility mode).
531 Check unrecongnized top level element.
532 * XslTemplate.cs : Check priority as a number.
533 * XslTransformProcessor.cs : PushCDataState is now PushElementState,
534 for xsl:preserve-space and xsl:strip-space support.
535 * XsltCompiledContext.cs : Implemented PreserveWhitespace() (far from
536 incomplete), PushScope and Pop
538 2003-12-03 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
540 * HtmlEmitter.cs : CloseStartElement is needed almost everywhere.
542 2003-12-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
544 * Compiler.cs : In FromListString(), it should use default ns,
546 * GenericOutputter.cs : CheckState() - attribute's Prefix should take
547 precedence. Doctype should be written even if SYSTEM id is absent.
548 Fixed possible multiple xmlns output.
550 - Encoding output using META element.
551 - Doctype name is fixed (html).
552 - Double quotation on PUBLIC and SYSTEM missing.
553 - Fixed incorrect tag name check for IMG.
554 - '>' should not be escaped.
555 * XmlWriterEmitter.cs :
556 Added newline before doctype. In WriteComment(), "--" and tail
557 '-' are not allowed (it escapes, while XmlWriter simply rejects).
558 * XslTransformProcessor.cs : cdata-section-elements should enclose
559 direct child tests only. Added PreserveWhitespace() (incomplete).
560 * XsltCompiledContext.cs : Implemented PreserveWhitespace() (incomplete).
562 2003-11-28 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
564 * IdPattern.cs : This should work against multiple ids.
566 2003-11-27 Ben Maurer <bmaurer@users.sourceforge.net>
569 * MSXslScriptManager.cs
571 * XslTransformProcessor.cs
572 * XsltCompiledContext.cs: Some work on msxsl script.
574 2003-11-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
576 (in general: cdata-section-elements support, correct document()
577 base uri handling, and so on)
578 * Compiler.cs : Use XmlSpace.Preserve to parse included stylesheet.
579 And move to document element. Added XslNameUtil.FromListString().
580 * Emitter.cs, HtmlEmitter.cs, TextEmitter.cs XmlWriterEmitter.cs :
581 Added WriteCDataSection().
582 * Outputter.cs, GenericOutputter.cs, TextOutputter.cs :
583 Added InsideCDataSection.
584 * GenericOutputter.cs :
585 In .ctor(), WriteState should be succeeded from output XmlWriter.
586 WriteNamespaceDecl() now drops declaration identical to existing one.
587 Removed obsolete htmlEmulation.
588 * XslOutput.cs : Added CDataSectionElements support.
589 * XslStylesheet.cs : Added BaseUri, StyleDocument and PrefixInEffect().
590 * XslTransformProcessor.cs :
591 Added Output and CurrentOutputUri. TryStylesheetNamespaceOutput()
592 now considers xsl:exclude-element-prefixes on literal element.
593 Added PushCDataState() and PopCDataState().
594 * XsltCompiledContext.cs : When base uri of document() target is empty,
595 then it should use stylesheet's BaseURI, not that of current document.
597 2003-11-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
599 * Compiler.cs : Modified decimal-format comparison code.
602 GenericOutputter.cs : Added WriteState. Now WriteStartDocument() will
603 be called only when required.
604 * HtmlEmitter.cs : Improved indentation stuff.
605 * XslDecimalFormat.cs : Added incomplete implementation of
606 CheckSameAs() and FormatNumber().
608 XslTransformProcessor.cs : Changed XslStylesheet.StylesheetNamespaces
609 from StringDictionary to ArrayList of QName (to keep order).
611 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
613 * XsltCompiledContext.cs : XsltGenerateId.Evaluate() should consider
614 node type (i.e. attribute and namespace). Removed extraneous Clone().
615 Fixed XsltKey.Evaluate() to use MoveToNextAttribute to iterate attrs.
617 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
619 * Compiler.cs : Changed Keys from ArrayList to Hashtable.
620 XslStylesheet.cs : Added Keys support here.
621 * XslTransformProcessor.cs : Should call SetContext() to expressions
622 before evaluating current nodes.
623 * XsltCompiledContext.cs : 1) XsltDocument.GetDocument() should use
624 xsltContext. 2) XsltKey exposes KeyName, Field and NamespaceManager
625 for KeyPattern. It now uses CompiledStyle.FindKeys().
627 2003-11-13 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
629 * GenericOutputter.cs : Added HTML output support. Closer xmlns handling
630 to Xalan tests and MS.NET implementation (only for test convenience).
631 * XslOutput.cs : Indent holds string rathen than bool. Its default value
632 varies in the context. When method="html", then default is "yes".
633 * XslTransformProcessor.cs : Extension element prefixes should not
634 be written as stylesheet namespaces.
635 * XsltCompiledContext.cs : Return type of generate-id() is string.
636 Implemented unparsed-entity-uri().
638 2003-11-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
640 * Compiler.cs : More complete attribute set gathering.
641 GetNamespacesToCopy() should only return Local namespaces.
642 * GenericOutputter.cs : Added support for indentation.
643 Added easy hack for html output.
644 More correct Prefix handling (considers already defined ones).
645 Namespace emmission is moved to CheckState().
646 * Emitter.cs, XmlWriterEmitter.cs, GenericOutputter.cs, Outputter.cs :
647 Added WriteFullEndElement(). (i.e. IsEmptyElement support)
648 * GenericOutputter.cs, Outputter.cs :
649 Added CanProcessAttributes property for
650 use-attribute-sets of xsl:copy.
651 * XslStylesheet.cs : Added support for stylesheet-defined xmlns decls.
652 Added support for exclude-result-prefixes.
653 * XslTransformProcessor.cs : Added support for stylesheet-defined xmlns.
655 2003-10-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
657 * Compiler.cs : It is not important, but attribute order became closer
658 to MS.NET and Xalan (assuming from OASIS tests).
660 2003-10-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
662 * GenericOutputter.cs : Attribute wasn't overwritten its properties
663 because Attribute is struct it was let to another local variable.
665 2003-09-28 Ben Maurer <bmaurer@users.sourceforge.net>
667 * GenericOutputter.cs: make html output a warning, because doing
668 xml will be right most of the time.
670 2003-09-28 Ben Maurer <bmaurer@users.sourceforge.net>
672 * Debug.cs: comment out {Enter, Exit}Navigator. Haven't had bugs
673 here for a long time and it hurts thread safty and memory
676 2003-09-21 Ben Maurer <bmaurer@users.sourceforge.net>
678 * Compiler.cs: save the parser (will reduce memory allocation when
679 Jackson's jay patch is committed).
681 2003-09-20 Ben Maurer <bmaurer@users.sourceforge.net>
683 * Attribute.cs: Change to struct. Remove QName class.
684 * GenericOutputter.cs: use an Attribute [] rather than an
685 ArrayList. Allows us not to allocate Attributes, which is great
686 for speed. Roll our own allocation.
688 2003-09-20 Ben Maurer <bmaurer@users.sourceforge.net>
690 * Compiler.cs: add GetNsm to main class as well.
692 2003-09-20 Ben Maurer <bmaurer@users.sourceforge.net>
694 * Compiler.cs (ParseAvtAttribute): Get the attribue using our
695 internal version so we get null if the attr doesnt exist.
697 2003-09-17 Ben Maurer <bmaurer@users.sourceforge.net>
699 * Compiler.cs (IStaticXsltContext.TryGetVariable): handle the case
700 where curVarScope == null
702 2003-09-16 Ben Maurer <bmaurer@users.sourceforge.net>
705 - Better handling of empty attributes (vs not being specified)
706 - Bug in handling #default
708 2003-09-15 Ben Maurer <bmaurer@users.sourceforge.net>
710 * Compiler.cs: Off by one when parsing localname of QName
711 * XslAttributeSet.cs: must evaluate used attr sets *BEFORE*
712 children (so that they get overriden)
714 2003-09-15 Ben Maurer <bmaurer@users.sourceforge.net>
716 * GenericOutputter.cs: Output attributes in order recieved; not
717 required by spec, but useful for running test cases.
719 2003-09-14 Oleg Tkachenko <oleg@tkachenko.com>
721 * GenericOutputter.cs - fix bug with outputting state.
722 * Emitter.cs, TextEmitter.cs, XmlWriterEmitter.cs, Outputter.cs,
723 * TextOutputter.cs - get rid of WriteStartAttribute/WriteEndAttribute.
725 2003-09-13 Ben Maurer <bmaurer@users.sourceforge.net>
727 * Compiler.cs, XslKey.cs, XslTransformProcessor.cs: dont clone
728 exprs on use, pass to nav.
730 2003-09-13 Ben Maurer <bmaurer@users.sourceforge.net>
732 * Compiler.cs: pass satic context to Pattern ctor.
734 2003-08-30 Oleg Tkachenko <oleg@tkachenko.com>
737 GenericOutputter.cs - generic Outputter implementation,
738 Attribute.cs - represents outputted attribute,
739 Emitter.cs - abstract output emitter,
740 TextEmitter.cs - text emitter,
741 XmlWriterEmitter.cs - emitter to XmlWriter.
742 * Checking of duplicating attributes is done in GenericOutputter.
743 * Namespace outputting logic is implemented in GenericOutputter.
744 * Outputter.cs: Writing namespace declarations is delegated to
745 derived classes (GenericOutputter).
746 * XslOutput.cs: standalone flag is now 3-value enum (NONE, YES, NO).
748 2003-08-21 Ben Maurer <bmaurer@users.sourceforge.net>
750 * XslTransformProcessor.cs: evaluate variables at beginning
751 when / is current node.
753 2003-08-21 Ben Maurer <bmaurer@users.sourceforge.net>
755 * Compiler.cs, XsltCompiledContext.cs, XslTransformProcessorcs:
756 Fix up namespace handeling
758 2003-08-20 Ben Maurer <bmaurer@users.sourceforge.net>
760 * Compiler.cs, XslStylesheet.cs, XsltCompiledContext.cs: Stubs for
762 * XslDecimalFormat.cs: Stub for decimal-format.
764 2003-08-20 Ben Maurer <bmaurer@users.sourceforge.net>
766 * TextOutputter.cs: Add option to ignore element content (Oleg).
768 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
770 * Compiler.cs: Really give null for blank avt's
772 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
774 * Compiler.cs: Fixed lre/lre04.
776 2003-08-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
778 * Compiler.cs : Fixed XslNameUtil.FromString() so that unprefixed name
779 won't have default namespace. See http://www.w3.org/TR/xslt#qname
781 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
783 * XslTransformProcessor.cs: add support for resolving documents.
784 * XsltCompiledContext: add support for document () function.
786 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
788 * Outputter.cs, TextOutputter.cs, XmlOutputter.cs: Implement some
789 of the abstract methods in Outputter, making them call other
790 functions with default values, remove impl's in derived classes.
792 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
794 * Outputter.cs: s/Close/Done
795 * TextOutputter.cs, XmlOutputter.cs: Flush, don't close the backing.
796 * XslTransformProcessor.cs: Flush output when popping, pop at end.
798 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
800 * Outputter.cs: Add support for namespaces.
802 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
804 * Compiler.cs, XslOutput.cs, XslStylesheet.cs,
805 XslTransformProcessor.cs: move output logic from XslStylesheet to
808 2003-08-18 Ben Maurer <bmaurer@users.sourceforge.net>
810 * XslOutput.cs: add support for encoding.
812 2003-08-18 Ben Maurer <bmaurer@users.sourceforge.net>
814 * *.cs: Support for xsl:output. (Oleg)
816 2003-08-17 Ben Maurer <bmaurer@users.sourceforge.net>
818 * Compiler.cs: handle extension and excluded namespaces.
820 2003-08-17 Ben Maurer <bmaurer@users.sourceforge.net>
822 * XsltCompiledContext.cs, Compiler.cs: copy the XPathNavigator
823 from the stylesheet for correct namespace resolution.
825 2003-08-14 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
827 * Compiler.cs : 1) Changed public .ctor() to receive Evidence argument
828 introduced in .NET 1.1. 2) XmlResolver object is required for 'res'.
830 2003-08-07 Ben Maurer <bmaurer@users.sourceforge.net>
832 * XslTransformProcessor.cs: Add a table to detect when an object
834 * XslAttributeSet.cs: Use the above table. Dont throw nullref
835 exception when no use-attribute-sets are specified.
837 2003-08-04 Ben Maurer <bmaurer@users.sourceforge.net>
839 * Compiler.cs: Add support for boolean attributes (yes/no).
841 2003-08-04 Ben Maurer <bmaurer@users.sourceforge.net>
843 * Compiler.cs: Add method LocalNameOf, to get the local name of a
845 * XslTransformProcessor.cs: Support for setting the XmlResolver.
847 2003-08-01 Ben Maurer <bmaurer@users.sourceforge.net>
849 * Compiler.cs, XslAttributeSet.cs: Handle attribute set merging
851 2003-08-01 Ben Maurer <bmaurer@users.sourceforge.net>
853 * XslTransformProcessor.cs: Add EvaluateNumber method.
855 2003-07-31 Ben Maurer <bmaurer@users.sourceforge.net>
857 * XsltCompiledContext.cs: Implement more functions.
859 2003-07-31 Ben Maurer <bmaurer@users.sourceforge.net>
861 * Compiler.cs: Add support for key, utility function to parse
862 QName's from the XsltContext. Store keys in the CompiledStyle, not
864 * XslKey.cs: Real implementation
865 * XslStylesheet.cs: Move the keys to CompiledStyle.
866 * XsltCompiledContext.cs: Implement the key function
868 2003-07-31 Ben Maurer <bmaurer@users.sourceforge.net>
870 * XsltCompiledContext.cs: Hmm, maybe I should actually *enable*
871 the functions ;-). Also wrote current ().
873 2003-07-31 Ben Maurer <bmaurer@users.sourceforge.net>
875 * XsltCompiledContext.cs: Remove excess conversion stuff. It is
876 done in XPath. Add stubs for XSLT functions.
878 2003-07-31 Ben Maurer <bmaurer@users.sourceforge.net>
880 * Compiler.cs: To resolve a variable you now need to pass the
881 processor, so that it can be passed to IsEvaluated. A local will
882 only be resolved if it has already been evaluated.
883 * XsltCompiledContext.cs: Pass along the processor.
885 2003-07-30 Ben Maurer <bmaurer@users.sourceforge.net>
887 * Compiler.cs, XslTemplate.cs, XslTransformProcessor.cs: Store
888 variable values in the XslTransformProcessor.
889 * XsltCompiledContext.cs: If the scope is null, don't look there!
890 * Debug.cs: New method Assert
892 2003-07-30 Ben Maurer <bmaurer@users.sourceforge.net>
894 * Compiler.cs, XsltCompiledContext.cs: Remove verbose messages
895 * XslTransformProcessor.cs: Use strongtyped evaluation, using new
896 internal methods in XPathNavigator. Remove verbose debugging messages.
898 2003-07-29 Ben Maurer <bmaurer@users.sourceforge.net>