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