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