1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
|
#====================================================================#
# The release file for Sablotron #
#====================================================================#
Version 0.96
September 5, 2002
-------------
- XSLT debugger implemented (sabcmd --debugger)
- API fixes for PHP extension
- log() function added to write to Sablot's log from JS scripts
- conflicts of top-level elements (variable, key, script)
initializations resolved
- fixed xslt_process buffer overflow
- fixed a bug of duplicate NS qualified attributes
- minor SXP bug fixes [using patches by Tim Crook]
- fixed a bug of the 'mod' operator [report by Jork Behrends]
- fixed a bug of sorting with multiple keys [report by Jork Behrends]
- fixed a bug of comparison [report by Jork Behrends]
- DOM: fixed a bug of the default XML namespace
[report by Albert Micheev]
- DOM: fixed a bug of PIs [report by Albert Micheev]
- improved configuration [by Melvyn Sopacua]
- fragment identifiers allowed in document() for custom
schemes [report by Bob Kline]
Version 0.95
June 24, 2002
-------------
- DOM support upgraded to DOM Level2
- xsl:strip-space and xsl:preserve-space implemented
- XSLT on external documents (accessed via callbacks)
- esxlt:document instruction implemented
- unparsed-entity-uri() function implemented
- added a manual page for sabcmd
- added a batch mode (multiple sources/stylesheets)
for sabcmd [by Stefan Behnel]
- added a system property to display version
- added a flag for document() to return an empty node-set when
it refers to non-existing document
- fixed a bug in relative paths to ext. entities
- fixed a sorting bug on Solaris
- fixed matching precedence for processing-instruction('lit')
- fixed a bug in xsl:decimal-format/format-number()
- fixed a bug in string() - comments excluded
- fixed a bug of RTFs in xsl:attribute (comment, pi)
- fixed a bug of generate-id for multiple documents
- various minor fixes
Version 0.90
March 8, 2002
-------------
- xsl:import implemented
- fixed a bug in boolean expressions with nodesets
[reported by John Holland]
- current() implementation redesigned
- variables not allowed in 'match' attributes of templates
- fixed a bug in attribute value escaping [Christian Lefebvre]
- fixed a bug in ext. entities base URI [Christian Lefebvre]
- fixed a bug in sabcmd --base option [Christian Lefebvre]
- span not indented with html method
- processing-instruction() node test allows literal arguments
- only top-level variables and params visible in xsl:attribute-set
- fixed a bug in xsl:number
- fixed a bug in master situation cleanup
[patch proposed by Bill Hofmann and Bob Kline]
- fixed a bug in error reports from included files
- correct name of element, attribute and pi is checked
Version 0.82
January 30, 2002
----------------
- fixed the text output method
(nothing but text nodes are outputted)
- SCRIPT and STYLE escaped for xhtml
- fixed a bug in escaping attributtes (src, href)
- fixed a bug in aliasing doctype declaration
- fixed bugs related to Sun CC compiler [Tim Crook, Greg Cope]
- fixed a memory management bug [Tim Crook]
Version 0.81
January 16, 2002
----------------
- PUBLIC URLs in doctypes and ext. entities not parsed
by default (SAB_PARSE_PUBLIC_ENTITIES situation option)
- non-xsl elements allowed inside xsl:stylesheet
- xsl attributes not outputted anymore
- xsl:namespace-alias translates attributes as well
- content of SCRIPT and STYLE not escaped for html/xhtml
- Boolean attributes are abbreviated for html output method
Version 0.80
January 8, 2002
---------------
- implemented extensions (JavaScript functions + DOM,
extension-element-prefixes, xsl:fallback, function-available(),
element-available())
- fixed a bux in the 'following' axis
- fixed current() assertion fault
- fixed "META tag placed outside HEAD" bug
- fixed a bug in abbreviated [position] expression in
template 'match' attribute
- implemented lang () function
- added 'namespace' attribute of xsl:element
- implemented 'exclude-result-prefixes'
- implemented xsl:attribute-set and 'use-attribute-sets'
- added 'namespace' attribute of xsl:attribute
- fixed translate() bug
- key() now works with document()
- fixed short stylesheet notation output bugs
- added use-attribute-sets attribute to xsl:copy
- minor bugs fixed
Version 0.71
November 5, 2001
----------------
- sum() bug fixed
- fixed a Solaris problem with key() [report by Archie Russell]
- SXP minor bugs fixed
- implemented axes 'following' and 'preceding'
- added an SXP callback for id() and a 'user data' pointer for
some callbacks
- fixed a namespace bug in SXP
- improved error messages
- fixed a bug in parsing external files [reported by Tim Crook]
- fixed a bug of current() in inner context()
[reported by Ian Davis]
- fixed a bug of calling XSLT instructions inside xsl:text
- fixed a SablorRunProcessorGen assertion bug
- fixed a scheme handler bug [reported by Tim Crook]
Version 0.70
September 17, 2001
------------------
- added Sablotron XPath processor
- implemented xsl:key and key()
- implemented format-number() and xsl:decimal-format
- implemented xsl:number
- fixed namespace treatment in the DOM part
- the string functions now work correctly with non-ASCII text
[fix partly by Christian Lefebvre]
- fixed a bug in the DOM interface
- fixes for BeOS [Gabe Bauman]
Version 0.65
August 15, 2001
---------------
- improved HTML indentation
- fixed bug causing output of XML declaration when method='text'
[reported by Jason Dumler]
- parameter entities are always parsed
- xml declaration ends with ?> using HTML method
- > is escaped in HTML
- fixed the RTF serialization [report by Christian Lefebvre]
- fixed the non-ASCII character escaping in URIs
- changed SDOM_xql so it uses namespace declarations on the
document element
- a few more minor bug fixes
Version 0.60
June 13, 2001
-------------
- implemented a subset of DOM level 1 (see sdom.h)
- added sdom.cpp and sdom.h to the project
- new interface methods for Sablotron (preferred use)
SablotRunProcessorGen, SablotAddArgTree, SablotAddArgBuffer
SablotAddParam
- added a simple support of <xsl:output indent>
- fixed a namespace node name bug [report by A. Nuzhdov]
- added support for parametr entities [suggested by Peter Blum]
- fixed a bug related to evaluation of arithmetic
expressions [reported by Sam Brauer]
- fixed a minor bug related to the xhtml output method
Version 0.52
March 29, 2001
--------------
- added support for encoding conversions using iconv
- all memory leaks occuring on processing errors are fixed
[thanks for project support to Mitel Networks Corporation]
- fixed the "duplicit attribute error" bug [Marc Lehmann]
- fixed a bug in context evaluation [reported by Marco Guazzone]
- fixed several bugs related to the hash table [Tom Moog]
Version 0.51
------------
- a maintenance release
- fixed the quoting of quotes in HTML output [patch by Mark Bartel].
- fixes by Tim Crook for AIX
- Sablot runs even without wcsxfrm() or wchar.h (although
it doesn't sort)
- the problem with the type of an iconv() call argument is fixed
- added support for the xhtml output method [Marc Lehmann]
- fixed bug causing elements being output as <:x> [Andreas Buschmann]
- xsl:sort works if wcsxfrm() is not present (sorts naively though)
Version 0.50
------------
- added match predicate optimization
- added proper character class handling [patch by Marc Lehmann]
- fixed a bug in last() [reported by Dirk Siebnich]
- fixed a problem with empty NS decls [reported by S. Tryggvason]
- added SablotSetEncoding().
- fixed an error with xml:lang [reported by Nicolas Sauret]
- fixed the 'divide by zero' MSVC warning [suggestion by Dirk Siebnich]
- added support for xsl:sort
- fixed an expression parsing error [report by Clayton Cottingham]
- fixed a bug in current() [report by Daniel Hammond]
- minor fix for RedHat 7 [David Hedbor]
- fixed another bug in translate()
- fixed a bug related to starts-with() [reported by Myoungki Kim]
- fixed top-level elements check
Version 0.44
------------
- Fixed an elusive bug in HashTable causing occassional crashes
- Added the namespace-alias() and message() functions
[patch by Major]
- More fixes related to: XML namespace declarations, nested
stylesheet inclusion, Byte Order Mark in UTF-8 doc,
"SYSTEM" in DOCTYPE declaration, the preceding-sibling and
following-sibling axes, iconv.
- Patch for OpenBSD [Anil Madhavapeddy].
Version 0.43
------------
- Fundamental changes to improve performance.
- Added Latin2 input support [thanks to Matt Sergeant]
- Added Japanese encodings support [patch by Rui Hirokawa]
- Fixed treatment of NaNs etc. [based on patch by Robin Houston]
- Minor bug fixes.
- Added platform.cpp for platform-dependent code.
- Added code to generate the <META> tag when using the
html output method.
Version 0.42
------------
- Sablotron is now thread-safe [thanks to Leo Yu].
- Output recoding can be done if iconv is present [Sven Neumann].
- Match predicates work.
- Several bug fixes [Robin Houston].
- Added:
MiscHandler with documentInfo()
SablotSetBaseForScheme()
the current() function [Robin]
-The actual error code is returned from SablotProcess etc.
Version 0.41
------------
- Sablotron now uses autoconf and works with an unmodified
copy of expat. Its layout is a bit different.
- Bug fix (reported by Kay Sievers).
Version 0.4
-----------
- The license was changed to MPL+GPL.
- Output conformance improved considerably (proper escaping
etc.).
- A SAX interface to the result document is available so one
can bypass the construction to the result tree.
- Some changes to the Sablotron interface.
- Implemented <xsl:output>, <xsl:comment>,
<xsl:processing-instruction>.
- External general entities work now.
- Bug fixes (thanks for reports and/or patches to Hans Raaf,
Florian Hars, <robin@kitsite.com>, Mark W. Eichin and
Robin Berjon).
- Performance improvements.
Version 0.36
------------
- optimized string handling, resulting in a significant
performance improvement
- implemented <xsl:copy>
Version 0.35
------------
- fixed a bug concerning the descendant axis, reported by Les
Woolsey
- included the Solaris port (patch contributed by Steven Rowe)
- added SablotSetLog() for setting the log file. Turned
logging off by default.
- added SablotRegMessageHandler() for setting a message
handler. Using this, you can handle all error/warning/log
messages the way you like.
- if the xsl prefix is bound to an obsolete URI, a warning is
issued
- added SablotProcessStringsWithBase() which makes it possible
to override the stylesheet's physical URI with a 'hard base
URI'
- added some command-line switches to sabcmd, e.g. --log-file
and --measure
Version 0.34
------------
- bug fixes
- major memory leak fixes
Version 0.33
------------
CVS: tag SABLOT_0_33 (tom, main trunk)
- this release log started
- first major release following Sablotron 0.3
- added URI processing with relative URI resolution
- added support for the arg: scheme (named buffers)
- added support for passing global parameters
- introduced the SablotProcess() function as a general interface
- sabcmd can pass named buffers as well as the global params
- added a lot of core library functions
|