2005-03-09 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mcs / class / System.XML / Mono.Xml.Xsl / ChangeLog
1 2005-03-09  Atsushi Enomoto  <atsushi@ximian.com>
2
3         * XslTemplate.cs : First non-element content were incorrectly ignored.
4
5 2005-03-09  Atsushi Enomoto  <atsushi@ximian.com>
6
7         * XslFunctions.cs, Compiler.cs : Eliminated XPathNavigatorNsm class
8           to reduce references to stylesheet XPathNavigator. To accomplish it,
9           IStaticXsltContext does not declare GetNsm() anymore. All xslt
10           function types now directly hold IStaticXsltContext.
11         * XslStylesheet.cs : removed "Compiler c" field.
12           Removed unused properties.
13
14 2005-03-08  Atsushi Enomoto  <atsushi@ximian.com>
15
16         * GenericOutputter.cs : When WriteStartElement() requires to add
17           new namespace declaration, _currentNamespaceDecls needs to be set.
18
19 2005-03-08  Atsushi Enomoto  <atsushi@ximian.com>
20
21         * GenericOutputter.cs : for duplicate attribute in an element, no need
22           to keep previous prefix.
23
24 2005-03-08  Atsushi Enomoto  <atsushi@ximian.com>
25
26         * GenericOutputter.cs : Prefix "xml" is only allowed to the fixed XML
27           namespace. Rewrite prefix only when there is non-empty namespace.
28
29 2005-03-07  Atsushi Enomoto  <atsushi@ximian.com>
30
31         * XslStylesheet.cs : Now namespace aliases are collected in prior to
32           all other toplevel elements. Removed unused code.
33
34 2005-03-07  Atsushi Enomoto  <atsushi@ximian.com>
35
36         * GenericOutputter.cs : compute attribute prefix only when actual
37           emission. Fixed some cases that namespace output was missing.
38
39 2005-03-07  Atsushi Enomoto  <atsushi@ximian.com>
40
41         * GenericOutputter.cs : no need to use two collections to store
42           pending attributes. Just use ordered ListDictionary.
43           newNamespace.Add(int) causes extraneous boxing.
44
45 2005-03-07  Atsushi Enomoto  <atsushi@ximian.com>
46
47         * XslTransformProcessor.cs : renamed TryElementNamespacesOutput() to
48           OutputLiteralNamespaceUriNodes() so that everyone can understand
49           what it means and when it should be invoked.
50
51 2005-03-04  Atsushi Enomoto  <atsushi@ximian.com>
52
53         * Compiler.cs : added another CompileTemplateContent() which is
54           requred in xsl:for-each. Commented out unused method.
55
56 2005-03-03  Atsushi Enomoto  <atsushi@ximian.com>
57
58         * XslStylesheet.cs, XslTransformProcessor.cs : exclude-element-prefix
59           in stylesheet should be considered in TryElementNamespacesOutput().
60           ParseQNameListAttribute() is not properly working for filling
61           namespaces.
62
63 2005-03-02  Atsushi Enomoto  <atsushi@ximian.com>
64
65         * XslStylesheet.cs : included stylesheet could be literal result 
66           element as stylesheet (see the spec 2.6.1).
67
68 2005-03-02  Atsushi Enomoto  <atsushi@ximian.com>
69
70         * GenericOutputter.cs : On WriteStartElement(), prefix should be an
71           empty string when nsURI is empty.
72         * HtmlEmitter.cs : non-HTML elements in default namespace are treated
73           unlike xml but like span, as written in the spec 16.2.
74
75 2005-03-02  Atsushi Enomoto  <atsushi@ximian.com>
76
77         * XslCompiledContext.cs, XslTransformProcessor.cs :
78           According to errata E25, those namespaces 1) that has the same
79           name as current element's prefix, or an empty name when current
80           element's namespace URI is empty, are not written to output.
81           So added current element information to XPathContext and added
82           prefix parameter to PushElementState(), added xsl:copy check to
83           TryElementNamespacesOutput().
84           http://www.w3.org/1999/11/REC-xslt-19991116-errata/
85
86 2005-02-26  Atsushi Enomoto <atsushi@ximian.com>
87
88         * XslFunctions.cs : unparsed-entity-uri() should return SYSTEM ID
89           instead of BaseURI.
90
91 2005-02-25  Atsushi Enomoto <atsushi@ximian.com>
92
93         * XslTemplate.cs : According to the spec 5.7, it is an error for 
94           xsl:template to have 'mode' without 'match'.
95
96 2005-02-24  Atsushi Enomoto <atsushi@ximian.com>
97
98         * Compiler.cs : added ns lookup with nsDecls Hashtable.
99
100 2005-02-24  Atsushi Enomoto <atsushi@ximian.com>
101
102         * XslStylesheet.cs : It should consider "#default" in namespace-alias.
103
104 2005-02-23  Atsushi Enomoto <atsushi@ximian.com>
105
106         * GenericOutputter.cs : It should not attempt to write prefix "xml" and
107           namespace "http://www.w3.org/XML/1998/namespace".
108
109 2005-02-21  Atsushi Enomoto <atsushi@ximian.com>
110
111         * XmlWriterEmitter.cs : PI nodes are normalized as to not contain "?>".
112         * HtmlEmitter.cs : CDATA nodes are written just as text.
113         * GenericOutputter.cs : custom format are treated just as XML output.
114
115 2005-02-17  Atsushi Enomoto <atsushi@ximian.com>
116
117         * Outputter.cs,
118           TextOutputter.cs,
119           GenericOutputter.cs : removed WriteStartDocument(), WriteEndDocument()
120           and WriteState. Writing XML declaration is done inside
121           DetermineOutputMethod().
122
123 2005-02-17  Atsushi Enomoto <atsushi@ximian.com>
124
125         * Compiler.cs : reverted previous fix, since it should be done
126           in XslTransformProcessor with root stylesheet.
127         * XslTransformProcessor.cs : In TryElementNamespacesOutput(),
128           don't output alias namespaces. And now consider null exclusions.
129
130 2005-02-17  Atsushi Enomoto <atsushi@ximian.com>
131
132         * Compiler.cs : don't return alias namespaces in GetNamespacesToCopy().
133
134 2005-02-16  Atsushi Enomoto <atsushi@ximian.com>
135
136         * Compiler.cs : GetNamespacesToCopy() should also find for non-local
137           namespace nodes. Patch by Andrew Skiba with some fixes.
138         * XslTransformProcessor.cs : Patch by Andrew Skiba.
139           TryStylesheetNamespaceOutput() is now TryElementNamespacesOutput()
140           as to handle all namespace nodes to copy in stylesheet nodes.
141           Global parameterss are evaluated before global variables. 
142         * XmlOutputter.cs : removed unused code.
143
144         Pending items:
145
146         * Actually variables and params should check reference recursion.
147             This patch incompletely fixes the problem.
148         * Those operations that considers excluded-result-prefixes must
149           also check those attributes of its ancestors.
150
151 2005-02-10  Atsushi Enomoto <atsushi@ximian.com>
152
153         * XmlWriterEmitter.cs : String.Replace() was insufficient for
154           sequential candidates for replacement. Patch by Andrew Skiba.
155
156 2005-02-10  Atsushi Enomoto <atsushi@ximian.com>
157
158         * GenericOutputter.cs : don't output extraneous xml declaration.
159           fix by Andrew Skiba.
160
161 2005-02-09  Atsushi Enomoto <atsushi@ximian.com>
162
163         * XslStylesheet.cs : MS implementation had chosen to recover from 
164           the error, in the way specified in the spec 7.7.1. Patch by Andrew
165           Skiba.
166
167 2005-02-08  Atsushi Enomoto <atsushi@ximian.com>
168
169         * XslTemplate.cs : if input is literal result element, it could result
170           in ArgumentException. Patch by Andrew Skiba.
171
172 2005-02-08  Atsushi Enomoto <atsushi@ximian.com>
173
174         * XslFunctions.cs : Fixed unparsed-entity-uri() that might result in
175           NullReferenceException. Patch by Andrew Skiba.
176
177 2005-02-08  Atsushi Enomoto <atsushi@ximian.com>
178
179         * XslOutput.cs : MS.NET recovers from unknown encoding according to
180           XSLT spec 16.1. Patch by Andrew Skiba.
181
182 2005-02-08  Atsushi Enomoto <atsushi@ximian.com>
183
184         * HtmlEmitter.cs : patch by Andrew Skiba.
185           Remove extra element prefix output. simplify attribute prefix output.
186           Attribute output might have resulted in invalid element stack peek.
187           Output specified media type if any.
188
189 2005-02-08  Atsushi Enomoto <atsushi@ximian.com>
190
191         * Compiler.cs : Patch by Andrew Skiba.
192           wrap internal exception with XsltCompileException.
193           Raise an error for not-found document URI.
194           QName might contain sequential whitespaces and thus could be empty.
195
196 2005-02-08  Atsushi Enomoto <atsushi@ximian.com>
197
198         * XslAttributeSet.cs : just ignore other kind of nodes than element
199           in its content. Fix by Andrew Skiba.
200
201 2005-02-08  Atsushi Enomoto <atsushi@ximian.com>
202
203         * XslOutput.cs : for html and text output mode, just set internal
204           omitXmlDeclaration status true. Patch by Andrew Skiba.
205
206 2005-02-08  Atsushi Enomoto <atsushi@ximian.com>
207
208         * XslFunctions.cs : fixed line ending mixture.
209
210 2005-02-03  Atsushi Enomoto <atsushi@ximian.com>
211
212         * ScriptCompilerInfo.cs : XsltCompileException->XsltException, just
213           to make test pass.
214
215 2004-12-22  Atsushi Enomoto <atsushi@ximian.com>
216
217         * XslFunction.cs,
218           Compiler.cs : XmlResolver.ResolveUri() may return null.
219
220 2004-12-01  Atsushi Enomoto  <atsushi@ximian.com>
221
222         * Compiler.cs : XPathNavigatorNsm needed more love. Clone() does not
223           make sense here.
224
225 2004-12-01  Atsushi Enomoto  <atsushi@ximian.com>
226
227         * Compiler.cs : don't create XPathNavigatorNsm for every GetNsm() call.
228
229 2004-11-26  Atsushi Enomoto  <atsushi@ximian.com>
230
231         * XslKey.cs, XslStylesheet.cs, MSXslScriptManager.cs :
232           warning elimination.
233
234 2004-11-24  Atsushi Enomoto  <atsushi@ximian.com>
235
236         * XslStylesheet.cs : removed unused fields.
237         * XslOutput.cs : removed members for XSLT 2.0 (won't be implemented in
238           this class).
239
240 2004-11-08  Atsushi Enomoto  <atsushi@ximian.com>
241
242         * Compiler.cs, XslTransformProcessor.cs :
243           when creating XmlTextReader, reuse XmlNameTable.
244
245 2004-11-05  Atsushi Enomoto  <atsushi@ximian.com>
246
247         * Compiler.cs : Changes that reflects CompiledExpression changes.
248
249 2004-10-04  Atsushi Enomoto  <atsushi@ximian.com>
250
251         * HtmlEmitter.cs : TH tag is not regarded as HTML tag.
252           This fixes bug #67390.
253
254 Thu Sep 9 07:09:11 PDT 2004 Paolo Molaro <lupus@ximian.com>
255
256         * ScriptCompilerInfo.cs: avoid using a .cctor and fix precomp.
257
258 2004-06-18  Atsushi Enomoto  <atsushi@ximian.com>
259
260         * Debug.cs, HtmlEmitter.cs, MSXslScriptManager.cs,
261           ScriptCompilerInfo.cs, XslFunctions.cs, XslTemplate.cs
262           : Globalization. Removed unused code.
263
264 2004-06-14  Atsushi Enomoto  <atsushi@ximian.com>
265
266         * XslKey.cs : Key-value search in absolute path search was 
267           insufficient.
268
269 2004-06-14  Atsushi Enomoto  <atsushi@ximian.com>
270
271         * HtmlEmitter.cs : Correct URL escape implementation.
272
273 2004-06-06  Atsushi Enomoto  <atsushi@ximian.com>
274
275         * XslTransformProcessor.cs : On document() function, close the 
276           XmlTextReader opened from uri string.
277
278 2004-06-03  Atsushi Enomoto  <atsushi@ximian.com>
279
280         * Compiler.cs,
281           GenericOutputter.cs : XmlNamespaceManager.LookupPrefix() allows only
282           atomized names. Fixed XPathNavigatorNsm.LookupNamespace() that 
283           should override another overload.
284
285 2004-05-25  Lluis Sanchez Gual  <lluis@ximian.com>
286
287         * ScriptCompilerInfo.cs: the name used to load the Microsoft.JScript
288           assembly should not include the .dll extension.
289
290 2004-05-20  Atsushi Enomoto  <atsushi@ximian.com>
291
292         * Compiler.cs :
293           - CompilePattern() now throws XsltCompileException for invalid
294             pattern, and add error location support.
295           - In Compiler.TryGetFunction(), compare namespace URI, not prefix.
296             Now it returns MSXslNodeSet instance (for msxsl:node-set).
297         * Debug.cs : don't throw System.Exception.
298         * XslFunctions.cs : Added MSXslNodeSet class.
299         * XslTemplate.cs : reflected CompilePattern() change.
300         * XslTransformProcessor.cs : don't throw System.Exception.
301         * XsltCompiledContext.cs : don't throw System.Exception.
302
303 2004-05-12  Atsushi Enomoto  <atsushi@ximian.com>
304
305         * XmlOutputter.cs,
306           XslOutput.cs,
307           XslStylesheet.cs : made classes/enums internal.
308
309 2004-04-24  Atsushi Enomoto  <atsushi@ximian.com>
310
311         * Attribute.cs, Compiler.cs, Debug.cs, Emitter.cs, 
312           MSXslScriptCompiler.cs, Outputter.cs, XslAttributeSet.cs,
313           XslDecimalFormat.cs, XslKey.cs, XslStylesheet.cs, XslTemplate.cs,
314           XslTransformProcessor.cs : Make extra classes internal.
315
316         * XslKey.cs : It should require sorting.
317         * Debug.cs : Just avoid debug output. Only who want to output should
318           turn it on.
319
320 2004-04-24  Atsushi Enomoto  <atsushi@ximian.com>
321
322         * GenericOutputter.cs : Culture-independency fix. 
323           Replaced StringCollection to ArrayList.
324         * XslOutput.cs : Culture-independency fix.
325
326 2004-04-12  Atsushi Enomoto  <atsushi@ximian.com>
327
328         * Compiler.cs : When BaseURI is an empty string, it should not try to
329           create Uri instance. This will fix bug #56832, but not sure.
330         * XslFunctions.cs : for XsltDocument.Resolve(), did the same.
331         * HtmlEmitter.cs : Environment.NewLine was incorrectly used (it 
332           should be the TextReader's NewLine).
333         * MSXslScriptManager.cs : Should raise an error when the prefix which
334           was specified by "implements-prefix" was not found.
335
336 2004-03-27  Atsushi Enomoto  <atsushi@ximian.com>
337
338         * ScriptCompilerInfo.cs : #line directive now holds dummy filename
339           when BaseURI for msxsl:script node is not available. This fixes
340           bug #56070.
341           Don't output line number in the error message, when it is 0.
342
343 2004-03-27  Atsushi Enomoto  <atsushi@ximian.com>
344
345         * Compiler.cs : Supply NameTable to base ctor() of XPathNavigatorNsm.
346
347 2004-03-22 Atsushi Enomoto <atsushi@ximian.com>
348
349         * Compiler.cs, 
350           XslAttributeSet.cs,
351           XslFunctions,
352           XslTransformProcessor.cs :
353           Throw specific types of exceptions instead of Exception.
354         * XslFunctions.cs, XsltCompiledContext.cs :
355           added node argument for XsltExtensionFunction ctor() etc.
356
357 2004-03-22 Atsushi Enomoto <atsushi@ximian.com>
358
359         * ScriptCompilerInfo.cs : Modified compilation processing. Now it uses
360           CodeDom. Compilation error should be caught. This fixes bug #55875.
361
362 2004-03-13 Atsushi Enomoto <atsushi@ximian.com>
363
364         * XslStylesheet.cs : "version" attribute is also required for embedded
365           stylesheet.
366
367 2004-03-13 Atsushi Enomoto <atsushi@ximian.com>
368
369         * Compiler.cs,
370           XslStylesheet.cs : Reject xsl element other than stylesheet and
371           transform. Check mandatory version attribute (only for existence).
372
373 2004-03-07 Atsushi Enomoto <atsushi@ximian.com>
374
375         * MSXslScriptManager.cs : if extension namespace was not found in
376           the script, just return null. Patch by Joshua Tauberer.
377
378 2004-03-01 Atsushi Enomoto <atsushi@ximian.com>
379
380         * XslLiteralElement.cs : quick fix for ArgumentNullException which
381           was because of the combination of non-namespaced instances and
382           exclude-result-prefixes.
383
384 2004-02-17 Atsushi Enomoto <atsushi@ximian.com>
385
386         * XsltCompiledContext.cs : Extracted XslFunctions and changed namespace
387           from Mono.Xml.Xsl.Functions to Mono.Xml.Xsl.
388         * XslFunctions.cs : hereby Added.
389         * Compiler.cs : Removed deleted usingdecl.
390
391 2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
392
393         * XslTransformProcessor.cs : Bugfix. Stored keys should be cleared.
394         * XslKey.cs : Added ExprKeyContainer expression type, which is 
395           designed to be matched at any level.
396         * Compiler.cs : support for ExprKeyContainer.
397
398 2004-02-16 Atsushi Enomoto <atsushi@ximian.com>
399
400         * XslKey.cs : Now it collects key and matching nodes at the first
401           evaluation time. After that, we can just get them from the table.
402         * Compiler.cs : Added KeyCompilationMode. It is used to prevent
403           prohibited key() usage in "match" and "use" attributes in xsl:key.
404           Modified accessibility of some classes.
405         * GenericOutputter.cs,
406           HtmlEmitter.cs,
407           TextEmitter.cs,
408           TextOutputter.cs,
409           XmlWriterEmitter.cs : made classes internal.
410         * XslOutput.cs : support line info for exception.
411         * XsltCompiledContext.cs : implemented CompareDocument() - so easily.
412
413 2004-02-13 Atsushi Enomoto <atsushi@ximian.com>
414
415         * XsltCompiledContext.cs : fixed the length of context info array.
416
417 2004-02-10 Atsushi Enomoto <atsushi@ximian.com>
418
419         * XsltCompiledContext.cs :
420           replaced EnumeratorIterator with ListIterator
421
422 2004-02-08 Atsushi Enomoto <atsushi@ximian.com>
423
424         * GenericOutputter.cs,
425           XslAttributeSet.cs,
426           XslStylesheet.cs,
427           XslTemplate.cs : tiny foreach elimination.
428
429 2004-01-16 Atsushi Enomoto <atsushi@ximian.com>
430
431         * XslOutput.cs : Reverted. default encoding should be utf-8.
432
433 2004-01-14  Jackson Harper <jackson@ximian.com>
434
435         * GenericOutputter.cs: Add constructors that do not take an
436         encoding to fix build.
437         
438 2004-01-14 Atsushi Enomoto <atsushi@ximian.com>
439
440         * XmlWriterEmitter.cs : It now uses WriteProcessingInstruction() to
441           write XML declaration. It means that output supports non document
442           entity. This fixes bug #52729.
443         * Emitter.cs, TextEmitter.cs, HtmlEmitter.cs, XmlWriterEmitter.cs :
444           modified WriteStartDocument() signature to receive Encoding.
445         * GenericOutputter.cs : 
446           - Added .ctor() which receives Encoding. (It is used for TextWriter 
447             output to get actual encoding.)
448           - Added .ctor() to take an boolean argument which indicates it is
449             variable content or not. (When variable, it does not call 
450             WriteStartDocument().)
451         * XslKey.cs,
452           XsltCompiledContext.cs : comment out WriteLine().
453         * XslOutput.cs : set default encoding utf-16.
454
455 2004-01-08  Nick Drochak <ndrochak@ieee.org>
456
457         * XsltCompiledContext.cs: Remove unused variable and unreachable code.
458
459 2003-12-26 Atsushi Enomoto <atsushi@ximian.com>
460
461         * XslDecimalFormat.cs : implemented format-number() other than number
462           grouping.
463         * XsltCompiledContext.cs : Modified XsltFormatNumber.Evaluate() to
464           catch ArgumentException which will be thrown by formatting process.
465
466 2003-12-23 Atsushi Enomoto <atsushi@ximian.com>
467
468         * ScriptCompilerInfo.cs : Use "mjs" as JScript compiler.
469
470 2003-12-20 Ben Maurer  <bmaurer@users.sourceforge.net>
471
472         * XsltCompiledContext.cs: Remove workaround now that monodoc
473         is fixed.
474
475 2003-12-20 Atsushi Enomoto <atsushi@ximian.com>
476
477         * XslStylesheet.cs : considering xsl:imports, we can't handle namespace
478           aliases at compilation time, so evaluate at the first run-time.
479
480 2003-12-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
481
482         * GenericOutputter.cs : support for runtime-determined output type.
483         * HtmlEmitter.cs : Fixed invalid doctype output.
484           Fixed incorrect double attribute output on non-HTML elements.
485           Improved indentation. Fixed "selected" attribute output.
486           Don't have to convert "'" to "&apos;".
487         * XmlWriterEmitter.cs : Now don't output incorrect doctype.
488           Escapes CDATA section text "]]>" to "...]]]]><![CDATA[>..." .
489         * XslStylesheet.cs, XsltCompiledContext.cs :
490           space resolution consideration for import and wildcard.
491
492 2003-12-18 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
493
494         * Compiler.cs, XslTransformProcessor.cs :
495           Use XmlValidatingReader to support id() for external stylesheets.
496         * XslKey.cs, XsltCompiledContext.cs :
497           to evaluate MatchPattern and UsePattern, SetContext() is required.
498         * XslTemplate.cs : Forgot to commit. Change is below(12/16).
499
500 2003-12-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
501
502         * Emitter.cs, HtmlEmitter.cs, XmlWriterEmitter.cs :
503           Added WriteWhitespace().
504         * GenericOutputter.cs, XslTemplate.cs : Call above.
505         * XslTransformProcessor.cs : Changed NodesetStack to ArrayList since
506           CurrentNode in for-each context have to be pulled at evaluation.
507
508 2003-12-16 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
509
510         * XsltCompiledContext.cs : Temporarily allow incorrectly resolved
511           function for bugzilla #52144. It should be reverted soon.
512
513 2003-12-12 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
514
515         * ScriptCompilerInfo.cs : SecurityManager.ResolvePolicy() was not 
516           implemented yet.
517         * MSMslScriptManager.cs : modified generated assembly class to be unique
518           through running AppDomain.
519         * XsltCompiledContext.cs : XsltExtensionFunction.Invoke() has to cast
520           arguments to actual argument types. Bugzilla #51450 should be fixed.
521
522 2003-12-12 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
523
524         * HtmlEmitter.cs : Fixed incorrect character entity output.
525
526 2003-12-11 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
527
528         * Added ScriptCompilerInfo.cs.
529         * MSXslScriptManager.cs : Fixed *true* author's name.
530           Implemented basic msxsl:script support.
531         * Compiler.cs : Added Evidence member.
532
533 2003-12-07 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
534
535         * Compiler.cs : Check stylesheet recursion. Check decimal-format name.
536         * GenericOutputter.cs, Outputter.cs, TextOutputter.cs :
537           Added WriteWhitespace() to assure not writing whitespaces as cdata.
538         * XslAttributeSet.cs : Error check if attribute-set contains other than
539           xsl:attribute.  Error should be XsltException.
540         * XslDecimalFormat.cs : Complete equality check.  Allow just one
541           character value for some attributes.
542         * XslStylesheet.cs : Made whitespace control setting overridable.
543           Added Version property (for the future compatibility mode).
544           Check unrecongnized top level element.
545         * XslTemplate.cs : Check priority as a number.
546         * XslTransformProcessor.cs : PushCDataState is now PushElementState, 
547           for xsl:preserve-space and xsl:strip-space support.
548         * XsltCompiledContext.cs : Implemented PreserveWhitespace() (far from
549           incomplete), PushScope and Pop
550
551 2003-12-03 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
552
553         * HtmlEmitter.cs : CloseStartElement is needed almost everywhere.
554
555 2003-12-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
556
557         * Compiler.cs : In FromListString(), it should use default ns,
558           not unqualified one.
559         * GenericOutputter.cs : CheckState() - attribute's Prefix should take
560           precedence.  Doctype should be written even if SYSTEM id is absent.
561           Fixed possible multiple xmlns output.
562         * HtmlEmitter.cs :
563           - Encoding output using META element.
564           - Doctype name is fixed (html).
565           - Double quotation on PUBLIC and SYSTEM missing.
566           - Fixed incorrect tag name check for IMG.
567           - '>' should not be escaped.
568         * XmlWriterEmitter.cs :
569           Added newline before doctype.  In WriteComment(), "--" and tail
570           '-' are not allowed (it escapes, while XmlWriter simply rejects).
571         * XslTransformProcessor.cs : cdata-section-elements should enclose
572           direct child tests only.   Added PreserveWhitespace() (incomplete).
573         * XsltCompiledContext.cs : Implemented PreserveWhitespace() (incomplete).
574
575 2003-11-28 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
576
577         * IdPattern.cs : This should work against multiple ids.
578
579 2003-11-27 Ben Maurer  <bmaurer@users.sourceforge.net>
580
581         * Compiler.cs
582         * MSXslScriptManager.cs
583         * XslStylesheet.cs
584         * XslTransformProcessor.cs
585         * XsltCompiledContext.cs: Some work on msxsl script.
586
587 2003-11-24 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
588
589         (in general: cdata-section-elements support, correct document() 
590         base uri handling, and so on)
591         * Compiler.cs : Use XmlSpace.Preserve to parse included stylesheet.
592           And move to document element.  Added XslNameUtil.FromListString().
593         * Emitter.cs, HtmlEmitter.cs, TextEmitter.cs XmlWriterEmitter.cs :
594           Added WriteCDataSection().
595         * Outputter.cs, GenericOutputter.cs, TextOutputter.cs :
596           Added InsideCDataSection.
597         * GenericOutputter.cs :
598           In .ctor(), WriteState should be succeeded from output XmlWriter.
599           WriteNamespaceDecl() now drops declaration identical to existing one.
600           Removed obsolete htmlEmulation.
601         * XslOutput.cs : Added CDataSectionElements support.
602         * XslStylesheet.cs : Added BaseUri, StyleDocument and PrefixInEffect().
603         * XslTransformProcessor.cs :
604           Added Output and CurrentOutputUri. TryStylesheetNamespaceOutput()
605           now considers xsl:exclude-element-prefixes on literal element.
606           Added PushCDataState() and PopCDataState().
607         * XsltCompiledContext.cs : When base uri of document() target is empty,
608           then it should use stylesheet's BaseURI, not that of current document.
609
610 2003-11-21 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
611
612         * Compiler.cs : Modified decimal-format comparison code.
613         * Outputter.cs,
614           TextOutputter.cs,
615           GenericOutputter.cs : Added WriteState. Now WriteStartDocument() will
616           be called only when required. 
617         * HtmlEmitter.cs : Improved indentation stuff.
618         * XslDecimalFormat.cs : Added incomplete implementation of 
619           CheckSameAs() and FormatNumber().
620         * XslStylesheet.cs,
621           XslTransformProcessor.cs : Changed XslStylesheet.StylesheetNamespaces
622           from StringDictionary to ArrayList of QName (to keep order).
623
624 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
625
626         * XsltCompiledContext.cs : XsltGenerateId.Evaluate() should consider
627           node type (i.e. attribute and namespace). Removed extraneous Clone().
628           Fixed XsltKey.Evaluate() to use MoveToNextAttribute to iterate attrs.
629
630 2003-11-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
631
632         * Compiler.cs : Changed Keys from ArrayList to Hashtable.
633           XslStylesheet.cs : Added Keys support here.
634         * XslTransformProcessor.cs : Should call SetContext() to expressions
635           before evaluating current nodes.
636         * XsltCompiledContext.cs : 1) XsltDocument.GetDocument() should use
637           xsltContext. 2) XsltKey exposes KeyName, Field and NamespaceManager
638           for KeyPattern. It now uses CompiledStyle.FindKeys().
639
640 2003-11-13 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
641
642         * GenericOutputter.cs : Added HTML output support. Closer xmlns handling
643           to Xalan tests and MS.NET implementation (only for test convenience).
644         * XslOutput.cs : Indent holds string rathen than bool. Its default value
645           varies in the context. When method="html", then default is "yes".
646         * XslTransformProcessor.cs : Extension element prefixes should not 
647           be written as stylesheet namespaces.
648         * XsltCompiledContext.cs : Return type of generate-id() is string.
649           Implemented unparsed-entity-uri().
650
651 2003-11-02 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
652
653         * Compiler.cs : More complete attribute set gathering.
654           GetNamespacesToCopy() should only return Local namespaces.
655         * GenericOutputter.cs : Added support for indentation.
656           Added easy hack for html output.
657           More correct Prefix handling (considers already defined ones).
658           Namespace emmission is moved to CheckState().
659         * Emitter.cs, XmlWriterEmitter.cs, GenericOutputter.cs, Outputter.cs :
660           Added WriteFullEndElement(). (i.e. IsEmptyElement support)
661         * GenericOutputter.cs, Outputter.cs :
662           Added CanProcessAttributes property for 
663           use-attribute-sets of xsl:copy.
664         * XslStylesheet.cs : Added support for stylesheet-defined xmlns decls.
665           Added support for exclude-result-prefixes.
666         * XslTransformProcessor.cs : Added support for stylesheet-defined xmlns.
667
668 2003-10-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
669
670         * Compiler.cs : It is not important, but attribute order became closer
671           to MS.NET and Xalan (assuming from OASIS tests).
672
673 2003-10-30 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
674
675         * GenericOutputter.cs : Attribute wasn't overwritten its properties
676           because Attribute is struct it was let to another local variable.
677
678 2003-09-28 Ben Maurer  <bmaurer@users.sourceforge.net>
679
680         * GenericOutputter.cs: make html output a warning, because doing
681         xml will be right most of the time.
682
683 2003-09-28 Ben Maurer  <bmaurer@users.sourceforge.net>
684
685         * Debug.cs: comment out {Enter, Exit}Navigator. Haven't had bugs
686         here for a long time and it hurts thread safty and memory
687         allocation.
688
689 2003-09-21 Ben Maurer  <bmaurer@users.sourceforge.net>
690
691         * Compiler.cs: save the parser (will reduce memory allocation when
692         Jackson's jay patch is committed).
693
694 2003-09-20 Ben Maurer  <bmaurer@users.sourceforge.net>
695
696         * Attribute.cs: Change to struct. Remove QName class.
697         * GenericOutputter.cs: use an Attribute [] rather than an
698         ArrayList. Allows us not to allocate Attributes, which is great
699         for speed. Roll our own allocation.
700
701 2003-09-20 Ben Maurer  <bmaurer@users.sourceforge.net>
702
703         * Compiler.cs: add GetNsm to main class as well.
704
705 2003-09-20 Ben Maurer  <bmaurer@users.sourceforge.net>
706
707         * Compiler.cs (ParseAvtAttribute): Get the attribue using our
708         internal version so we get null if the attr doesnt exist.
709
710 2003-09-17 Ben Maurer  <bmaurer@users.sourceforge.net>
711
712         * Compiler.cs (IStaticXsltContext.TryGetVariable): handle the case
713         where curVarScope == null
714
715 2003-09-16 Ben Maurer  <bmaurer@users.sourceforge.net>
716
717         * Compiler.cs: 
718         - Better handling of empty attributes (vs not being specified)
719         - Bug in handling #default
720         
721 2003-09-15 Ben Maurer  <bmaurer@users.sourceforge.net>
722
723         * Compiler.cs: Off by one when parsing localname of QName 
724         * XslAttributeSet.cs: must evaluate used attr sets *BEFORE*
725         children (so that they get overriden)
726
727 2003-09-15 Ben Maurer  <bmaurer@users.sourceforge.net>
728
729         * GenericOutputter.cs: Output attributes in order recieved; not
730         required by spec, but useful for running test cases.
731
732 2003-09-14 Oleg Tkachenko <oleg@tkachenko.com>
733
734         * GenericOutputter.cs - fix bug with outputting state.
735         * Emitter.cs, TextEmitter.cs, XmlWriterEmitter.cs, Outputter.cs, 
736         * TextOutputter.cs - get rid of WriteStartAttribute/WriteEndAttribute.  
737
738 2003-09-13 Ben Maurer  <bmaurer@users.sourceforge.net>
739
740         * Compiler.cs, XslKey.cs, XslTransformProcessor.cs: dont clone
741         exprs on use, pass to nav.
742
743 2003-09-13 Ben Maurer  <bmaurer@users.sourceforge.net>
744
745         * Compiler.cs: pass satic context to Pattern ctor.
746
747 2003-08-30 Oleg Tkachenko <oleg@tkachenko.com>
748
749         * New files: 
750         GenericOutputter.cs - generic Outputter implementation,
751         Attribute.cs - represents outputted attribute,
752         Emitter.cs - abstract output emitter,
753         TextEmitter.cs - text emitter,
754         XmlWriterEmitter.cs - emitter to XmlWriter.
755         * Checking of duplicating attributes is done in GenericOutputter.
756         * Namespace outputting logic is implemented in GenericOutputter.
757         * Outputter.cs: Writing namespace declarations is delegated to 
758         derived classes (GenericOutputter).
759         * XslOutput.cs: standalone flag is now 3-value enum (NONE, YES, NO).                    
760          
761 2003-08-21 Ben Maurer  <bmaurer@users.sourceforge.net>
762
763         * XslTransformProcessor.cs: evaluate variables at beginning
764         when / is current node.
765
766 2003-08-21 Ben Maurer  <bmaurer@users.sourceforge.net>
767
768         * Compiler.cs, XsltCompiledContext.cs, XslTransformProcessorcs:
769         Fix up namespace handeling
770
771 2003-08-20 Ben Maurer  <bmaurer@users.sourceforge.net>
772
773         * Compiler.cs, XslStylesheet.cs, XsltCompiledContext.cs: Stubs for
774         format-number.
775         * XslDecimalFormat.cs: Stub for decimal-format.
776
777 2003-08-20 Ben Maurer  <bmaurer@users.sourceforge.net>
778
779         * TextOutputter.cs: Add option to ignore element content (Oleg).
780
781 2003-08-19 Ben Maurer  <bmaurer@users.sourceforge.net>
782
783         * Compiler.cs: Really give null for blank avt's
784
785 2003-08-19 Ben Maurer  <bmaurer@users.sourceforge.net>
786
787         * Compiler.cs: Fixed lre/lre04.
788
789 2003-08-19 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
790
791         * Compiler.cs : Fixed XslNameUtil.FromString() so that unprefixed name
792           won't have default namespace. See http://www.w3.org/TR/xslt#qname
793
794 2003-08-19 Ben Maurer  <bmaurer@users.sourceforge.net>
795
796         * XslTransformProcessor.cs: add support for resolving documents.
797         * XsltCompiledContext: add support for document () function.
798
799 2003-08-19 Ben Maurer  <bmaurer@users.sourceforge.net>
800
801         * Outputter.cs, TextOutputter.cs, XmlOutputter.cs: Implement some
802         of the abstract methods in Outputter, making them call other
803         functions with default values, remove impl's in derived classes.
804
805 2003-08-19 Ben Maurer  <bmaurer@users.sourceforge.net>
806
807         * Outputter.cs: s/Close/Done
808         * TextOutputter.cs, XmlOutputter.cs: Flush, don't close the backing.
809         * XslTransformProcessor.cs: Flush output when popping, pop at end.
810
811 2003-08-19 Ben Maurer  <bmaurer@users.sourceforge.net>
812
813         * Outputter.cs: Add support for namespaces.
814
815 2003-08-19 Ben Maurer  <bmaurer@users.sourceforge.net>
816
817         * Compiler.cs, XslOutput.cs, XslStylesheet.cs,
818         XslTransformProcessor.cs: move output logic from XslStylesheet to
819         Compiler.
820
821 2003-08-18 Ben Maurer  <bmaurer@users.sourceforge.net>
822
823         * XslOutput.cs: add support for encoding.
824
825 2003-08-18 Ben Maurer  <bmaurer@users.sourceforge.net>
826
827         * *.cs: Support for xsl:output. (Oleg)
828
829 2003-08-17 Ben Maurer  <bmaurer@users.sourceforge.net>
830
831         * Compiler.cs: handle extension and excluded namespaces.
832
833 2003-08-17 Ben Maurer  <bmaurer@users.sourceforge.net>
834
835         * XsltCompiledContext.cs, Compiler.cs: copy the XPathNavigator
836         from the stylesheet for correct namespace resolution.
837
838 2003-08-14 Atsushi Enomoto <ginga@kit.hi-ho.ne.jp>
839
840         * Compiler.cs : 1) Changed public .ctor() to receive Evidence argument 
841           introduced in .NET 1.1. 2) XmlResolver object is required for 'res'.
842
843 2003-08-07 Ben Maurer  <bmaurer@users.sourceforge.net>
844
845         * XslTransformProcessor.cs: Add a table to detect when an object
846         is busy.
847         * XslAttributeSet.cs: Use the above table. Dont throw nullref
848         exception when no use-attribute-sets are specified.
849
850 2003-08-04 Ben Maurer  <bmaurer@users.sourceforge.net>
851
852         * Compiler.cs: Add support for boolean attributes (yes/no).
853
854 2003-08-04 Ben Maurer  <bmaurer@users.sourceforge.net>
855
856         * Compiler.cs: Add method LocalNameOf, to get the local name of a
857         string.
858         * XslTransformProcessor.cs: Support for setting the XmlResolver.
859
860 2003-08-01 Ben Maurer  <bmaurer@users.sourceforge.net>
861
862         * Compiler.cs, XslAttributeSet.cs: Handle attribute set merging
863
864 2003-08-01 Ben Maurer  <bmaurer@users.sourceforge.net>
865
866         * XslTransformProcessor.cs: Add EvaluateNumber method.
867
868 2003-07-31 Ben Maurer  <bmaurer@users.sourceforge.net>
869
870         * XsltCompiledContext.cs: Implement more functions.
871
872 2003-07-31 Ben Maurer  <bmaurer@users.sourceforge.net>
873
874         * Compiler.cs: Add support for key, utility function to parse
875         QName's from the XsltContext. Store keys in the CompiledStyle, not
876         in the Stylesheet.
877         * XslKey.cs: Real implementation
878         * XslStylesheet.cs: Move the keys to CompiledStyle.
879         * XsltCompiledContext.cs: Implement the key function
880
881 2003-07-31 Ben Maurer  <bmaurer@users.sourceforge.net>
882
883         * XsltCompiledContext.cs: Hmm, maybe I should actually *enable*
884         the functions ;-). Also wrote current ().
885
886 2003-07-31 Ben Maurer  <bmaurer@users.sourceforge.net>
887
888         * XsltCompiledContext.cs: Remove excess conversion stuff. It is
889         done in XPath. Add stubs for XSLT functions.
890
891 2003-07-31 Ben Maurer  <bmaurer@users.sourceforge.net>
892
893         * Compiler.cs: To resolve a variable you now need to pass the
894         processor, so that it can be passed to IsEvaluated. A local will
895         only be resolved if it has already been evaluated.
896         * XsltCompiledContext.cs: Pass along the processor.
897         
898 2003-07-30 Ben Maurer  <bmaurer@users.sourceforge.net>
899
900         * Compiler.cs, XslTemplate.cs, XslTransformProcessor.cs: Store
901         variable values in the XslTransformProcessor.
902         * XsltCompiledContext.cs: If the scope is null, don't look there!
903         * Debug.cs: New method Assert
904
905 2003-07-30 Ben Maurer  <bmaurer@users.sourceforge.net>
906
907         * Compiler.cs, XsltCompiledContext.cs: Remove verbose messages
908         * XslTransformProcessor.cs: Use strongtyped evaluation, using new
909         internal methods in XPathNavigator. Remove verbose debugging messages.
910
911 2003-07-29 Ben Maurer  <bmaurer@users.sourceforge.net>
912
913         * Initial Checkin
914