2003-12-26 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mcs / class / System.XML / Mono.Xml.Xsl / ChangeLog
1 2003-12-26 Atsushi Enomoto <atsushi@ximian.com>
2
3         * XslDecimalFormat.cs : implemented format-number() other than number
4           grouping.
5         * XsltCompiledContext.cs : Modified XsltFormatNumber.Evaluate() to
6           catch ArgumentException which will be thrown by formatting process.
7
8 2003-12-23 Atsushi Enomoto <atsushi@ximian.com>
9
10         * ScriptCompilerInfo.cs : Use "mjs" as JScript compiler.
11
12 2003-12-20 Ben Maurer  <bmaurer@users.sourceforge.net>
13
14         * XsltCompiledContext.cs: Remove workaround now that monodoc
15         is fixed.
16
17 2003-12-20 Atsushi Enomoto <atsushi@ximian.com>
18
19         * XslStylesheet.cs : considering xsl:imports, we can't handle namespace
20           aliases at compilation time, so evaluate at the first run-time.
21
22 2003-12-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
23
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 "&apos;".
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.
33
34 2003-12-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
35
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).
41
42 2003-12-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
43
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.
49
50 2003-12-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
51
52         * XsltCompiledContext.cs : Temporarily allow incorrectly resolved
53           function for bugzilla #52144. It should be reverted soon.
54
55 2003-12-12 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
56
57         * ScriptCompilerInfo.cs : SecurityManager.ResolvePolicy() was not 
58           implemented yet.
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.
63
64 2003-12-12 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
65
66         * HtmlEmitter.cs : Fixed incorrect character entity output.
67
68 2003-12-11 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
69
70         * Added ScriptCompilerInfo.cs.
71         * MSXslScriptManager.cs : Fixed *true* author's name.
72           Implemented basic msxsl:script support.
73         * Compiler.cs : Added Evidence member.
74
75 2003-12-07 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
76
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
92
93 2003-12-03 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
94
95         * HtmlEmitter.cs : CloseStartElement is needed almost everywhere.
96
97 2003-12-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
98
99         * Compiler.cs : In FromListString(), it should use default ns,
100           not unqualified one.
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.
104         * HtmlEmitter.cs :
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).
116
117 2003-11-28 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
118
119         * IdPattern.cs : This should work against multiple ids.
120
121 2003-11-27 Ben Maurer  <bmaurer@users.sourceforge.net>
122
123         * Compiler.cs
124         * MSXslScriptManager.cs
125         * XslStylesheet.cs
126         * XslTransformProcessor.cs
127         * XsltCompiledContext.cs: Some work on msxsl script.
128
129 2003-11-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
130
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.
151
152 2003-11-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
153
154         * Compiler.cs : Modified decimal-format comparison code.
155         * Outputter.cs,
156           TextOutputter.cs,
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().
162         * XslStylesheet.cs,
163           XslTransformProcessor.cs : Changed XslStylesheet.StylesheetNamespaces
164           from StringDictionary to ArrayList of QName (to keep order).
165
166 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
167
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.
171
172 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
173
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().
181
182 2003-11-13 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
183
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().
192
193 2003-11-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
194
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.
209
210 2003-10-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
211
212         * Compiler.cs : It is not important, but attribute order became closer
213           to MS.NET and Xalan (assuming from OASIS tests).
214
215 2003-10-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
216
217         * GenericOutputter.cs : Attribute wasn't overwritten its properties
218           because Attribute is struct it was let to another local variable.
219
220 2003-09-28 Ben Maurer  <bmaurer@users.sourceforge.net>
221
222         * GenericOutputter.cs: make html output a warning, because doing
223         xml will be right most of the time.
224
225 2003-09-28 Ben Maurer  <bmaurer@users.sourceforge.net>
226
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
229         allocation.
230
231 2003-09-21 Ben Maurer  <bmaurer@users.sourceforge.net>
232
233         * Compiler.cs: save the parser (will reduce memory allocation when
234         Jackson's jay patch is committed).
235
236 2003-09-20 Ben Maurer  <bmaurer@users.sourceforge.net>
237
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.
242
243 2003-09-20 Ben Maurer  <bmaurer@users.sourceforge.net>
244
245         * Compiler.cs: add GetNsm to main class as well.
246
247 2003-09-20 Ben Maurer  <bmaurer@users.sourceforge.net>
248
249         * Compiler.cs (ParseAvtAttribute): Get the attribue using our
250         internal version so we get null if the attr doesnt exist.
251
252 2003-09-17 Ben Maurer  <bmaurer@users.sourceforge.net>
253
254         * Compiler.cs (IStaticXsltContext.TryGetVariable): handle the case
255         where curVarScope == null
256
257 2003-09-16 Ben Maurer  <bmaurer@users.sourceforge.net>
258
259         * Compiler.cs: 
260         - Better handling of empty attributes (vs not being specified)
261         - Bug in handling #default
262         
263 2003-09-15 Ben Maurer  <bmaurer@users.sourceforge.net>
264
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)
268
269 2003-09-15 Ben Maurer  <bmaurer@users.sourceforge.net>
270
271         * GenericOutputter.cs: Output attributes in order recieved; not
272         required by spec, but useful for running test cases.
273
274 2003-09-14 Oleg Tkachenko <oleg@tkachenko.com>
275
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.  
279
280 2003-09-13 Ben Maurer  <bmaurer@users.sourceforge.net>
281
282         * Compiler.cs, XslKey.cs, XslTransformProcessor.cs: dont clone
283         exprs on use, pass to nav.
284
285 2003-09-13 Ben Maurer  <bmaurer@users.sourceforge.net>
286
287         * Compiler.cs: pass satic context to Pattern ctor.
288
289 2003-08-30 Oleg Tkachenko <oleg@tkachenko.com>
290
291         * New files: 
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).                    
302          
303 2003-08-21 Ben Maurer  <bmaurer@users.sourceforge.net>
304
305         * XslTransformProcessor.cs: evaluate variables at beginning
306         when / is current node.
307
308 2003-08-21 Ben Maurer  <bmaurer@users.sourceforge.net>
309
310         * Compiler.cs, XsltCompiledContext.cs, XslTransformProcessorcs:
311         Fix up namespace handeling
312
313 2003-08-20 Ben Maurer  <bmaurer@users.sourceforge.net>
314
315         * Compiler.cs, XslStylesheet.cs, XsltCompiledContext.cs: Stubs for
316         format-number.
317         * XslDecimalFormat.cs: Stub for decimal-format.
318
319 2003-08-20 Ben Maurer  <bmaurer@users.sourceforge.net>
320
321         * TextOutputter.cs: Add option to ignore element content (Oleg).
322
323 2003-08-19 Ben Maurer  <bmaurer@users.sourceforge.net>
324
325         * Compiler.cs: Really give null for blank avt's
326
327 2003-08-19 Ben Maurer  <bmaurer@users.sourceforge.net>
328
329         * Compiler.cs: Fixed lre/lre04.
330
331 2003-08-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
332
333         * Compiler.cs : Fixed XslNameUtil.FromString() so that unprefixed name
334           won't have default namespace. See http://www.w3.org/TR/xslt#qname
335
336 2003-08-19 Ben Maurer  <bmaurer@users.sourceforge.net>
337
338         * XslTransformProcessor.cs: add support for resolving documents.
339         * XsltCompiledContext: add support for document () function.
340
341 2003-08-19 Ben Maurer  <bmaurer@users.sourceforge.net>
342
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.
346
347 2003-08-19 Ben Maurer  <bmaurer@users.sourceforge.net>
348
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.
352
353 2003-08-19 Ben Maurer  <bmaurer@users.sourceforge.net>
354
355         * Outputter.cs: Add support for namespaces.
356
357 2003-08-19 Ben Maurer  <bmaurer@users.sourceforge.net>
358
359         * Compiler.cs, XslOutput.cs, XslStylesheet.cs,
360         XslTransformProcessor.cs: move output logic from XslStylesheet to
361         Compiler.
362
363 2003-08-18 Ben Maurer  <bmaurer@users.sourceforge.net>
364
365         * XslOutput.cs: add support for encoding.
366
367 2003-08-18 Ben Maurer  <bmaurer@users.sourceforge.net>
368
369         * *.cs: Support for xsl:output. (Oleg)
370
371 2003-08-17 Ben Maurer  <bmaurer@users.sourceforge.net>
372
373         * Compiler.cs: handle extension and excluded namespaces.
374
375 2003-08-17 Ben Maurer  <bmaurer@users.sourceforge.net>
376
377         * XsltCompiledContext.cs, Compiler.cs: copy the XPathNavigator
378         from the stylesheet for correct namespace resolution.
379
380 2003-08-14 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
381
382         * Compiler.cs : 1) Changed public .ctor() to receive Evidence argument 
383           introduced in .NET 1.1. 2) XmlResolver object is required for 'res'.
384
385 2003-08-07 Ben Maurer  <bmaurer@users.sourceforge.net>
386
387         * XslTransformProcessor.cs: Add a table to detect when an object
388         is busy.
389         * XslAttributeSet.cs: Use the above table. Dont throw nullref
390         exception when no use-attribute-sets are specified.
391
392 2003-08-04 Ben Maurer  <bmaurer@users.sourceforge.net>
393
394         * Compiler.cs: Add support for boolean attributes (yes/no).
395
396 2003-08-04 Ben Maurer  <bmaurer@users.sourceforge.net>
397
398         * Compiler.cs: Add method LocalNameOf, to get the local name of a
399         string.
400         * XslTransformProcessor.cs: Support for setting the XmlResolver.
401
402 2003-08-01 Ben Maurer  <bmaurer@users.sourceforge.net>
403
404         * Compiler.cs, XslAttributeSet.cs: Handle attribute set merging
405
406 2003-08-01 Ben Maurer  <bmaurer@users.sourceforge.net>
407
408         * XslTransformProcessor.cs: Add EvaluateNumber method.
409
410 2003-07-31 Ben Maurer  <bmaurer@users.sourceforge.net>
411
412         * XsltCompiledContext.cs: Implement more functions.
413
414 2003-07-31 Ben Maurer  <bmaurer@users.sourceforge.net>
415
416         * Compiler.cs: Add support for key, utility function to parse
417         QName's from the XsltContext. Store keys in the CompiledStyle, not
418         in the Stylesheet.
419         * XslKey.cs: Real implementation
420         * XslStylesheet.cs: Move the keys to CompiledStyle.
421         * XsltCompiledContext.cs: Implement the key function
422
423 2003-07-31 Ben Maurer  <bmaurer@users.sourceforge.net>
424
425         * XsltCompiledContext.cs: Hmm, maybe I should actually *enable*
426         the functions ;-). Also wrote current ().
427
428 2003-07-31 Ben Maurer  <bmaurer@users.sourceforge.net>
429
430         * XsltCompiledContext.cs: Remove excess conversion stuff. It is
431         done in XPath. Add stubs for XSLT functions.
432
433 2003-07-31 Ben Maurer  <bmaurer@users.sourceforge.net>
434
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.
439         
440 2003-07-30 Ben Maurer  <bmaurer@users.sourceforge.net>
441
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
446
447 2003-07-30 Ben Maurer  <bmaurer@users.sourceforge.net>
448
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.
452
453 2003-07-29 Ben Maurer  <bmaurer@users.sourceforge.net>
454
455         * Initial Checkin
456