2004-01-16 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mcs / class / System.XML / Mono.Xml.Xsl / ChangeLog
1 2004-01-16 Atsushi Enomoto <atsushi@ximian.com>
2
3         * XslOutput.cs : Reverted. default encoding should be utf-8.
4
5 2004-01-14  Jackson Harper <jackson@ximian.com>
6
7         * GenericOutputter.cs: Add constructors that do not take an
8         encoding to fix build.
9         
10 2004-01-14 Atsushi Enomoto <atsushi@ximian.com>
11
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().)
23         * XslKey.cs,
24           XsltCompiledContext.cs : comment out WriteLine().
25         * XslOutput.cs : set default encoding utf-16.
26
27 2004-01-08  Nick Drochak <ndrochak@ieee.org>
28
29         * XsltCompiledContext.cs: Remove unused variable and unreachable code.
30
31 2003-12-26 Atsushi Enomoto <atsushi@ximian.com>
32
33         * XslDecimalFormat.cs : implemented format-number() other than number
34           grouping.
35         * XsltCompiledContext.cs : Modified XsltFormatNumber.Evaluate() to
36           catch ArgumentException which will be thrown by formatting process.
37
38 2003-12-23 Atsushi Enomoto <atsushi@ximian.com>
39
40         * ScriptCompilerInfo.cs : Use "mjs" as JScript compiler.
41
42 2003-12-20 Ben Maurer  <bmaurer@users.sourceforge.net>
43
44         * XsltCompiledContext.cs: Remove workaround now that monodoc
45         is fixed.
46
47 2003-12-20 Atsushi Enomoto <atsushi@ximian.com>
48
49         * XslStylesheet.cs : considering xsl:imports, we can't handle namespace
50           aliases at compilation time, so evaluate at the first run-time.
51
52 2003-12-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
53
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 "&apos;".
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.
63
64 2003-12-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
65
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).
71
72 2003-12-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
73
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.
79
80 2003-12-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
81
82         * XsltCompiledContext.cs : Temporarily allow incorrectly resolved
83           function for bugzilla #52144. It should be reverted soon.
84
85 2003-12-12 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
86
87         * ScriptCompilerInfo.cs : SecurityManager.ResolvePolicy() was not 
88           implemented yet.
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.
93
94 2003-12-12 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
95
96         * HtmlEmitter.cs : Fixed incorrect character entity output.
97
98 2003-12-11 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
99
100         * Added ScriptCompilerInfo.cs.
101         * MSXslScriptManager.cs : Fixed *true* author's name.
102           Implemented basic msxsl:script support.
103         * Compiler.cs : Added Evidence member.
104
105 2003-12-07 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
106
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
122
123 2003-12-03 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
124
125         * HtmlEmitter.cs : CloseStartElement is needed almost everywhere.
126
127 2003-12-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
128
129         * Compiler.cs : In FromListString(), it should use default ns,
130           not unqualified one.
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.
134         * HtmlEmitter.cs :
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).
146
147 2003-11-28 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
148
149         * IdPattern.cs : This should work against multiple ids.
150
151 2003-11-27 Ben Maurer  <bmaurer@users.sourceforge.net>
152
153         * Compiler.cs
154         * MSXslScriptManager.cs
155         * XslStylesheet.cs
156         * XslTransformProcessor.cs
157         * XsltCompiledContext.cs: Some work on msxsl script.
158
159 2003-11-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
160
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.
181
182 2003-11-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
183
184         * Compiler.cs : Modified decimal-format comparison code.
185         * Outputter.cs,
186           TextOutputter.cs,
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().
192         * XslStylesheet.cs,
193           XslTransformProcessor.cs : Changed XslStylesheet.StylesheetNamespaces
194           from StringDictionary to ArrayList of QName (to keep order).
195
196 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
197
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.
201
202 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
203
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().
211
212 2003-11-13 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
213
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().
222
223 2003-11-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
224
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.
239
240 2003-10-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
241
242         * Compiler.cs : It is not important, but attribute order became closer
243           to MS.NET and Xalan (assuming from OASIS tests).
244
245 2003-10-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
246
247         * GenericOutputter.cs : Attribute wasn't overwritten its properties
248           because Attribute is struct it was let to another local variable.
249
250 2003-09-28 Ben Maurer  <bmaurer@users.sourceforge.net>
251
252         * GenericOutputter.cs: make html output a warning, because doing
253         xml will be right most of the time.
254
255 2003-09-28 Ben Maurer  <bmaurer@users.sourceforge.net>
256
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
259         allocation.
260
261 2003-09-21 Ben Maurer  <bmaurer@users.sourceforge.net>
262
263         * Compiler.cs: save the parser (will reduce memory allocation when
264         Jackson's jay patch is committed).
265
266 2003-09-20 Ben Maurer  <bmaurer@users.sourceforge.net>
267
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.
272
273 2003-09-20 Ben Maurer  <bmaurer@users.sourceforge.net>
274
275         * Compiler.cs: add GetNsm to main class as well.
276
277 2003-09-20 Ben Maurer  <bmaurer@users.sourceforge.net>
278
279         * Compiler.cs (ParseAvtAttribute): Get the attribue using our
280         internal version so we get null if the attr doesnt exist.
281
282 2003-09-17 Ben Maurer  <bmaurer@users.sourceforge.net>
283
284         * Compiler.cs (IStaticXsltContext.TryGetVariable): handle the case
285         where curVarScope == null
286
287 2003-09-16 Ben Maurer  <bmaurer@users.sourceforge.net>
288
289         * Compiler.cs: 
290         - Better handling of empty attributes (vs not being specified)
291         - Bug in handling #default
292         
293 2003-09-15 Ben Maurer  <bmaurer@users.sourceforge.net>
294
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)
298
299 2003-09-15 Ben Maurer  <bmaurer@users.sourceforge.net>
300
301         * GenericOutputter.cs: Output attributes in order recieved; not
302         required by spec, but useful for running test cases.
303
304 2003-09-14 Oleg Tkachenko <oleg@tkachenko.com>
305
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.  
309
310 2003-09-13 Ben Maurer  <bmaurer@users.sourceforge.net>
311
312         * Compiler.cs, XslKey.cs, XslTransformProcessor.cs: dont clone
313         exprs on use, pass to nav.
314
315 2003-09-13 Ben Maurer  <bmaurer@users.sourceforge.net>
316
317         * Compiler.cs: pass satic context to Pattern ctor.
318
319 2003-08-30 Oleg Tkachenko <oleg@tkachenko.com>
320
321         * New files: 
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).                    
332          
333 2003-08-21 Ben Maurer  <bmaurer@users.sourceforge.net>
334
335         * XslTransformProcessor.cs: evaluate variables at beginning
336         when / is current node.
337
338 2003-08-21 Ben Maurer  <bmaurer@users.sourceforge.net>
339
340         * Compiler.cs, XsltCompiledContext.cs, XslTransformProcessorcs:
341         Fix up namespace handeling
342
343 2003-08-20 Ben Maurer  <bmaurer@users.sourceforge.net>
344
345         * Compiler.cs, XslStylesheet.cs, XsltCompiledContext.cs: Stubs for
346         format-number.
347         * XslDecimalFormat.cs: Stub for decimal-format.
348
349 2003-08-20 Ben Maurer  <bmaurer@users.sourceforge.net>
350
351         * TextOutputter.cs: Add option to ignore element content (Oleg).
352
353 2003-08-19 Ben Maurer  <bmaurer@users.sourceforge.net>
354
355         * Compiler.cs: Really give null for blank avt's
356
357 2003-08-19 Ben Maurer  <bmaurer@users.sourceforge.net>
358
359         * Compiler.cs: Fixed lre/lre04.
360
361 2003-08-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
362
363         * Compiler.cs : Fixed XslNameUtil.FromString() so that unprefixed name
364           won't have default namespace. See http://www.w3.org/TR/xslt#qname
365
366 2003-08-19 Ben Maurer  <bmaurer@users.sourceforge.net>
367
368         * XslTransformProcessor.cs: add support for resolving documents.
369         * XsltCompiledContext: add support for document () function.
370
371 2003-08-19 Ben Maurer  <bmaurer@users.sourceforge.net>
372
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.
376
377 2003-08-19 Ben Maurer  <bmaurer@users.sourceforge.net>
378
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.
382
383 2003-08-19 Ben Maurer  <bmaurer@users.sourceforge.net>
384
385         * Outputter.cs: Add support for namespaces.
386
387 2003-08-19 Ben Maurer  <bmaurer@users.sourceforge.net>
388
389         * Compiler.cs, XslOutput.cs, XslStylesheet.cs,
390         XslTransformProcessor.cs: move output logic from XslStylesheet to
391         Compiler.
392
393 2003-08-18 Ben Maurer  <bmaurer@users.sourceforge.net>
394
395         * XslOutput.cs: add support for encoding.
396
397 2003-08-18 Ben Maurer  <bmaurer@users.sourceforge.net>
398
399         * *.cs: Support for xsl:output. (Oleg)
400
401 2003-08-17 Ben Maurer  <bmaurer@users.sourceforge.net>
402
403         * Compiler.cs: handle extension and excluded namespaces.
404
405 2003-08-17 Ben Maurer  <bmaurer@users.sourceforge.net>
406
407         * XsltCompiledContext.cs, Compiler.cs: copy the XPathNavigator
408         from the stylesheet for correct namespace resolution.
409
410 2003-08-14 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
411
412         * Compiler.cs : 1) Changed public .ctor() to receive Evidence argument 
413           introduced in .NET 1.1. 2) XmlResolver object is required for 'res'.
414
415 2003-08-07 Ben Maurer  <bmaurer@users.sourceforge.net>
416
417         * XslTransformProcessor.cs: Add a table to detect when an object
418         is busy.
419         * XslAttributeSet.cs: Use the above table. Dont throw nullref
420         exception when no use-attribute-sets are specified.
421
422 2003-08-04 Ben Maurer  <bmaurer@users.sourceforge.net>
423
424         * Compiler.cs: Add support for boolean attributes (yes/no).
425
426 2003-08-04 Ben Maurer  <bmaurer@users.sourceforge.net>
427
428         * Compiler.cs: Add method LocalNameOf, to get the local name of a
429         string.
430         * XslTransformProcessor.cs: Support for setting the XmlResolver.
431
432 2003-08-01 Ben Maurer  <bmaurer@users.sourceforge.net>
433
434         * Compiler.cs, XslAttributeSet.cs: Handle attribute set merging
435
436 2003-08-01 Ben Maurer  <bmaurer@users.sourceforge.net>
437
438         * XslTransformProcessor.cs: Add EvaluateNumber method.
439
440 2003-07-31 Ben Maurer  <bmaurer@users.sourceforge.net>
441
442         * XsltCompiledContext.cs: Implement more functions.
443
444 2003-07-31 Ben Maurer  <bmaurer@users.sourceforge.net>
445
446         * Compiler.cs: Add support for key, utility function to parse
447         QName's from the XsltContext. Store keys in the CompiledStyle, not
448         in the Stylesheet.
449         * XslKey.cs: Real implementation
450         * XslStylesheet.cs: Move the keys to CompiledStyle.
451         * XsltCompiledContext.cs: Implement the key function
452
453 2003-07-31 Ben Maurer  <bmaurer@users.sourceforge.net>
454
455         * XsltCompiledContext.cs: Hmm, maybe I should actually *enable*
456         the functions ;-). Also wrote current ().
457
458 2003-07-31 Ben Maurer  <bmaurer@users.sourceforge.net>
459
460         * XsltCompiledContext.cs: Remove excess conversion stuff. It is
461         done in XPath. Add stubs for XSLT functions.
462
463 2003-07-31 Ben Maurer  <bmaurer@users.sourceforge.net>
464
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.
469         
470 2003-07-30 Ben Maurer  <bmaurer@users.sourceforge.net>
471
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
476
477 2003-07-30 Ben Maurer  <bmaurer@users.sourceforge.net>
478
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.
482
483 2003-07-29 Ben Maurer  <bmaurer@users.sourceforge.net>
484
485         * Initial Checkin
486