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