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