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