1 2004-01-16 Atsushi Enomoto <atsushi@ximian.com>
3 * XslOutput.cs : Reverted. default encoding should be utf-8.
5 2004-01-14 Jackson Harper <jackson@ximian.com>
7 * GenericOutputter.cs: Add constructors that do not take an
10 2004-01-14 Atsushi Enomoto <atsushi@ximian.com>
12 * XmlWriterEmitter.cs : It now uses WriteProcessingInstruction() to
13 write XML declaration. It means that output supports non document
14 entity. This fixes bug #52729.
15 * Emitter.cs, TextEmitter.cs, HtmlEmitter.cs, XmlWriterEmitter.cs :
16 modified WriteStartDocument() signature to receive Encoding.
17 * GenericOutputter.cs :
18 - Added .ctor() which receives Encoding. (It is used for TextWriter
19 output to get actual encoding.)
20 - Added .ctor() to take an boolean argument which indicates it is
21 variable content or not. (When variable, it does not call
22 WriteStartDocument().)
24 XsltCompiledContext.cs : comment out WriteLine().
25 * XslOutput.cs : set default encoding utf-16.
27 2004-01-08 Nick Drochak <ndrochak@ieee.org>
29 * XsltCompiledContext.cs: Remove unused variable and unreachable code.
31 2003-12-26 Atsushi Enomoto <atsushi@ximian.com>
33 * XslDecimalFormat.cs : implemented format-number() other than number
35 * XsltCompiledContext.cs : Modified XsltFormatNumber.Evaluate() to
36 catch ArgumentException which will be thrown by formatting process.
38 2003-12-23 Atsushi Enomoto <atsushi@ximian.com>
40 * ScriptCompilerInfo.cs : Use "mjs" as JScript compiler.
42 2003-12-20 Ben Maurer <bmaurer@users.sourceforge.net>
44 * XsltCompiledContext.cs: Remove workaround now that monodoc
47 2003-12-20 Atsushi Enomoto <atsushi@ximian.com>
49 * XslStylesheet.cs : considering xsl:imports, we can't handle namespace
50 aliases at compilation time, so evaluate at the first run-time.
52 2003-12-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
54 * GenericOutputter.cs : support for runtime-determined output type.
55 * HtmlEmitter.cs : Fixed invalid doctype output.
56 Fixed incorrect double attribute output on non-HTML elements.
57 Improved indentation. Fixed "selected" attribute output.
58 Don't have to convert "'" to "'".
59 * XmlWriterEmitter.cs : Now don't output incorrect doctype.
60 Escapes CDATA section text "]]>" to "...]]]]><![CDATA[>..." .
61 * XslStylesheet.cs, XsltCompiledContext.cs :
62 space resolution consideration for import and wildcard.
64 2003-12-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
66 * Compiler.cs, XslTransformProcessor.cs :
67 Use XmlValidatingReader to support id() for external stylesheets.
68 * XslKey.cs, XsltCompiledContext.cs :
69 to evaluate MatchPattern and UsePattern, SetContext() is required.
70 * XslTemplate.cs : Forgot to commit. Change is below(12/16).
72 2003-12-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
74 * Emitter.cs, HtmlEmitter.cs, XmlWriterEmitter.cs :
75 Added WriteWhitespace().
76 * GenericOutputter.cs, XslTemplate.cs : Call above.
77 * XslTransformProcessor.cs : Changed NodesetStack to ArrayList since
78 CurrentNode in for-each context have to be pulled at evaluation.
80 2003-12-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
82 * XsltCompiledContext.cs : Temporarily allow incorrectly resolved
83 function for bugzilla #52144. It should be reverted soon.
85 2003-12-12 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
87 * ScriptCompilerInfo.cs : SecurityManager.ResolvePolicy() was not
89 * MSMslScriptManager.cs : modified generated assembly class to be unique
90 through running AppDomain.
91 * XsltCompiledContext.cs : XsltExtensionFunction.Invoke() has to cast
92 arguments to actual argument types. Bugzilla #51450 should be fixed.
94 2003-12-12 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
96 * HtmlEmitter.cs : Fixed incorrect character entity output.
98 2003-12-11 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
100 * Added ScriptCompilerInfo.cs.
101 * MSXslScriptManager.cs : Fixed *true* author's name.
102 Implemented basic msxsl:script support.
103 * Compiler.cs : Added Evidence member.
105 2003-12-07 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
107 * Compiler.cs : Check stylesheet recursion. Check decimal-format name.
108 * GenericOutputter.cs, Outputter.cs, TextOutputter.cs :
109 Added WriteWhitespace() to assure not writing whitespaces as cdata.
110 * XslAttributeSet.cs : Error check if attribute-set contains other than
111 xsl:attribute. Error should be XsltException.
112 * XslDecimalFormat.cs : Complete equality check. Allow just one
113 character value for some attributes.
114 * XslStylesheet.cs : Made whitespace control setting overridable.
115 Added Version property (for the future compatibility mode).
116 Check unrecongnized top level element.
117 * XslTemplate.cs : Check priority as a number.
118 * XslTransformProcessor.cs : PushCDataState is now PushElementState,
119 for xsl:preserve-space and xsl:strip-space support.
120 * XsltCompiledContext.cs : Implemented PreserveWhitespace() (far from
121 incomplete), PushScope and Pop
123 2003-12-03 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
125 * HtmlEmitter.cs : CloseStartElement is needed almost everywhere.
127 2003-12-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
129 * Compiler.cs : In FromListString(), it should use default ns,
131 * GenericOutputter.cs : CheckState() - attribute's Prefix should take
132 precedence. Doctype should be written even if SYSTEM id is absent.
133 Fixed possible multiple xmlns output.
135 - Encoding output using META element.
136 - Doctype name is fixed (html).
137 - Double quotation on PUBLIC and SYSTEM missing.
138 - Fixed incorrect tag name check for IMG.
139 - '>' should not be escaped.
140 * XmlWriterEmitter.cs :
141 Added newline before doctype. In WriteComment(), "--" and tail
142 '-' are not allowed (it escapes, while XmlWriter simply rejects).
143 * XslTransformProcessor.cs : cdata-section-elements should enclose
144 direct child tests only. Added PreserveWhitespace() (incomplete).
145 * XsltCompiledContext.cs : Implemented PreserveWhitespace() (incomplete).
147 2003-11-28 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
149 * IdPattern.cs : This should work against multiple ids.
151 2003-11-27 Ben Maurer <bmaurer@users.sourceforge.net>
154 * MSXslScriptManager.cs
156 * XslTransformProcessor.cs
157 * XsltCompiledContext.cs: Some work on msxsl script.
159 2003-11-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
161 (in general: cdata-section-elements support, correct document()
162 base uri handling, and so on)
163 * Compiler.cs : Use XmlSpace.Preserve to parse included stylesheet.
164 And move to document element. Added XslNameUtil.FromListString().
165 * Emitter.cs, HtmlEmitter.cs, TextEmitter.cs XmlWriterEmitter.cs :
166 Added WriteCDataSection().
167 * Outputter.cs, GenericOutputter.cs, TextOutputter.cs :
168 Added InsideCDataSection.
169 * GenericOutputter.cs :
170 In .ctor(), WriteState should be succeeded from output XmlWriter.
171 WriteNamespaceDecl() now drops declaration identical to existing one.
172 Removed obsolete htmlEmulation.
173 * XslOutput.cs : Added CDataSectionElements support.
174 * XslStylesheet.cs : Added BaseUri, StyleDocument and PrefixInEffect().
175 * XslTransformProcessor.cs :
176 Added Output and CurrentOutputUri. TryStylesheetNamespaceOutput()
177 now considers xsl:exclude-element-prefixes on literal element.
178 Added PushCDataState() and PopCDataState().
179 * XsltCompiledContext.cs : When base uri of document() target is empty,
180 then it should use stylesheet's BaseURI, not that of current document.
182 2003-11-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
184 * Compiler.cs : Modified decimal-format comparison code.
187 GenericOutputter.cs : Added WriteState. Now WriteStartDocument() will
188 be called only when required.
189 * HtmlEmitter.cs : Improved indentation stuff.
190 * XslDecimalFormat.cs : Added incomplete implementation of
191 CheckSameAs() and FormatNumber().
193 XslTransformProcessor.cs : Changed XslStylesheet.StylesheetNamespaces
194 from StringDictionary to ArrayList of QName (to keep order).
196 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
198 * XsltCompiledContext.cs : XsltGenerateId.Evaluate() should consider
199 node type (i.e. attribute and namespace). Removed extraneous Clone().
200 Fixed XsltKey.Evaluate() to use MoveToNextAttribute to iterate attrs.
202 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
204 * Compiler.cs : Changed Keys from ArrayList to Hashtable.
205 XslStylesheet.cs : Added Keys support here.
206 * XslTransformProcessor.cs : Should call SetContext() to expressions
207 before evaluating current nodes.
208 * XsltCompiledContext.cs : 1) XsltDocument.GetDocument() should use
209 xsltContext. 2) XsltKey exposes KeyName, Field and NamespaceManager
210 for KeyPattern. It now uses CompiledStyle.FindKeys().
212 2003-11-13 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
214 * GenericOutputter.cs : Added HTML output support. Closer xmlns handling
215 to Xalan tests and MS.NET implementation (only for test convenience).
216 * XslOutput.cs : Indent holds string rathen than bool. Its default value
217 varies in the context. When method="html", then default is "yes".
218 * XslTransformProcessor.cs : Extension element prefixes should not
219 be written as stylesheet namespaces.
220 * XsltCompiledContext.cs : Return type of generate-id() is string.
221 Implemented unparsed-entity-uri().
223 2003-11-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
225 * Compiler.cs : More complete attribute set gathering.
226 GetNamespacesToCopy() should only return Local namespaces.
227 * GenericOutputter.cs : Added support for indentation.
228 Added easy hack for html output.
229 More correct Prefix handling (considers already defined ones).
230 Namespace emmission is moved to CheckState().
231 * Emitter.cs, XmlWriterEmitter.cs, GenericOutputter.cs, Outputter.cs :
232 Added WriteFullEndElement(). (i.e. IsEmptyElement support)
233 * GenericOutputter.cs, Outputter.cs :
234 Added CanProcessAttributes property for
235 use-attribute-sets of xsl:copy.
236 * XslStylesheet.cs : Added support for stylesheet-defined xmlns decls.
237 Added support for exclude-result-prefixes.
238 * XslTransformProcessor.cs : Added support for stylesheet-defined xmlns.
240 2003-10-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
242 * Compiler.cs : It is not important, but attribute order became closer
243 to MS.NET and Xalan (assuming from OASIS tests).
245 2003-10-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
247 * GenericOutputter.cs : Attribute wasn't overwritten its properties
248 because Attribute is struct it was let to another local variable.
250 2003-09-28 Ben Maurer <bmaurer@users.sourceforge.net>
252 * GenericOutputter.cs: make html output a warning, because doing
253 xml will be right most of the time.
255 2003-09-28 Ben Maurer <bmaurer@users.sourceforge.net>
257 * Debug.cs: comment out {Enter, Exit}Navigator. Haven't had bugs
258 here for a long time and it hurts thread safty and memory
261 2003-09-21 Ben Maurer <bmaurer@users.sourceforge.net>
263 * Compiler.cs: save the parser (will reduce memory allocation when
264 Jackson's jay patch is committed).
266 2003-09-20 Ben Maurer <bmaurer@users.sourceforge.net>
268 * Attribute.cs: Change to struct. Remove QName class.
269 * GenericOutputter.cs: use an Attribute [] rather than an
270 ArrayList. Allows us not to allocate Attributes, which is great
271 for speed. Roll our own allocation.
273 2003-09-20 Ben Maurer <bmaurer@users.sourceforge.net>
275 * Compiler.cs: add GetNsm to main class as well.
277 2003-09-20 Ben Maurer <bmaurer@users.sourceforge.net>
279 * Compiler.cs (ParseAvtAttribute): Get the attribue using our
280 internal version so we get null if the attr doesnt exist.
282 2003-09-17 Ben Maurer <bmaurer@users.sourceforge.net>
284 * Compiler.cs (IStaticXsltContext.TryGetVariable): handle the case
285 where curVarScope == null
287 2003-09-16 Ben Maurer <bmaurer@users.sourceforge.net>
290 - Better handling of empty attributes (vs not being specified)
291 - Bug in handling #default
293 2003-09-15 Ben Maurer <bmaurer@users.sourceforge.net>
295 * Compiler.cs: Off by one when parsing localname of QName
296 * XslAttributeSet.cs: must evaluate used attr sets *BEFORE*
297 children (so that they get overriden)
299 2003-09-15 Ben Maurer <bmaurer@users.sourceforge.net>
301 * GenericOutputter.cs: Output attributes in order recieved; not
302 required by spec, but useful for running test cases.
304 2003-09-14 Oleg Tkachenko <oleg@tkachenko.com>
306 * GenericOutputter.cs - fix bug with outputting state.
307 * Emitter.cs, TextEmitter.cs, XmlWriterEmitter.cs, Outputter.cs,
308 * TextOutputter.cs - get rid of WriteStartAttribute/WriteEndAttribute.
310 2003-09-13 Ben Maurer <bmaurer@users.sourceforge.net>
312 * Compiler.cs, XslKey.cs, XslTransformProcessor.cs: dont clone
313 exprs on use, pass to nav.
315 2003-09-13 Ben Maurer <bmaurer@users.sourceforge.net>
317 * Compiler.cs: pass satic context to Pattern ctor.
319 2003-08-30 Oleg Tkachenko <oleg@tkachenko.com>
322 GenericOutputter.cs - generic Outputter implementation,
323 Attribute.cs - represents outputted attribute,
324 Emitter.cs - abstract output emitter,
325 TextEmitter.cs - text emitter,
326 XmlWriterEmitter.cs - emitter to XmlWriter.
327 * Checking of duplicating attributes is done in GenericOutputter.
328 * Namespace outputting logic is implemented in GenericOutputter.
329 * Outputter.cs: Writing namespace declarations is delegated to
330 derived classes (GenericOutputter).
331 * XslOutput.cs: standalone flag is now 3-value enum (NONE, YES, NO).
333 2003-08-21 Ben Maurer <bmaurer@users.sourceforge.net>
335 * XslTransformProcessor.cs: evaluate variables at beginning
336 when / is current node.
338 2003-08-21 Ben Maurer <bmaurer@users.sourceforge.net>
340 * Compiler.cs, XsltCompiledContext.cs, XslTransformProcessorcs:
341 Fix up namespace handeling
343 2003-08-20 Ben Maurer <bmaurer@users.sourceforge.net>
345 * Compiler.cs, XslStylesheet.cs, XsltCompiledContext.cs: Stubs for
347 * XslDecimalFormat.cs: Stub for decimal-format.
349 2003-08-20 Ben Maurer <bmaurer@users.sourceforge.net>
351 * TextOutputter.cs: Add option to ignore element content (Oleg).
353 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
355 * Compiler.cs: Really give null for blank avt's
357 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
359 * Compiler.cs: Fixed lre/lre04.
361 2003-08-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
363 * Compiler.cs : Fixed XslNameUtil.FromString() so that unprefixed name
364 won't have default namespace. See http://www.w3.org/TR/xslt#qname
366 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
368 * XslTransformProcessor.cs: add support for resolving documents.
369 * XsltCompiledContext: add support for document () function.
371 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
373 * Outputter.cs, TextOutputter.cs, XmlOutputter.cs: Implement some
374 of the abstract methods in Outputter, making them call other
375 functions with default values, remove impl's in derived classes.
377 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
379 * Outputter.cs: s/Close/Done
380 * TextOutputter.cs, XmlOutputter.cs: Flush, don't close the backing.
381 * XslTransformProcessor.cs: Flush output when popping, pop at end.
383 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
385 * Outputter.cs: Add support for namespaces.
387 2003-08-19 Ben Maurer <bmaurer@users.sourceforge.net>
389 * Compiler.cs, XslOutput.cs, XslStylesheet.cs,
390 XslTransformProcessor.cs: move output logic from XslStylesheet to
393 2003-08-18 Ben Maurer <bmaurer@users.sourceforge.net>
395 * XslOutput.cs: add support for encoding.
397 2003-08-18 Ben Maurer <bmaurer@users.sourceforge.net>
399 * *.cs: Support for xsl:output. (Oleg)
401 2003-08-17 Ben Maurer <bmaurer@users.sourceforge.net>
403 * Compiler.cs: handle extension and excluded namespaces.
405 2003-08-17 Ben Maurer <bmaurer@users.sourceforge.net>
407 * XsltCompiledContext.cs, Compiler.cs: copy the XPathNavigator
408 from the stylesheet for correct namespace resolution.
410 2003-08-14 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
412 * Compiler.cs : 1) Changed public .ctor() to receive Evidence argument
413 introduced in .NET 1.1. 2) XmlResolver object is required for 'res'.
415 2003-08-07 Ben Maurer <bmaurer@users.sourceforge.net>
417 * XslTransformProcessor.cs: Add a table to detect when an object
419 * XslAttributeSet.cs: Use the above table. Dont throw nullref
420 exception when no use-attribute-sets are specified.
422 2003-08-04 Ben Maurer <bmaurer@users.sourceforge.net>
424 * Compiler.cs: Add support for boolean attributes (yes/no).
426 2003-08-04 Ben Maurer <bmaurer@users.sourceforge.net>
428 * Compiler.cs: Add method LocalNameOf, to get the local name of a
430 * XslTransformProcessor.cs: Support for setting the XmlResolver.
432 2003-08-01 Ben Maurer <bmaurer@users.sourceforge.net>
434 * Compiler.cs, XslAttributeSet.cs: Handle attribute set merging
436 2003-08-01 Ben Maurer <bmaurer@users.sourceforge.net>
438 * XslTransformProcessor.cs: Add EvaluateNumber method.
440 2003-07-31 Ben Maurer <bmaurer@users.sourceforge.net>
442 * XsltCompiledContext.cs: Implement more functions.
444 2003-07-31 Ben Maurer <bmaurer@users.sourceforge.net>
446 * Compiler.cs: Add support for key, utility function to parse
447 QName's from the XsltContext. Store keys in the CompiledStyle, not
449 * XslKey.cs: Real implementation
450 * XslStylesheet.cs: Move the keys to CompiledStyle.
451 * XsltCompiledContext.cs: Implement the key function
453 2003-07-31 Ben Maurer <bmaurer@users.sourceforge.net>
455 * XsltCompiledContext.cs: Hmm, maybe I should actually *enable*
456 the functions ;-). Also wrote current ().
458 2003-07-31 Ben Maurer <bmaurer@users.sourceforge.net>
460 * XsltCompiledContext.cs: Remove excess conversion stuff. It is
461 done in XPath. Add stubs for XSLT functions.
463 2003-07-31 Ben Maurer <bmaurer@users.sourceforge.net>
465 * Compiler.cs: To resolve a variable you now need to pass the
466 processor, so that it can be passed to IsEvaluated. A local will
467 only be resolved if it has already been evaluated.
468 * XsltCompiledContext.cs: Pass along the processor.
470 2003-07-30 Ben Maurer <bmaurer@users.sourceforge.net>
472 * Compiler.cs, XslTemplate.cs, XslTransformProcessor.cs: Store
473 variable values in the XslTransformProcessor.
474 * XsltCompiledContext.cs: If the scope is null, don't look there!
475 * Debug.cs: New method Assert
477 2003-07-30 Ben Maurer <bmaurer@users.sourceforge.net>
479 * Compiler.cs, XsltCompiledContext.cs: Remove verbose messages
480 * XslTransformProcessor.cs: Use strongtyped evaluation, using new
481 internal methods in XPathNavigator. Remove verbose debugging messages.
483 2003-07-29 Ben Maurer <bmaurer@users.sourceforge.net>