Re: Status of project, and where to next
nico <[email protected]> Thu, 28 Apr 2005 23:16:30 +0200
| Newsgroups | gmane.text.docbook.db2latex.devel |
|---|---|
| Message-ID | <opspyn1sch9niby6@localhost> |
On Thu, 28 Apr 2005 07:37:53 +0200, Torsten Bronger =20 <[email protected]> wrote: > Hall=C3=B6chen! Salut ! ;-) > > nico <[email protected]> writes: > >> [...] >> >> Well, the perl processing is used for three purposes: >> >> - for fast systematic string replacement, e.g. a "\" is change to >> a "\\" to make latex happy. Doing this task with XSL is quite >> possible but really slow. I wanted something really faster because >> I need to drive books containing more than 200 pages. This said, >> maybe that EXSL functions now exist that can do this far >> better. Is it the case? > > I don't know EXSL well enough, but while I too had once thought that > it's good to have everything in XSLT, I quickly realised that > there's always the right tool for the right purpose, and doing > everything in XSLT means that you do it sub-optimally in one way or > the other. That's why I use the perl processing, indeed. > > So I wrote tbrplent (in C++) which replaces UTF-8 sequences with > LaTeX commands. It works well. The idea is that the XSLT > stylesheet deploys delimiters. Every text node is enclosed by them, > every formula, and every text-within-formula. So the replacements > can fit in their context. My XSLT typically contains: That's exactly the way I do. > > <xsl:variable name=3D"start-delimiter" select=3D"'˜'"/> > <xsl:variable name=3D"end-delimiter" select=3D"'œ'"/> > > <xsl:template match=3D"text()" priority=3D"0"> > <xsl:value-of select=3D"$start-delimiter"/> > <xsl:value-of select=3D"."/> > <xsl:value-of select=3D"$end-delimiter"/> > </xsl:template> > > Unfortunately, my ambitions have grown since then, and I plan a > re-write. I needed three pairs of delimiters, but I want to replace > them by one pair plus numerical parameter, in order to have as many > "modes" as I need. For example, there must be a special mode for > headings, because in PDF bookmarks some characters must be written > differently. I understand. > > tbrplent was written for my tbook project ("TBook RePLace ENTities), > but I now use it for texi2latex, too. > > If you are interested, we can try a re-implementation (under a new > name) together. It's not a big thing after all. The replacement > tables exist already, they just need to be expanded to the new > modes. And we have to decide for a language. I planed to use > Python, but probably most of you are Perl hackers. Yes it's interesting. Personally I would vote for Python: powerfull, clea= n =20 and maintanable code, well suited for text processing, compilable if hard= =20 performance is needed, available on almost every platform. > > C++ would produce a small executable program, which is especially > pleasing for a Windows distribution. Since no regexes are involved, > it should be as easy to program and as fast as in Perl. So I vote > for C++. > > Tsch=C3=B6, > Torsten. > Regards, BG ------------------------------------------------------- SF.Net email is sponsored by: Tell us your software development plans! Take this survey and enter to win a one-year sub to SourceForge.net Plus IDC's 2005 look-ahead and a copy of this survey Click here to start! http://www.idcswdc.com/cgi-bin/survey?id=3D105hix