You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(4) |
Dec
(10) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(2) |
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(3) |
2002 |
Jan
(2) |
Feb
(8) |
Mar
(1) |
Apr
(1) |
May
(5) |
Jun
(1) |
Jul
(1) |
Aug
(5) |
Sep
(2) |
Oct
(8) |
Nov
(3) |
Dec
(3) |
2003 |
Jan
(2) |
Feb
|
Mar
(2) |
Apr
|
May
|
Jun
(4) |
Jul
(1) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(2) |
2004 |
Jan
(2) |
Feb
(1) |
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
(1) |
Aug
(1) |
Sep
(2) |
Oct
(1) |
Nov
|
Dec
|
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
From: Steve B. <ste...@ex...> - 2008-11-28 06:47:56
|
Hi All, Just a quick note to let you know that I'm just about finished with the release engineering for version 3.2 of the TclXML package. There are two big changes with this release: 1) the three packages, TclXML, TclDOM and TclXSLT, have been rolled in to one big package and (2) I'm switching over from CVS to SVN. The initial import of the new v3.2 TclXML package into the SourceForge Subversion repository has just been completed. Merging the packages into one greatly simplifies the build process. I've also set things up so that on Unix(-like) and Windows operating systems the package will statically link the libxml2 and libxslt libraries to the libtclxml.so shared library. That way there is only one shared library/DLL to load and this works better with Starkits. A (relatively) minor change: I've dropped support for TclExpat - noone is maintaining it. If you have any questions, feel free to email me. Cheers, Steve Ball |
From: Steve B. <Ste...@zv...> - 2004-10-24 08:26:04
|
FYI, Changes have been checked-in to the TclXML repository for the TclXML, TclDOM and TclXSLT packages that affect building these packages on the Windows platform, using the win/makefile.vc method. Previously, the libxml2 and libxslt libraries were statically linked to the package's DLLs, but now they are dynamically linked. This means that the libxml2, libxslt and other related DLLs must be included with the application's binary in order to load correctly. This change fixes a very obscure bug affecting the serialisation of a result document from an XSL transformation. Text nodes that had output escaping disabled were being escaped, but only on the Windows platform. This change shouldn't affect TEA builds on Windows. However, it is a reminder that static linking should not be done when using the TclXSLT package. Enjoy, Steve Ball --- Steve Ball | XSLT Standard Library | Training & Seminars Zveno Pty Ltd | Web Tcl Complete | XML XSL Schemas http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development Ste...@zv... +---------------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 |
From: Steve B. <Ste...@zv...> - 2004-09-23 23:58:48
|
I have just committed a fix for #1032660, submitted by David Welton (thanks David!). This fixes a crashing bug in TclXML/libxml2, so it's pretty important. For those with an interest, please pull the latest code from the CVS repository and try it out. I just ran the TclXML tests with no failures and no crashes and the TclDOM tests with no crashes (but a few failures, mainly incorrectly specified expected results). There are also reports of memory leakage. I'll look into those as soon as I get time. In the meantime expect a v3.1 release soon. Enjoy, Steve Ball --- Steve Ball | XSLT Standard Library | Training & Seminars Zveno Pty Ltd | Web Tcl Complete | XML XSL Schemas http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development Ste...@zv... +---------------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 |
From: Steve B. <Ste...@zv...> - 2004-09-15 20:33:21
|
There are a set of requests on the SF project site to provide RPMs for the TclXML/TclDOM/TclXSLT packages. This seems like a reasonable thing to do, but I'm not in a position to generate the RPMs myself (I already do MS Windows and Mac OS X binaries for every release). I'm looking for a volunteer to take care of producing RPMs when these packages are released. I am prepared to be overwhelmed with responses. Cheers, Steve --- Steve Ball | XSLT Standard Library | Training & Seminars Zveno Pty Ltd | Web Tcl Complete | XML XSL Schemas http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development Ste...@zv... +---------------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 |
From: <aku...@sh...> - 2004-08-20 05:39:14
|
11'th Annual Tcl/Tk Conference October 11 - 15, 2004 New Orleans, Louisiana, USA Email Contact tc...@tc... We are pleased to announce the 11'th Annual Tcl/Tk conference (Tcl'2004), sponsored by Noumena Corporation, in cooperation with ActiveState and ExpoTech. Come to New Orleans to: * Learn about the power of Tcl/Tk. * Present exciting new work involving Tcl/Tk. * See the latest developments in Tcl/Tk. * Meet Tcl/Tk researchers and users from academia, government and industry. * Plan for future Tcl/Tk related developments. The conference program will include paper presentations, tutorials, Birds of a Feather (BOF) sessions and invited key-note talks. Registration Online registration is ready now. <http://www.tcl.tk/community/tcl2004/reg.html> Tutorials Come learn about Tcl from the experts. This year's Tcl/Tk Conference includes one of the best sets of Tutorials ever offered including tutorials on Jacl, TclHttpd, Starkit, Advanced GUI construction, and the API. <http://www.tcl.tk/community/tcl2004/tut2004.html> Schedule More details will be added to the schedule as they become available. <http://www.tcl.tk/community/tcl2004/schedule.html> Those attending the conference will be interested in the conference info page. <http://www.tcl.tk/community/tcl2004/info.html> To keep in touch with news regarding the conference and Tcl events in general, subscribe to the tcl-announce list. <http://listserv.activestate.com/mailman/mysubs?show=announce> Other Forms of Participation For those who are not presenting a paper at the conference, but would like to present their work in some form, we do provide several other forms of participation. Slots for Works-in-Progress (WIP) presentations and Birds-of-a-Feather sessions (BOFs) are available on a first-come, first-served basis by sending email to tc...@tc.... Some WIP and BOF time slots will be held open for on-site reservation, so we encourage all attendees with interesting work in progress to consider presenting that work at the conference. Conference Committee Gerald Lester HMS Software General Chair Andreas Kupries ActiveState Corp Clif Flynt Noumena Corp Website Admin Jeffrey Hobbs ActiveState Corp Kevin Kenny GE Global Research Center Ken Jones Avia Training Mac Cody Raytheon Company Kim Richerts Steve Landers Digital Smarties Sheila Miguez Motorola Larry Virden Tcl FAQ Maintainer Contact Information tc...@tc... |
From: Steve B. <Ste...@zv...> - 2004-07-12 22:17:39
|
For those who missed it, I pushed v3.0 of the TclXML family out the door over the weekend. All of the show-stopper bugs were fixed, I've been using the code in my production environment for a while, so I figured it was time to move on to the next phase. There are still some problems, like building on Solaris, but they'll have to wait for the next release. I'll be working on applications next, like tkxmllint, tkxsltproc & waXML, as well as SCMS (Simple Content Management System). Enjoy, Steve Ball --- Steve Ball | XSLT Standard Library | Training & Seminars Zveno Pty Ltd | Web Tcl Complete | XML XSL Schemas http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development Ste...@zv... +---------------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 |
From: Steve B. <Ste...@zv...> - 2004-05-20 13:31:06
|
At long last I have overcome various problems compiling TclXML, et al, for Windows! The Windows binary package for TclXML combo v3.0b2 has been uploaded to SourceForge. I need to update the documentation before making a wider annoucement, but briefly in order to use these binaries you'll need to supply the DLL msvcr71.dll, from Visual Studio .NET 2003. At this stage I'm not sure what the licensing restrictions are on redistribution of that DLL, so its safer to leave it out for now. BTW, tkxmllint and tkxsltproc are up-and-running. I have fixed a significant bug that affected setting the base URI correctly, so tkxsltproc now successfully processes DocBook documents! Enjoy, Steve Ball --- Steve Ball | XSLT Standard Library | Training & Seminars Zveno Pty Ltd | Web Tcl Complete | XML XSL Schemas http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development Ste...@zv... +---------------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 |
From: Steve B. <Ste...@zv...> - 2004-02-20 09:54:39
|
Checked in my latest changes for TclXML v3.0; I think things are working well enough for the beta 2 release. TclXML/libxml2 v3.0 now passes all tests using the xmlTextReader interface(!) TclDOM/libxml2 has some outstanding failures and there's still work to do on the pure-Tcl implementations, so no final release just yet. Enjoy, Steve Ball Steve Ball | XSLT Standard Library | Training & Seminars Zveno Pty Ltd | Web Tcl Complete | XML XSL Schemas http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development Ste...@zv... +---------------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 |
From: Steve B. <Ste...@zv...> - 2004-01-19 23:13:01
|
Just checked in changes for TclDOM/libxml2 to fix DTD and XML Schema validation; all tests run without crashing! I may release a beta 2 version later this week. The TODO list before going final on v3.0 is as follows: 1. Check TclXML/tcl, TclDOM/tcl regression tests; fix any problems, 2. Resolve outstanding TclXML/libxml2, TclDOM/libxml2 problem reports, 3. Build Mac OS X and Windows binaries (Linux is easy to build from source ;-), 4. Update documentation and website. If anyone has any final requests/suggestions then please let me know. Steve Ball | XSLT Standard Library | Training & Seminars Zveno Pty Ltd | Web Tcl Complete | XML XSL Schemas http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development Ste...@zv... +---------------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 |
From: Steve B. <Ste...@zv...> - 2004-01-15 20:51:25
|
Yesterday I committed my latest code to the CVS repository. There have been significant changes to improve node and event management. The event test module is now quite substantial (though it could do with more tests... which is pretty much true for every test module, all of the time ;-) Using events no longer causes crashes (yippee!). TclDOM/libxml2 now passes almost all of the tests, but regression testing has found problems with XML Schema validation. Once I sort that out we'll be very close to a beta2 release. However, there's still some work to do with the TclDOM/tcl implementation. Enjoy, Steve Ball Steve Ball | XSLT Standard Library | Training & Seminars Zveno Pty Ltd | Web Tcl Complete | XML XSL Schemas http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development Ste...@zv... +---------------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 |
From: Steve B. <Ste...@zv...> - 2003-12-07 20:13:33
|
Hi Daniel, Those references are now obsolete; it is no longer necessary to build libTcldom. TclDOM/libxml2 is now a standalone package. Cheers, Steve Ball On 07/12/2003, at 22:43, Daniel A. Steffen wrote: > Steve, > > the tcldom HEAD appears to be broken since you merged the 3.0 branch, > e.g. configure breaks because TcldomConfig.sh.in is missing > > config.status: error: cannot find input file: TcldomConfig.sh.in > > indeed a number of files needed to build libTcldomstub were moved to > the Attic with 3.0, but are still referred to by the buildsystem > > http://cvs.sourceforge.net/viewcvs.py/tclxml/tcldom/Attic/?sortby=date > > I've tried using the older version of these files but that doesn't > work either (below) > > are these sources missing from 3.0 or are the references to > libTcldomstub in the buildsystem obsolete? > > Thanks > > Cheers, > > Daniel > > -- ** Daniel A. Steffen ** "And now for something completely > ** Dept. of Mathematics ** different" Monty Python > ** Macquarie University ** <mailto:st...@ma...> > ** NSW 2109 Australia ** <http://www.maths.mq.edu.au/~steffen/> > > > gcc -mcpu=750 -mtune=7400 -pipe -DHAVE_UNISTD_H=1 -DHAVE_LIMITS_H=1 > -DTCL_THREADS=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 > -DHAVE_PTHREAD_ATTR_SETSTACKSIZE=1 -DHAVE_READDIR_R=1 > -DTCL_WIDE_INT_TYPE=long\ long -DWORDS_BIGENDIAN=1 -DHAVE_GETCWD=1 > -DHAVE_OPENDIR=1 -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 -DHAVE_STRTOLL=1 > -DHAVE_STRTOULL=1 -DHAVE_TMPNAM=1 -DHAVE_WAITPID=1 -DNO_VALUES_H=1 > -DNO_DLFCN_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_TERMIOS=1 > -DHAVE_SYS_TIME_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_TM_ZONE=1 > -DHAVE_GMTIME_R=1 -DHAVE_LOCALTIME_R=1 -DHAVE_TM_GMTOFF=1 > -DHAVE_ST_BLKSIZE=1 -DSTDC_HEADERS=1 -Dsocklen_t=unsigned > -DHAVE_SIGNED_CHAR=1 -DHAVE_PUTENV_THAT_COPIES=1 -DHAVE_SYS_IOCTL_H=1 > -DHAVE_SYS_FILIO_H=1 -DVERSION=\"3.0\" -DTCLDOM_VERSION=\"3.0\" > -DTCL_WIDE_INT_TYPE=long\ long -DNO_VALUES_H=1 -DNO_DLFCN_H=1 > -DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_THREAD_ALLOC=1 > -D_REENTRANT=1 -D_THREAD_SAFE=1 -DHAVE_PTHREAD_ATTR_SETSTACKSIZE=1 > -DHAVE_READDIR_R=1 -DTCL_THREADS=1 -DUSE_TCL_STUBS=1 -arch ppc -pipe > -I"/Volumes/Local/Users/steffen/Documents/Development/TclTk/core-8-4- > branch/build/tcl/Tcl.framework/Headers" -O3 -fno-common -c `echo > /Volumes/Local/Users/steffen/Documents/Development/TclTk/core-8-4- > branch/tcldom/tcldomStubInit.c` -o tcldomStubInit.o > /Volumes/Local/Users/steffen/Documents/Development/TclTk/core-8-4- > branch/tcldom/tcldomStubInit.c:20: error: parse error before > "tcldomStubs" > /Volumes/Local/Users/steffen/Documents/Development/TclTk/core-8-4- > branch/tcldom/tcldomStubInit.c:22: warning: excess elements in scalar > initializer > /Volumes/Local/Users/steffen/Documents/Development/TclTk/core-8-4- > branch/tcldom/tcldomStubInit.c:22: warning: (near initialization for > `tcldomStubs') > /Volumes/Local/Users/steffen/Documents/Development/TclTk/core-8-4- > branch/tcldom/tcldomStubInit.c:23: warning: excess elements in scalar > initializer > /Volumes/Local/Users/steffen/Documents/Development/TclTk/core-8-4- > branch/tcldom/tcldomStubInit.c:23: warning: (near initialization for > `tcldomStubs') > /Volumes/Local/Users/steffen/Documents/Development/TclTk/core-8-4- > branch/tcldom/tcldomStubInit.c:24: warning: excess elements in scalar > initializer > /Volumes/Local/Users/steffen/Documents/Development/TclTk/core-8-4- > branch/tcldom/tcldomStubInit.c:24: warning: (near initialization for > `tcldomStubs') > /Volumes/Local/Users/steffen/Documents/Development/TclTk/core-8-4- > branch/tcldom/tcldomStubInit.c:25: error: `TclDOM_Register' undeclared > here (not in a function) > /Volumes/Local/Users/steffen/Documents/Development/TclTk/core-8-4- > branch/tcldom/tcldomStubInit.c:25: warning: excess elements in scalar > initializer > /Volumes/Local/Users/steffen/Documents/Development/TclTk/core-8-4- > branch/tcldom/tcldomStubInit.c:25: warning: (near initialization for > `tcldomStubs') > /Volumes/Local/Users/steffen/Documents/Development/TclTk/core-8-4- > branch/tcldom/tcldomStubInit.c:26: warning: data definition has no > type or storage class > make[1]: *** [tcldomStubInit.o] Error 1 > Steve Ball | XSLT Standard Library | Training & Seminars Zveno Pty Ltd | Web Tcl Complete | XML XSL Schemas http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development Ste...@zv... +---------------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 |
From: Steve B. <Ste...@zv...> - 2003-12-03 06:53:44
|
Just checked in my latest changes to the v3_0 branch of the tclxml, tcldom and tclxslt modules. The libxml2 version of the packages now build under Mac OS X (Panther) and Linux. I'll do a Windows build soon. There are still some outstanding issues with the TclDOM/libxml2 package, in particular node management and events. However, the packages (and their build systems) are now stable enough that I will now merge the v3_0 branch into the CVS trunk. Once that is complete I will make the first beta release, and then finish work on the aforementioned issues. Please feel free to send comments, suggestions, etc, Steve Ball Steve Ball | XSLT Standard Library | Training & Seminars Zveno Pty Ltd | Web Tcl Complete | XML XSL Schemas http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development Ste...@zv... +---------------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 |
From: Steve B. <Ste...@zv...> - 2003-08-19 07:43:49
|
Release Candidate 1 of version 3.0 of the TclXML package is now available to download from SourceForge: http://sourceforge.net/project/showfiles.php?group_id=13178 This release introduces the "libxml2" parser class - a binding to the Gnome libxml2 library. TclXML applications may use the libxml2 parser class to parse XML documents, using callbacks in the usual fashion. No significant changes have occurred to the pure-Tcl or expat parser classes. At this stage it is planned to perform some bug fixes to the pure-Tcl parser class for release candidate 2, but not to add any new functionality. Enjoy, Steve Ball -- Steve Ball | XSLT Standard Library | Training & Seminars Zveno Pty Ltd | Web Tcl Complete | XML XSL Schemas http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development Ste...@zv... +---------------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 |
From: Steve B. <Ste...@zv...> - 2003-07-28 01:18:05
|
Dear All, Today I committed my latest changes to the v3_0 branch. Still a work-in-progress, but the end is in sight! TclDOM document and node management changes have largely been completed. Some work remains in getting node management working properly, particularly when cleaning up invalid node references. The major outstanding work is for events. The test suite has been upgraded to tcltest v2.2. The really good news is that the tests run without crashing and almost all tests pass! The only failing tests are those associated with cleaning up node references, see above, and events. I'm now working on the TclXML test suite, and making sure that TclXML/libxml2 passes all tests. All that remains after that and the above work is TclXSLT and documentation. Enjoy, Steve Ball -- Steve Ball | XSLT Standard Library | Training & Seminars Zveno Pty Ltd | Web Tcl Complete | XML XSL Schemas http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development Ste...@zv... +---------------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 |
From: Joe E. <jen...@fl...> - 2003-06-29 19:28:57
|
Steve Ball wrote: > > I've been working on TclXML v3.0 and trying to incorporate > some new ideas on document and node management. In particular, > your request to have implicit document destruction has > been implemented. However, I'm now at the point where > I just cannot get it to work reliably. [... explanation deleted ...] > My conclusion is that object shimmering defeats any attempt > to have mutable objects automatically garbage collected. That's a correct conclusion. This sort of thing just isn't possible in Tcl. Of course some extensions do it anyway, but there is no way to make it 100% reliable. > At this point there is a choice: don't define document node commands > (ie. stay with the v2.x TclDOM API) or require explicit > destruction of documents. At this stage my preference is for > the latter. Even if you don't define document node commands, there are still other opportunities for shimmering. ([eval] is probably the main one; there are many others.) It's possible, with great care, to write code that avoids shimmering altogether, but IMO that places too large a burden on application programmers. I'm strongly in agreement with Steve's preference for explicit destruction. --Joe English jen...@fl... |
From: Steve B. <Ste...@zv...> - 2003-06-29 11:26:44
|
Hi Roy, I've been working on TclXML v3.0 and trying to incorporate some new ideas on document and node management. In particular, your request to have implicit document destruction has been implemented. However, I'm now at the point where I just cannot get it to work reliably. What I have at the moment is this; documents are managed by TclXML - the libxml2 wrapper (TclXML/libxml2) parses a document and a Tcl object is stored inside the parser instance that references the document. The 'get document' method may be used to retrieve that object. There is now an internal TclDOM command, 'dom::libxml2::adoptdocument', that takes the document object and layers DOM structures on top of it. When TclDOM "adopts" a document it also creates a Tcl command that has a reference to that document as its clientData. The docObj module in TclXML/libxml2 maintains a list of which Tcl_Obj's have their internal representation referring to the document. Every time a Tcl_Obj frees its reference that object is removed from the list. When the list becomes empty, the document is destroyed (ie. implicit destruction). In other words, the document is reference counted but instead of a simple count a list is used. The reason for this is that if the document id *explicitly* destroyed then all Tcl_Obj's that reference the document must have their internal representation invalidated (to avoid inadvertant core dumps). Consider the following script: package require dom::libxml2 set p [xml::parser] $p parse <Test/> # parser instance $p now contains the xmlDoc set d [$p get document] # variable $d now also references the xmlDoc $p free # parser instance, along with its reference to the # document, has been destroyed. However, $d still # references the document so it remains in memory. set doc [dom::libxml2::adoptdocument $d] # $doc also references the object and it is now a Tcl command $doc cget -implementation # the new alternative to 'dom::document cget $doc -implementation' # [1] dom::serialize $doc # Should return the original XML text # [2] ### end of script That last command *should* succeed but, alas, it fails. This is because prior to [1] there is a single Tcl_Obj that references the xmlDoc. At various times the Tcl_Obj has a reference count of 2 or 3, corresponding to $p, $d and $doc. However, at [1] the *internal representation* of the Tcl_Obj is changed to something else, since the Tcl_Obj has been used as a command reference. Now the docObj module is informed that the internal rep has been freed and it notices that there are now no references to the xmlDoc to it is destroyed. The Tcl command at [2] returns the error message "no such document", because by that time it has been destroyed. My conclusion is that object shimmering defeats any attempt to have mutable objects automatically garbage collected. It is not enough to retain a reference to the Tcl_Obj to keep the document alive - somehow you must prevent the internal rep from being changed. It would seem that the design of the Tcl object system does not support this. At this point there is a choice: don't define document node commands (ie. stay with the v2.x TclDOM API) or require explicit destruction of documents. At this stage my preference is for the latter. All comments are welcome, Steve Ball -- Steve Ball | XSLT Standard Library | Training & Seminars Zveno Pty Ltd | Web Tcl Complete | XML XSL Schemas http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development Ste...@zv... +---------------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 |
From: Steve B. <Ste...@zv...> - 2003-06-24 06:15:53
|
I have now checked in changes to make TclXML v3.0 thread-safe. Where possible, the modules have been made "thread-oblivious". However, thread-specific data is required in a few places. I'm not 100% sure that libxml2 is thread-safe so I have protected all calls to libxml2 routines with a mutex. There was a discussion on thread-safety a while ago on the libxml2 mailing list, and at some stage I'll review that (mail) thread and see if the threading can be improved in the TclXML module. Reminder: this code is in the v3_0 branch. Otherwise, enjoy! Steve -- Steve Ball | XSLT Standard Library | Training & Seminars Zveno Pty Ltd | Web Tcl Complete | XML XSL Schemas http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development Ste...@zv... +---------------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 |
From: Steve B. <Ste...@zv...> - 2003-06-03 23:16:14
|
New and changed files have been committed on the v3_0 branch of the TclXML project. These implement a binding of libxml2 for TclXML, the idea being to move that functionality down from TclDOM and provide a SAX-style interface. There are minimal features at the moment - just start/end tags and character data. Other callbacks will be added soon, along with features such as validation (DTD, XSD & RNG). The guts of the extension are in libxml2/tcllibxml2.c and libxml2/docObj.c. The former implements the interface between libxml2 and the TclXML generic layer, the latter implements a manager for xmlDoc structures wrapped in a Tcl_Obj. This provides implicit destruction of xmlDoc's. Enjoy, Steve Ball -- Steve Ball | XSLT Standard Library | Training & Seminars Zveno Pty Ltd | Web Tcl Complete | XML XSL Schemas http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development Ste...@zv... +---------------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 |
From: Steve B. <Ste...@zv...> - 2003-03-11 06:56:30
|
Now that v2.6 is out-the-door I am starting work on v3.0 of the TclXML/TclDOM/TclXSLT family. The CVS modules for each of these packages have had a branch created - "v3_0" is the branch name. This leads me to the issue of release management. ActiveState pull the HEAD of the CVS modules for inclusion in ActiveTcl and TclDevKit. Now, this means that (a) there are problems when the head is unstable, and (b) the package as included in ActiveTcl/TclDevKit may be different to the last stable release even though the version number is the same. In order to workaround these issues from this point forward all development will occur in branches of the package modules. When the package(s) is(are) released the branch will be merged with the HEAD. This should make releases more "atomic". I note that other projects have introduced a similar policy (TclSOAP, as I recall). The design of v3.0 of the packages is now under consideration. All suggestions are welcome. My main aims with this version are as follows: 1. Bind to libxml2 in the TclXML package, exposing libxml2's SAX interfaces. TclDOM/libxml2 will call into TclXML to perform parsing, rather than directly invoking libxml2 parse functions. Also allow parsing options to be passed from TclDOM to TclXML. This will allow applications to parse an XML document into a DOM tree, but simultaneously interpose on the SAX events while parsing is performed. 2. Develop a binding to MSXML. MSXML is a well-regarded XML parser and XSLT engine, which is reason enough to do a binding, but I'm particularly interested in its XML Schema validation capability. NB. I'm not very well geared-up for Windows app development, so any help would be appreciated - especially any form of sponsorship. 3. Change the model for managing libxml2 tree nodes in TclDOM. There are some fundamental flaws in the current model: a. The one-to-one mapping of Tcl objects to tree nodes breaks down, since multiple Tcl objects may have a pointer to the same libxml2 node. b. Using the _private field to point back to the Tcl object conflicts with libxslt. Changing the model should allow us to fix memory leaks, see bug #637578. 4. API and implementation changes: I've always been reluctant to define node commands (as tDOM does), because of the potential impact on the performance of the Tcl interpreter of possibly thousands of commands being defined (not that I've done the work to confirm that there is an impact). However, in a recent brainwave I thought it would be cool to create a separate Tcl namespace for each DOM document. Cleaning up the document will then trivially easy ('namespace delete $doc') and node commands will be isolated in that namespace, therefore avoiding impact on other parts of the interpreter. 5. Hook into the safety aspects on libxml2. In fact, it may be interesting to create "Safe XSLT" - linking an XSLT stylesheet to a safe Tcl slave interpreter. Would folks find it convenient to put the above into a Wiki page? Feel free to share your thoughts... Steve. -- Steve Ball | XSLT Standard Library | Training & Seminars Zveno Pty Ltd | Web Tcl Complete | XML XSL Schemas http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development Ste...@zv... +---------------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 |
From: Steve B. <Ste...@zv...> - 2003-03-03 10:12:45
|
Yesterday I uploaded TclXML v2.6 to the project website, but today I had to take it back down :-( There are some continuing problems with the installer. Sorry for any inconvenience, Steve Ball -- Steve Ball | XSLT Standard Library | Training & Seminars Zveno Pty Ltd | Web Tcl Complete | XML XSL Schemas http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development Ste...@zv... +---------------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 |
From: Steve B. <Ste...@zv...> - 2003-01-26 04:40:41
|
FYI, Just checked in changes that complete the additions to the libxml2 module. Now TclDOM/libxml2 passes pretty much all of the tests (there are some failures in the serialization tests related to XML Namespaces that I'll look into later). Next I'll be preparing the v2.6 release. Enjoy, Steve Ball -- Steve Ball | XSLT Standard Library | Training & Seminars Zveno Pty Ltd | Web Tcl Complete | XML XSL Schemas http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development Ste...@zv... +---------------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 |
From: Steve B. <Ste...@zv...> - 2003-01-23 19:59:29
|
FYI, I have just committed some changes to the TclDOM/libxml2 codebase: * Implemented missing functionality in document and node commands (-nextSibling, -previousSibling, etc; insertBefore, appendChild, etc). * Revamped event management. * Patches for doctype handling from c.l.t. newsgroup. Roy Nurmi's changes have been incorporated, but I've added event generation. It all compiles OK, and the libxml2 code now passes many more of the tests, but still doesn't complete the test suite correctly so I am continuing work on it. Cheers, Steve -- Steve Ball | XSLT Standard Library | Training & Seminars Zveno Pty Ltd | Web Tcl Complete | XML XSL Schemas http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development Ste...@zv... +---------------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 |
From: Steve B. <Ste...@zv...> - 2002-12-10 06:27:31
|
Hi All, Just a note on procedure to TclXML developers: All changes to the CVS repository must be documented in the ChangeLog. When closing a bug report, please update the RELNOTES file's (release notes) "Bugs fixed" section for the current version of the package you're working on. Keeping these files up-to-date does add a little overhead to development, but is tremendously helpful to keep track of distributed development. Cheers, Steve Ball -- Steve Ball | XSLT Standard Library | Training & Seminars Zveno Pty Ltd | Web Tcl Complete | XML XSL Schemas http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development Ste...@zv... +---------------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 |
From: Steve B. <Ste...@zv...> - 2002-12-08 01:17:41
|
Philipp Roessler wrote: > Did anyone ever succeed in running tclhttpd (either the one in Daniel's > Jaguar distro or a standalone version like tclhttpd3.4.2-dist) on OS X? Yes, got it running just last week. Didn't have to do anything: it just ran. NB. I didn't do an install, just ran the server out of the distribution directory. NB2. the additional C functions, crypt and limit, etc, were not used. Further, my aim in getting the server to work was to prototype performing on-the-fly transformations of XML documents using XSLT to deliver HTML Web pages. That works fine too! I overrode the "DocHandler" procedure in a custom library file; only a handful of LOC did the job. HTHs, Steve Ball -- Steve Ball | XSLT Standard Library | Training & Seminars Zveno Pty Ltd | Web Tcl Complete | XML XSL Schemas http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development Ste...@zv... +---------------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 |
From: Steve B. <Ste...@zv...> - 2002-12-03 05:57:39
|
Hi Pete, After our conversation of a few days ago, I thought I'd do an experiment on TclDOM memory consumption. [for the benefit of mailing list readers, Peter queried how much memory a DOM tree consumes compared to the size of the text document, ie. if the original XML document is 1MB in size, how much memory does the DOM tree representation of that document take? DOM is notoriously memory-hungry, so this information is important when scoping apps that are going to be handling alot of XML documents and possibly caching them in-memory. We are builing a Content Management System (CMS) that has these characteristics.] I created a document, using a trivial Tcl script, that contained 1000 elements each containing 1000 random characters. Memory consumption for that document was ~1MB, as expected. I then parsed the document 100 times, creating 100 identical DOM trees (btw, parsing the 1MB document 100 times was significantly faster than creating the one document in the first place!). Memory usage increased by 116MB, indicating that the memory overhead for the libxml2 DOM tree is less than 20%. That seems pretty reasonable. Next I wrote another script that created a TclDOM object handle for every element node, to see what the additional memory overhead is for TclDOM. The increase was 58MB, so that's ~580 bytes per node. Now, in a CMS it would be unlikely that you'd be handling individual nodes; the app would just be passing entire trees around the place. Thus per-node memory overhead is not of much concern. Overall, my conclusion is that libxml2 seems to introduce minimal additional memory overhead. Of course, YMMV. Memory consumption will be on a per-node basis, so a document that contains few elements and text nodes that are large will have a lower overhead than Leading on from this I thought I'd experiment with building a CMS using the Tcl Web Server for handling HTTP requests. tclhttpd sure is good for quick prototyping! Starting on Friday, by Monday I had a Web server running on my TiBook that generates our website's HTML on-the-fly via XSLT. Source documents and compiled stylesheets are cached in-memory. The server determines which source document and XSL stylesheet to use by consulting the XML Pipeline document for the website. The tricky part is that the pipeline controller itself is also an XSL stylesheet! So, a request for a HTML document is handled by invoking the pipeline controller XSL stylesheet. The stylesheet works out which source document and stylesheet to use, as well as parameters to pass, and then invokes another transformation to do the work of generating the HTML. IOW, a document request causes at least one and possibly two transformations to be performed. Performance seems OK but not super-fast. Caching seems to be effective in serving pages quickly. However, I think I'll have to instrument the code to allow profiling and work out the slow-spots and also use (or write) a client robot to time the requests. I didn't use Apache for this prototype because getting mod_tcl built on my TiBook was not straight-forward (due to the fact that I've got Tcl built as an OSX framework, etc, etc). At this stage I might try running Apache up on our Linux server and getting mod_tcl+TclXSLT working there. Cheers, Steve -- Steve Ball | XSLT Standard Library | Training & Seminars Zveno Pty Ltd | Web Tcl Complete | XML XSL Schemas http://www.zveno.com/ | TclXML TclDOM | Tcl, Web Development Ste...@zv... +---------------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 |