From lodewijk@reddwarf.xs4all.nl Wed Aug 1 20:08:32 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from smtp8.xs4all.nl (smtp8.xs4all.nl [194.109.127.134]) by mail.gnome.org (Postfix) with ESMTP id F0C8B2BC0D for ; Wed, 1 Aug 2001 20:08:31 -0400 (EDT) Received: from reddwarf.xs4all.nl (voge.xs4all.nl [213.84.6.60]) by smtp8.xs4all.nl (8.9.3/8.9.3) with SMTP id CAA16244 for ; Thu, 2 Aug 2001 02:08:29 +0200 (CEST) From: lodewijk@reddwarf.xs4all.nl Received: (qmail 3109 invoked by uid 1000); 2 Aug 2001 00:09:42 -0000 Date: Thu, 2 Aug 2001 02:09:42 +0200 To: xslt@gnome.org Message-ID: <20010802020942.A3087@reddwarf.xs4all.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.3.20i Subject: [xslt] xsl:import and attribute-set precedence Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: hello, I stumbled onto what I think is an libxslt bug. I'm trying to make a stylesheet easily customizable by using attribute sets. the idea is just like the example at http://www.w3.org/TR/xslt#import, to let another sheet import it and set some attributes differently. it appears libxslt doesn't handle the precendence as I would expect from reading the specification. take foo.xml: and foo1.xsl: +1 foo and foo2.xsl: +2 now, running foo1.xsl I expect and get: lodewijk$ xsltproc foo1.xsl foo.xml foo okay. now, running foo2 I'd expect +2, not +1, but: lodewijk$ xsltproc foo2.xsl foo.xml foo the same. OTOH, XT gives what I expect: lodewijk$ kaffe -classpath /usr/share/kaffe/Klasses.jar:/usr/share/java/repository com.jclark.xsl.sax.Driver foo.xml foo2.xsl foo as does Xalan. xsltproc -v shows it does try to update the attribute set, but apparently that doesn't work: lodewijk$ xsltproc -v foo2.xsl foo.xml Added namespace: xsl mapped to http://www.w3.org/1999/XSL/Transform xsltPrecomputeStylesheet: removing ignorable blank node xsltParseStylesheetProcess : found stylesheet Added namespace: xsl mapped to http://www.w3.org/1999/XSL/Transform xsltPrecomputeStylesheet: removing ignorable blank node xsltParseStylesheetProcess : found stylesheet creating attribute set table add attribute to list blah-style updated attribute list blah-style xsltCompilePattern : parsing '/' xsltCompilePattern : parsed /, default priority 0.500000 added pattern : '/' priority 0.500000 parsed 1 templates creating attribute set table add attribute to list blah-style updated attribute list blah-style parsed 0 templates Initializing keys on foo.xml Registered 0 modules Registering global variables Registering global variables from foo2.xsl Registering global variables from foo1.xsl apply attribute set blah-style foo is this a bug, or am I misunderstanding things? Lodewijk From Pramod.Dambal@irishlife.ie Thu Aug 2 14:22:07 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from mail.assurelink.ie (mail.assurelink.ie [194.106.150.10]) by mail.gnome.org (Postfix) with ESMTP id 09A622DC5A for ; Thu, 2 Aug 2001 14:20:42 -0400 (EDT) Received: from irishlife-ws.assurelink.com ([172.16.2.15]) by mail.assurelink.ie (Sun Internet Mail Server sims.4.0.2000.10.12.16.25.p8) with ESMTP id <0GHG00I9ADPITA@mail.assurelink.ie> for xslt@gnome.org; Thu, 2 Aug 2001 19:22:32 +0100 (BST) Received: from ilife026.irishlife.ie (localhost [127.0.0.1]) by irishlife-ws.assurelink.com (8.8.8+Sun/8.8.8) with ESMTP id TAA19204 for ; Thu, 02 Aug 2001 19:19:45 +0100 (BST) Received: by ilife026.irishlife.ie with Internet Mail Service (5.5.2232.9) id ; Thu, 02 Aug 2001 18:12:56 +0100 Content-return: allowed Date: Thu, 02 Aug 2001 18:12:53 +0100 From: Pramod.Dambal@irishlife.ie To: xslt@gnome.org Message-id: <0D088C86EB4BD211BFF64000333300070FB00879@ilife007> MIME-version: 1.0 X-Mailer: Internet Mail Service (5.5.2232.9) Content-type: MULTIPART/MIXED; BOUNDARY="Boundary_(ID_GdnH4eg5tvOFyUWvZU9eCw)" Subject: [xslt] xsl:variable Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. --Boundary_(ID_GdnH4eg5tvOFyUWvZU9eCw) Content-type: text/plain Content-transfer-encoding: 7BIT <> <> Hi Group I have a problem with xsl. I am new to xsl and trying to write xsl to convrt xml to xml. I am trying to set the variable to a node value as below but I get empty value here. Please help me. Regards Pramod This is a confidential communication and is intended only for the addressee indicated in the message (or duly authorised to be responsible for the delivery of the message to such person). You are specifically prohibited from copying this message or delivering the same, or any part thereof, to any other person, whomsoever or howsoever, unless you receive written authorisation from us to do. If you are anyone other than the intended addressee, or person duly authorised and responsible for the delivery of this message to the intended addressee, you should destroy this message and notify us immediately. Please note that we accept no responsibility whatsoever in the event that this message or any other email message or any part thereof becomes known or is communicated to anyone other than the intended recipient or other person authorised in writing by us to receive it, howsoever arising and disclaim all liability for any losses or damage which may be sustained by any person as a result thereof. --Boundary_(ID_GdnH4eg5tvOFyUWvZU9eCw) Content-type: application/octet-stream; name=pos.xsl Content-disposition: attachment; filename=pos.xsl Content-transfer-encoding: quoted-printable Content-Location: ATT-1-23751C365F87D511B53D400033330026-p os.xsl =09 =09 --Boundary_(ID_GdnH4eg5tvOFyUWvZU9eCw) Content-type: application/octet-stream; name=lifecash-cqf.xml Content-disposition: attachment; filename=lifecash-cqf.xml Content-transfer-encoding: quoted-printable Content-Location: ATT-0-22751C365F87D511B53D400033330026-L IFECA%7E1.XML 0 0 1 50 50 1 N 40 45 42 01/01/1960 Mr. Dave Cooper Male Non-Smoker 32 01/01/1970 Miss Cat Barry Female Smoker (Including Cigarettes) Primary = Contact NZ18 ILIFE01 IL01 Irish Life Life Cash Cover Protection Term Assurance 34 Offline Punt 25/06/2001 Monthly Direct Debit False 20 Dual Lives 25/06/2001 False False False True Premium @ 7%; Benefits @ = 5% True True True 80000 Acc 90000 90000 Acc 100000 = 100 = 100 3 = 90 Initial 10% x Term, Max = 90%, Renewal 3% = ICommission:IPercentageOfTotalEntitl= ementXXX Dave Cooper 41 6 Male No Cat Barry 31 6 Female Yes 109.74 Monthly Dual Lives 20 Yes Yes EUR 139.34 2001.01.89 False --Boundary_(ID_GdnH4eg5tvOFyUWvZU9eCw)-- From Mark_Vakoc@jdedwards.com Thu Aug 2 16:01:38 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from ns1.jdedwards.com (unknown [63.136.208.195]) by mail.gnome.org (Postfix) with ESMTP id 90C7C2DBAA for ; Thu, 2 Aug 2001 16:01:37 -0400 (EDT) Received: from denvscans3.jdedwards.com ([10.0.14.77]) by ns1.jdedwards.com (8.9.1/8.9.1) with SMTP id OAA00653 for ; Thu, 2 Aug 2001 14:01:36 -0600 (MDT) Received: from 10.0.14.50 by denvscans3.jdedwards.com (InterScan E-Mail VirusWall NT); Thu, 02 Aug 2001 14:04:45 -0600 Received: by cormails5.jdedwards.com with Internet Mail Service (5.5.2653.19) id ; Thu, 2 Aug 2001 14:00:44 -0600 Message-ID: <08CFC733EDACD211AEA40008C7A4D39C06BC517F@cormails2.jdedwards.com> From: "Vakoc, Mark" To: "'xslt@gnome.org'" Subject: RE: [xslt] xsl:variable Date: Thu, 2 Aug 2001 13:58:04 -0600 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: When using variables within an attribute it must be enclosed within {}'s, i.e. > match="DataStore/Quotes/Quote/QuoteInput/IProtectionTermAssura > nce/ISystem"> > > > From ignacio@openservices.net Thu Aug 2 16:05:34 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from terbidium.openservices.net (unknown [209.47.245.85]) by mail.gnome.org (Postfix) with ESMTP id CA7D22BACD for ; Thu, 2 Aug 2001 16:05:33 -0400 (EDT) Received: (from root@localhost) by terbidium.openservices.net (8.9.3-MySQL-0.2.3b/8.9.3) id QAA10437 for xslt@gnome.org; Thu, 2 Aug 2001 16:05:33 -0400 Received: from terbidium.openservices.net (IDENT:ignacio@terbidium.openservices.net [209.47.245.85]) by terbidium.openservices.net (8.9.3-MySQL-0.2.3b/8.9.3) with ESMTP id QAA10382 for ; Thu, 2 Aug 2001 16:05:32 -0400 Date: Thu, 2 Aug 2001 16:05:32 -0400 (EDT) From: Ignacio Vazquez-Abrams To: "'xslt@gnome.org'" Subject: RE: [xslt] xsl:variable In-Reply-To: <08CFC733EDACD211AEA40008C7A4D39C06BC517F@cormails2.jdedwards.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-scanner: scanned by Inflex 1.0.7 - (http://pldaniels.com/inflex/) Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Thu, 2 Aug 2001, Vakoc, Mark wrote: > When using variables within an attribute it must be enclosed within {}'s, > i.e. > > > > > match="DataStore/Quotes/Quote/QuoteInput/IProtectionTermAssura > > nce/ISystem"> > > > > > > While we're at it, let's try using '{$sellerid}' instead of '{$sellercode}'... -- Ignacio Vazquez-Abrams From izlatkovic@daenet.de Fri Aug 3 06:08:46 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from Helena.DAENET (unknown [195.27.1.98]) by mail.gnome.org (Postfix) with ESMTP id 2FC222C02C for ; Fri, 3 Aug 2001 06:08:14 -0400 (EDT) X-MimeOLE: Produced By Microsoft Exchange V6.0.4417.0 content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----_=_NextPart_001_01C11C04.34E87D37" Date: Fri, 3 Aug 2001 12:08:13 +0200 Message-ID: <15B9339A69EDAC418FDC8A925015E5B53321@Helena.DAENET> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Win32 Facelift No.2 Thread-Index: AcEcBDTjiJFkDfI3QdCkdkOPhfIzhw== From: "Igor Zlatkovic" To: Subject: [xslt] Win32 Facelift No.2 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: This is a multi-part message in MIME format. ------_=_NextPart_001_01C11C04.34E87D37 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hello all, This is the repost of the Facelift patch, since the last one was timed badly. This one has been made against the last-night's CVS. Note that this patch depends on the one for libxml2 which I posted to the libxml mailing list few minutes ago. libxslt.diff.zip contains the cvs diff. Most non-trivial changes are concentrated on Win32/MSVC specific files. Daniel, please check this one as soon as the time permits, because it is big and gets bigger. This is hopefully the last time it has such size, which is caused mostly by inclusion of the test utilities and adaptions for cooperation with libxml. Once we are over this, things shall return to normal. MSVC project files have also been altered since the last facelift, so I include the archive with the new ones here. Simply unpack the libxslt.dsp.zip into the win32 subdirectory of the source tree and everything shall be fine. Sorry for the inconvenience with the zip files. I use this format because I assume your unzip is far less broken than my tar. Ciao Igor -------------------------------------- A short summary about what has been done to each file in the libxslt source follows: *** libxslt/libexslt/exslt.c conditionally included the libxslt/xsltwin32config.h instead of xsltconfig.h, which is generated during the build process and thus nonexistent on MSVC builds. *** libxslt/libexslt/exslt.h Included the MSVC import macro in the declaration of public variables. *** libxslt/libexslt/exsltconfig.h.in Declared the MSVC import macro. *** libxslt/libexslt/functions.c Conditionally excluded the call to libxml2 function which is only there if a certain feature has been turned on. *** libxslt/libexslt/math.c Removed the declarations of few variables which are declared in one of the headers. The second declaration caused MSVC to fail. *** libxslt/libxslt/win32config.h Heavy modifications. Mapped isnan() to MS C runtime function for MSVC builds, as well as isinf() by using the patch supplied by Bjorn Reese, excluded trio for MSVC builds, redefined the MSVC import macro for MSVC builds so it actually works. *** libxslt/libxslt/xsltutils.h Conditionally included a header file which is necessary for MSVC build to succeed, included the MSVC import macro in the declaration of public variables. *** libxslt/libxslt/xslt(win32)config.h.in Included the definition of the MSVC import macro. *** libxslt/xsltproc/xsltproc.c Removed the declarations of few variables which are declared in one of the headers. Also included those headers. The second declaration (without the MSVC import macro) caused MSVC to fail. ------_=_NextPart_001_01C11C04.34E87D37 Content-Type: application/x-zip-compressed; name="libxslt.diff.zip" Content-Transfer-Encoding: base64 Content-Description: libxslt.diff.zip Content-Disposition: attachment; filename="libxslt.diff.zip" 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 AAAAAAEAAQA6AAAAAAoAAAAA ------_=_NextPart_001_01C11C04.34E87D37 Content-Type: application/x-zip-compressed; name="libxslt.dsp.zip" Content-Transfer-Encoding: base64 Content-Description: libxslt.dsp.zip Content-Disposition: attachment; filename="libxslt.dsp.zip" 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 YQIAAKUhAAAAAA== ------_=_NextPart_001_01C11C04.34E87D37-- From veillard@redhat.com Fri Aug 3 08:26:25 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id 885AB2CEC9 for ; Fri, 3 Aug 2001 08:26:25 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f73CQP421513 for xslt@gnome.org; Fri, 3 Aug 2001 08:26:25 -0400 Date: Fri, 3 Aug 2001 08:26:25 -0400 From: Daniel Veillard To: xslt@gnome.org Subject: Re: [xslt] Win32 Facelift No.2 Message-ID: <20010803082625.B9718@redhat.com> References: <15B9339A69EDAC418FDC8A925015E5B53321@Helena.DAENET> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <15B9339A69EDAC418FDC8A925015E5B53321@Helena.DAENET>; from izlatkovic@daenet.de on Fri, Aug 03, 2001 at 12:08:13PM +0200 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Fri, Aug 03, 2001 at 12:08:13PM +0200, Igor Zlatkovic wrote: > Hello all, > > This is the repost of the Facelift patch, since the last one was timed > badly. This one has been made against the last-night's CVS. Note that > this patch depends on the one for libxml2 which I posted to the libxml > mailing list few minutes ago. Okay I applied those too. > *** libxslt/xsltproc/xsltproc.c > Removed the declarations of few variables which are declared in one of > the > headers. Also included those headers. The second declaration (without > the > MSVC import macro) caused MSVC to fail. I removed the comment using the include was the right way. I had to clean-up a few things to get things to compile on Unix, (for example // is not a C comment start), and modified the top makefile to include the new win/dsp dir in the distribution, thanks a lot, Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From nicolas.marsgui@libertysurf.fr Sat Aug 4 14:29:35 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from apeiba.wanadoo.fr (smtp-rt-2.wanadoo.fr [193.252.19.154]) by mail.gnome.org (Postfix) with ESMTP id 58C322BDBE for ; Sat, 4 Aug 2001 14:29:35 -0400 (EDT) Received: from citronier.wanadoo.fr (193.252.19.222) by apeiba.wanadoo.fr; 4 Aug 2001 20:29:34 +0200 Received: from libertysurf.fr (193.253.21.63) by citronier.wanadoo.fr; 4 Aug 2001 20:29:10 +0200 Message-ID: <3B6C41F9.123A5277@libertysurf.fr> Date: Sat, 04 Aug 2001 20:42:01 +0200 From: ben X-Mailer: Mozilla 4.72 [fr] (X11; U; Linux 2.2.14-5.0 i686) X-Accept-Language: en MIME-Version: 1.0 To: xslt@gnome.org Subject: Re: [xslt] "text" output bug(?) References: <3B619117.800B8B58@libertysurf.fr> Content-Type: multipart/mixed; boundary="------------2DA94CFD6CFC0515CDDE4217" Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Il s'agit d'un message multivolet au format MIME. --------------2DA94CFD6CFC0515CDDE4217 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit ben a écrit : > Hello, > > I'm new to the list and I try to use xsltproc. I want to use it to > transform some XML files to another format thanks to private XSL > stylesheets. > > With the following case, xsltproc doesn't want to work: [...] Hello, I'm surprised to have no answer; today I've downloaded libxslt from CVS (release 1.0.1) and I attach an example that shows the problem with this release. I hope it's enough to make me heard ;-) If you want me posting this to somewhere else (because the list is not intended to have bug reports, etc.), please tell me. Notice that besides this, I find that libxslt and libxml2 are quite good products. Thanks, BG --------------2DA94CFD6CFC0515CDDE4217 Content-Type: application/x-gzip; name="libxslt-bug.tar.gz" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="libxslt-bug.tar.gz" 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 --------------2DA94CFD6CFC0515CDDE4217-- From veillard@redhat.com Sat Aug 4 14:39:49 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id 39C232BDBE for ; Sat, 4 Aug 2001 14:39:49 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f74IdmH32689 for xslt@gnome.org; Sat, 4 Aug 2001 14:39:48 -0400 Date: Sat, 4 Aug 2001 14:39:48 -0400 From: Daniel Veillard To: xslt@gnome.org Subject: Re: [xslt] "text" output bug(?) Message-ID: <20010804143948.Q9718@redhat.com> References: <3B619117.800B8B58@libertysurf.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <3B619117.800B8B58@libertysurf.fr>; from nicolas.marsgui@libertysurf.fr on Fri, Jul 27, 2001 at 06:04:39PM +0200 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Fri, Jul 27, 2001 at 06:04:39PM +0200, ben wrote: > Hello, Sorry I have been really busy with other stuff lately, > I'm new to the list and I try to use xsltproc. I want to use it to > transform some XML files to another format thanks to private XSL > stylesheets. [...] > Looking in the code, I've patched libxslt/transform.c like this, since > in my working case the style method is null: Right, that's something I forgot to change, > Can you confirm that the patch is ok? If not, can you give me a > workaround to make my translation work? yep, I just applied it and commited it to CVS, thanks for the patch and sorry for the delay, Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From sungod@blackness.org Sun Aug 5 19:10:30 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from potok.blackness.org (24-216-204-232.hsacorp.net [24.216.204.232]) by mail.gnome.org (Postfix) with ESMTP id B81352BE39 for ; Sun, 5 Aug 2001 19:10:30 -0400 (EDT) Received: by potok.blackness.org (Postfix, from userid 500) id 97E8E4A92A; Sun, 5 Aug 2001 19:10:30 -0400 (EDT) Date: Sun, 5 Aug 2001 19:10:30 -0400 From: "L. D. Steiner" To: xslt@gnome.org Message-ID: <20010805191030.A6116@potok.hsacorp.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.3.19i Subject: [xslt] Spaces in URI's, revisited Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Hallo, I saw in the archives, per a message of 8 July (at http://mail.gnome.org/archives/xslt/2001-July/msg00026.html ) that spaces in URI's were causing problems with retrieval of documents specified with the document() function. Will the fix be included in any future version of libxslt? I have discovered this problem while trying to work with data from popular content aggregator moreover.com, which uses spaces in most of its URL's. It would be very useful to have libxslt work with their site "out of the box." Thanks. ld -- "The robber baron's cruelty may sometimes sleep, his cupidity may at some point be satiated; but those who torment us for our own good will torment us without end for they do so with the approval of their own conscience." -C. S. Lewis ---------------------------------------------------------------------------- ld@ldsteiner.com From veillard@redhat.com Sun Aug 5 19:20:11 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id 79D822C063 for ; Sun, 5 Aug 2001 19:20:10 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f75NKAh11554 for xslt@gnome.org; Sun, 5 Aug 2001 19:20:10 -0400 Date: Sun, 5 Aug 2001 19:20:09 -0400 From: Daniel Veillard To: xslt@gnome.org Subject: Re: [xslt] Spaces in URI's, revisited Message-ID: <20010805192009.J22872@redhat.com> References: <20010805191030.A6116@potok.hsacorp.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <20010805191030.A6116@potok.hsacorp.net>; from ld@ldsteiner.com on Sun, Aug 05, 2001 at 07:10:30PM -0400 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Sun, Aug 05, 2001 at 07:10:30PM -0400, L. D. Steiner wrote: > Hallo, > > I saw in the archives, per a message of 8 July (at http://mail.gnome.org/archives/xslt/2001-July/msg00026.html ) that spaces in URI's were causing problems with retrieval of documents specified with the document() function. Will the fix be included in any future version of libxslt? > > I have discovered this problem while trying to work with data from popular content aggregator moreover.com, which uses spaces in most of its URL's. It would be very useful to have libxslt work with their site "out of the box." Thanks. If the spaces are escaped with %20 in the URI-References this should work now. If they are not, well the source is broken, you can still try ... Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From sungod@blackness.org Sun Aug 5 19:27:21 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from potok.blackness.org (24-216-204-232.hsacorp.net [24.216.204.232]) by mail.gnome.org (Postfix) with ESMTP id C3DD82C070 for ; Sun, 5 Aug 2001 19:27:21 -0400 (EDT) Received: by potok.blackness.org (Postfix, from userid 500) id 8C4D04A92A; Sun, 5 Aug 2001 19:27:21 -0400 (EDT) Date: Sun, 5 Aug 2001 19:27:21 -0400 From: "L. D. Steiner" To: xslt@gnome.org Subject: Re: [xslt] Spaces in URI's, revisited Message-ID: <20010805192721.A6129@potok.hsacorp.net> References: <20010805191030.A6116@potok.hsacorp.net> <20010805192009.J22872@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20010805192009.J22872@redhat.com> User-Agent: Mutt/1.3.19i Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Sun, Aug 05, 2001 at 07:20:09PM -0400, Daniel Veillard (veillard@redhat.com) wrote: > If the spaces are escaped with %20 in the URI-References this should > work now. If they are not, well the source is broken, you can still try ... Try this: xsltproc http://ldsteiner.com/~ld/httptestcase.xsl http://ldsteiner.com/~ld/httptestcase.xml Looking at the .xml file, you can see the url has a %20 in between "Top" and "stories", but the output of the transformation shows the source HTML for the page that is returned if you just truncate the URI after "Top". -- "The robber baron's cruelty may sometimes sleep, his cupidity may at some point be satiated; but those who torment us for our own good will torment us without end for they do so with the approval of their own conscience." -C. S. Lewis ---------------------------------------------------------------------------- ld@ldsteiner.com From sungod@blackness.org Sun Aug 5 19:30:12 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from potok.blackness.org (24-216-204-232.hsacorp.net [24.216.204.232]) by mail.gnome.org (Postfix) with ESMTP id 530DD2C03C for ; Sun, 5 Aug 2001 19:30:12 -0400 (EDT) Received: by potok.blackness.org (Postfix, from userid 500) id 677784A92A; Sun, 5 Aug 2001 19:30:12 -0400 (EDT) Date: Sun, 5 Aug 2001 19:30:12 -0400 From: "L. D. Steiner" To: xslt@gnome.org Subject: Re: [xslt] Spaces in URI's, revisited Message-ID: <20010805193012.A6139@potok.hsacorp.net> References: <20010805191030.A6116@potok.hsacorp.net> <20010805192009.J22872@redhat.com> <20010805192721.A6129@potok.hsacorp.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20010805192721.A6129@potok.hsacorp.net> User-Agent: Mutt/1.3.19i Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Sun, Aug 05, 2001 at 07:27:21PM -0400, L. D. Steiner (ld@ldsteiner.com) wrote: > Looking at the .xml file, you can see the url has a %20 in between "Top" and "stories", but the output of the transformation shows the source HTML for the page that is returned if you just truncate the URI after "Top". Sorry, I forgot to mention: libxml version 2.4.1, libxslt version 1.0.1. -- ld@ldsteiner.com From bz@mgate.telekabel.at Mon Aug 6 06:23:31 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from viemta06.chello.at (viemta06.chello.at [195.34.133.56]) by mail.gnome.org (Postfix) with ESMTP id F27A22BD31 for ; Mon, 6 Aug 2001 06:23:30 -0400 (EDT) Received: from [212.186.108.243] by viemta06.chello.at (InterMail vK.4.03.02.00 201-232-124 license 6aea1bd1f01aef5a9a73363c16ebee43) with ESMTP id <20010806102324.RDMC6087.viemta06@[212.186.108.243]> for ; Mon, 6 Aug 2001 12:23:24 +0200 Received: from bz by linuxdaheim.195.34.133.10 with local (Exim 3.22 #1 (Debian)) id 15ThY9-0002ce-00 for ; Mon, 06 Aug 2001 12:23:53 +0200 Content-Type: text/plain; charset="iso-8859-1" From: Bernhard Zwischenbrugger Organization: Datenkche To: xslt@gnome.org Subject: Re: [xslt] Spaces in URI's, revisited Date: Mon, 6 Aug 2001 12:23:53 +0200 X-Mailer: KMail [version 1.2] References: <20010805191030.A6116@potok.hsacorp.net> <20010805192009.J22872@redhat.com> <20010805192721.A6129@potok.hsacorp.net> In-Reply-To: <20010805192721.A6129@potok.hsacorp.net> MIME-Version: 1.0 Message-Id: <01080612235300.01279@linuxdaheim> Content-Transfer-Encoding: 8bit Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: bz@datenkueche.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Monday 06 August 2001 01:27, you wrote: > On Sun, Aug 05, 2001 at 07:20:09PM -0400, Daniel Veillard (veillard@redhat.com) wrote: > > If the spaces are escaped with %20 in the URI-References this should > > work now. If they are not, well the source is broken, you can still try > > ... > > Try this: > > xsltproc http://ldsteiner.com/~ld/httptestcase.xsl > http://ldsteiner.com/~ld/httptestcase.xml > > Looking at the .xml file, you can see the url has a %20 in between "Top" > and "stories", but the output of the transformation shows the source HTML > for the page that is returned if you just truncate the URI after "Top". Try this: http://p.moreover.com/cgi-local/page?c=Top+stories&o=rss %20 is for filesystem operations + is for URI Hope that helps Bernhard Zwischenbrugger From sungod@blackness.org Mon Aug 6 06:34:11 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from potok.blackness.org (24-216-204-232.hsacorp.net [24.216.204.232]) by mail.gnome.org (Postfix) with ESMTP id 3EB882BD31 for ; Mon, 6 Aug 2001 06:34:11 -0400 (EDT) Received: by potok.blackness.org (Postfix, from userid 500) id 7FF684A92A; Mon, 6 Aug 2001 06:34:11 -0400 (EDT) Date: Mon, 6 Aug 2001 06:34:11 -0400 From: "L. D. Steiner" To: xslt@gnome.org Subject: Re: [xslt] Spaces in URI's, revisited Message-ID: <20010806063411.A6308@potok.hsacorp.net> References: <20010805191030.A6116@potok.hsacorp.net> <20010805192009.J22872@redhat.com> <20010805192721.A6129@potok.hsacorp.net> <01080612235300.01279@linuxdaheim> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <01080612235300.01279@linuxdaheim> User-Agent: Mutt/1.3.19i Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Mon, Aug 06, 2001 at 12:23:53PM +0200, Bernhard Zwischenbrugger (bz@datenkueche.com) wrote: > On Monday 06 August 2001 01:27, you wrote: > > > > Try this: > > > > xsltproc http://ldsteiner.com/~ld/httptestcase.xsl > > http://ldsteiner.com/~ld/httptestcase.xml > > > > Looking at the .xml file, you can see the url has a %20 in between "Top" > > and "stories", but the output of the transformation shows the source HTML > > for the page that is returned if you just truncate the URI after "Top". ... > %20 is for filesystem operations > + is for URI > > Hope that helps It did... thank you! Moreover.com lists its URL's with %20's in its examples, though, so I wonder if it is still supposed to work like that? (That's what's in the location bar when you visit that page in a browser as well.) Thanks for the workaround though! -- "The robber baron's cruelty may sometimes sleep, his cupidity may at some point be satiated; but those who torment us for our own good will torment us without end for they do so with the approval of their own conscience." -C. S. Lewis ---------------------------------------------------------------------------- ld@ldsteiner.com From bz@mgate.telekabel.at Mon Aug 6 07:59:24 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from viemta04.chello.at (viemta04.chello.at [195.34.133.54]) by mail.gnome.org (Postfix) with ESMTP id 7BCC62BC5D for ; Mon, 6 Aug 2001 07:59:23 -0400 (EDT) Received: from [212.186.108.243] by viemta04.chello.at (InterMail vK.4.03.02.00 201-232-124 license dd105b629cb94503e20ad828d0e9d2ee) with ESMTP id <20010806115919.OXNE10898.viemta04@[212.186.108.243]> for ; Mon, 6 Aug 2001 13:59:19 +0200 Received: from bz by linuxdaheim.195.34.133.10 with local (Exim 3.22 #1 (Debian)) id 15Tj2y-0002hK-00 for ; Mon, 06 Aug 2001 13:59:48 +0200 Content-Type: text/plain; charset="iso-8859-1" From: Bernhard Zwischenbrugger Organization: Datenkche To: xslt@gnome.org Date: Mon, 6 Aug 2001 13:59:48 +0200 X-Mailer: KMail [version 1.2] MIME-Version: 1.0 Message-Id: <01080613594800.10344@linuxdaheim> Content-Transfer-Encoding: 8bit Subject: [xslt] Compiling stylesheets Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: bz@datenkueche.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Is it possible to compile stylesheets? The thing I wan't to do is: #> compilestylesheet test.xsl > compiledStylesheet.exe What should the result do? =================== xsltproc test.xsl test.xml --param one '1' --param two '2' should deliver the same result as: compiledStylesheet.exe test.xml --param one '1' --param two '2' Questions ======== Is this possible with libxslt? Is there an example? (I'm not a C Coder) Xalan ===== I think Xalan has this feature (see: http://xml.apache.org/xalan-c/usagepatterns.html#compiled ) But I never tried. What to do with compiled stylesheets ========================== A realy usefull thing would be to make a fastcgi modul for apache from a single stylesheet. To make the thing perfect, caching results is always a good thing. Licence ====== Is it allowed to sell compiled stylesheets, without deliver the xslt-stylesheet source? What does LGPL say about that? Bernhard Zwischenbrugger http://datenkueche.com From bz@mgate.telekabel.at Mon Aug 6 08:15:31 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from viemta06.chello.at (viemta06.chello.at [195.34.133.56]) by mail.gnome.org (Postfix) with ESMTP id 0141D2BA99 for ; Mon, 6 Aug 2001 08:15:30 -0400 (EDT) Received: from [212.186.108.243] by viemta06.chello.at (InterMail vK.4.03.02.00 201-232-124 license 6aea1bd1f01aef5a9a73363c16ebee43) with ESMTP id <20010806121530.ROAV6087.viemta06@[212.186.108.243]> for ; Mon, 6 Aug 2001 14:15:30 +0200 Received: from bz by linuxdaheim.195.34.133.10 with local (Exim 3.22 #1 (Debian)) id 15TjId-0002i6-00 for ; Mon, 06 Aug 2001 14:15:59 +0200 Content-Type: text/plain; charset="iso-8859-1" From: Bernhard Zwischenbrugger Organization: Datenkche To: xslt@gnome.org Date: Mon, 6 Aug 2001 14:15:54 +0200 X-Mailer: KMail [version 1.2] MIME-Version: 1.0 Message-Id: <01080614155401.10344@linuxdaheim> Content-Transfer-Encoding: 8bit Subject: [xslt] Website down? Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: bz@datenkueche.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: What happend to http://xmlsoft.org ? It is redirected to rpmfind.net. Is there a new URL? From veillard@redhat.com Mon Aug 6 08:19:44 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id A239E2BD11 for ; Mon, 6 Aug 2001 08:19:44 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f76CJit22703 for xslt@gnome.org; Mon, 6 Aug 2001 08:19:44 -0400 Date: Mon, 6 Aug 2001 08:19:44 -0400 From: Daniel Veillard To: xslt@gnome.org Subject: Re: [xslt] Website down? Message-ID: <20010806081944.A22563@redhat.com> References: <01080614155401.10344@linuxdaheim> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <01080614155401.10344@linuxdaheim>; from bz@datenkueche.com on Mon, Aug 06, 2001 at 02:15:54PM +0200 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Mon, Aug 06, 2001 at 02:15:54PM +0200, Bernhard Zwischenbrugger wrote: > What happend to > http://xmlsoft.org ? > > It is redirected to rpmfind.net. > Is there a new URL? Seems back, I upgraded rpmfind.net and it wasn't completely smooth :-) Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From liz@dijkmat.nl Mon Aug 6 08:26:00 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from smtp2.a2000.nl (duck.a2000.nl [62.108.1.88]) by mail.gnome.org (Postfix) with ESMTP id 938312BD11 for ; Mon, 6 Aug 2001 08:25:59 -0400 (EDT) Received: from node1bb50.a2000.nl ([24.132.187.80] helo=valizo) by smtp2.a2000.nl with esmtp (Exim 2.02 #4) id 15TjSQ-0004YB-00; Mon, 6 Aug 2001 14:26:06 +0200 Message-Id: <4.2.0.58.20010806142412.02601a00@pop.dijkmat.nl> X-Sender: lm@pop.dijkmat.nl X-Mailer: QUALCOMM Windows Eudora Pro Version 4.2.0.58 Date: Mon, 06 Aug 2001 14:26:26 +0200 To: xslt@gnome.org, xslt@gnome.org From: Elizabeth Mattijsen Subject: Re: [xslt] Compiling stylesheets In-Reply-To: <01080613594800.10344@linuxdaheim> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: At 01:59 PM 8/6/01 +0200, Bernhard Zwischenbrugger wrote: >What to do with compiled stylesheets >========================== >A realy usefull thing would be to make a fastcgi modul >for apache from a single stylesheet. >To make the thing perfect, caching results is always a good thing. If using Perl is an option, you should have a look at AxKit. And/or use the underlying XML::LibXML and XML::LibXSLT modules. They allow just what you want in an Apache / mod_perl environment. Elizabeth Mattijsen From matt@sergeant.org Mon Aug 6 08:29:22 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from mail.sergeant.org (mailgate.sergeant.org [194.70.26.133]) by mail.gnome.org (Postfix) with SMTP id 173E12BD11 for ; Mon, 6 Aug 2001 08:29:19 -0400 (EDT) Received: (qmail 13473 invoked from network); 6 Aug 2001 12:29:09 -0000 Received: from mailgate.sergeant.org (HELO localhost.localdomain) (root@194.70.26.133) by mailgate.sergeant.org with SMTP; 6 Aug 2001 12:29:09 -0000 Subject: Re: [xslt] Compiling stylesheets From: Matt Sergeant To: xslt@gnome.org In-Reply-To: <01080613594800.10344@linuxdaheim> References: <01080613594800.10344@linuxdaheim> Content-Type: text/plain Content-Transfer-Encoding: 7bit X-Mailer: Evolution/0.12 (Preview Release) Date: 06 Aug 2001 13:28:17 +0000 Message-Id: <997104502.6967.2.camel@dougal.sergeant.org> Mime-Version: 1.0 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On 06 Aug 2001 13:59:48 +0200, Bernhard Zwischenbrugger wrote: > Is it possible to compile stylesheets? Yes, but it doesn't do what you think it does :-) > I think Xalan has this feature > (see: > http://xml.apache.org/xalan-c/usagepatterns.html#compiled > ) > But I never tried. This is doing exactly the same as what you can do with libxslt - compile the stylesheet into memory and re-use it for multiple transformations. This is not the same as compiling it to an .exe. > What to do with compiled stylesheets > ========================== > > A realy usefull thing would be to make a fastcgi modul > for apache from a single stylesheet. > > To make the thing perfect, caching results is always a good thing. Try AxKit, it does exactly that, including using compiled stylesheets on the next "hit". > Licence > ====== > Is it allowed to sell compiled stylesheets, without deliver the > xslt-stylesheet source? > What does LGPL say about that? Wouldn't matter much, as you can use libxml/libxslt under the W3C license, which is pretty much a BSD type license. Of course it's irrelevant given the above. -- /|| ** Founder and CTO ** ** http://axkit.com/ ** //|| ** AxKit.com Ltd ** ** XML Application Serving ** // || ** http://axkit.org ** ** XSLT, XPathScript, XSP ** // \\| // ** mod_perl news and resources: http://take23.org ** \\// //\\ // \\ From veillard@redhat.com Mon Aug 6 08:47:05 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id E6AFB2BFDF for ; Mon, 6 Aug 2001 08:45:51 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f76CjpZ27867 for xslt@gnome.org; Mon, 6 Aug 2001 08:45:51 -0400 Date: Mon, 6 Aug 2001 08:45:51 -0400 From: Daniel Veillard To: xslt@gnome.org Subject: Re: [xslt] Compiling stylesheets Message-ID: <20010806084551.B22563@redhat.com> References: <01080613594800.10344@linuxdaheim> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <01080613594800.10344@linuxdaheim>; from bz@datenkueche.com on Mon, Aug 06, 2001 at 01:59:48PM +0200 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Mon, Aug 06, 2001 at 01:59:48PM +0200, Bernhard Zwischenbrugger wrote: > Is it possible to compile stylesheets? > > The thing I wan't to do is: > > #> compilestylesheet test.xsl > compiledStylesheet.exe > Questions > ======== > Is this possible with libxslt? No. Generating binaries is by definition unportable. libxslt is not tied to an architecture/binary file format. > What to do with compiled stylesheets > ========================== > > A realy usefull thing would be to make a fastcgi modul > for apache from a single stylesheet. Useless. stylesheets are compiled internally, and and this internal form can be reused for multiple transformations. I assume people provising server side solutions uses this. This is available at the API level and from the command line if you do xsltproc stylesheet input1 input2 ... inputn In practice launching a .EXE (or other binary form) is likely to be more expensive than compiling a stylesheet on the fly. > To make the thing perfect, caching results is always a good thing. Completely independant, the caching of the result or sources should not be tied directly to the XSLt engine. > Licence > ====== > Is it allowed to sell compiled stylesheets, without deliver the > xslt-stylesheet source? The question has no basis for libxslt since there is no compilation in a binary format > What does LGPL say about that? Nothing. You can process proprietary data with a tool based on GPL or LGPL software. The W3C IPR like licence of libxslt doesn't care either. (Remember that libxslt is available under 2 licences check the Copyright and the IPR files in the distribution) Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From bz@mgate.telekabel.at Mon Aug 6 09:09:23 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from viemta05.chello.at (viemta05.chello.at [195.34.133.55]) by mail.gnome.org (Postfix) with ESMTP id 7E4A82C2A5 for ; Mon, 6 Aug 2001 09:09:18 -0400 (EDT) Received: from [212.186.108.243] by viemta05.chello.at (InterMail vK.4.03.02.00 201-232-124 license dd105b629cb94503e20ad828d0e9d2ee) with ESMTP id <20010806130903.PDYO11671.viemta05@[212.186.108.243]> for ; Mon, 6 Aug 2001 15:09:03 +0200 Received: from bz by linuxdaheim.195.34.133.10 with local (Exim 3.22 #1 (Debian)) id 15Tk8K-0002jX-00 for ; Mon, 06 Aug 2001 15:09:24 +0200 Content-Type: text/plain; charset="iso-8859-1" From: Bernhard Zwischenbrugger Organization: Datenkche To: xslt@gnome.org Subject: Re: [xslt] Compiling stylesheets Date: Mon, 6 Aug 2001 15:09:18 +0200 X-Mailer: KMail [version 1.2] References: <4.2.0.58.20010806142412.02601a00@pop.dijkmat.nl> In-Reply-To: <4.2.0.58.20010806142412.02601a00@pop.dijkmat.nl> MIME-Version: 1.0 Message-Id: <01080615091802.10344@linuxdaheim> Content-Transfer-Encoding: 8bit Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: bz@datenkueche.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Monday 06 August 2001 14:26, you wrote: > At 01:59 PM 8/6/01 +0200, Bernhard Zwischenbrugger wrote: > >What to do with compiled stylesheets > >========================== > >A realy usefull thing would be to make a fastcgi modul > >for apache from a single stylesheet. > >To make the thing perfect, caching results is always a good thing. > > If using Perl is an option, you should have a look at AxKit. And/or use > the underlying XML::LibXML and XML::LibXSLT modules. They allow just what > you want in an Apache / mod_perl environment. > Thanks, but I don't like perl. Why use a script language additional to xslt? Wouldn't it be nice to have a very simple environment that provides: http://example.cu/compiledXSLT.exe/path/to/test.xml?one=1&two=2 should do the same as: xsltproc test.xsl /path/to/test.xml --param one '1' --param two '2' an deliver the result to the client browser. ------------------------------------------------- You can take a part of the URL as the path to the xml-file using apache ForceType: ForceType application/compiledXSLT.exe -------------------------------------------------- Why do it this way? ============== o Write complite WebApplicatoins in XSLT o No need for an additional scripting languages o Speed if it's possible to do this with fastcgi and caching o protect the xslt-stylesheet source (if it's a comercial application) -------------------- I have no idea if this is possible with libxslt, but XSLT is the language I like. I hate it to mix it with Java, PHP, Perl, Pyton,.... Bernhard From liam@dirk.holoweb.net Mon Aug 6 09:17:18 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from dirk.holoweb.net (dirk2.holoweb.net [216.94.134.20]) by mail.gnome.org (Postfix) with ESMTP id 1EBA62C194 for ; Mon, 6 Aug 2001 09:17:18 -0400 (EDT) Received: (from liam@localhost) by dirk.holoweb.net (8.9.3/8.9.3) id JAA28475 for xslt@gnome.org; Mon, 6 Aug 2001 09:18:05 -0400 (EDT) (envelope-from liam) Date: Mon, 6 Aug 2001 09:18:05 -0400 From: Liam Quin To: xslt@gnome.org Subject: Re: [xslt] Compiling stylesheets Message-ID: <20010806091805.B28208@dirk.holoweb.net> References: <4.2.0.58.20010806142412.02601a00@pop.dijkmat.nl> <01080615091802.10344@linuxdaheim> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre3i In-Reply-To: <01080615091802.10344@linuxdaheim> X-Feet: bare, comfortable. happy and free! Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: It would be possible to write a program in C that included the xslt stylesheet as literal data. It wouldn't be significantly faster on a Unix system, where the filesystem block buffer cache is very efficient, but if you are running under Windows NT it might help a little. > Wouldn't it be nice to have a very simple environment that provides: > http://example.cu/compiledXSLT.exe/path/to/test.xml?one=1&two=2 Well, it's not hard to write "compiledXSLT" as a cgi script, of course. If you are getting 10,000 hits per second I can see why you might not want to do this, though. My litle site gets fewer than 60,000 hits per momth right now, and a 200MHz Pentium I/MMX is more than adequate under FreeBSD, even with quite a few Perl CGI scripts (not even using mod_perl). If you are interested in giving xslt sheets to a customer and have them totally dependent on you forever to mantain them, I suggest that you try instead to have a cooperative and friendly relationship with your consulting clients :-) but if you really can't do that for whatever reason, you could maybe encrypt the external files and write your own entity management in C for libxml. Lee -- Liam Quin - Barefoot in Toronto - liam@holoweb.net - http://www.holoweb.net/ Ankh: irc.sorcery.net www.valinor.sorcery.net irc.gnome.org www.advogato.org Author, Open Source XML Database Toolkit, Wiley August 2000 Co-author: The XML Specification Guide, Wiley 1999; Mastering XML, Sybex 2001 From robert@ilse.nl Mon Aug 6 09:45:18 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from serv1.ilse.nl (serv1.ilse.nl [195.18.92.131]) by mail.gnome.org (Postfix) with ESMTP id CD5A52BB3B for ; Mon, 6 Aug 2001 09:45:17 -0400 (EDT) Received: (from robert@localhost) by serv1.ilse.nl (8.11.0/8.10.2) id f76DjG845713 for xslt@gnome.org; Mon, 6 Aug 2001 15:45:16 +0200 (MEST) Date: Mon, 6 Aug 2001 15:45:16 +0200 From: robert To: xslt@gnome.org Subject: Re: [xslt] Compiling stylesheets Message-ID: <20010806154516.A44973@ilse.nl> References: <4.2.0.58.20010806142412.02601a00@pop.dijkmat.nl> <01080615091802.10344@linuxdaheim> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <01080615091802.10344@linuxdaheim>; from bz@datenkueche.com on Mon, Aug 06, 2001 at 03:09:18PM +0200 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: >o Write complite WebApplicatoins in XSLT >o No need for an additional scripting languages How do you authenticate users with XSLT? Log requests to a logfile? Use databases? IMO, you'll need something more than just an XSLT-processor if you want to build a real application. A small example: we've build an internally used client-management system (using our internally developed programming language, to which I added libxslt support). Although the system relies heavily on XSLT to transform stored XML data to HTML (and possibly other formats), most of the code of the system is non-XSLT related, but handles things like database-interfaces, parsing of user-arguments, stuff like that. In other words: XSLT is 'merely' used for interfacing with the browser, and not for anything else. >o Speed if it's possible to do this with fastcgi and caching FastCGI plus what? If I'm not mistaken, FastCGI is merely a protocol, not an implementation. There's a Perl-implementation for FastCGI, though ;) >o protect the xslt-stylesheet source (if it's a comercial application) Now this might be an interesting point. I'm myself not a fan of closed- source, commercial OR non-commercial, but I do understand your dilemma. However, even if you're able to compile a stylesheet, its binary representation will probably be very much like a stored DOM tree or something, which might be coerced out of the executables binary. Secondly, you'll need code which can handle the DOM tree; atleast an XML parser (to parse the XML-file you give as arguments) and an XSLT processor (to combine the XML tree and the stored XSLT tree into the final output). You might run into license-problems, though, because of the LGPL'ed code you're including. robert From spulito@givingcapital.com Mon Aug 6 11:00:28 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from trinity.magpage.com (trinity.magpage.com [216.155.0.8]) by mail.gnome.org (Postfix) with ESMTP id B8B872BB3B for ; Mon, 6 Aug 2001 11:00:28 -0400 (EDT) Received: from SPULITO ([216.155.40.103]) by trinity.magpage.com (8.11.3/8.11.3) with SMTP id f76F0Bg73821 for ; Mon, 6 Aug 2001 11:00:11 -0400 (EDT) Message-ID: <010f01c11e88$58f56fb0$f701a8c0@givingcapital.com> From: "Steven James Pulito" To: Date: Mon, 6 Aug 2001 10:59:09 -0400 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.50.4522.1200 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200 X-RRT-Status: UNKNOWN Subject: [xslt] problem using xslt Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Hi, I'm using nsxml - which is an opensource libxml/xslt wrapper for AOLserver. I've works fine on a Solaris 8 box and my linux machines. However I've had some trouble on a Solaris 7 box. I'm not quite sure if the issue is with AOLserver or the libxml/xslt libraries so I just thought I would post here to see if my problem sounds familiar to anybody. Here are the details on my configuration: Solaris 7 gcc 2.8.1 libxml 2.4.1 libxslt 1.0.1 libxml/xslt compile fine with just a few warnings - very similar to my linux and Solaris 8 setups that work fine. The main issue at hand is that loading the nsxml module into AOLserver causes it to crash. This is the error I get: ---Error------------------------ Notice: modload: loading '/home/aol32/bin/nsxml.so' Warning: modload: failed to load '/home/aol32/bin/nsxml.so': 'ld.so.1: /home/aol32/bin/nsd: fatal: relocation error: file /home/aol32/bin/nsxml.so: symbol xsltFreeStylesheet: referenced symbol not found' Fatal: modload: failed to load module 'nsxml.so' ---End error------------------------------ Any ideas? Thanks a lot for everybody's efforts in putting out such a great and usefull library. -Steve From heiko.rupp@WiredMinds.de Mon Aug 6 11:02:00 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from mail.wiredminds.de (x1200.wiredminds.com [212.9.189.70]) by mail.gnome.org (Postfix) with ESMTP id E19CC2BB3B for ; Mon, 6 Aug 2001 11:01:59 -0400 (EDT) Received: from wiredminds.de (pc-heiko.wiredminds.de [192.168.111.123]) by mail.wiredminds.de (8.9.3/8.9.3) with ESMTP id RAA26244 for ; Mon, 6 Aug 2001 17:01:59 +0200 Message-ID: <3B6EB12A.7060007@wiredminds.de> Date: Mon, 06 Aug 2001 17:00:58 +0200 From: Heiko Rupp Organization: WiredMinds Informationssysteme GmbH User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.2) Gecko/20010628 X-Accept-Language: en-us MIME-Version: 1.0 To: xslt@gnome.org Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Subject: [xslt] Xpath on variables? Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Hi, it looks like the following is failing: xsltproc date.xsl date.xml Error xpath.c:7416: Invalid type Shall I file a (more detailed) bug report? It looks like Xalan can handle this. Heiko -- Heiko W. Rupp Project Management WiredMinds Informationssysteme GmbH Wilhelmsplatz 11 D-70182 Stuttgart Email: Heiko.Rupp@WiredMinds.de Phone: +49 711 49048-232 Fax: +49 711 49048-111 From veillard@redhat.com Mon Aug 6 11:12:00 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id 4D3912C023 for ; Mon, 6 Aug 2001 11:12:00 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f76FBxG24397 for xslt@gnome.org; Mon, 6 Aug 2001 11:11:59 -0400 Date: Mon, 6 Aug 2001 11:11:59 -0400 From: Daniel Veillard To: xslt@gnome.org Subject: Re: [xslt] Xpath on variables? Message-ID: <20010806111159.K22563@redhat.com> References: <3B6EB12A.7060007@wiredminds.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <3B6EB12A.7060007@wiredminds.de>; from heiko.rupp@WiredMinds.de on Mon, Aug 06, 2001 at 05:00:58PM +0200 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Mon, Aug 06, 2001 at 05:00:58PM +0200, Heiko Rupp wrote: > Hi, > > it looks like the following is failing: > > > > > xsltproc date.xsl date.xml > Error xpath.c:7416: Invalid type this looks really wrong at least seems required and this may have to be cast to a node-set() if $foo is a result tree fragment. > Shall I file a (more detailed) bug report? It may help understand the problem, but if it's a basic syntax error well, fixing it first would be better. > It looks like Xalan can handle this. Eeeek ! Send them a bug report ! Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From veillard@redhat.com Mon Aug 6 11:16:05 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id 9964B2C023 for ; Mon, 6 Aug 2001 11:16:05 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f76FG5725198 for xslt@gnome.org; Mon, 6 Aug 2001 11:16:05 -0400 Date: Mon, 6 Aug 2001 11:16:05 -0400 From: Daniel Veillard To: xslt@gnome.org Subject: Re: [xslt] Xpath on variables? Message-ID: <20010806111605.M22563@redhat.com> References: <3B6EB12A.7060007@wiredminds.de> <20010806111159.K22563@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <20010806111159.K22563@redhat.com>; from veillard@redhat.com on Mon, Aug 06, 2001 at 11:11:59AM -0400 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Mon, Aug 06, 2001 at 11:11:59AM -0400, Daniel Veillard wrote: > On Mon, Aug 06, 2001 at 05:00:58PM +0200, Heiko Rupp wrote: > > Hi, > > > > it looks like the following is failing: > > > > > > > > > > xsltproc date.xsl date.xml > > Error xpath.c:7416: Invalid type > > this looks really wrong at least > Oops no, it should be legal there. > seems required and this may have to be cast to a node-set() > if $foo is a result tree fragment. Probably the actual problem. Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From bz@mgate.telekabel.at Mon Aug 6 11:17:24 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from viemta04.chello.at (viemta04.chello.at [195.34.133.54]) by mail.gnome.org (Postfix) with ESMTP id ECC162C635 for ; Mon, 6 Aug 2001 11:17:23 -0400 (EDT) Received: from [212.186.108.243] by viemta04.chello.at (InterMail vK.4.03.02.00 201-232-124 license dd105b629cb94503e20ad828d0e9d2ee) with ESMTP id <20010806151723.PQJR10898.viemta04@[212.186.108.243]> for ; Mon, 6 Aug 2001 17:17:23 +0200 Received: from bz by linuxdaheim.195.34.133.10 with local (Exim 3.22 #1 (Debian)) id 15Tm8e-0002ma-00 for ; Mon, 06 Aug 2001 17:17:52 +0200 Content-Type: text/plain; charset="iso-8859-1" From: Bernhard Zwischenbrugger Organization: Datenkche To: xslt@gnome.org Subject: Re: [xslt] Compiling stylesheets Date: Mon, 6 Aug 2001 17:17:52 +0200 X-Mailer: KMail [version 1.2] References: <4.2.0.58.20010806142412.02601a00@pop.dijkmat.nl> <01080615091802.10344@linuxdaheim> <20010806154516.A44973@ilse.nl> In-Reply-To: <20010806154516.A44973@ilse.nl> MIME-Version: 1.0 Message-Id: <01080617175204.10344@linuxdaheim> Content-Transfer-Encoding: 8bit Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: bz@datenkueche.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Monday 06 August 2001 15:45, you wrote: > >o Write complite WebApplicatoins in XSLT > >o No need for an additional scripting languages > > How do you authenticate users with XSLT? Why not use a XML-File for username/password and include it with document('users.xml') It's no problem to validate u/p compinations using XSLT. > Log requests to a logfile? If apache-log is not enough, this a problem. > Use databases? If you don't have thousands of lines in a table, there is no need for a relational database. Store your data in nativ XML. It's nice to have data in a tree-structur. In the future maybe it will be possible to integrate XML-Query (http://www.w3.org/XML/Query) to XSLT. To write data to a XML-File is specified in XForms. (http://www.w3.org/TR/xforms/) > IMO, you'll need something more than just an XSLT-processor if > you want to build a real application. That's the question. For deliver data to a browser XSLT is enough, for data manipulaton at the moment you need more than XSLT. (for example XForms) Maybe this discussion would fit better to a W3C mailinglist. Bernhard From liam@dirk.holoweb.net Mon Aug 6 11:25:58 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from dirk.holoweb.net (dirk2.holoweb.net [216.94.134.20]) by mail.gnome.org (Postfix) with ESMTP id 85C602BB3B for ; Mon, 6 Aug 2001 11:25:58 -0400 (EDT) Received: (from liam@localhost) by dirk.holoweb.net (8.9.3/8.9.3) id LAA29514 for xslt@gnome.org; Mon, 6 Aug 2001 11:26:47 -0400 (EDT) (envelope-from liam) Date: Mon, 6 Aug 2001 11:26:46 -0400 From: Liam Quin To: xslt@gnome.org Subject: Re: [xslt] Xpath on variables? Message-ID: <20010806112646.C28979@dirk.holoweb.net> References: <3B6EB12A.7060007@wiredminds.de> <20010806111159.K22563@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre3i In-Reply-To: <20010806111159.K22563@redhat.com> X-Feet: bare, comfortable. happy and free! Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Mon, Aug 06, 2001 at 11:11:59AM -0400, Daniel Veillard wrote: > On Mon, Aug 06, 2001 at 05:00:58PM +0200, Heiko Rupp wrote: > > it looks like the following is failing: > > > > This works fine for me in xt, saxon and as far as I know xsltproc, but it will depend on the value of $foo. or or red cotton found in car park are plausible examples. will raise a bad type error So maybe start with printing the value of $foo in an xsl:message, foo is to see if foo has the content you expect. If it does, try and see if that works. if it does, maybe check you have a nodelist, using [ ] If it still doesn't work, maybe you have found a bug! Lee -- Liam Quin - Barefoot in Toronto - liam@holoweb.net - http://www.holoweb.net/ Ankh: irc.sorcery.net www.valinor.sorcery.net irc.gnome.org www.advogato.org Author, Open Source XML Database Toolkit, Wiley August 2000 Co-author: The XML Specification Guide, Wiley 1999; Mastering XML, Sybex 2001 From ptittom@free.fr Mon Aug 6 11:40:22 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from alisier.wanadoo.fr (smtp-rt-9.wanadoo.fr [193.252.19.55]) by mail.gnome.org (Postfix) with ESMTP id BEAB32BB3B for ; Mon, 6 Aug 2001 11:40:21 -0400 (EDT) Received: from citronier.wanadoo.fr (193.252.19.222) by alisier.wanadoo.fr; 6 Aug 2001 17:40:20 +0200 Received: from debian.ltgt.net (217.128.160.180) by citronier.wanadoo.fr; 6 Aug 2001 17:39:59 +0200 Received: from ptittom by debian.ltgt.net with local (Exim 3.31 #1 (Debian)) id 15TmZh-0000NG-00 for ; Mon, 06 Aug 2001 17:45:49 +0200 Date: Mon, 6 Aug 2001 17:45:49 +0200 From: Thomas Broyer To: xslt@gnome.org Subject: Re: [xslt] Xpath on variables? Message-ID: <20010806174549.G17185@debian> References: <3B6EB12A.7060007@wiredminds.de> <20010806111159.K22563@redhat.com> <20010806112646.C28979@dirk.holoweb.net> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In-Reply-To: =?ISO-8859-1?Q?=3C20010806112646=2EC28979=40dirk=2Eholoweb=2Enet=3E=3B_f?= =?ISO-8859-1?Q?rom_liam=40holoweb=2Enet_on_lun=2C_ao=FB_06=2C_2001_at_17?= =?ISO-8859-1?Q?:26:46_+0200?= X-Mailer: Balsa 1.1.6 Content-Length: 1544 Lines: 46 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Le 06/08/01 17:26:46, Liam Quin a écrit : > On Mon, Aug 06, 2001 at 11:11:59AM -0400, Daniel Veillard wrote: > > On Mon, Aug 06, 2001 at 05:00:58PM +0200, Heiko Rupp wrote: > > > it looks like the following is failing: > > > > > > > > This works fine for me in xt, saxon and as far as I know xsltproc, > but it will depend on the value of $foo. > > > or > > or > > > red > cotton > found in car park > > > > are plausible examples. The last one creates a result-tree-fragment which, in XSLT 1.0, isn't interchangeable with a node-set. > > will raise a bad type error > > So maybe start with printing the value of $foo in an xsl:message, > foo is > to see if foo has the content you expect. [...] Or just use to print out the type of $foo (result is "string", "boolean", "number", "node-set" or "RTF" -- for result-tree-fragments) If the result is "node-set", then there is a bug. If it were "RTF", then theorically you could use exslt:node-set($foo) to convert $foo into a node-set but this is currently broken in lib(e)xslt. Tom. From heiko.rupp@WiredMinds.de Mon Aug 6 11:41:35 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from mail.wiredminds.de (x1200.wiredminds.com [212.9.189.70]) by mail.gnome.org (Postfix) with ESMTP id D61A42BB3B for ; Mon, 6 Aug 2001 11:41:34 -0400 (EDT) Received: from wiredminds.de (pc-heiko.wiredminds.de [192.168.111.123]) by mail.wiredminds.de (8.9.3/8.9.3) with ESMTP id RAA27049 for ; Mon, 6 Aug 2001 17:41:34 +0200 Message-ID: <3B6EBA72.1070102@wiredminds.de> Date: Mon, 06 Aug 2001 17:40:34 +0200 From: Heiko Rupp Organization: WiredMinds Informationssysteme GmbH User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.2) Gecko/20010628 X-Accept-Language: en-us MIME-Version: 1.0 To: xslt@gnome.org Subject: Re: [xslt] Xpath on variables? References: <3B6EB12A.7060007@wiredminds.de> <20010806111159.K22563@redhat.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Daniel Veillard wrote: > this looks really wrong at least > > > seems required Libxsl doesn't like the {$foo} at that place: Error xpath.c:6566: Invalid expression {$foo}//BAR ^ Error xpath.c:9123: Invalid expression {$foo}//BAR ^ xsl:copy-of : could not compile select expression '{$foo}//BAR' > and this may have to be cast to a node-set() > if $foo is a result tree fragment. How? This is my (now stripped down) XSL-Sheet: test Xalan-C: testXSLT -in foo.xml -xsl foo.xsl ========= Parsing foo.xsl ========== Parse of foo.xsl took 0 milliseconds ========= Parsing foo.xml ========== Parse of foo.xml took 10 milliseconds ============================= Transforming... test transform took 10 milliseconds Total time took 20 milliseconds Saxon 6.4.3: velop@projects:/export/development/xslt/xslt-heiko > saxon foo.xml foo.xsl test develop@projects:/export/development/xslt/xslt-heiko > libxslt 1.0.0: xsltproc foo.xsl foo.xml Error xpath.c:7416: Invalid type Error xpath.c:7416: Invalid type -- Heiko W. Rupp Project Management WiredMinds Informationssysteme GmbH Wilhelmsplatz 11 D-70182 Stuttgart Email: Heiko.Rupp@WiredMinds.de Phone: +49 711 49048-232 Fax: +49 711 49048-111 From ptittom@free.fr Mon Aug 6 13:25:17 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from tamaris.wanadoo.fr (smtp-rt-12.wanadoo.fr [193.252.19.60]) by mail.gnome.org (Postfix) with ESMTP id CA4842C70D for ; Mon, 6 Aug 2001 13:25:16 -0400 (EDT) Received: from amyris.wanadoo.fr (193.252.19.150) by tamaris.wanadoo.fr; 6 Aug 2001 19:25:15 +0200 Received: from debian.ltgt.net (217.128.160.180) by amyris.wanadoo.fr; 6 Aug 2001 19:25:06 +0200 Received: from ptittom by debian.ltgt.net with local (Exim 3.31 #1 (Debian)) id 15ToDR-0000QB-00 for ; Mon, 06 Aug 2001 19:30:57 +0200 Date: Mon, 6 Aug 2001 19:30:56 +0200 From: Thomas Broyer To: xslt@gnome.org Subject: Re: [xslt] Xpath on variables? Message-ID: <20010806193056.A1569@debian> References: <3B6EB12A.7060007@wiredminds.de> <20010806111159.K22563@redhat.com> <3B6EBA72.1070102@wiredminds.de> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In-Reply-To: =?ISO-8859-1?Q?=3C3B6EBA72=2E1070102=40wiredminds=2Ede=3E=3B_from_heiko?= =?ISO-8859-1?Q?=2Erupp=40WiredMinds=2Ede_on_lun=2C_ao=FB_06=2C_2001_at_1?= =?ISO-8859-1?Q?7:40:34_+0200?= X-Mailer: Balsa 1.1.6 Content-Length: 1456 Lines: 52 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Le 06/08/01 17:40:34, Heiko Rupp a écrit : > > if $foo is a result tree fragment. > > How? Read the spec! http://www.w3.org/TR/xslt#section-Result-Tree-Fragments > > > > test > > > "If the variable-binding element does not have a select attribute and has non-empty content (i.e. the variable-binding element has one or more child nodes), then the content of the variable-binding element specifies the value. The content of the variable-binding element is a template, which is instantiated to give the value of the variable. The value is a result tree fragment equivalent to a node-set containing just a single root node having as children the sequence of nodes produced by instantiating the template." > "In particular, it is not permitted to use the /, //, and [] operators on result tree fragments." > Xalan-C: Which version? > Saxon 6.4.3: In "SAXON will automatically convert a result tree fragment to a node-set when required, as defined in the draft XSLT 1.1 specification." Note that XSLT 1.1 has been given up, it is not normative, just a working draft. > libxslt 1.0.0: > > xsltproc foo.xsl foo.xml > Error xpath.c:7416: Invalid type > Error xpath.c:7416: Invalid type libxslt is XSLT 1.0 -conformant. Tom. From veillard@redhat.com Mon Aug 6 15:38:25 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id 792DC2BE60 for ; Mon, 6 Aug 2001 15:38:24 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f76JcN432381; Mon, 6 Aug 2001 15:38:23 -0400 Date: Mon, 6 Aug 2001 15:38:23 -0400 From: Daniel Veillard To: xslt@gnome.org Cc: xsl-editors@w3.org Subject: Re: [xslt] Xpath on variables? Message-ID: <20010806153823.A384@redhat.com> References: <3B6EB12A.7060007@wiredminds.de> <20010806111159.K22563@redhat.com> <3B6EBA72.1070102@wiredminds.de> <20010806193056.A1569@debian> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: Mutt/1.2.5i In-Reply-To: <20010806193056.A1569@debian>; from tbroyer@ltgt.net on Mon, Aug 06, 2001 at 07:30:56PM +0200 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: [ This starts to get on my nerves, XSLT processors out there seems to not care about compliance on nodeset vs. result tree fragment, this occured just one more time, if W3C want to get its standards or Recommendations respected, a minimal cleanup seems in order, Daniel http://mail.gnome.org/archives/xslt/2001-August/msg00024.html ] On Mon, Aug 06, 2001 at 07:30:56PM +0200, Thomas Broyer wrote: > Le 06/08/01 17:40:34, Heiko Rupp a écrit : > > > if $foo is a result tree fragment. > > > > How? > > Read the spec! > http://www.w3.org/TR/xslt#section-Result-Tree-Fragments > > > > > > > > > test > > > > > > > > "If the variable-binding element does not have a select attribute > and has non-empty content (i.e. the variable-binding element has > one or more child nodes), then the content of the variable-binding > element specifies the value. The content of the variable-binding > element is a template, which is instantiated to give the value of > the variable. The value is a result tree fragment equivalent to a > node-set containing just a single root node having as children the > sequence of nodes produced by instantiating the template." > > > > > "In particular, it is not permitted to use the /, //, and [] operators > on result tree fragments." > > > Xalan-C: > > Which version? > > > Saxon 6.4.3: > > In > "SAXON will automatically convert a result tree fragment to a node-set > when required, as defined in the draft XSLT 1.1 specification." > > Note that XSLT 1.1 has been given up, it is not normative, just a working > draft. > > > libxslt 1.0.0: > > > > xsltproc foo.xsl foo.xml > > Error xpath.c:7416: Invalid type > > Error xpath.c:7416: Invalid type > > libxslt is XSLT 1.0 -conformant. I'm tempted to drop the checking (but emit a warning, anyway the current message is not informative enough) but considering that both Michael Kay and IBM (Sharon, do you hear me ?) are key players of the XSL Working Group and seems to just don't care about conformance on this issue (the stylesheet is labelled version="1.0", i.e. no excuse) I don't see why I should be penalized compared to others processors just because I dared to implement the spec ! This makes me grumpy, Daniel P.S.: and the 1.1 draft is still not labelled as deprecated ! http://www.w3.org/TR/xslt11/ -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From Steve.Ball@zveno.com Tue Aug 7 03:16:23 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from waycool.zveno.com (waycool.zveno.com [210.8.44.221]) by mail.gnome.org (Postfix) with ESMTP id 803E22BA9E for ; Tue, 7 Aug 2001 03:16:18 -0400 (EDT) Received: from zveno.com (pbook.zveno.office [192.168.1.4]) by waycool.zveno.com (8.9.3/8.9.3) with ESMTP id RAA15280 for ; Tue, 7 Aug 2001 17:36:17 +1000 Message-ID: <3B6F9763.F6C7F213@zveno.com> Date: Tue, 07 Aug 2001 17:23:15 +1000 From: Steve Ball Organization: Zveno Pty Ltd X-Mailer: Mozilla 4.73 [en] (X11; I; Linux 2.2.15pre19 ppc) X-Accept-Language: en MIME-Version: 1.0 To: xslt@gnome.org Subject: Re: [xslt] Compiling stylesheets Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: Steve.Ball@zveno.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Bernhard Zwischenbrugger wrote: > > On Monday 06 August 2001 14:26, you wrote: > > At 01:59 PM 8/6/01 +0200, Bernhard Zwischenbrugger wrote: > > >What to do with compiled stylesheets > > >========================== > > >A realy usefull thing would be to make a fastcgi modul > > >for apache from a single stylesheet. > > >To make the thing perfect, caching results is always a good thing. > > > > If using Perl is an option, you should have a look at AxKit. And/or use > > the underlying XML::LibXML and XML::LibXSLT modules. They allow just what > > you want in an Apache / mod_perl environment. > > > Thanks, but I don't like perl. You probably also don't like Tcl, but I have just built a solution to this problem using the Tcl scripting language. Contact me directly if you would like further details. As others have pointed out, you can't get the job done without the involvement of a scripting language at some point. The aim is to minimize the amount of scripting required, and maximize the amount of work that is done in XSLT. > Why use a script language additional to xslt? Ah indeed... I ran a BOF at the recent O'Reilly Open Source Conference which debated this exact point. IMO, alot of people are going to be asking exactly this question, and expanding XSLT to meet these needs/ requirements will become more desirable. Time will tell... 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 Steve.Ball@zveno.com +---------------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 From veillard@redhat.com Tue Aug 7 20:01:58 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id 542A22CD5D; Tue, 7 Aug 2001 19:56:01 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f77Nu0e08913; Tue, 7 Aug 2001 19:56:00 -0400 Date: Tue, 7 Aug 2001 19:56:00 -0400 From: Daniel Veillard To: xml@gnome.org, xslt@gnome.org Message-ID: <20010807195600.N384@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i Subject: [xslt] Web site is down, set-up mirror Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Okay the LCS MIT building hosting the xmlsoft server has been down for 24hours now, I have put copies of the site at: http://www.rpmfind.net/XML/ http://www.rpmfind.net/XML/html/libxml-lib.html and http://www.rpmfind.net/XML/XSLT/ http://www.rpmfind.net/XML/XSLt/html/libxml-lib.html this can be also extracted from CVS for those needed it (CVS and mail including archives are hosted on gnome.org and unaffected). Daniel /me bets there is far too many Windows machines on MIT Class A network :-\ -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From ptittom@free.fr Tue Aug 7 22:03:20 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from smtprt15.wanadoo.fr (smtprt15.wanadoo.fr [193.252.19.210]) by mail.gnome.org (Postfix) with ESMTP id 072652BF81 for ; Tue, 7 Aug 2001 22:03:20 -0400 (EDT) Received: from antholoma.wanadoo.fr (193.252.19.153) by smtprt15.wanadoo.fr; 8 Aug 2001 04:03:19 +0200 Received: from debian.ltgt.net (217.128.160.180) by antholoma.wanadoo.fr; 8 Aug 2001 04:03:03 +0200 Received: from ptittom by debian.ltgt.net with local (Exim 3.31 #1 (Debian)) id 15UImG-0006Gf-00 for ; Wed, 08 Aug 2001 04:08:56 +0200 Date: Wed, 8 Aug 2001 04:08:56 +0200 From: Thomas Broyer To: xslt@gnome.org Message-ID: <20010808040856.A12004@debian> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Mailer: Balsa 1.1.6 Content-Length: 897 Lines: 20 Subject: [xslt] Why registering XSLT elements with xsltRegisterExtElement? Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Hi, I'm wondering what's the purpose of xsltRegisterAllElement, or more precisely the goal of registering XSLT elements as extension elements (which they aren't). It seems only used for the element-available() function (and thus registering xsl:param is a mistake as it is not an instruction, same for xsl:decimal-format, xsl:when, xsl:otherwise and xsl:with-param). IMO, XSLT elements shouldn't be registered and xsltElementAvailableFunction should hard-code the returned value for XSLT elements. Also, extra elements and functions can now be registered at the application level (with xsltRegisterExtModule{Element,Function} instead of xsltRegisterExt{Element,Function}), so the ctxt argument to xsltRegisterExtras isn't usefull any more. Should we break the API (:o() , ignore the argument or add a new function doing application-level registration (and deprecate xsltRegisterExtras) ? Tom. From Steve.Ball@zveno.com Wed Aug 8 00:29:30 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from waycool.zveno.com (waycool.zveno.com [210.8.44.221]) by mail.gnome.org (Postfix) with ESMTP id 85A482BBEA for ; Wed, 8 Aug 2001 00:29:27 -0400 (EDT) Received: from zveno.com (pbook.zveno.office [192.168.1.4]) by waycool.zveno.com (8.9.3/8.9.3) with ESMTP id OAA17991 for ; Wed, 8 Aug 2001 14:49:43 +1000 Message-ID: <3B70C1CB.355989D2@zveno.com> Date: Wed, 08 Aug 2001 14:36:27 +1000 From: Steve Ball Organization: Zveno Pty Ltd X-Mailer: Mozilla 4.73 [en] (X11; I; Linux 2.2.15pre19 ppc) X-Accept-Language: en MIME-Version: 1.0 To: xslt@gnome.org Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Subject: [xslt] Import/Include Stylesheets Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: Steve.Ball@zveno.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: I believe this is a known problem, but cannot find any reference in the mailing list archive or the open bugs. libxslt is complaining that it cannot import (include) stylesheets which are specified using a relative URI. The problem is that I'm invoking it using xmlParseMemory to parse the stylesheet document and then xsltParseStylesheetDoc to compile the stylesheet. That is, I have already the stylesheet into memory. There doesn't seem to be a way of telling libxml/libxslt the base URI of the document so that it can resolve the relative URI. Tried using xmlNodeSetBase in between parsing the document and compiling it, but that doesn't appear to do the trick. TIA, 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 Steve.Ball@zveno.com +---------------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 From veillard@redhat.com Wed Aug 8 04:36:38 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id 657DD2BC55 for ; Wed, 8 Aug 2001 04:36:38 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f788acW19955 for xslt@gnome.org; Wed, 8 Aug 2001 04:36:38 -0400 Date: Wed, 8 Aug 2001 04:36:37 -0400 From: Daniel Veillard To: xslt@gnome.org Subject: Re: [xslt] Import/Include Stylesheets Message-ID: <20010808043637.P384@redhat.com> References: <3B70C1CB.355989D2@zveno.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <3B70C1CB.355989D2@zveno.com>; from Steve.Ball@zveno.com on Wed, Aug 08, 2001 at 02:36:27PM +1000 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Wed, Aug 08, 2001 at 02:36:27PM +1000, Steve Ball wrote: > libxslt is complaining that it cannot import (include) > stylesheets which are specified using a relative URI. > The problem is that I'm invoking it using xmlParseMemory > to parse the stylesheet document and then xsltParseStylesheetDoc > to compile the stylesheet. That is, I have already the stylesheet > into memory. There doesn't seem to be a way of telling > libxml/libxslt the base URI of the document so that it can > resolve the relative URI. Right, a document built in memory has no base a priori, and hence all URI-References resolution are a problem. > Tried using xmlNodeSetBase in between parsing the document > and compiling it, but that doesn't appear to do the trick. Hum, right, currently xmlNodeSetBase just works on element I should fix it to work on element nodes. In the meantime just provide the base URI in doc->URL. Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From bz@mgate.telekabel.at Wed Aug 8 06:30:13 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from viemta04.chello.at (viemta04.chello.at [195.34.133.54]) by mail.gnome.org (Postfix) with ESMTP id 6B13D2BABD for ; Wed, 8 Aug 2001 06:30:12 -0400 (EDT) Received: from [212.186.108.243] by viemta04.chello.at (InterMail vK.4.03.02.00 201-232-124 license dd105b629cb94503e20ad828d0e9d2ee) with ESMTP id <20010808103011.ZHVV10898.viemta04@[212.186.108.243]> for ; Wed, 8 Aug 2001 12:30:11 +0200 Received: from bz by linuxdaheim.195.34.133.10 with local (Exim 3.22 #1 (Debian)) id 15UQbt-0002P9-00 for ; Wed, 08 Aug 2001 12:30:45 +0200 Content-Type: text/plain; charset="iso-8859-1" From: Bernhard Zwischenbrugger Organization: Datenkche To: xslt@gnome.org Subject: Re: [xslt] Xpath on variables? Date: Wed, 8 Aug 2001 12:30:44 +0200 X-Mailer: KMail [version 1.2] References: <3B6EB12A.7060007@wiredminds.de> <20010806193056.A1569@debian> <20010806153823.A384@redhat.com> In-Reply-To: <20010806153823.A384@redhat.com> MIME-Version: 1.0 Message-Id: <01080812304500.00452@linuxdaheim> Content-Transfer-Encoding: 8bit Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: bz@datenkueche.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: > > > > > > > > > > > > > > test > > > > > > > > > > > > > > > > Is there a solution for this kind of problems? This also does not work: The workaround I found is: But this isn't very beauty Some examples would be very nice. --------------- Is there a list of the extensions implemented in libxslt? (is there a time() function) Bernhard From veillard@redhat.com Wed Aug 8 06:41:08 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id 42ECE2BC47 for ; Wed, 8 Aug 2001 06:41:08 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f78Af7711964 for xslt@gnome.org; Wed, 8 Aug 2001 06:41:07 -0400 Date: Wed, 8 Aug 2001 06:41:07 -0400 From: Daniel Veillard To: xslt@gnome.org Subject: Re: [xslt] Xpath on variables? Message-ID: <20010808064107.S384@redhat.com> References: <3B6EB12A.7060007@wiredminds.de> <20010806193056.A1569@debian> <20010806153823.A384@redhat.com> <01080812304500.00452@linuxdaheim> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <01080812304500.00452@linuxdaheim>; from bz@datenkueche.com on Wed, Aug 08, 2001 at 12:30:44PM +0200 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Wed, Aug 08, 2001 at 12:30:44PM +0200, Bernhard Zwischenbrugger wrote: > > > > > > > > > > > > > > > > > > > test > > > > > > > > > > > > > > > > > > > > > > > Is there a solution for this kind of problems? > > This also does not work: > then this is a bug, can you provide a complete styesheet so I debug this quickly ? > Is there a list of the extensions implemented in libxslt? > (is there a time() function) Hum, I would be surprized if EXSLT hadn't such a function .. just checked: yes http://www.exslt.org/date/index.html the second question is "is this implemented ?". Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From bz@mgate.telekabel.at Wed Aug 8 07:11:11 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from viemta04.chello.at (viemta04.chello.at [195.34.133.54]) by mail.gnome.org (Postfix) with ESMTP id 6804D2C029 for ; Wed, 8 Aug 2001 07:11:03 -0400 (EDT) Received: from [212.186.108.243] by viemta04.chello.at (InterMail vK.4.03.02.00 201-232-124 license dd105b629cb94503e20ad828d0e9d2ee) with ESMTP id <20010808111102.ZMHO10898.viemta04@[212.186.108.243]> for ; Wed, 8 Aug 2001 13:11:02 +0200 Received: from bz by linuxdaheim.195.34.133.10 with local (Exim 3.22 #1 (Debian)) id 15URFQ-0002Ql-00 for ; Wed, 08 Aug 2001 13:11:36 +0200 Content-Type: text/plain; charset="iso-8859-1" From: Bernhard Zwischenbrugger Organization: Datenkche To: xslt@gnome.org Subject: Re: [xslt] Xpath on variables? Date: Wed, 8 Aug 2001 13:11:36 +0200 X-Mailer: KMail [version 1.2] References: <3B6EB12A.7060007@wiredminds.de> <01080812304500.00452@linuxdaheim> <20010808064107.S384@redhat.com> In-Reply-To: <20010808064107.S384@redhat.com> MIME-Version: 1.0 Message-Id: <01080813113601.00452@linuxdaheim> Content-Transfer-Encoding: 8bit Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: bz@datenkueche.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: > then this is a bug, can you provide a complete styesheet so I debug this > quickly ? > ---------------begin-------------------- test ------- this works fine -------- ------- this does not work ------ ------- this also does not work ---- -----------------end---------------------- From heiko.rupp@WiredMinds.de Wed Aug 8 08:55:45 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from mail.wiredminds.de (x1200.wiredminds.com [212.9.189.70]) by mail.gnome.org (Postfix) with ESMTP id 432302C04E for ; Wed, 8 Aug 2001 08:55:44 -0400 (EDT) Received: from wiredminds.de (pc-heiko.wiredminds.de [192.168.111.123]) by mail.wiredminds.de (8.9.3/8.9.3) with ESMTP id OAA27209 for ; Wed, 8 Aug 2001 14:55:43 +0200 Message-ID: <3B71368E.9020002@wiredminds.de> Date: Wed, 08 Aug 2001 14:54:38 +0200 From: Heiko Rupp Organization: WiredMinds Informationssysteme GmbH User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.2) Gecko/20010628 X-Accept-Language: en-us MIME-Version: 1.0 To: xslt@gnome.org Subject: Re: [xslt] Xpath on variables? References: <3B6EB12A.7060007@wiredminds.de> <01080812304500.00452@linuxdaheim> <20010808064107.S384@redhat.com> <01080813113601.00452@linuxdaheim> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Bernhard Zwischenbrugger wrote: >> then this is a bug, can you provide a complete styesheet so I debug this >>quickly ? >> >> > > ---------------begin-------------------- > > > version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > xmlns:libxslt="http://xmlsoft.org/XSLT/namespace"> Is this the same namespace as http://exslt.org/common, which I was assuming, the extension in libexslt came from? Or is node-set as well in libxslt internally as extension as well as in libexslt? > ------- this works fine -------- > > ------- this does not work ------ > > ------- this also does not work ---- > Does this one work: What error do you get? -- Heiko W. Rupp Project Management WiredMinds Informationssysteme GmbH Wilhelmsplatz 11 D-70182 Stuttgart Email: Heiko.Rupp@WiredMinds.de Phone: +49 711 49048-232 Fax: +49 711 49048-111 From heiko.rupp@WiredMinds.de Wed Aug 8 09:51:02 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from mail.wiredminds.de (x1200.wiredminds.com [212.9.189.70]) by mail.gnome.org (Postfix) with ESMTP id 657F62CD96 for ; Wed, 8 Aug 2001 09:51:01 -0400 (EDT) Received: from wiredminds.de (pc-heiko.wiredminds.de [192.168.111.123]) by mail.wiredminds.de (8.9.3/8.9.3) with ESMTP id PAA30662; Wed, 8 Aug 2001 15:51:01 +0200 Message-ID: <3B714384.9050909@wiredminds.de> Date: Wed, 08 Aug 2001 15:49:56 +0200 From: Heiko Rupp Organization: WiredMinds Informationssysteme GmbH User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.2) Gecko/20010628 X-Accept-Language: en-us MIME-Version: 1.0 To: Heiko Rupp Cc: xslt@gnome.org Subject: Re: [xslt] Xpath on variables? References: <3B6EB12A.7060007@wiredminds.de> <01080812304500.00452@linuxdaheim> <20010808064107.S384@redhat.com> <01080813113601.00452@linuxdaheim> <3B71368E.9020002@wiredminds.de> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Heiko Rupp wrote: > Is this the same namespace as http://exslt.org/common, > which I was assuming, the extension in libexslt came from? > > Or is node-set as well in libxslt internally as extension as > well as in libexslt? Meanwhile, I saw that both exist and both behave exactly the same. -- Heiko W. Rupp Project Management WiredMinds Informationssysteme GmbH Wilhelmsplatz 11 D-70182 Stuttgart Email: Heiko.Rupp@WiredMinds.de Phone: +49 711 49048-232 Fax: +49 711 49048-111 From ptittom@free.fr Wed Aug 8 20:12:04 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from caroubier.wanadoo.fr (smtp-rt-6.wanadoo.fr [193.252.19.160]) by mail.gnome.org (Postfix) with ESMTP id 9E4B22BA9E for ; Wed, 8 Aug 2001 20:12:04 -0400 (EDT) Received: from citronier.wanadoo.fr (193.252.19.222) by caroubier.wanadoo.fr; 9 Aug 2001 02:12:03 +0200 Received: from debian.ltgt.net (217.128.160.106) by citronier.wanadoo.fr; 9 Aug 2001 02:12:02 +0200 Received: from ptittom by debian.ltgt.net with local (Exim 3.31 #1 (Debian)) id 15UdWM-0000ID-00 for ; Thu, 09 Aug 2001 02:17:54 +0200 Date: Thu, 9 Aug 2001 02:17:54 +0200 From: Thomas Broyer To: xslt@gnome.org Subject: Re: [xslt] Xpath on variables? Message-ID: <20010809021754.A296@debian> References: <3B6EB12A.7060007@wiredminds.de> <20010806193056.A1569@debian> <20010806153823.A384@redhat.com> <01080812304500.00452@linuxdaheim> <20010808064107.S384@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In-Reply-To: =?ISO-8859-1?Q?=3C20010808064107=2ES384=40redhat=2Ecom=3E=3B_from_veilla?= =?ISO-8859-1?Q?rd=40redhat=2Ecom_on_mer=2C_ao=FB_08=2C_2001_at_12:41:07_?= =?ISO-8859-1?Q?+0200?= X-Mailer: Balsa 1.1.6 Content-Length: 602 Lines: 21 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Le 08/08/01 12:41:07, Daniel Veillard a écrit : > > Is there a list of the extensions implemented in libxslt? I gave one for libexslt some days ago. > > (is there a time() function) > > Hum, I would be surprized if EXSLT hadn't such a function .. just > checked: yes > http://www.exslt.org/date/index.html > > the second question is "is this implemented ?". No, not yet. Only the Common, Functions, Math and Sets modules are implemented. I'll add a FEATURES' file soon. For the next release, I'll also ask the EXSLT managers to add libexslt in the "known implementations" on their site. Tom. From Mark_Vakoc@jdedwards.com Wed Aug 8 20:19:49 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from ns1.jdedwards.com (unknown [63.136.208.195]) by mail.gnome.org (Postfix) with ESMTP id DD9062BA9E for ; Wed, 8 Aug 2001 20:19:48 -0400 (EDT) Received: from denvscans3.jdedwards.com ([10.0.14.77]) by ns1.jdedwards.com (8.9.1/8.9.1) with SMTP id SAA03809 for ; Wed, 8 Aug 2001 18:19:48 -0600 (MDT) Received: from 10.0.14.51 by denvscans3.jdedwards.com (InterScan E-Mail VirusWall NT); Wed, 08 Aug 2001 18:22:58 -0600 Received: by cormails11.jdedwards.com with Internet Mail Service (5.5.2653.19) id ; Wed, 8 Aug 2001 18:21:36 -0600 Message-ID: <08CFC733EDACD211AEA40008C7A4D39C06BC518D@cormails2.jdedwards.com> From: "Vakoc, Mark" To: "'xslt@gnome.org'" Date: Wed, 8 Aug 2001 18:16:02 -0600 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain; charset="iso-8859-1" Subject: [xslt] forward and back slashes in URI Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Hello all, on win32 the directory deliminator in a path is a backslash '\' instead of a forward slash '/'. When using URI functions such as document(), it currently works using full paths built using a forward slash for the path, i.e. but wouldn't work using Is this the correct (to spec) behavior? I now simply convert backslashs to forward slashes. However, shouldn't a URI be able to use the native deliminating convention? Thanks. From veillard@redhat.com Wed Aug 8 20:28:56 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id 511122BA9E for ; Wed, 8 Aug 2001 20:28:56 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f790StM31292 for xslt@gnome.org; Wed, 8 Aug 2001 20:28:55 -0400 Date: Wed, 8 Aug 2001 20:28:55 -0400 From: Daniel Veillard To: xslt@gnome.org Subject: Re: [xslt] forward and back slashes in URI Message-ID: <20010808202855.V384@redhat.com> References: <08CFC733EDACD211AEA40008C7A4D39C06BC518D@cormails2.jdedwards.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <08CFC733EDACD211AEA40008C7A4D39C06BC518D@cormails2.jdedwards.com>; from Mark_Vakoc@jdedwards.com on Wed, Aug 08, 2001 at 06:16:02PM -0600 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Wed, Aug 08, 2001 at 06:16:02PM -0600, Vakoc, Mark wrote: > > Hello all, > > on win32 the directory deliminator in a path is a backslash '\' instead of a > forward slash '/'. > > When using URI functions such as document(), it currently works using full > paths built using a forward slash for the path, i.e. > select="document('f:/some%20directory/file.xml')"/> yes > but wouldn't work using > select="document('f:\some%20directory\file.xml')"/> yes > Is this the correct (to spec) behavior? I now simply convert backslashs to > forward slashes. However, shouldn't a URI be able to use the native > deliminating convention? no see RFC 2396 Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From ptittom@free.fr Wed Aug 8 20:29:51 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from tamaris.wanadoo.fr (smtp-rt-12.wanadoo.fr [193.252.19.60]) by mail.gnome.org (Postfix) with ESMTP id D34622BA9E for ; Wed, 8 Aug 2001 20:29:50 -0400 (EDT) Received: from citronier.wanadoo.fr (193.252.19.222) by tamaris.wanadoo.fr; 9 Aug 2001 02:29:49 +0200 Received: from debian.ltgt.net (217.128.160.106) by citronier.wanadoo.fr; 9 Aug 2001 02:29:36 +0200 Received: from ptittom by debian.ltgt.net with local (Exim 3.31 #1 (Debian)) id 15UdnM-0000Jk-00 for ; Thu, 09 Aug 2001 02:35:28 +0200 Date: Thu, 9 Aug 2001 02:35:28 +0200 From: Thomas Broyer To: xslt@gnome.org Subject: Re: [xslt] forward and back slashes in URI Message-ID: <20010809023528.C296@debian> References: <08CFC733EDACD211AEA40008C7A4D39C06BC518D@cormails2.jdedwards.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In-Reply-To: =?ISO-8859-1?Q?=3C08CFC733EDACD211AEA40008C7A4D39C06BC518D=40cormails2?= =?ISO-8859-1?Q?=2Ejdedwards=2Ecom=3E=3B_from_Mark=5FVakoc=40jdedwards=2E?= =?ISO-8859-1?Q?com_on_jeu=2C_ao=FB_09=2C_2001_at_02:16:02_+0200?= X-Mailer: Balsa 1.1.6 Content-Length: 1057 Lines: 31 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Le 09/08/01 02:16:02, "Vakoc, Mark" a écrit : > on win32 the directory deliminator in a path is a backslash '\' instead > of a forward slash '/'. > > When using URI functions such as document(), it currently works using > full paths built using a forward slash for the path, i.e. > select="document('f:/some%20directory/file.xml')"/> > > but wouldn't work using > select="document('f:\some%20directory\file.xml')"/> > > Is this the correct (to spec) behavior? Yes. The document() function treats its first argument as an URI, and an URI is defined to use forward slashes. http://www.ietf.org/rfc/rfc2396.txt Also note that f:/somedir/file.xml isn't an URI referencing the file file.xml in the directory somedir in the F: hard-disk of the local machine. This file's URI is file:///f:/somedir/file.xml f:/somedir/file.xml is an URI with a scheme-part equal to f and a path-part equal to /somedir/file.xml. > However, shouldn't a URI be able to use the native > deliminating convention? No. Tom. From Mark_Vakoc@jdedwards.com Wed Aug 8 20:45:36 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from ns1.jdedwards.com (unknown [63.136.208.195]) by mail.gnome.org (Postfix) with ESMTP id 429892BA9E for ; Wed, 8 Aug 2001 20:45:36 -0400 (EDT) Received: from denvscans3.jdedwards.com ([10.0.14.77]) by ns1.jdedwards.com (8.9.1/8.9.1) with SMTP id SAA07744 for ; Wed, 8 Aug 2001 18:45:35 -0600 (MDT) Received: from 10.0.14.50 by denvscans3.jdedwards.com (InterScan E-Mail VirusWall NT); Wed, 08 Aug 2001 18:48:45 -0600 Received: by cormails5.jdedwards.com with Internet Mail Service (5.5.2653.19) id ; Wed, 8 Aug 2001 18:44:39 -0600 Message-ID: <08CFC733EDACD211AEA40008C7A4D39C06BC518E@cormails2.jdedwards.com> From: "Vakoc, Mark" To: "'xslt@gnome.org'" Subject: RE: [xslt] forward and back slashes in URI Date: Wed, 8 Aug 2001 18:41:50 -0600 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain; charset="iso-8859-1" Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Thanks both of you for a quick response! > This file's URI is file:///f:/somedir/file.xml I didn't have any luck with a full URI like this. The canonicalized values I receive in are in the format file://f:\somedir\file.xml which look more like a URL than URI. I now translate this to file://f:/somedir/file.xml and ignore the file:// part and that seems to work. (file:///f:/somedir/file.xml also doesn't appear to work, I haven't yet debugged it). Since I get these so often and I don't want to write/call filter code in each place, I'm just going to write a libxml2 input callback to handle the malformed URIs I receive. Thanks guys! From Mark_Vakoc@jdedwards.com Fri Aug 10 00:53:29 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from ns1.jdedwards.com (unknown [63.136.208.195]) by mail.gnome.org (Postfix) with ESMTP id 984042BAF5 for ; Fri, 10 Aug 2001 00:51:35 -0400 (EDT) Received: from denvscans3.jdedwards.com ([10.0.14.77]) by ns1.jdedwards.com (8.9.1/8.9.1) with SMTP id WAA28662 for ; Thu, 9 Aug 2001 22:51:34 -0600 (MDT) Received: from 10.0.14.50 by denvscans3.jdedwards.com (InterScan E-Mail VirusWall NT); Thu, 09 Aug 2001 22:54:45 -0600 Received: by cormails5.jdedwards.com with Internet Mail Service (5.5.2653.19) id ; Thu, 9 Aug 2001 22:50:38 -0600 Message-ID: <08CFC733EDACD211AEA40008C7A4D39C06BC5191@cormails2.jdedwards.com> From: "Vakoc, Mark" To: "'xslt@gnome.org'" Date: Thu, 9 Aug 2001 22:47:46 -0600 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain; charset="iso-8859-1" Subject: [xslt] Using xpath expressions for mode attribute Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Hi all, Could the mode of be an xpath expression? Essentially, I have a stylesheet that looks like: normal simple ---- I would like to do To do this xsltApplyTemplatesComp would have to evaluate the expression, but I fairly sure this would violate spec. Can anyone confirm/deny if this violates the spec? Thanks From ignacio@openservices.net Fri Aug 10 02:27:54 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from terbidium.openservices.net (unknown [209.202.108.240]) by mail.gnome.org (Postfix) with ESMTP id 06F982C299 for ; Fri, 10 Aug 2001 02:27:54 -0400 (EDT) Received: (from root@localhost) by terbidium.openservices.net (8.9.3-MySQL-0.2.3b/8.9.3) id CAA25634 for xslt@gnome.org; Fri, 10 Aug 2001 02:27:48 -0400 Received: from [209.202.108.240] (IDENT:ignacio@[209.202.108.240]) by terbidium.openservices.net (8.9.3-MySQL-0.2.3b/8.9.3) with ESMTP id CAA25579 for ; Fri, 10 Aug 2001 02:27:47 -0400 Date: Fri, 10 Aug 2001 02:27:47 -0400 (EDT) From: Ignacio Vazquez-Abrams To: "'xslt@gnome.org'" Subject: Re: [xslt] Using xpath expressions for mode attribute In-Reply-To: <08CFC733EDACD211AEA40008C7A4D39C06BC5191@cormails2.jdedwards.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-scanner: scanned by Inflex 1.0.7 - (http://pldaniels.com/inflex/) Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Thu, 9 Aug 2001, Vakoc, Mark wrote: > > Hi all, > > Could the mode of be an xpath expression? > > Essentially, I have a stylesheet that looks like: > > > > > > mode="normal"/> > mode="simple"/> > > > > normal > simple > > > > ---- I would like to do > > mode="{$mode}"/> > > To do this xsltApplyTemplatesComp would have to evaluate the expression, but > I fairly sure this would violate spec. Can anyone confirm/deny if this > violates the spec? > > Thanks The spec can be found at http://www.w3.org/TR/xslt. According to section 7.6.2, "Curly braces are not recognized in an attribute value in an XSLT stylesheet unless the attribute is specifically stated to be one that is interpreted as an attribute value template; in an element syntax summary, the value of such attributes is surrounded by curly braces." In section 5.4, the element syntax summary of xsl:apply-templates is given as follows: No curly braces around qname after mode, so no, you can't do that. -- Ignacio Vazquez-Abrams From bz@mgate.telekabel.at Fri Aug 10 12:08:26 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from viemta06.chello.at (viemta06.chello.at [195.34.133.56]) by mail.gnome.org (Postfix) with ESMTP id AEBB02BA89 for ; Fri, 10 Aug 2001 12:08:25 -0400 (EDT) Received: from [212.186.108.243] by viemta06.chello.at (InterMail vK.4.03.02.00 201-232-124 license dd105b629cb94503e20ad828d0e9d2ee) with ESMTP id <20010810160821.HNPE5101.viemta06@[212.186.108.243]> for ; Fri, 10 Aug 2001 18:08:21 +0200 Received: from bz by linuxdaheim.195.34.133.10 with local (Exim 3.22 #1 (Debian)) id 15VEqL-0000G6-00 for ; Fri, 10 Aug 2001 18:09:01 +0200 Content-Type: text/plain; charset="iso-8859-1" From: Bernhard Zwischenbrugger Organization: =?iso8859-1?q?Datenk=FCche?= To: xslt@gnome.org Date: Fri, 10 Aug 2001 18:09:00 +0200 X-Mailer: KMail [version 1.2] MIME-Version: 1.0 Message-Id: <01081018090001.00449@linuxdaheim> Content-Transfer-Encoding: 8bit Subject: [xslt] xinclude Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: bz@datenkueche.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: I tried to use xinclude -> does not work Example: (from http://www.w3.org/TR/xinclude/#example1) Is there a working example? main.xml =======

120 Mz is adequate for an average home user.

sub.xml ======

The opinions represented herein represent those of the individual and should not be interpreted as official policy endorsed by this organization.

XSLT ===== Command ========= xsltproc --xinclude test.xslt main.xml Versions ======== #> xsltproc -V Using libxml 20400 and libxslt 10000 xsltproc was compiled against libxml 20400 and libxslt 10000 libxslt 10000 was compiled against libxml 20400 #> uname -a Linux thename 2.2.19 #9 SMP Mon Jun 4 21:02:03 CEST 2001 i686 unknown herzliche Grüsse Bernhard From veillard@redhat.com Fri Aug 10 12:41:40 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id 0A0B72BCDC for ; Fri, 10 Aug 2001 12:41:40 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f7AGfdD12695 for xslt@gnome.org; Fri, 10 Aug 2001 12:41:39 -0400 Date: Fri, 10 Aug 2001 12:41:39 -0400 From: Daniel Veillard To: xslt@gnome.org Subject: Re: [xslt] xinclude Message-ID: <20010810124139.M3067@redhat.com> References: <01081018090001.00449@linuxdaheim> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <01081018090001.00449@linuxdaheim>; from bz@datenkueche.com on Fri, Aug 10, 2001 at 06:09:00PM +0200 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Fri, Aug 10, 2001 at 06:09:00PM +0200, Bernhard Zwischenbrugger wrote: > I tried to use xinclude -> does not work > > Example: (from http://www.w3.org/TR/xinclude/#example1) > > Is there a working example? in the libxml2 regression tests (test/XInclude). Run xmllint --xinclude on the xml file and see if the inclusion worked. Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From bz@mgate.telekabel.at Fri Aug 10 14:21:56 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from viemta06.chello.at (viemta06.chello.at [195.34.133.56]) by mail.gnome.org (Postfix) with ESMTP id 99EF62BBC0 for ; Fri, 10 Aug 2001 14:21:51 -0400 (EDT) Received: from [212.186.108.243] by viemta06.chello.at (InterMail vK.4.03.02.00 201-232-124 license dd105b629cb94503e20ad828d0e9d2ee) with ESMTP id <20010810182150.HZAS5101.viemta06@[212.186.108.243]> for ; Fri, 10 Aug 2001 20:21:50 +0200 Received: from bz by linuxdaheim.195.34.133.10 with local (Exim 3.22 #1 (Debian)) id 15VGvX-0000KL-00 for ; Fri, 10 Aug 2001 20:22:31 +0200 Content-Type: text/plain; charset="iso-8859-1" From: Bernhard Zwischenbrugger Organization: =?iso8859-1?q?Datenk=FCche?= To: xslt@gnome.org Subject: Re: [xslt] xinclude Date: Fri, 10 Aug 2001 20:22:30 +0200 X-Mailer: KMail [version 1.2] References: <01081018090001.00449@linuxdaheim> In-Reply-To: <01081018090001.00449@linuxdaheim> MIME-Version: 1.0 Message-Id: <01081020223000.01252@linuxdaheim> Content-Transfer-Encoding: 8bit Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: bz@datenkueche.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Friday 10 August 2001 18:09, you wrote: > I tried to use xinclude -> does not work > > Example: (from http://www.w3.org/TR/xinclude/#example1) The example is wrong ! > > Is there a working example? > > main.xml > ======= > > > >

120 Mz is adequate for an average home user.

> >
This works: !!! ==========

120 Mz is adequate for an average home user.

From mdillon@embody.org Fri Aug 10 14:37:34 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from lxbox3.standmed.int (unknown [66.121.150.2]) by mail.gnome.org (Postfix) with ESMTP id 7F3942DD05 for ; Fri, 10 Aug 2001 14:37:33 -0400 (EDT) Received: (from mdillon@localhost) by lxbox3.standmed.int (8.11.0/8.11.0) id f7AIbMb32741 for xslt@gnome.org; Fri, 10 Aug 2001 11:37:22 -0700 Date: Fri, 10 Aug 2001 11:37:22 -0700 From: mike dillon To: xslt@gnome.org Subject: Re: [xslt] xinclude Message-ID: <20010810113722.A32737@lxbox3.standmed.int> Mail-Followup-To: xslt@gnome.org References: <01081018090001.00449@linuxdaheim> <01081020223000.01252@linuxdaheim> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.3.16i In-Reply-To: <01081020223000.01252@linuxdaheim>; from bz@datenkueche.com on Fri, Aug 10, 2001 at 08:22:30PM +0200 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: begin Bernhard Zwischenbrugger quotation: > The example is wrong ! no, it's not. just the URL is (at least, changing the URL made it work for me). > This works: !!! > ========== > > > >

120 Mz is adequate for an average home user.

> >
so does this:

120 Mz is adequate for an average home user.

-md -- "Unvalidated documents: your gun, your bullet, your foot." -- Norm Walsh From ddupasedm@netscape.net Fri Aug 10 17:08:32 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from imo-d08.mx.aol.com (imo-d08.mx.aol.com [205.188.157.40]) by mail.gnome.org (Postfix) with ESMTP id 8F4362BB6D for ; Fri, 10 Aug 2001 17:08:32 -0400 (EDT) Received: from ddupasedm@netscape.net by imo-d08.mx.aol.com (mail_out_v31.9.) id h.10b.62a576 (16230) for ; Fri, 10 Aug 2001 17:08:28 -0400 (EDT) Received: from netscape.net ([24.70.78.59]) by air-in02.mail.aol.com (v79.27) with ESMTP id MAILININ26-0810170827; Fri, 10 Aug 2001 17:08:27 2000 Message-ID: <3B744C89.8000506@netscape.net> Date: Fri, 10 Aug 2001 15:05:13 -0600 From: darrell dupas User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.2) Gecko/20010726 Netscape6/6.1 X-Accept-Language: en-us MIME-Version: 1.0 To: xslt@gnome.org References: <01081018090001.00449@linuxdaheim> <01081020223000.01252@linuxdaheim> <20010810113722.A32737@lxbox3.standmed.int> Content-Type: multipart/mixed; boundary="------------040104060501050508040206" X-Mailer: Unknown (No Version) Subject: [xslt] newbie question Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: --------------040104060501050508040206 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit i have been tinkering with xsltproc and the heavily ms oriented xslt tutorial at w3schools, http://www.w3schools.com/xsl/xsl_choose.asp to get the simple examples to work with xsltproc you must change the namespace tag, and add version="1.0", and indeed i have done a few simple transformations, however the xsl:if and xsl:choose are not working for me, i am unsure what is wrong with the xpath in the expression if i read this correctly the dot means the current node in the for each, and the ARTIST node should be inside the nodes returned by the following selector: i am getting frustrated with the lack of practical examples on xpath , and yes i read http://www.w3.org/TR/xpath.html, also i have found the lack of explanation of URI vs. URL frustrating, please correct me if i am wrong, they are essentially the same thing except that a uri is not necessarily an absolute or relative path, it may resolve to different locations, they don't specify protocol like is a uri because it could be at any W3C ? ah, i will keep on .... i am planning on making a basic xml database program using libxml2, one small hint about the xslt equivalent of the SQL insert into would be nice? just a clue please, you don't need to provide an example, or perhaps i should use the c api instead of xslt? root@h24-70-78-59:~/ddupas# xsltproc --version Using libxml 20400, libxslt 10000 and libexslt 100 xsltproc was compiled against libxml 20400, libxslt 10000 and libexslt 100 libxslt 10000 was compiled against libxml 20400 libexslt 100 was compiled against libxml 20400 thank you darrell ddupasedm@netscape.net --------------040104060501050508040206 Content-Type: text/xml; name="cd_catalog.xsl" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="cd_catalog.xsl"
Title Artist
--------------040104060501050508040206 Content-Type: text/xml; name="cd_catalog.xml" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="cd_catalog.xml" Empire Burlesque Bob Dylan USA Columbia 10.90 1985 Hide your heart Bonnie Tyler UK CBS Records 9.90 1988 Unchain my heart Joe Cocker USA EMI 8.20 1987 --------------040104060501050508040206-- From veillard@redhat.com Fri Aug 10 17:25:29 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id 73D342BB1E for ; Fri, 10 Aug 2001 17:25:29 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f7ALPTC13509 for xslt@gnome.org; Fri, 10 Aug 2001 17:25:29 -0400 Date: Fri, 10 Aug 2001 17:25:28 -0400 From: Daniel Veillard To: xslt@gnome.org Subject: Re: [xslt] newbie question Message-ID: <20010810172528.P3067@redhat.com> References: <01081018090001.00449@linuxdaheim> <01081020223000.01252@linuxdaheim> <20010810113722.A32737@lxbox3.standmed.int> <3B744C89.8000506@netscape.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <3B744C89.8000506@netscape.net>; from ddupasedm@netscape.net on Fri, Aug 10, 2001 at 03:05:13PM -0600 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Fri, Aug 10, 2001 at 03:05:13PM -0600, darrell dupas wrote: > > i have been tinkering with xsltproc and the heavily ms oriented xslt > tutorial at w3schools, > > http://www.w3schools.com/xsl/xsl_choose.asp Those examples are using the OLD OLD working draft syntax. Instead if ranting in this list you should send your rant to the people maintaining this page. THIS IS NOT XSLT ! This is supported only by specific version of Microsoft browser. > to get the simple examples to work with xsltproc you must change the > namespace tag, and add version="1.0", and indeed i have done a few > simple transformations, however the xsl:if and xsl:choose are not > working for me, i am unsure what is wrong with the xpath in the expression > > > > if i read this correctly the dot means the current node in the for each, > and the ARTIST node should be inside the nodes returned by the > following selector: > > that's exact > i am getting frustrated with the lack of practical examples on xpath , > and yes i read http://www.w3.org/TR/xpath.html, also i have found the You're doing a big mistake: taking a specification, which assume a lot of knowledge of background as a learning documentation. This is not intended for this, this won't work in most cases. I really suggest you get a book or a (correct) web tutorial. Don't get me wrong, specs are essential, but they are not learning guides. > lack of explanation of URI vs. URL frustrating, please correct me if i > am wrong, they are essentially the same thing except that a uri is not > necessarily an absolute or relative path, it may resolve to different > locations, they don't specify protocol like "-//W3C//DTD HTML 4.01 Transitionl/EN">is a uri because it could be at > any W3C ? ah, i will keep on .... There is no URL nor URI nor URI-Reference in the excerpt you provided. You are confusing a public identifier wich is sucha a string with a system identifier which is an URI-Reference. The spec for URI/URL etc... is the RFC 2396. But I don't suggest you try to read it now. I suggest you get a general book on XML/XSLT. > i am planning on making a basic xml database program using libxml2, one > small hint about the xslt equivalent of the SQL insert into would be > nice? just a clue please, you don't need to provide an example, or > perhaps i should use the c api instead of xslt? Again you are confused. XSLT is not the proper tool for updating a database using XML as the serialization. XSLT is a transformation/styling tool, it creates new document it does not transform its input. Using directly libxml2 API to add or modify nodes is a more sound approach. Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From ignacio@openservices.net Fri Aug 10 17:30:24 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from terbidium.openservices.net (unknown [209.202.108.240]) by mail.gnome.org (Postfix) with ESMTP id B6E942BB1E for ; Fri, 10 Aug 2001 17:30:23 -0400 (EDT) Received: (from root@localhost) by terbidium.openservices.net (8.9.3-MySQL-0.2.3b/8.9.3) id RAA17472 for xslt@gnome.org; Fri, 10 Aug 2001 17:30:22 -0400 Received: from terbidium.openservices.net (IDENT:ignacio@terbidium.openservices.net [209.202.108.240]) by terbidium.openservices.net (8.9.3-MySQL-0.2.3b/8.9.3) with ESMTP id RAA17417 for ; Fri, 10 Aug 2001 17:30:22 -0400 Date: Fri, 10 Aug 2001 17:30:22 -0400 (EDT) From: Ignacio Vazquez-Abrams To: Subject: Re: [xslt] newbie question In-Reply-To: <3B744C89.8000506@netscape.net> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-scanner: scanned by Inflex 1.0.7 - (http://pldaniels.com/inflex/) Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Fri, 10 Aug 2001, darrell dupas wrote: > i have been tinkering with xsltproc and the heavily ms oriented xslt > tutorial at w3schools, > > http://www.w3schools.com/xsl/xsl_choose.asp Microsoft has two forms of XSLT. The old form of XSLT, which is designated "WD-xsl", is not supported by almost any other XSLT processor in existence. Make sure that their examples don't follow that form before you apply them to libxslt. > to get the simple examples to work with xsltproc you must change the > namespace tag, and add version="1.0", and indeed i have done a few > simple transformations, however the xsl:if and xsl:choose are not > working for me, i am unsure what is wrong with the xpath in the expression > > Try to see if 'match="ARTIST='Bob Dylan'"' works. > if i read this correctly the dot means the current node in the for each, > and the ARTIST node should be inside the nodes returned by the > following selector: > > An easier way of saying all this might be 'select="CATALOG/CD[ARTIST='Bob Dylan']"'. > i am getting frustrated with the lack of practical examples on xpath , > and yes i read http://www.w3.org/TR/xpath.html, XPath doesn't really have that many applications outside of XSLT. > also i have found the > lack of explanation of URI vs. URL frustrating, please correct me if i > am wrong, they are essentially the same thing except that a uri is not > necessarily an absolute or relative path, it may resolve to different > locations, they don't specify protocol like "-//W3C//DTD HTML 4.01 Transitionl/EN">is a uri because it could be at > any W3C ? ah, i will keep on .... A URL is a form of a URI. So is a URN. Don't worry about the small differences; they don't seem to be that important anyways. > i am planning on making a basic xml database program using libxml2, one > small hint about the xslt equivalent of the SQL insert into would be > nice? just a clue please, you don't need to provide an example, or > perhaps i should use the c api instead of xslt? SQL is a database manipulation language. XSLT is a transformation language. As such, they have no direct correlation. > root@h24-70-78-59:~/ddupas# xsltproc --version > Using libxml 20400, libxslt 10000 and libexslt 100 > xsltproc was compiled against libxml 20400, libxslt 10000 and libexslt 100 > libxslt 10000 was compiled against libxml 20400 > libexslt 100 was compiled against libxml 20400 > > thank you > > darrell > ddupasedm@netscape.net If you need to get knee-deep into XSLT, then I suggest you pick up a copy of Wrox Press's "XSLT Programmer's Reference, 2nd edition". Michael H. Kay, the author of the book, has written an XSLT engine himself, so he knows what he's talking about. -- Ignacio Vazquez-Abrams From veillard@redhat.com Fri Aug 10 17:56:22 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id C7BC42CFB2 for ; Fri, 10 Aug 2001 17:56:21 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f7ALuLP18404 for xslt@gnome.org; Fri, 10 Aug 2001 17:56:21 -0400 Date: Fri, 10 Aug 2001 17:56:21 -0400 From: Daniel Veillard To: xslt@gnome.org Subject: Re: [xslt] newbie question Message-ID: <20010810175621.Q3067@redhat.com> References: <3B744C89.8000506@netscape.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: ; from ignacio@openservices.net on Fri, Aug 10, 2001 at 05:30:22PM -0400 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Fri, Aug 10, 2001 at 05:30:22PM -0400, Ignacio Vazquez-Abrams wrote: > > > > Try to see if 'match="ARTIST='Bob Dylan'"' works. > No it won't it's not XSLT syntax ! the match attribute had been suppressed > XPath doesn't really have that many applications outside of XSLT. XPointer uses it, there is a DOM3 API extension on the work too. > A URL is a form of a URI. So is a URN. Don't worry about the small > differences; they don't seem to be that important anyways. Well they are differences, and they are important otherwise there would be a single term. > If you need to get knee-deep into XSLT, then I suggest you pick up a copy of > Wrox Press's "XSLT Programmer's Reference, 2nd edition". Michael H. Kay, the > author of the book, has written an XSLT engine himself, so he knows what he's > talking about. Seconded, it's one of the best XSLT book, but it may not be the perfect one for a newbie. Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From liam@dirk.holoweb.net Fri Aug 10 18:26:53 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from dirk.holoweb.net (dirk2.holoweb.net [216.94.134.20]) by mail.gnome.org (Postfix) with ESMTP id EA4FC2BAD8 for ; Fri, 10 Aug 2001 18:26:52 -0400 (EDT) Received: (from liam@localhost) by dirk.holoweb.net (8.9.3/8.9.3) id SAA79831 for xslt@gnome.org; Fri, 10 Aug 2001 18:27:44 -0400 (EDT) (envelope-from liam) Date: Fri, 10 Aug 2001 18:27:44 -0400 From: Liam Quin To: xslt@gnome.org Subject: Re: [xslt] newbie question Message-ID: <20010810182744.E77065@dirk.holoweb.net> References: <3B744C89.8000506@netscape.net> <20010810175621.Q3067@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 1.0pre3i In-Reply-To: <20010810175621.Q3067@redhat.com> X-Feet: bare, comfortable. happy and free! Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Fri, Aug 10, 2001 at 05:30:22PM -0400, Ignacio Vazquez-Abrams wrote: > If you need to get knee-deep into XSLT, then I suggest you pick up a copy > of Wrox Press's "XSLT Programmer's Reference, 2nd edition". > Michael H. Kay, the author of the book, has written an XSLT engine > himself, so he knows what he's talking about. Yes, it's the only worth-while reference book out there for XSLT I think. On the other hand.. On Fri, Aug 10, 2001 at 05:56:21PM -0400, Daniel Veillard wrote: > Seconded, it's one of the best XSLT book, but it may not be the perfect > one for a newbie. Also true. I find Neil Bradley's "XSL Companion" much more helpful to get started with. But, it is not a complete reference. So I have both. Lee -- Liam Quin - Barefoot in Toronto - liam@holoweb.net - http://www.holoweb.net/ Ankh: irc.sorcery.net www.valinor.sorcery.net irc.gnome.org www.advogato.org Author, Open Source XML Database Toolkit, Wiley August 2000 Co-author: The XML Specification Guide, Wiley 1999; Mastering XML, Sybex 2001 From ignacio@openservices.net Fri Aug 10 19:35:46 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from terbidium.openservices.net (unknown [209.202.108.240]) by mail.gnome.org (Postfix) with ESMTP id 793F12BCA3 for ; Fri, 10 Aug 2001 19:35:46 -0400 (EDT) Received: (from root@localhost) by terbidium.openservices.net (8.9.3-MySQL-0.2.3b/8.9.3) id TAA11063 for xslt@gnome.org; Fri, 10 Aug 2001 19:35:45 -0400 Received: from terbidium.openservices.net (IDENT:ignacio@terbidium.openservices.net [209.202.108.240]) by terbidium.openservices.net (8.9.3-MySQL-0.2.3b/8.9.3) with ESMTP id TAA11008 for ; Fri, 10 Aug 2001 19:35:45 -0400 Date: Fri, 10 Aug 2001 19:35:45 -0400 (EDT) From: Ignacio Vazquez-Abrams To: Subject: Re: [xslt] newbie question In-Reply-To: <20010810175621.Q3067@redhat.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-scanner: scanned by Inflex 1.0.7 - (http://pldaniels.com/inflex/) Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Fri, 10 Aug 2001, Daniel Veillard wrote: > On Fri, Aug 10, 2001 at 05:30:22PM -0400, Ignacio Vazquez-Abrams wrote: > > > > > > > Try to see if 'match="ARTIST='Bob Dylan'"' works. > > > > No it won't it's not XSLT syntax ! the match attribute had been suppressed D'oh! I meant 'test=...' of course... > > A URL is a form of a URI. So is a URN. Don't worry about the small > > differences; they don't seem to be that important anyways. > > Well they are differences, and they are important otherwise there would > be a single term. Fair enough. I did the research, and here's the difference: It's a matter of persistence. The URI http://www.myneeto-leetsite.com/leeto-neet.html is considered a URL but not a URN because nobody could give a rat's ass about it (generally). The URI http://www.w3.org/1999/XSL/Transform is considered a URN because without it, XSLT just won't work, regardless of whether or not anything actually exists at that URL. In other words, if you can live without it at that specific location, it's a URL. -- Ignacio Vazquez-Abrams From bz@mgate.telekabel.at Sun Aug 12 08:05:49 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from viemta06.chello.at (viemta06.chello.at [195.34.133.56]) by mail.gnome.org (Postfix) with ESMTP id 2A90A2BC5D for ; Sun, 12 Aug 2001 08:05:44 -0400 (EDT) Received: from [212.186.108.243] by viemta06.chello.at (InterMail vK.4.03.02.00 201-232-124 license dd105b629cb94503e20ad828d0e9d2ee) with ESMTP id <20010812120542.MOTP5101.viemta06@[212.186.108.243]> for ; Sun, 12 Aug 2001 14:05:42 +0200 Received: from bz by linuxdaheim.195.34.133.10 with local (Exim 3.22 #1 (Debian)) id 15Vu0h-00008n-00 for ; Sun, 12 Aug 2001 14:06:27 +0200 Content-Type: text/plain; charset="iso-8859-1" From: Bernhard Zwischenbrugger Organization: =?iso8859-1?q?Datenk=FCche?= To: xslt@gnome.org Date: Sun, 12 Aug 2001 14:06:27 +0200 X-Mailer: KMail [version 1.2] MIME-Version: 1.0 Message-Id: <01081214062700.00427@linuxdaheim> Content-Transfer-Encoding: 8bit Subject: [xslt] Segmentation fault (namespace axis) Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: bz@datenkueche.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: I do some work an XML - files with mixed xhtml an xfroms namspaces. I think my example is wrong, but I couldn't find a working example and there is a seg fault. Questions: ======== Is there a working example with namespace axis? Is this the place to report Segmentation fault errors? The broken example: =============== bz@linuxdaheim:~/firma/technisches/xforms/namespaces$ more test.xml 1 2 bz@linuxdaheim:~/firma/technisches/xforms/namespaces$ xsltproc -V Using libxml 20400 and libxslt 10000 xsltproc was compiled against libxml 20400 and libxslt 10000 libxslt 10000 was compiled against libxml 20400 bz@linuxdaheim:~/firma/technisches/xforms/namespaces$ xsltproc test.xsl test.xml Segmentation fault From veillard@redhat.com Sun Aug 12 15:56:57 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id 4C0092C742 for ; Sun, 12 Aug 2001 15:56:57 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f7CJuuN05324 for xslt@gnome.org; Sun, 12 Aug 2001 15:56:56 -0400 Date: Sun, 12 Aug 2001 15:56:56 -0400 From: Daniel Veillard To: xslt@gnome.org Subject: Re: [xslt] Segmentation fault (namespace axis) Message-ID: <20010812155656.B28446@redhat.com> References: <01081214062700.00427@linuxdaheim> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <01081214062700.00427@linuxdaheim>; from bz@datenkueche.com on Sun, Aug 12, 2001 at 02:06:27PM +0200 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Sun, Aug 12, 2001 at 02:06:27PM +0200, Bernhard Zwischenbrugger wrote: > I do some work an XML - files with mixed > xhtml an xfroms namspaces. > > I think my example is wrong, but I couldn't a bit, yes > find a working example and there is a seg fault. yep, fixed it > Is this the place to report Segmentation fault errors? yes :-\ > The broken example: > =============== > > > version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > xmlns:libxslt="http://xmlsoft.org/XSLT/namespace" > xmlns:test1="http://www.test1.com" > xmlns:test2="http://www.test2.com" > > > > > > > > > > > > > bz@linuxdaheim:~/firma/technisches/xforms/namespaces$ more test.xml > > > 1 > 2 > > > bz@linuxdaheim:~/firma/technisches/xforms/namespaces$ xsltproc -V > Using libxml 20400 and libxslt 10000 > xsltproc was compiled against libxml 20400 and libxslt 10000 > libxslt 10000 was compiled against libxml 20400 > > bz@linuxdaheim:~/firma/technisches/xforms/namespaces$ xsltproc test.xsl > test.xml > Segmentation fault Okay I fixed this in CVS. Namespaces nodes are really different nodes in libxml and a few checks for those were missing. http://cvs.gnome.org/bonsai/cvsquery.cgi?module=libxslt&branch=HEAD&branchtype=match&dir=libxslt&file=&filetype=match&who=veillard&whotype=match&sortby=Date&hours=&date=explicit&mindate=08%2F12%2F01+15%3A54&maxdate=08%2F12%2F01+15%3A56&cvsroot=%2Fcvs%2Fgnome To come back to your example here is the current result: orchis:~/XSLT/tests/general -> xsltproc bug-54.xsl ../docs/bug-54.xml orchis:~/XSLT/tests/general -> it doesn't crash anymore but don't output the expected namespaces, why ? Simply you are doing xsl:copy-of of a namespace node while the current insertion node is the document node. Simply adding a root element to the target document allow to graft the new namspace nodes: orchis:~/XSLT/tests/general -> cat bug-54.xsl orchis:~/XSLT/tests/general -> xsltproc bug-54.xsl ../docs/bug-54.xml orchis:~/XSLT/tests/general -> Looks better. Last but not least, in general this is not needed at all. The XSLT engine will generate the namespaces from the source or stylesheets needed on the generated document automatically. In most cases you don't need to search and copy them manually, XSLT makes sure that they are present when needed but you may have a specific case where this is needed. Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From bz@mgate.telekabel.at Sun Aug 12 18:58:40 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from viemta05.chello.at (viemta05.chello.at [195.34.133.55]) by mail.gnome.org (Postfix) with ESMTP id 261352C6E3 for ; Sun, 12 Aug 2001 18:57:17 -0400 (EDT) Received: from [212.186.108.243] by viemta05.chello.at (InterMail vK.4.03.02.00 201-232-124 license dd105b629cb94503e20ad828d0e9d2ee) with ESMTP id <20010812225715.OJTF16695.viemta05@[212.186.108.243]> for ; Mon, 13 Aug 2001 00:57:15 +0200 Received: from bz by linuxdaheim.195.34.133.10 with local (Exim 3.22 #1 (Debian)) id 15W4BF-0000Jh-00 for ; Mon, 13 Aug 2001 00:58:01 +0200 Content-Type: text/plain; charset="iso-8859-1" From: Bernhard Zwischenbrugger Organization: =?iso8859-1?q?Datenk=FCche?= To: xslt@gnome.org Date: Mon, 13 Aug 2001 00:58:00 +0200 X-Mailer: KMail [version 1.2] MIME-Version: 1.0 Message-Id: <01081300580001.00427@linuxdaheim> Content-Transfer-Encoding: 8bit Subject: [xslt] xforms processor in pure xslt Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: bz@datenkueche.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: I try to implement a (server side) xforms (http://www.w3.orf/xforms) processor in pure xslt. It's not very difficult to do that, but there is one thing I can't solve. Maybe the concept is wrong, but maybe there is a simple solution. The xforms processor should translate xhtml+xforms to html+forms. There will be a second XSLT Stylesheet that evaluates the URL (including GET data) and generate a new XML File (data.xml). Please have a look at the following example: XHTML+XForms (model.xml) ============

XForms model in X-Smiles

The model in XForms defines the allowed content of form fields

Name /all/one
XSLT: =====
data.xml ====== first second The problem is to get values from data.xml to fill the form elements with default data. It's possible to get the path to the data.xml from model.xml. But as I know, it isn't possible to get an xpath value from model.xml and select a value from data.xml using the xpath of the tag in the model.xml. Is there a simple solution for this problem? Is it possible to write an extension function for this? I know, using DOM it shouldn't be a big deal to imlement an xforms processor, but XSLT is the language I like. thanx Bernhard From veillard@redhat.com Mon Aug 13 03:59:12 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id 500A52C6EA for ; Mon, 13 Aug 2001 03:58:23 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f7D7wM020953 for xslt@gnome.org; Mon, 13 Aug 2001 03:58:22 -0400 Date: Mon, 13 Aug 2001 03:58:22 -0400 From: Daniel Veillard To: xslt@gnome.org Subject: Re: [xslt] xforms processor in pure xslt Message-ID: <20010813035822.D28446@redhat.com> References: <01081300580001.00427@linuxdaheim> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <01081300580001.00427@linuxdaheim>; from bz@datenkueche.com on Mon, Aug 13, 2001 at 12:58:00AM +0200 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Mon, Aug 13, 2001 at 12:58:00AM +0200, Bernhard Zwischenbrugger wrote: > I try to implement a (server side) xforms (http://www.w3.orf/xforms) processor > in pure xslt. > > It's not very difficult to do that, but there is one thing I can't solve. > Maybe the concept is wrong, but maybe there is a simple solution. [...] > > > > > > > > > > select="libxslt:node-set(document(//xfm:form/xfm:instance/@href)/$instance)"/> > > > > > > > >
> > data.xml > ====== > > > first > second > > > The problem is to get values from data.xml to fill the > form elements with default data. is the matching done by name of element/name of attribute ? If yes it seems it should be possible to do without any extension. > It's possible to get the path to the data.xml from model.xml. > But as I know, it isn't possible to get an xpath value from model.xml > and select a value from data.xml using the xpath of the tag > in the model.xml. Yes, basically in XSLT all XPath expressions are supposed to be precompilable and the XPath expression from XForm comes at runtime. > Is there a simple solution for this problem? Not really. > Is it possible to write an extension function for this? Well sure, it seems you need a function which makes a run-time compilation and evaluation of XPath expressions. Check if it's not available already in EXSLT, this would probably require only a dozen lines of C to implement. > I know, using DOM it shouldn't be a big deal to imlement an xforms > processor, but XSLT is the language I like. Well the DOM XPath extension is still a Working Draft. Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From Darrin.Wortlehock@i7.com.au Mon Aug 13 09:06:36 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from mail.i7.com.au (unknown [203.166.28.143]) by mail.gnome.org (Postfix) with ESMTP id 42A702C053 for ; Mon, 13 Aug 2001 09:06:35 -0400 (EDT) Received: from i7nt1.sydney.i7.com.au (firewall.i7.com.au [203.166.100.34]) by mail.i7.com.au (8.9.3/8.8.7) with ESMTP id XAA24326 for ; Mon, 13 Aug 2001 23:06:34 +1000 From: Darrin.Wortlehock@i7.com.au To: xslt@gnome.org Message-ID: <1d3d338df1c50a6899a0dd4ae32a2c263b7768c0@i7.com.au> Date: Mon, 13 Aug 2001 23:05:41 +1000 MIME-Version: 1.0 Content-type: text/plain; charset=us-ascii Subject: [xslt] xml, xsl and output to/from strings Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Hi all, I am new to the list and to libxml/libxslt so i apologize if this is a faq, but I have searched the archive to no effect. I need to take the xml input and the xsl stylesheet as strings, apply the xsl to the xml and return the result as a string. I see there is a parsefrommemory function for the xml document, but i don't know how to approach the xsl doc, or the output. can anybody point me to some sample code doing these things? tia. Darrin Wortlehock. From Darrin.Wortlehock@i7.com.au Mon Aug 13 10:57:44 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from mail.i7.com.au (unknown [203.166.28.143]) by mail.gnome.org (Postfix) with ESMTP id 5E6DD2BCAF for ; Mon, 13 Aug 2001 10:57:43 -0400 (EDT) Received: from i7nt1.sydney.i7.com.au (firewall.i7.com.au [203.166.100.34]) by mail.i7.com.au (8.9.3/8.8.7) with ESMTP id AAA25863 for ; Tue, 14 Aug 2001 00:57:41 +1000 From: Darrin.Wortlehock@i7.com.au To: xslt@gnome.org Message-ID: <0a87fcbf905d736dae6b15a7d242c5303b7782cf@i7.com.au> Date: Tue, 14 Aug 2001 00:56:38 +1000 MIME-Version: 1.0 Content-type: text/plain; charset=us-ascii Subject: [xslt] xsltParseStylesheetDoc Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Hi List When I do the following, i am getting a segfault..... #include #include #include #include #include #include #include #include #include #include #include #include #include #include extern int xmlLoadExtDtdDefaultValue; char *readToBuffer(char *filename) { long length; int count; char *buf; FILE *f = fopen(filename, "rt"); if (!f) { fprintf(stderr, "Error: Cannot open file %s/n", filename); exit(EXIT_FAILURE); } length = 0xffff; buf = (char*) malloc(length+1); count = fread(buf, 1, length+1, f); fclose(f); if (count > length) { fprintf(stderr, "Error: file too large (max 64k)\n"); exit(EXIT_FAILURE); } buf[count] = 0; return buf; } int main(int argc, char *argv[]) { char *sheetBuf, *inputBuf; xsltStylesheetPtr cur = NULL; xmlDocPtr sheet, input, result; if (argc != 3) { fprintf(stderr, "Error: %d arguments supplied\n", argc - 1); fprintf(stderr, "Usage: %s xslfile xmlfile\n", argv[0]); exit(EXIT_FAILURE); } sheetBuf = readToBuffer(argv[1]); inputBuf = readToBuffer(argv[2]); xmlSubstituteEntitiesDefault(1); xmlLoadExtDtdDefaultValue = 1; sheet = xmlParseMemory(sheetBuf, 0xffff); input = xmlParseMemory(inputBuf, 0xffff); cur = xsltParseStylesheetDoc(sheet); result = xsltApplyStylesheet(cur, input, NULL); xsltSaveResultToFile(stdout, result, cur); printf("\nFinished Processing....\n\n"); xsltFreeStylesheet(cur); printf("\nFreed Stylesheet....\n\n"); xmlFreeDoc(result); printf("\nFreed result....\n\n"); xmlFreeDoc(sheet); /* <------ segfault happening here ------< */ printf("\nFreed sheet....\n\n"); xmlFreeDoc(input); printf("\nFreed input....\n\n"); free(sheetBuf); free(inputBuf); exit(EXIT_SUCCESS); } What am I doing wrong? my guess is that xsltParseStylesheetDoc is setting cur to the same address as sheet and the call to xsltFreeStylesheet(cur) is freeing the memory allocated by sheet = xmlParseMemory(sheetBuf, 0xffff); anyway, it's not documented so I thaught I'd check...... Thanks, Darrin Wortlehock. From veillard@redhat.com Mon Aug 13 11:50:32 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id 08E9B2BCAF for ; Mon, 13 Aug 2001 11:50:32 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f7DFoVN00720 for xslt@gnome.org; Mon, 13 Aug 2001 11:50:31 -0400 Date: Mon, 13 Aug 2001 11:50:31 -0400 From: Daniel Veillard To: xslt@gnome.org Subject: Re: [xslt] xsltParseStylesheetDoc Message-ID: <20010813115031.C13209@redhat.com> References: <0a87fcbf905d736dae6b15a7d242c5303b7782cf@i7.com.au> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <0a87fcbf905d736dae6b15a7d242c5303b7782cf@i7.com.au>; from Darrin.Wortlehock@i7.com.au on Tue, Aug 14, 2001 at 12:56:38AM +1000 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Tue, Aug 14, 2001 at 12:56:38AM +1000, Darrin.Wortlehock@i7.com.au wrote: > xsltFreeStylesheet(cur); > printf("\nFreed Stylesheet....\n\n"); > xmlFreeDoc(sheet); /* <------ segfault > happening here ------< */ you're freeing the stylesheet twice. Drop this call it's handled by xsltFreeStylesheet(cur); Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From veillard@redhat.com Mon Aug 13 11:54:41 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id 3543D2C942 for ; Mon, 13 Aug 2001 11:54:41 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f7DFses02263 for xslt@gnome.org; Mon, 13 Aug 2001 11:54:40 -0400 Date: Mon, 13 Aug 2001 11:54:40 -0400 From: Daniel Veillard To: xslt@gnome.org Subject: Re: [xslt] xml, xsl and output to/from strings Message-ID: <20010813115440.D13209@redhat.com> References: <1d3d338df1c50a6899a0dd4ae32a2c263b7768c0@i7.com.au> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <1d3d338df1c50a6899a0dd4ae32a2c263b7768c0@i7.com.au>; from Darrin.Wortlehock@i7.com.au on Mon, Aug 13, 2001 at 11:05:41PM +1000 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Mon, Aug 13, 2001 at 11:05:41PM +1000, Darrin.Wortlehock@i7.com.au wrote: > Hi all, > > I am new to the list and to libxml/libxslt so i apologize if this is a faq, > but I have searched the archive to no effect. You didn't search very far: http://mail.gnome.org/archives/xslt/2001-July/msg00163.html first thread showing up in the July archives ... Read the thread, some code was submitted you can probably reuse it, though there is a bug I pointed in my answer, Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From heiko.rupp@WiredMinds.de Mon Aug 13 12:24:04 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from imap.wiredminds.de (x1200.wiredminds.com [212.9.189.70]) by mail.gnome.org (Postfix) with ESMTP id 8F8222C9D1 for ; Mon, 13 Aug 2001 12:23:08 -0400 (EDT) Received: from mail.wiredminds.de (mail.wiredminds.de [192.168.111.11]) by imap.wiredminds.de (8.11.4/8.11.4) with ESMTP id f7DGG8G17490 for ; Mon, 13 Aug 2001 18:16:08 +0200 Received: from wiredminds.de (pc-heiko.wiredminds.de [192.168.111.123]) by mail.wiredminds.de (8.9.3/8.9.3) with ESMTP id SAA04330 for ; Mon, 13 Aug 2001 18:23:08 +0200 Message-ID: <3B77FE9E.2070705@wiredminds.de> Date: Mon, 13 Aug 2001 18:21:50 +0200 From: Heiko Rupp Organization: WiredMinds Informationssysteme GmbH User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.2) Gecko/20010628 X-Accept-Language: en-us MIME-Version: 1.0 To: xslt@gnome.org Subject: exslt:node-set()/PATH (was: Re: [xslt] Xpath on variables?) References: <3B6EB12A.7060007@wiredminds.de> <20010806193056.A1569@debian> <20010806153823.A384@redhat.com> <01080812304500.00452@linuxdaheim> <20010808064107.S384@redhat.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Daniel Veillard wrote: >> >>This also does not work: >> >> > > then this is a bug, can you provide a complete styesheet so I debug this > quickly ? Any news here? Could there a patch for 1.0.1 be available soon? -- Heiko W. Rupp Project Management WiredMinds Informationssysteme GmbH Wilhelmsplatz 11 D-70182 Stuttgart Email: Heiko.Rupp@WiredMinds.de Phone: +49 711 49048-232 Fax: +49 711 49048-111 From ptittom@free.fr Mon Aug 13 17:03:36 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from smtprt15.wanadoo.fr (smtprt15.wanadoo.fr [193.252.19.210]) by mail.gnome.org (Postfix) with ESMTP id 453852CCED for ; Mon, 13 Aug 2001 17:03:36 -0400 (EDT) Received: from andira.wanadoo.fr (193.252.19.152) by smtprt15.wanadoo.fr; 13 Aug 2001 23:03:35 +0200 Received: from debian.ltgt.net (193.251.185.122) by andira.wanadoo.fr; 13 Aug 2001 23:03:21 +0200 Received: from ptittom by debian.ltgt.net with local (Exim 3.32 #1 (Debian)) id 15WOxY-00008h-00 for ; Mon, 13 Aug 2001 23:09:16 +0200 Date: Mon, 13 Aug 2001 23:09:16 +0200 From: Thomas Broyer To: xslt@gnome.org Subject: Re: [xslt] xforms processor in pure xslt Message-ID: <20010813230916.A298@debian> References: <01081300580001.00427@linuxdaheim> <20010813035822.D28446@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In-Reply-To: =?ISO-8859-1?Q?=3C20010813035822=2ED28446=40redhat=2Ecom=3E=3B_from_veil?= =?ISO-8859-1?Q?lard=40redhat=2Ecom_on_lun=2C_ao=FB_13=2C_2001_at_09:58:2?= =?ISO-8859-1?Q?2_+0200?= X-Mailer: Balsa 1.1.6 Content-Length: 405 Lines: 10 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Le 13/08/01 09:58:22, Daniel Veillard a écrit : > Well sure, it seems you need a function which makes a run-time > compilation and evaluation of XPath expressions. Check if it's not > available already in EXSLT, this would probably require only a dozen > lines of C to implement. EXSLT doesn't provide such functions. SAXON does, and I was thinking about implementing these extensions for libxslt. Tom. From Steve.Ball@zveno.com Mon Aug 13 21:19:30 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from waycool.zveno.com (waycool.zveno.com [210.8.44.221]) by mail.gnome.org (Postfix) with ESMTP id 4E4452BA97 for ; Mon, 13 Aug 2001 21:19:27 -0400 (EDT) Received: from zveno.com (pbook.zveno.office [192.168.1.4]) by waycool.zveno.com (8.9.3/8.9.3) with ESMTP id LAA02726; Tue, 14 Aug 2001 11:30:04 +1000 Message-ID: <3B787E65.C79E417E@zveno.com> Date: Tue, 14 Aug 2001 11:27:01 +1000 From: Steve Ball Organization: Zveno Pty Ltd X-Mailer: Mozilla 4.73 [en] (X11; I; Linux 2.2.15pre19 ppc) X-Accept-Language: en MIME-Version: 1.0 Newsgroups: comp.lang.tcl,comp.lang.tcl.announce To: tclxml-announce@lists.sourceforge.net, xslt@gnome.org Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Subject: [xslt] ANN: TclXSLT 0.1alpha Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: Steve.Ball@zveno.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: TclXSLT v0.1alpha has been checked into the TclXML CVS repository on SourceForge. It has not been released as a package yet. The TEA setup is not complete (volunteers needed!). TclXSLT is a Tcl wrapper for the Gnome libxslt library. It has been tested with libxslt v1.0.1/libxml 2.4.1. These must be installed separately. This Tcl package allows a Tcl application to perform XSL transformations upon an XML document using an XSL stylesheet. Both of these XML documents are supplied as strings (ie. in memory). However, there is an option to supply the XML source document as a filename (this is a workaround to allow external entities to be resolved properly). An advantage of using this package is that the XSLT stylesheet is cached after it has been compiled. This makes subsequent uses of the stylesheet faster (the Tcl object mechanism is used). Also, XSLT extensions can be implemented using Tcl, see below. Example ------- package require xslt set ch [open stylesheet.xsl] set xsl [read $ch] close $ch set resultA [::xslt::transform $xsl -filename sourceA.xml] set resultB [::xslt::transform $xsl -filename sourceB.xml] --- The first use of the transform command compiled the stylesheet, the second use reused the compiled stylesheet. My testing shows that this can significantly improve the performance of large stylesheets, such as DocBook's. This is apart from the fact that libxslt is extremely fast anyway! Extensions ---------- A new feature of this package is that XSLT extensions can be implemented using Tcl. At the moment this is limited to the implementation of extension functions, passing strings as arguments and returning a string value. Future work will extend this to extension elements and allow handling of nodes and nodesets. This general-purpose mechanism allows extensions to be easily created, and registered/deregistered on-the-fly. To implement an extension, the Tcl application associates an XML Namespace with a Tcl Namespace. This is done using the '::xslt::extension add' command. All Tcl commands in the Tcl namespace are registered as extension functions. When an extension functions is used, its arguments are converted to strings and a Tcl script is constructed by appending the Tcl namespace, local name of the function and the arguments. The script is evaluated and the result is returned as a string. Example ------- *** XSL stylesheet (ext-test.xsl): Test value: " " *** Tcl script: package require xslt namespace eval extTest { namespace export test } proc extTest::test args { return "extTest::test passed [llength $args] arguments" } set ch [open ext-test.xsl] set xsl [read $ch] close $ch ::xslt::extension add http://tclxml.sf.net/XSLT/Test ::extTest ::xslt::transform $xsl Please discuss this package on the TclXML developers mailing list, tclxml-devel@lists.sourceforge.net, or contact me directly. 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 Steve.Ball@zveno.com +---------------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 From veillard@redhat.com Mon Aug 13 21:46:08 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id B73042BC60 for ; Mon, 13 Aug 2001 21:46:08 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f7E1k8T11559; Mon, 13 Aug 2001 21:46:08 -0400 Date: Mon, 13 Aug 2001 21:46:08 -0400 From: Daniel Veillard To: xslt@gnome.org Cc: tclxml-announce@lists.sourceforge.net Subject: Re: [xslt] ANN: TclXSLT 0.1alpha Message-ID: <20010813214608.A5415@redhat.com> References: <3B787E65.C79E417E@zveno.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <3B787E65.C79E417E@zveno.com>; from Steve.Ball@zveno.com on Tue, Aug 14, 2001 at 11:27:01AM +1000 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Tue, Aug 14, 2001 at 11:27:01AM +1000, Steve Ball wrote: > TclXSLT v0.1alpha has been checked into the TclXML > CVS repository on SourceForge. It has not been released > as a package yet. The TEA setup is not complete (volunteers needed!). > > TclXSLT is a Tcl wrapper for the Gnome libxslt library. Ho ho, cool a wrapper for another language ! > An advantage of using this package is that the XSLT stylesheet > is cached after it has been compiled. This makes subsequent Hum, that's relatively classic, what's your cache flushing algorithm ? Do you have a way to force a given precompiled stylesheet to be available ? > A new feature of this package is that XSLT extensions can be > implemented using Tcl. At the moment this is limited to > the implementation of extension functions, passing strings > as arguments and returning a string value. Future work will > extend this to extension elements and allow handling of nodes > and nodesets. This general-purpose mechanism allows extensions > to be easily created, and registered/deregistered on-the-fly. Sound fun too. I didn't expected extensions to take off so fast. Maybe XSLT in itself is too limited. Can you provide an URL so I can add a link in the contrib section ? (actually I should add a Language wrapper section to the main page). thanks, Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From Steve.Ball@zveno.com Mon Aug 13 23:34:47 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from waycool.zveno.com (waycool.zveno.com [210.8.44.221]) by mail.gnome.org (Postfix) with ESMTP id 66A882CC24 for ; Mon, 13 Aug 2001 23:34:44 -0400 (EDT) Received: from zveno.com (pbook.zveno.office [192.168.1.4]) by waycool.zveno.com (8.9.3/8.9.3) with ESMTP id NAA02961 for ; Tue, 14 Aug 2001 13:45:37 +1000 Message-ID: <3B789E2C.392F1F98@zveno.com> Date: Tue, 14 Aug 2001 13:42:36 +1000 From: Steve Ball Organization: Zveno Pty Ltd X-Mailer: Mozilla 4.73 [en] (X11; I; Linux 2.2.15pre19 ppc) X-Accept-Language: en MIME-Version: 1.0 To: xslt@gnome.org Subject: Re: [xslt] ANN: TclXSLT 0.1alpha References: <3B787E65.C79E417E@zveno.com> <20010813214608.A5415@redhat.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: Steve.Ball@zveno.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Daniel Veillard wrote: > > An advantage of using this package is that the XSLT stylesheet > > is cached after it has been compiled. This makes subsequent > > Hum, that's relatively classic, what's your cache flushing > algorithm ? The package uses the Tcl object system (do not think OO here...). Tcl objects are dual-ported, with a string representation and an internal rep. TclXSLT first sees the stylesheet as a string object, compiles it, and then sets the internal representation of the Tcl object to be the compiled stylesheet structure. Tcl objects are reference counted, so when Tcl doesn't need the object anymore it is freed. Tcl takes care of that automatically. Also, if the object is changed then the internal representation is discarded and a function in the TclXSLT package is called to free resources. The impact of all this on an application is that everything is mostly transparent. The script must keep a reference to the object in order to prevent it from being destroyed. This is usually achieved by assigning it to a variable. > Do you have a way to force a given precompiled > stylesheet to be available ? No. If the application wanted to pre-compile a stylesheet then it would have to perform a dummy transformation. > > A new feature of this package is that XSLT extensions can be > > implemented using Tcl. At the moment this is limited to > > the implementation of extension functions, passing strings > > as arguments and returning a string value. Future work will > > extend this to extension elements and allow handling of nodes > > and nodesets. This general-purpose mechanism allows extensions > > to be easily created, and registered/deregistered on-the-fly. > > Sound fun too. I didn't expected extensions to take off so fast. > Maybe XSLT in itself is too limited. I presented my thoughts on this subject at the recent O'Reilly Open Source Convention, and I'll summarise them here: Scripting languages give us flexibility in designing and implementing software systems. An engineer can choose between implementing functionality at the system level, using languages such as C, C++ or Java, or at the scripting level (I won't go into the pros-and-cons of the various languages here). Best practice is to implement primitive functions in a systems programming language, and then implement high-level application logic at the scripting level to glue those prmitives together. This gives the engineer a two-level approach to designing software. What I now see happening is that XSLT is being layered over the top of scripting languages in order to give us a third level. XSLT is being used to implement high-level application logic, and primitives for the stylesheet are implemented using a scripting language. Best practice will be to minimise (or avoid altogether) the use of extensions, but there are good reasons to employ extensions: for dealing with unstructured data that might occur inside (badly designed) XML documents and real-world, external systems (databases, processes, the filesystem, etc). Hence I see a future where scripting languages play second-fiddle to XSLT in software system architectures. They're still important (and so are C, C++, Java, etc), but the real focus will be on XSLT. > Can you provide an URL so I can add a link in the contrib section ? > (actually I should add a Language wrapper section to the main page). I don't have a URL for the TclXSLT package itself - yet. For the moment, please link to the TclXML project: http://tclxml.sf.net/ 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 Steve.Ball@zveno.com +---------------------------+--------------------- Ph. +61 2 6242 4099 | Mobile (0413) 594 462 | Fax +61 2 6242 4099 From Darrin.Wortlehock@i7.com.au Mon Aug 13 23:42:37 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from mail.i7.com.au (unknown [203.166.28.143]) by mail.gnome.org (Postfix) with ESMTP id 3C4092C242 for ; Mon, 13 Aug 2001 23:42:36 -0400 (EDT) Received: from i7nt1.sydney.i7.com.au (firewall.i7.com.au [203.166.100.34]) by mail.i7.com.au (8.9.3/8.8.7) with ESMTP id NAA08206 for ; Tue, 14 Aug 2001 13:42:34 +1000 From: Darrin.Wortlehock@i7.com.au Subject: Re: [xslt] ANN: TclXSLT 0.1alpha To: xslt@gnome.org Message-ID: <71e4bd8d61e21afd4441c8756f10a1a73b783625@i7.com.au> Date: Tue, 14 Aug 2001 13:41:43 +1000 MIME-Version: 1.0 Content-type: text/plain; charset=us-ascii Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Well, I guess I can stop my futile efforts to create a tclXSLT and start using this one... Thanks Steve, Regards, Darrin Wortlehock. From Mark_Vakoc@jdedwards.com Tue Aug 14 00:32:50 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from ns1.jdedwards.com (unknown [63.136.208.195]) by mail.gnome.org (Postfix) with ESMTP id 4FCC42BA94 for ; Tue, 14 Aug 2001 00:32:50 -0400 (EDT) Received: from denvscans3.jdedwards.com ([10.0.14.77]) by ns1.jdedwards.com (8.9.1/8.9.1) with SMTP id WAA07391 for ; Mon, 13 Aug 2001 22:32:49 -0600 (MDT) Received: from 10.0.14.51 by denvscans3.jdedwards.com (InterScan E-Mail VirusWall NT); Mon, 13 Aug 2001 22:36:00 -0600 Received: by cormails11.jdedwards.com with Internet Mail Service (5.5.2653.19) id ; Mon, 13 Aug 2001 22:34:44 -0600 Message-ID: <08CFC733EDACD211AEA40008C7A4D39C06BC5196@cormails2.jdedwards.com> From: "Vakoc, Mark" To: "'xslt@gnome.org'" Date: Mon, 13 Aug 2001 22:28:44 -0600 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain; charset="iso-8859-1" Subject: [xslt] was RE:[] forward and back slashes in URI Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: > This file's URI is file:///f:/somedir/file.xml This seems to be broken for win32. From xmlIo.c function xmlOpenFileW() --- if (!strncmp(filename, "file://localhost", 16)) path = &filename[16]; else if (!strncmp(filename, "file:///", 8)) path = &filename[7]; else path = filename; --- path would evaluate to '/f:/somedir/file.xml' which isn't valid. A quick fix would be #ifdef _WIN32 path = &filename[8]; #else path = &filename[7]; #endif Also, the implementation of deprecated 1.1 function doesn't seem to properly handle the 'href' uri. It fails to unescape the encoded values (i.e. %20). From veillard@redhat.com Tue Aug 14 06:00:03 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id E77622C339 for ; Tue, 14 Aug 2001 05:56:56 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f7E9uuB21960 for xslt@gnome.org; Tue, 14 Aug 2001 05:56:56 -0400 Date: Tue, 14 Aug 2001 05:56:56 -0400 From: Daniel Veillard To: xslt@gnome.org Subject: Re: [xslt] was RE:[] forward and back slashes in URI Message-ID: <20010814055656.C5415@redhat.com> References: <08CFC733EDACD211AEA40008C7A4D39C06BC5196@cormails2.jdedwards.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <08CFC733EDACD211AEA40008C7A4D39C06BC5196@cormails2.jdedwards.com>; from Mark_Vakoc@jdedwards.com on Mon, Aug 13, 2001 at 10:28:44PM -0600 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Mon, Aug 13, 2001 at 10:28:44PM -0600, Vakoc, Mark wrote: > > > This file's URI is file:///f:/somedir/file.xml > > This seems to be broken for win32. From xmlIo.c function xmlOpenFileW() > --- > if (!strncmp(filename, "file://localhost", 16)) > path = &filename[16]; > else if (!strncmp(filename, "file:///", 8)) > path = &filename[7]; > else > path = filename; > --- > > path would evaluate to '/f:/somedir/file.xml' which isn't valid. A quick > fix would be > #ifdef _WIN32 > path = &filename[8]; > #else > path = &filename[7]; > #endif Okay, I hope it won't break Cygwin > Also, the implementation of deprecated 1.1 function doesn't > seem to properly handle the 'href' uri. It fails to unescape the encoded > values (i.e. %20). Strange, it is used through xmlBuildURI() which should handle the unescaping of the URI-Reference. Did you try it and it failed ? Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From Mark_Vakoc@jdedwards.com Tue Aug 14 10:49:04 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from ns1.jdedwards.com (unknown [63.136.208.195]) by mail.gnome.org (Postfix) with ESMTP id 2926C2BFE3 for ; Tue, 14 Aug 2001 10:49:04 -0400 (EDT) Received: from denvscans3.jdedwards.com ([10.0.14.77]) by ns1.jdedwards.com (8.9.1/8.9.1) with SMTP id IAA26906 for ; Tue, 14 Aug 2001 08:49:03 -0600 (MDT) Received: from 10.0.14.50 by denvscans3.jdedwards.com (InterScan E-Mail VirusWall NT); Tue, 14 Aug 2001 08:52:14 -0600 Received: by cormails5.jdedwards.com with Internet Mail Service (5.5.2653.19) id ; Tue, 14 Aug 2001 08:48:04 -0600 Message-ID: <08CFC733EDACD211AEA40008C7A4D39C06BC5197@cormails2.jdedwards.com> From: "Vakoc, Mark" To: "'xslt@gnome.org'" Subject: RE: [xslt] was RE:[] forward and back slashes in URI Date: Tue, 14 Aug 2001 08:45:01 -0600 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: > Strange, it is used through xmlBuildURI() which should handle the unescaping > of the URI-Reference. Did you try it and it failed ? Right. I was started tracing through it but didn't get all the way. My tests involved the element and the document() funtion. document() works correctly but didn't. The best test I did was to create two directories, one named 'debug test' and one named 'debug%20test' and to use . It always went to the 'debug%20test' directory which is incorrect. I (hopefully) will have some time today to dig into this today. Thanks. From christian@stamgren.com Tue Aug 14 14:25:21 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from mailman.cccab.net (mail.cccab.net [195.163.134.5]) by mail.gnome.org (Postfix) with SMTP id 302BC2BF7D for ; Tue, 14 Aug 2001 14:25:20 -0400 (EDT) Received: from bitch (194.237.241.115) by mailman.cccab.net with MERCUR-SMTP/POP3/IMAP4-Server (v3.10.16 KA-0098304) for ; Tue, 14 Aug 2001 20:28:15 +0200 Content-Type: text/plain; charset="iso-8859-1" From: crille To: xslt@gnome.org Date: Tue, 14 Aug 2001 20:25:28 +0200 X-Mailer: KMail [version 1.2] MIME-Version: 1.0 Message-Id: <01081420252800.00777@bitch> Content-Transfer-Encoding: 8bit Subject: [xslt] ToString or size of output. Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Hi, I'm sorry if this is an easy one, but i been banging my head into this one for a very long time. 1) Is there a way of getting the output returned as a string. ie. char *string; string = xsltSaveResultToString(result,cur); or something? I need to now acactly how big the string is before using it. 2) How can i retrieve a PI from the xmldoc? I need to findout the value of the tag from the xml file before parsing. I really would need an answer, Thank you so much in advance, Crille From veillard@redhat.com Tue Aug 14 16:05:35 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id 88ADF2BAAA for ; Tue, 14 Aug 2001 16:05:34 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f7EK5Yj01960 for xslt@gnome.org; Tue, 14 Aug 2001 16:05:34 -0400 Date: Tue, 14 Aug 2001 16:05:34 -0400 From: Daniel Veillard To: xslt@gnome.org Subject: Re: [xslt] ToString or size of output. Message-ID: <20010814160534.K5415@redhat.com> References: <01081420252800.00777@bitch> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <01081420252800.00777@bitch>; from crille@cccab.net on Tue, Aug 14, 2001 at 08:25:28PM +0200 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Tue, Aug 14, 2001 at 08:25:28PM +0200, crille wrote: > Hi, > > I'm sorry if this is an easy one, but i been banging my head into this one > for a very long time. > > 1) > Is there a way of getting the output returned as a string. > > ie. > char *string; > string = xsltSaveResultToString(result,cur); > > or something? http://mail.gnome.org/archives/xslt/2001-July/msg00166.html note the bug I pointed in my answer. Seems I will have to provide something similar. > I need to now acactly how big the string is before using it. That libxml can't do ! I can't tell you in advance what will be the size of a serialized tree, far too complex, depends of encoding too... > 2) > How can i retrieve a PI from the xmldoc? I need to findout the value of the > tag from the xml file before parsing. Hum, before parsing it's hard to tell what's in a file. Once parsed locating a stylesheet PI is possible. look at xsltLoadStylesheetPI(style) and how it's used in xsltproc. Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From christian@stamgren.com Tue Aug 14 16:47:35 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from mailman.cccab.net (mail.cccab.net [195.163.134.5]) by mail.gnome.org (Postfix) with SMTP id 617562BA83 for ; Tue, 14 Aug 2001 16:47:34 -0400 (EDT) Received: from bitch (194.237.241.115) by mailman.cccab.net with MERCUR-SMTP/POP3/IMAP4-Server (v3.10.16 KA-0098304) for ; Tue, 14 Aug 2001 22:50:30 +0200 Content-Type: text/plain; charset="iso-8859-1" From: crille To: xslt@gnome.org, Daniel Veillard Subject: Re: [xslt] ToString or size of output. Date: Tue, 14 Aug 2001 22:47:42 +0200 X-Mailer: KMail [version 1.2] References: <01081420252800.00777@bitch> <20010814160534.K5415@redhat.com> In-Reply-To: <20010814160534.K5415@redhat.com> MIME-Version: 1.0 Message-Id: <01081422474201.00777@bitch> Content-Transfer-Encoding: 8bit Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: [..] > http://mail.gnome.org/archives/xslt/2001-July/msg00166.html > note the bug I pointed in my answer. Seems I will have to provide > something similar. So this isn`t implemented ? Is there something i can use? I really don't want to patch libxslt becouse this is an application for some clients. So i want to use standard library calls. > > > I need to now acactly how big the string is before using it. > > That libxml can't do ! I can't tell you in advance what will be the > size of a serialized tree, far too complex, depends of encoding too... I must have been to unclear, what i ment is that i cant use a function call like xsltSaveResultToFd() i have to now acactly how large the string is after its parsed before its printed. Thats why i want to have it in a string then i can call strlen() before printing. I'm building a very light weight web/xslt-server so i have to write the proper content-lenght http-header. I also want to be able to cache a transformation server side (html). > > > 2) > > How can i retrieve a PI from the xmldoc? I need to findout the value of > > the tag from the xml file before parsing. > > Hum, before parsing it's hard to tell what's in a file. what i meant is that i parse the xml, find out the value of and use the value to find out what xsl file to parse and use for the tranformation. Crille From veillard@redhat.com Tue Aug 14 16:53:23 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id 41F332BA83 for ; Tue, 14 Aug 2001 16:53:23 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f7EKrKX24490; Tue, 14 Aug 2001 16:53:20 -0400 Date: Tue, 14 Aug 2001 16:53:20 -0400 From: Daniel Veillard To: crille Cc: xslt@gnome.org Subject: Re: [xslt] ToString or size of output. Message-ID: <20010814165320.M5415@redhat.com> References: <01081420252800.00777@bitch> <20010814160534.K5415@redhat.com> <01081422474201.00777@bitch> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <01081422474201.00777@bitch>; from crille@cccab.net on Tue, Aug 14, 2001 at 10:47:42PM +0200 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Tue, Aug 14, 2001 at 10:47:42PM +0200, crille wrote: > [..] > > http://mail.gnome.org/archives/xslt/2001-July/msg00166.html > > note the bug I pointed in my answer. Seems I will have to provide > > something similar. [...] > what i meant is that i parse the xml, find out the value of ?> and use the value to find out what xsl file to parse and use for the > tranformation. When I give you an answer with pointers, *at least* read them and do the minimal analysis on those data before posting a follow-up. Thanks ! Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From Mark_Vakoc@jdedwards.com Tue Aug 14 17:05:36 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from ns1.jdedwards.com (unknown [63.136.208.195]) by mail.gnome.org (Postfix) with ESMTP id 0E73D2C3B9 for ; Tue, 14 Aug 2001 17:05:32 -0400 (EDT) Received: from denvscans3.jdedwards.com ([10.0.14.77]) by ns1.jdedwards.com (8.9.1/8.9.1) with SMTP id PAA04337 for ; Tue, 14 Aug 2001 15:05:31 -0600 (MDT) Received: from 10.0.14.50 by denvscans3.jdedwards.com (InterScan E-Mail VirusWall NT); Tue, 14 Aug 2001 15:08:42 -0600 Received: by cormails5.jdedwards.com with Internet Mail Service (5.5.2653.19) id ; Tue, 14 Aug 2001 15:04:32 -0600 Message-ID: <08CFC733EDACD211AEA40008C7A4D39C06BC519D@cormails2.jdedwards.com> From: "Vakoc, Mark" To: "'xslt@gnome.org'" Subject: RE: [xslt] was RE:[] forward and back slashes in URI Date: Tue, 14 Aug 2001 15:01:31 -0600 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: > Strange, it is used through xmlBuildURI() which should > handle the unescaping > of the URI-Reference. Did you try it and it failed ? > > Daniel xsltDocumentElem() builds a proper URI, so my input of: file:///f:/debug test/file.xml becomes file:///f%3A/debug%20test/file.xml It then calls xsltSaveResultToFilename which calls xmlOutputBufferCreateFilename which then uses the matching output callback of xmlFileOpenW. xmlFileOpenW (after applying my simple win32 fix mentioned earier) would pass f%3A/debug%20test/file.xml to fopen(). The reason document() worked is xmlParserInputBufferCreateFilename calls xmlURIUnescapeString(), however xmlOutputBufferCreateFilename() never calls xmlURIUnescapeString() before going through the output callbacks. From christian@stamgren.com Tue Aug 14 17:15:54 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from mailman.cccab.net (mail.cccab.net [195.163.134.5]) by mail.gnome.org (Postfix) with SMTP id 0B3952CB97 for ; Tue, 14 Aug 2001 17:14:28 -0400 (EDT) Received: from bitch (194.237.241.115) by mailman.cccab.net with MERCUR-SMTP/POP3/IMAP4-Server (v3.10.16 KA-0098304) for ; Tue, 14 Aug 2001 23:17:18 +0200 Content-Type: text/plain; charset="iso-8859-1" From: crille To: xslt@gnome.org Subject: Re: [xslt] ToString or size of output. Date: Tue, 14 Aug 2001 23:14:30 +0200 X-Mailer: KMail [version 1.2] References: <01081420252800.00777@bitch> <01081422474201.00777@bitch> <20010814165320.M5415@redhat.com> In-Reply-To: <20010814165320.M5415@redhat.com> MIME-Version: 1.0 Message-Id: <01081423143002.00777@bitch> Content-Transfer-Encoding: 8bit Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: [..] > When I give you an answer with pointers, *at least* read them and do the > minimal analysis on those data before posting a follow-up. I'm sorry please accept my apologies, i gues i have been sitting in from of this computer to long. I will have a break and read what you have sugested. Thanks again, Crille From nicolas.marsgui@libertysurf.fr Tue Aug 14 17:42:02 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from camelia.wanadoo.fr (smtp-rt-10.wanadoo.fr [193.252.19.59]) by mail.gnome.org (Postfix) with ESMTP id 459B72BA83 for ; Tue, 14 Aug 2001 17:42:02 -0400 (EDT) Received: from mahonia.wanadoo.fr (193.252.19.58) by camelia.wanadoo.fr; 14 Aug 2001 23:42:01 +0200 Received: from libertysurf.fr (193.250.247.52) by mahonia.wanadoo.fr; 14 Aug 2001 23:41:59 +0200 Message-ID: <3B799E3A.8134EF03@libertysurf.fr> Date: Tue, 14 Aug 2001 23:55:06 +0200 From: ben X-Mailer: Mozilla 4.72 [fr] (X11; U; Linux 2.2.14-5.0 i686) X-Accept-Language: en MIME-Version: 1.0 To: xslt@gnome.org Content-Type: multipart/mixed; boundary="------------B21AA09DDA403E6E50AD48C6" Subject: [xslt] How to use command line variables? Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Il s'agit d'un message multivolet au format MIME. --------------B21AA09DDA403E6E50AD48C6 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Hello, I have a problem in setting variables in the command line of xsltproc. I think it's a problem in the XSL stylesheet I use, but actually I don't know. With XT and Xalan it works fine. The problem is that when using: xsltproc --param my-global-variable the-value file.xsl file.xml > out.xml with something like this in the file.xsl: The output isn't what is set in the command line (in fact it's empty). What's wrong? I attach an example that produces the problem. Just do 'make clean all' to run xsltproc on the example. Thanks in advance, BG --------------B21AA09DDA403E6E50AD48C6 Content-Type: application/x-gzip; name="libxslt-pb.tar.gz" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="libxslt-pb.tar.gz" H4sICLWaeTsAA2xpYnhzbHQtcGIudGFyAO1YbW/iOBDu1+ZXzKa0lXobkhACWwrsy6l7qtRe V9eetCfdF5MYEjVvih2g0v34GyckBAi0K9Hu7W3mS7A983g8Mx7P4LmjOfO4Eo3Ug5ciTWtr 3a6JX03rdtor3wUdaF3D6Bi6qbdwXtdbZusAzBfTqEQJ4yQGOBjRYCffU+s/KHlL/+M3Itxp 4ne/e2i6pnXW/F7yv9HttnP/G1qni/yGqekHoO1XjWr6yf3ffz/3PZjSmLlhMDjVm9rp+6HU f6MoR/sjCf4BpMaV3YNSlL2dgt5sQUvTdFUz1VYLNL2nmz3DBLQ2XM4jaKCoAntXpfEx4U4Y 99J9xB7Z9Jc///hye3fZy0b3jsuA8UePModSDlEc2olFGXCHAg24y10c2NTySExtcIN04evN NbAwiS0KY9ejbzOsmcsdsezGQCyeEA+EEd7iwApj2w0mwMNUfEQYVc5gSmKXjHDnpgS/7PP8 R6AoQ0nqo/l7pbNhEASsh5MD2eE86qnqbDZrzoxmGE9U/fz8XP16d63exyRg4zD2ZQnWKAMY hzvlP6Mo4duEeSEbzIjHnKYV+qodWqMwfBDJSeXUjzzCqYpRug0kIjHxvwVITSW2waFUFZgA waXExzAgHG9OtUp0bnmJTZWYskTk2JiO3TllAxllN7lXLiH6KHMSCjEaT6nCIoIxRT0qNkWM M1kd5n6M3WhjXaycAe+lfBljmPAo4eBTDH57IHM65zJGshWKCBzIV3e3yrt35rmiyxjNNsIM 5EfKMnnMCAuFhL0gID4dyGm0+r4ndizU2WCwR2gzPwwExzL6cicAhoTloDbFDJOHaJwF05wP T47mHy/6ajFeXfT4BeoGq+sAn/Hy5VfWhtFjdjnv8HJaaC0ORQyUEhKM49DHowsj2YQT/Jli bfL6XlNa6qAoJxN+cXKka9vVFGfYOEjOQqLIe1SK86vLlR3C+e9MqAiYTbuid9YtKox2+fv9 1f1fUKHxlHgJVcIxMAwnC6OgKVxXBgC5QsxywpDRYjhzMLniaVD+g2sPThdxcipnDqreqbEe UgWrO87BRGi9GZwi0FIhtaRP9tMdp5qouSpb9crD8zmKlUN5v5qpFRbcUCLdYN0XcmXwbURH NrHM+UNJvP+l+u+GPFDxZO29xnii/tMMUy/qf62NfYLe6upaXf+9BhHPW9ZkeOckyfIoCXrS YezDWTZzLD49OBZpTzoU4YJ51QJlirWEhWnSCycM/pYOi5dMUbI3YOXKgOqEPlXRjouXtHiS F+tbERbZYDtAzoAIgso1JjT6MITGB+l7G/o/SlX9n/+6/V9La3eK/k/XWqL/a5v1/X8V6pfK rj3U4fsswr+1J1lUqXvslSr7Vv+H6FvFQ4696dgN8oZ1zmkcYOMpVhgkbFkVL2sC0W4KiNsA Wwn0CTJhjxpk3e5jBjpxpyiPFgdKLCebEyilvvalmta0lAWs2eSiDlv0GfIwn+mrKdcqe15P LrhxSDyXsGZaGR9DPkZDfrq++hXkGzwE9vHppFwg7gRE+8akBJiO1wHTyecAuiycxA9GjrcY FnDYqcFvMaUPYDwTjVPLKaGJ4QraPU7IJduppbwwrB/P/y1VvP8YAfvd46n63+yW6v9OJ3v/ W/X7/xqUPpnwSv+YpFk8pX7+70PRHcjysDz/VFIGWV3N4uuyO/JvJltK2Cuyu3ItSq5k5nXB 6rSaSS0zcGqB7+34mmqqqaaaaqqppppqqumno38BxHLg5QAoAAA= --------------B21AA09DDA403E6E50AD48C6-- From ptittom@free.fr Tue Aug 14 17:56:28 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from lantana.wanadoo.fr (smtp-rt-8.wanadoo.fr [193.252.19.51]) by mail.gnome.org (Postfix) with ESMTP id 8E3EC2CDC5 for ; Tue, 14 Aug 2001 17:56:25 -0400 (EDT) Received: from andira.wanadoo.fr (193.252.19.152) by lantana.wanadoo.fr; 14 Aug 2001 23:56:24 +0200 Received: from debian.ltgt.net (193.251.185.172) by andira.wanadoo.fr; 14 Aug 2001 23:56:24 +0200 Received: from ptittom by debian.ltgt.net with local (Exim 3.32 #1 (Debian)) id 15WmGT-0003qC-00 for ; Wed, 15 Aug 2001 00:02:21 +0200 Date: Wed, 15 Aug 2001 00:02:20 +0200 From: Thomas Broyer To: xslt@gnome.org Subject: Re: [xslt] How to use command line variables? Message-ID: <20010815000220.A3127@debian> References: <3B799E3A.8134EF03@libertysurf.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In-Reply-To: =?ISO-8859-1?Q?=3C3B799E3A=2E8134EF03=40libertysurf=2Efr=3E=3B_from_nico?= =?ISO-8859-1?Q?las=2Emarsgui=40libertysurf=2Efr_on_mar=2C_ao=FB_14=2C_20?= =?ISO-8859-1?Q?01_at_23:55:06_+0200?= X-Mailer: Balsa 1.1.6 Content-Length: 854 Lines: 25 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Le 14/08/01 23:55:06, ben a écrit : > I have a problem in setting variables in the command line of xsltproc. I > think it's a problem in the XSL stylesheet I use, but actually I don't > know. With XT and Xalan it works fine. > > The problem is that when using: > > xsltproc --param my-global-variable the-value file.xsl file.xml > > out.xml > > with something like this in the file.xsl: > > > > The output isn't what is set in the command line (in fact it's empty). Isn't it a FAQ? The values are XPath expressions. If you want to set a string value, you have to use «--param my-global-param "'the-value'"» for example, or «--param my-global-param \"the-value\"» Also, be sure to have a top-level in your stylesheet (they are commented out in your example) Tom. From veillard@redhat.com Tue Aug 14 19:01:57 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id 965512CA94 for ; Tue, 14 Aug 2001 19:01:57 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f7EN1vT09006 for xslt@gnome.org; Tue, 14 Aug 2001 19:01:57 -0400 Date: Tue, 14 Aug 2001 19:01:57 -0400 From: Daniel Veillard To: xslt@gnome.org Subject: Re: [xslt] was RE:[] forward and back slashes in URI Message-ID: <20010814190157.P5415@redhat.com> References: <08CFC733EDACD211AEA40008C7A4D39C06BC519D@cormails2.jdedwards.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="zhXaljGHf11kAtnf" Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <08CFC733EDACD211AEA40008C7A4D39C06BC519D@cormails2.jdedwards.com>; from Mark_Vakoc@jdedwards.com on Tue, Aug 14, 2001 at 03:01:31PM -0600 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: --zhXaljGHf11kAtnf Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Tue, Aug 14, 2001 at 03:01:31PM -0600, Vakoc, Mark wrote: > xsltDocumentElem() builds a proper URI, so my input of: > > file:///f:/debug test/file.xml becomes > file:///f%3A/debug%20test/file.xml > > It then calls xsltSaveResultToFilename which calls > xmlOutputBufferCreateFilename which then uses the matching output callback > of xmlFileOpenW. > > xmlFileOpenW (after applying my simple win32 fix mentioned earier) would > pass > f%3A/debug%20test/file.xml to fopen(). > > The reason document() worked is xmlParserInputBufferCreateFilename calls > xmlURIUnescapeString(), however xmlOutputBufferCreateFilename() never calls > xmlURIUnescapeString() before going through the output callbacks. Okay thanks for looking at the problem, can you check that the enclosed patch fixes the problem ? thanks, Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ --zhXaljGHf11kAtnf Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="escapeout.diff" Index: xmlIO.c =================================================================== RCS file: /cvs/gnome/gnome-xml/xmlIO.c,v retrieving revision 1.55 diff -c -r1.55 xmlIO.c *** xmlIO.c 2001/08/14 12:18:08 1.55 --- xmlIO.c 2001/08/14 22:59:46 *************** *** 1663,1670 **** xmlCharEncodingHandlerPtr encoder, int compression) { xmlOutputBufferPtr ret; ! int i; void *context = NULL; int is_http_uri = 0; /* Can't change if HTTP disabled */ --- 1663,1671 ---- xmlCharEncodingHandlerPtr encoder, int compression) { xmlOutputBufferPtr ret; ! int i = 0; void *context = NULL; + char *unescaped; int is_http_uri = 0; /* Can't change if HTTP disabled */ *************** *** 1679,1718 **** is_http_uri = xmlIOHTTPMatch( URI ); #endif #ifdef HAVE_ZLIB_H ! if ((compression > 0) && (compression <= 9) && (is_http_uri == 0)) { ! context = xmlGzfileOpenW(URI, compression); ! if (context != NULL) { ! ret = xmlAllocOutputBuffer(encoder); ! if (ret != NULL) { ! ret->context = context; ! ret->writecallback = xmlGzfileWrite; ! ret->closecallback = xmlGzfileClose; } - return(ret); } - } #endif /* ! * Try to find one of the output accept method accepting that scheme ! * Go in reverse to give precedence to user defined handlers. */ ! for (i = xmlOutputCallbackNr - 1;i >= 0;i--) { ! if ((xmlOutputCallbackTable[i].matchcallback != NULL) && ! (xmlOutputCallbackTable[i].matchcallback(URI) != 0)) { ! ! #if ( defined( LIBXML_HTTP_ENABLED ) && defined( HAVE_ZLIB_H ) ) ! /* Need to pass compression parameter into HTTP open calls */ ! ! if ( xmlOutputCallbackTable[i].matchcallback == xmlIOHTTPMatch ) ! context = xmlIOHTTPOpenW( URI, compression ); ! else #endif context = xmlOutputCallbackTable[i].opencallback(URI); ! ! if (context != NULL) ! break; } } --- 1680,1758 ---- is_http_uri = xmlIOHTTPMatch( URI ); #endif + + /* + * Try to find one of the output accept method accepting taht scheme + * Go in reverse to give precedence to user defined handlers. + * try with an unescaped version of the URI + */ + unescaped = xmlURIUnescapeString(URI, 0, NULL); + if (unescaped != NULL) { #ifdef HAVE_ZLIB_H ! if ((compression > 0) && (compression <= 9) && (is_http_uri == 0)) { ! context = xmlGzfileOpenW(unescaped, compression); ! if (context != NULL) { ! ret = xmlAllocOutputBuffer(encoder); ! if (ret != NULL) { ! ret->context = context; ! ret->writecallback = xmlGzfileWrite; ! ret->closecallback = xmlGzfileClose; ! } ! xmlFree(unescaped); ! return(ret); } } #endif + for (i = xmlOutputCallbackNr - 1;i >= 0;i--) { + if ((xmlOutputCallbackTable[i].matchcallback != NULL) && + (xmlOutputCallbackTable[i].matchcallback(unescaped) != 0)) { + #if defined(LIBXML_HTTP_ENABLED) && defined(HAVE_ZLIB_H) + /* Need to pass compression parameter into HTTP open calls */ + if (xmlOutputCallbackTable[i].matchcallback == xmlIOHTTPMatch) + context = xmlIOHTTPOpenW(unescaped, compression); + else + #endif + context = xmlOutputCallbackTable[i].opencallback(unescaped); + if (context != NULL) + break; + } + } + xmlFree(unescaped); + } /* ! * If this failed try with a non-escaped URI this may be a strange ! * filename */ ! if (context == NULL) { ! #ifdef HAVE_ZLIB_H ! if ((compression > 0) && (compression <= 9) && (is_http_uri == 0)) { ! context = xmlGzfileOpenW(URI, compression); ! if (context != NULL) { ! ret = xmlAllocOutputBuffer(encoder); ! if (ret != NULL) { ! ret->context = context; ! ret->writecallback = xmlGzfileWrite; ! ret->closecallback = xmlGzfileClose; ! } ! return(ret); ! } ! } #endif + for (i = xmlOutputCallbackNr - 1;i >= 0;i--) { + if ((xmlOutputCallbackTable[i].matchcallback != NULL) && + (xmlOutputCallbackTable[i].matchcallback(URI) != 0)) { context = xmlOutputCallbackTable[i].opencallback(URI); ! #if defined(LIBXML_HTTP_ENABLED) && defined(HAVE_ZLIB_H) ! /* Need to pass compression parameter into HTTP open calls */ ! if (xmlOutputCallbackTable[i].matchcallback == xmlIOHTTPMatch) ! context = xmlIOHTTPOpenW(URI, compression); ! else ! #endif ! context = xmlOutputCallbackTable[i].opencallback(URI); ! if (context != NULL) ! break; ! } } } --zhXaljGHf11kAtnf-- From Mark_Vakoc@jdedwards.com Tue Aug 14 19:59:59 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from ns1.jdedwards.com (unknown [63.136.208.195]) by mail.gnome.org (Postfix) with ESMTP id 15B912BA83 for ; Tue, 14 Aug 2001 19:59:59 -0400 (EDT) Received: from denvscans3.jdedwards.com ([10.0.14.77]) by ns1.jdedwards.com (8.9.1/8.9.1) with SMTP id RAA29518 for ; Tue, 14 Aug 2001 17:59:58 -0600 (MDT) Received: from 10.0.14.50 by denvscans3.jdedwards.com (InterScan E-Mail VirusWall NT); Tue, 14 Aug 2001 18:03:09 -0600 Received: by cormails5.jdedwards.com with Internet Mail Service (5.5.2653.19) id ; Tue, 14 Aug 2001 17:58:59 -0600 Message-ID: <08CFC733EDACD211AEA40008C7A4D39C06BC51A1@cormails2.jdedwards.com> From: "Vakoc, Mark" To: "'xslt@gnome.org'" Subject: RE: [xslt] was RE:[] forward and back slashes in URI Date: Tue, 14 Aug 2001 17:55:57 -0600 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: > Okay thanks for looking at the problem, can you check that > the enclosed > patch fixes the problem ? > Yes this patch works fine. I had done the same thing only I didn't retry using the original filename if the unescaped version failed -- good thinking! Cheers. From jfleck@swcp.com Tue Aug 14 22:10:50 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from swcp.com (q13-03.swcp.com [216.184.13.35]) by mail.gnome.org (Postfix) with ESMTP id 8C9CC2C1E3 for ; Tue, 14 Aug 2001 22:10:49 -0400 (EDT) Received: (from jfleck@localhost) by swcp.com (8.9.3/8.9.3) id UAA01290 for xslt@gnome.org; Tue, 14 Aug 2001 20:09:52 -0600 Date: Tue, 14 Aug 2001 20:09:51 -0600 From: John Fleck To: xslt@gnome.org Subject: FAQ (was Re: [xslt] How to use command line variables?) Message-ID: <20010814200951.A1239@inkstain.net> Mail-Followup-To: xslt@gnome.org References: <3B799E3A.8134EF03@libertysurf.fr> <20010815000220.A3127@debian> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Mailer: Mutt 0.95.4us In-Reply-To: <20010815000220.A3127@debian>; from Thomas Broyer on Wed, Aug 15, 2001 at 12:02:20AM +0200 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Wed, Aug 15, 2001 at 12:02:20AM +0200, Thomas Broyer wrote: > > Isn't it a FAQ? > The values are XPath expressions. If you want to set a string value, you > have to use «--param my-global-param "'the-value'"» for example, or > «--param my-global-param \"the-value\"» > > Also, be sure to have a top-level in > your stylesheet (they are commented out in your example) > It is indeed a frequently asked question, but we don't seem to have an FAQ yet. I'll be happy to start working one up, if you all can suggest a couple more questions that have come up repeatedly (an FAQ with just one Question and one Answer would look a bit silly). In the meantime, I also can add a brief mention of this issue on the "how to use xsltproc" section of the main libxslt web page. Cheers, -- John Fleck jfleck@inkstain.net (h), http://www.inkstain.net/fleck/ From yond@pobox.com Wed Aug 15 02:16:02 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from smtp.nwlink.com (smtp.nwlink.com [209.20.130.57]) by mail.gnome.org (Postfix) with ESMTP id 59B9E2BCBE for ; Wed, 15 Aug 2001 02:16:01 -0400 (EDT) Received: from brenda (ip213.usw7.rb1.bel.nwlink.com [207.202.159.213]) by smtp.nwlink.com (8.9.3/8.9.1) with ESMTP id XAA22709 for ; Tue, 14 Aug 2001 23:14:24 -0700 (PDT) From: "Yon Derek" To: Date: Tue, 14 Aug 2001 23:19:08 -0700 Message-ID: <000301c12552$31abc050$d59fcacf@redmond.corp.microsoft.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook, Build 10.0.2627 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2462.0000 Importance: Normal Subject: [xslt] Xsltconfig.h not installed Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: I compiled/installed the latest libxslt straight from CVS and it looks like it doesn't install xsltconfig.h (I did autoconf.sh; make; make install on RedHat 6.2) yet xsltutils.h tries to include it. Maybe it's just my machine but I thought I'll mention this. From veillard@redhat.com Wed Aug 15 04:57:12 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id DD6F22BB19 for ; Wed, 15 Aug 2001 04:57:05 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f7F8v5w24638 for xslt@gnome.org; Wed, 15 Aug 2001 04:57:05 -0400 Date: Wed, 15 Aug 2001 04:57:05 -0400 From: Daniel Veillard To: xslt@gnome.org Subject: Re: [xslt] Xsltconfig.h not installed Message-ID: <20010815045705.Q5415@redhat.com> References: <000301c12552$31abc050$d59fcacf@redmond.corp.microsoft.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <000301c12552$31abc050$d59fcacf@redmond.corp.microsoft.com>; from yond@pobox.com on Tue, Aug 14, 2001 at 11:19:08PM -0700 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Tue, Aug 14, 2001 at 11:19:08PM -0700, Yon Derek wrote: > I compiled/installed the latest libxslt straight from CVS and it looks > like it doesn't install xsltconfig.h (I did autoconf.sh; make; make > install on RedHat 6.2) yet xsltutils.h tries to include it. > > Maybe it's just my machine but I thought I'll mention this. Hum, I fail to see why xsltutils.h needs xsltconfig.h, I removed the include. On the other hand xsltconfig.h should be instlled that's the only way to find informations like the header versions. thanks for the heads-up, I will try to fix this before the next release. Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From yond@pobox.com Wed Aug 15 05:29:39 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from smtp.nwlink.com (smtp.nwlink.com [209.20.130.57]) by mail.gnome.org (Postfix) with ESMTP id 57F142BABC for ; Wed, 15 Aug 2001 05:29:39 -0400 (EDT) Received: from brenda (ip213.usw7.rb1.bel.nwlink.com [207.202.159.213]) by smtp.nwlink.com (8.9.3/8.9.1) with ESMTP id CAA24902 for ; Wed, 15 Aug 2001 02:27:19 -0700 (PDT) From: "Yon Derek" To: Subject: RE: [xslt] Xsltconfig.h not installed Date: Wed, 15 Aug 2001 02:32:04 -0700 Message-ID: <000401c1256d$3e4c1100$d59fcacf@redmond.corp.microsoft.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook, Build 10.0.2627 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2462.0000 Importance: Normal In-Reply-To: <20010815045705.Q5415@redhat.com> Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: When I just added xsltconfig.h to the includes, it wanted to include "config.h" at which point I passed (adding config.h didn't help besides config.h is a popular name for *.h file). So I reverted to the latest released tarball (version 1.0.1). It doesn't install xsltconfig.h in includes and it seems to work (I managed to compile my stuff). Just FYI, I don't know how it should work. Thanks, > -----Original Message----- > From: xslt-admin@gnome.org [mailto:xslt-admin@gnome.org] On > Behalf Of Daniel Veillard > Sent: Wednesday, August 15, 2001 1:57 AM > To: xslt@gnome.org > Subject: Re: [xslt] Xsltconfig.h not installed > > > On Tue, Aug 14, 2001 at 11:19:08PM -0700, Yon Derek wrote: > > I compiled/installed the latest libxslt straight from CVS > and it looks > > like it doesn't install xsltconfig.h (I did autoconf.sh; make; make > > install on RedHat 6.2) yet xsltutils.h tries to include it. > > > > Maybe it's just my machine but I thought I'll mention this. > > Hum, I fail to see why xsltutils.h needs xsltconfig.h, I > removed the include. On the other hand xsltconfig.h should be > instlled that's the only way to find informations like the > header versions. > > thanks for the heads-up, I will try to fix this before the > next release. > > Daniel > > -- > Daniel Veillard | Red Hat Network > http://redhat.com/products/network/ > veillard@redhat.com | > libxml Gnome XML XSLT toolkit http://xmlsoft.org/ > http://veillard.com/ | Rpmfind RPM search engine > http://rpmfind.net/ > > _______________________________________________ > xslt mailing list > xslt@gnome.org > http://mail.gnome.org/mailman/listinfo/xslt > From veillard@redhat.com Wed Aug 15 09:58:44 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id 03A6F2CF29 for ; Wed, 15 Aug 2001 09:58:44 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f7FDwe709571 for xslt@gnome.org; Wed, 15 Aug 2001 09:58:40 -0400 Date: Wed, 15 Aug 2001 09:58:40 -0400 From: Daniel Veillard To: xslt@gnome.org Message-ID: <20010815095840.W5415@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i Subject: [xslt] Release of libxslt-1.0.2 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Last relase was July 24, time to sync and release: http://xmlsoft.org/XSLT/ ftp://xmlsoft.org/ The changes: * lot of bug fixes, increased the testsuite * a large chunk of EXSLT is implemented * improvements on the extension framework * documentation improvements * Windows MSC projects files should be up-to-date * handle attributes inherited from the DTD by default thanks to those who provided bug reports, bug fixes, Igor for fixing the Windows build, Thomas for improving the extension API and implementing a large part of EXSLT, John Fleck for helping on the documentation, etc ... Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From izlatkovic@daenet.de Thu Aug 16 07:51:27 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from Helena.DAENET (unknown [195.27.1.98]) by mail.gnome.org (Postfix) with ESMTP id A9D252BBE1 for ; Thu, 16 Aug 2001 07:51:26 -0400 (EDT) X-MimeOLE: Produced By Microsoft Exchange V6.0.4417.0 content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Date: Thu, 16 Aug 2001 13:51:25 +0200 Message-ID: <15B9339A69EDAC418FDC8A925015E5B53334@Helena.DAENET> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Win32 binaries of libxslt-1.0.2 Thread-Index: AcEmScbXEsTj8P/hRcG7iWUkeTRV3Q== From: "Igor Zlatkovic" To: Subject: [xslt] Win32 binaries of libxslt-1.0.2 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Precompiled native Win32 binaries are available for download: http://www.fh-frankfurt.de/~igor/projects/libxml/ This release includes: * Fully optimised binaries, without any=20 compiler-generated debugging information. * Less optimised binaries with the debug=20 info placed in a PDB file. * Public headers. * Companion utility xsltproc. You who have participated, may your Gods give you wealth and honour, for your graceful deeds have brought this to existence. Igor From ignacio@openservices.net Fri Aug 17 13:47:21 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from terbidium.openservices.net (unknown [209.202.108.240]) by mail.gnome.org (Postfix) with ESMTP id 883CC2DEAA for ; Fri, 17 Aug 2001 13:47:21 -0400 (EDT) Received: (from root@localhost) by terbidium.openservices.net (8.9.3-MySQL-0.2.3b/8.9.3) id NAA29453 for xslt@gnome.org; Fri, 17 Aug 2001 13:47:09 -0400 Received: from terbidium.openservices.net (IDENT:ignacio@terbidium.openservices.net [209.202.108.240]) by terbidium.openservices.net (8.9.3-MySQL-0.2.3b/8.9.3) with ESMTP id NAA29393 for ; Fri, 17 Aug 2001 13:47:08 -0400 Date: Fri, 17 Aug 2001 13:47:08 -0400 (EDT) From: Ignacio Vazquez-Abrams To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-scanner: scanned by Inflex 1.0.7 - (http://pldaniels.com/inflex/) Subject: [xslt] Expanding Stylesheets and [OT] dealing with manpages Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: I am having problems with a stylesheet that has a lot of xsl:includes and tried to write a program to dump the expanded stylesheets from memory, but obviously xmlDocDump(stdout, sheet->doc) is _not_ the way to do it. What should I be using instead? Second, I was wondering if anyone knew of a DTD/Stylesheet that can be used for generating manpages. I've done some searching through FreshMeat, SourceForge, and Google, but have had little-to-no-luck in finding a decent solution. I've found two packages, manedit and refentry2man, but they have their problems. -- Ignacio Vazquez-Abrams From oliver.feige@triplex.de Fri Aug 17 14:40:05 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from triplex.de (gw-01.webfarm.triplex.de [194.221.248.178]) by mail.gnome.org (Postfix) with ESMTP id 29DCE2BD29 for ; Fri, 17 Aug 2001 14:40:05 -0400 (EDT) Received: from there (ap-lnx-ofeige.client [192.168.1.65]) by triplex.de (8.11.4/8.11.4) with SMTP id f7HIf3u26545 for ; Fri, 17 Aug 2001 20:41:03 +0200 Message-Id: <200108171841.f7HIf3u26545@triplex.de> Content-Type: text/plain; charset="iso-8859-1" From: Oliver Feige Organization: triplex agentur =?iso8859-1?q?f=FCr=20neue=20Medien?= GmbH To: xslt@gnome.org Subject: Re: [xslt] Expanding Stylesheets and [OT] dealing with manpages Date: Fri, 17 Aug 2001 20:39:34 +0200 X-Mailer: KMail [version 1.3.1] References: In-Reply-To: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: > I am having problems with a stylesheet that has a lot of xsl:includes and > tried to write a program to dump the expanded stylesheets from memory, but > obviously xmlDocDump(stdout, sheet->doc) is _not_ the way to do it. What > should I be using instead? Hi, i think xsltSaveResultToFile() should be fine to you. When you call it so: xsltSaveResultToFile(stdout, xmlDoc, resultDoc); You get a transformed File to stdout! By Oliver From veillard@redhat.com Fri Aug 17 15:06:47 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id 7A8A12DF04 for ; Fri, 17 Aug 2001 15:06:47 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f7HJ6l730331 for xslt@gnome.org; Fri, 17 Aug 2001 15:06:47 -0400 Date: Fri, 17 Aug 2001 15:06:47 -0400 From: Daniel Veillard To: xslt@gnome.org Subject: Re: [xslt] Expanding Stylesheets and [OT] dealing with manpages Message-ID: <20010817150647.B16099@redhat.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: ; from ignacio@openservices.net on Fri, Aug 17, 2001 at 01:47:08PM -0400 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Fri, Aug 17, 2001 at 01:47:08PM -0400, Ignacio Vazquez-Abrams wrote: > I am having problems with a stylesheet that has a lot of xsl:includes and > tried to write a program to dump the expanded stylesheets from memory, but > obviously xmlDocDump(stdout, sheet->doc) is _not_ the way to do it. What > should I be using instead? Well the xsl:include merging is not done at the tree level. Moreover the process of compiling the stylesheet really modifies the input tree (removal of blank nodes, some namespaces are moved, etc.). This won't work, at some point I had to decide if I should provide a way to do stylesheet editing in an incremental way (say you modify the stylesheet and want to see what it look like, and reserialize it if needed), but I dropped the idea, it's too specialized and would make things really hard. Trying to reserialize a stylesheet from the compiled result should be doable, but: - it's not trivial - just printing style->doc is really not sufficient and it won't do the merge of includes taht you expected. > Second, I was wondering if anyone knew of a DTD/Stylesheet that can be used > for generating manpages. I've done some searching through FreshMeat, > SourceForge, and Google, but have had little-to-no-luck in finding a decent > solution. I've found two packages, manedit and refentry2man, but they have > their problems. Hum, I have heard recently about docbook2man, John Fleck said it existed, I didn't tried it :-) Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From ignacio@openservices.net Fri Aug 17 15:58:05 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from terbidium.openservices.net (unknown [209.202.108.240]) by mail.gnome.org (Postfix) with ESMTP id 81AAB2DF1A for ; Fri, 17 Aug 2001 15:58:05 -0400 (EDT) Received: (from root@localhost) by terbidium.openservices.net (8.9.3-MySQL-0.2.3b/8.9.3) id PAA24591 for xslt@gnome.org; Fri, 17 Aug 2001 15:58:04 -0400 Received: from terbidium.openservices.net (IDENT:ignacio@terbidium.openservices.net [209.202.108.240]) by terbidium.openservices.net (8.9.3-MySQL-0.2.3b/8.9.3) with ESMTP id PAA24536 for ; Fri, 17 Aug 2001 15:58:04 -0400 Date: Fri, 17 Aug 2001 15:58:04 -0400 (EDT) From: Ignacio Vazquez-Abrams To: Subject: Re: [xslt] Expanding Stylesheets and [OT] dealing with manpages In-Reply-To: <20010817150647.B16099@redhat.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-scanner: scanned by Inflex 1.0.7 - (http://pldaniels.com/inflex/) Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Fri, 17 Aug 2001, Daniel Veillard wrote: > On Fri, Aug 17, 2001 at 01:47:08PM -0400, Ignacio Vazquez-Abrams wrote: > > I am having problems with a stylesheet that has a lot of xsl:includes and > > tried to write a program to dump the expanded stylesheets from memory, but > > obviously xmlDocDump(stdout, sheet->doc) is _not_ the way to do it. What > > should I be using instead? > > Well the xsl:include merging is not done at the tree level. Moreover > the process of compiling the stylesheet really modifies the input tree > (removal of blank nodes, some namespaces are moved, etc.). This won't > work, at some point I had to decide if I should provide a way to do stylesheet > editing in an incremental way (say you modify the stylesheet and want > to see what it look like, and reserialize it if needed), but I dropped the > idea, it's too specialized and would make things really hard. > Trying to reserialize a stylesheet from the compiled result should be > doable, but: > - it's not trivial Just what I need: another devel task :P Feel like giving me some pointers? > - just printing style->doc is really not sufficient > and it won't do the merge of includes taht you expected. Yes, I learned this the hard way. > > Second, I was wondering if anyone knew of a DTD/Stylesheet that can be used > > for generating manpages. I've done some searching through FreshMeat, > > SourceForge, and Google, but have had little-to-no-luck in finding a decent > > solution. I've found two packages, manedit and refentry2man, but they have > > their problems. > > Hum, I have heard recently about docbook2man, John Fleck said it existed, > I didn't tried it :-) I'm taking a look at it now (I need to update my libs; can you believe I'm still at libxslt 0.11.0?!), but I was thinking of something along the lines of ''. Ah well, it's a start. > Daniel -- Ignacio Vazquez-Abrams From veillard@redhat.com Fri Aug 17 16:47:40 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id 451C42DF6B for ; Fri, 17 Aug 2001 16:47:40 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f7HKleO22964 for xslt@gnome.org; Fri, 17 Aug 2001 16:47:40 -0400 Date: Fri, 17 Aug 2001 16:47:40 -0400 From: Daniel Veillard To: xslt@gnome.org Subject: Re: [xslt] Expanding Stylesheets and [OT] dealing with manpages Message-ID: <20010817164740.F16099@redhat.com> References: <20010817150647.B16099@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: ; from ignacio@openservices.net on Fri, Aug 17, 2001 at 03:58:04PM -0400 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Fri, Aug 17, 2001 at 03:58:04PM -0400, Ignacio Vazquez-Abrams wrote: > > Trying to reserialize a stylesheet from the compiled result should be > > doable, but: > > - it's not trivial > > Just what I need: another devel task :P Feel like giving me some pointers? Ouch, you asked for it: - first get familiar with the internals and especially the stylesheet compilation http://xmlsoft.org/XSLT/internals.html#XSLT1 - second look at existing serialization code like xmlNodeDumpOutput() in libxml/tree.c - third look at how the stylesheet document get transformed in libxslt/libxslt/xslt.c xsltPrecomputeStylesheet() especially, note how blank text nodes are removed (some namespaces are moved too but trying to reverse this might be difficult and not useful), and how disable-output-escaping is directly saved in the text nodes. From that point you should have enough knowledge to make a pretty good reserialisation of a single stylesheet. As a second step if you want to build the equivalent of a preprocessed include/import compound stylesheet, then thing get harder, basically you need to augment the document with inherited properties, i.e. aggregate values from the child sheets and run a reverse cascading order check to verify that they arent' blocked by higher priority values. The simplest is probably to rebuid a second tree and then ask libxml to serialize and format it xmlSaveFormatFile(filename, doc, 1); > I'm taking a look at it now (I need to update my libs; can you believe I'm > still at libxslt 0.11.0?!), but I was thinking of something along the lines of > ''. Ah well, it's a start. upgrade to libxml2-2.4.2 and libxslt-1.0.2, or even better use CVS, this helps making patches. Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From tmoog@polhode.com Sat Aug 18 01:51:18 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from smtp-1.enteract.com (smtp-1.enteract.com [207.229.143.33]) by mail.gnome.org (Postfix) with ESMTP id A1C7F2BDB3 for ; Sat, 18 Aug 2001 01:51:18 -0400 (EDT) Received: from shell-2.enteract.com (shell-2.enteract.com [207.229.143.41]) by smtp-1.enteract.com (Postfix) with ESMTP id 92C1960A3 for ; Sat, 18 Aug 2001 00:49:49 -0500 (CDT) Date: Sat, 18 Aug 2001 00:49:49 -0500 (CDT) From: Tom Moog X-Sender: tmoog@shell-2.enteract.com To: xslt@gnome.org In-Reply-To: <20010815095840.W5415@redhat.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Subject: [xslt] Use of " in stylesheet params Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: I am trying to pass a string containing a double quote as a style sheet parameter when calling xsltApplyStylesheet. I know that libxslt treats a parameter as an XPath expression so that the string must be quoted using ' or ". Both work, unless, of course, the string contains the quoting character. If I code: param[0]="alpha"; param[1]="\" this is a double "l quote\""; param[2]= NULL; I get " in the output, not ". What magic call do I need to make to fix this ? Tom Moog From shell@shellhung.org Sat Aug 18 06:54:28 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from shellhung.org (unknown [203.194.160.67]) by mail.gnome.org (Postfix) with ESMTP id 950132BC45 for ; Sat, 18 Aug 2001 06:54:26 -0400 (EDT) Received: (from shell@localhost) by shellhung.org (8.11.5/8.11.3) id f7IAsXa12413 for xslt@gnome.org; Sat, 18 Aug 2001 18:54:33 +0800 (HKT) Date: Sat, 18 Aug 2001 18:54:33 +0800 From: "Hin-lik Hung, Shell" To: xslt@gnome.org Message-ID: <20010818185433.B27923@shellhung.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i Subject: [xslt] Fail build of OpenBSD Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Hi all, I am trying to build libxslt-1.0.2 on OpenBSD 2.9-current, but the build was failed and this erorr message return : /bin/sh ../libtool --mode=compile cc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I../libxslt -I/usr/local/include/libxml -I/usr/local/include -O2 -O2 -c extra.c rm -f .libs/extra.lo cc -DHAVE_CONFIG_H -I. -I. -I.. -I.. -I../libxslt -I/usr/local/include/libxml -I/usr/local/include -O2 -O2 -c extra.c -fPIC -DPIC -o .libs/extra.lo extra.c: In function `xsltFunctionLocalTime': extra.c:238: invalid operands to binary - gmake[2]: *** [extra.lo] Error 1 in extra.c:238 : lmt = gmt - timezone; How can I solve this ? Thank you ! -- Best Regards, Shell Hung http://www.shellhung.org From veillard@redhat.com Sat Aug 18 06:56:18 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id 73C532C133 for ; Sat, 18 Aug 2001 06:56:18 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f7IAuIY32593 for xslt@gnome.org; Sat, 18 Aug 2001 06:56:18 -0400 Date: Sat, 18 Aug 2001 06:56:18 -0400 From: Daniel Veillard To: xslt@gnome.org Subject: Re: [xslt] Use of " in stylesheet params Message-ID: <20010818065618.N16099@redhat.com> References: <20010815095840.W5415@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: ; from tmoog@polhode.com on Sat, Aug 18, 2001 at 12:49:49AM -0500 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Sat, Aug 18, 2001 at 12:49:49AM -0500, Tom Moog wrote: > > I am trying to pass a string containing a > double quote as a style sheet parameter > when calling xsltApplyStylesheet. What about: param[1]="' this is a double \" quote'"; first " is interpreted by C compiler the ' is a xslt string delimiter the \" will be replaced by the C compiler into just " " won't be handled as an XML entity reference since I don't try to parse parameter strings as an XML chunk but as an UTF8 string (it should be an xmlChar *). Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From veillard@redhat.com Sat Aug 18 07:08:16 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id 0C0F62BF97 for ; Sat, 18 Aug 2001 07:08:16 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f7IB8Ft00707 for xslt@gnome.org; Sat, 18 Aug 2001 07:08:15 -0400 Date: Sat, 18 Aug 2001 07:08:15 -0400 From: Daniel Veillard To: xslt@gnome.org Subject: Re: [xslt] Fail build of OpenBSD Message-ID: <20010818070815.O16099@redhat.com> References: <20010818185433.B27923@shellhung.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <20010818185433.B27923@shellhung.org>; from shell@shellhung.org on Sat, Aug 18, 2001 at 06:54:33PM +0800 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Sat, Aug 18, 2001 at 06:54:33PM +0800, Hin-lik Hung, Shell wrote: > in extra.c:238 : > > lmt = gmt - timezone; > > How can I solve this ? They are both defined as time_t gmt, lmt; Isn't time_t supposed to be a scalar type ? Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From shell@shellhung.org Sat Aug 18 07:54:21 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from shellhung.org (unknown [203.194.160.67]) by mail.gnome.org (Postfix) with ESMTP id 0CC702BB30 for ; Sat, 18 Aug 2001 07:54:20 -0400 (EDT) Received: (from shell@localhost) by shellhung.org (8.11.5/8.11.3) id f7IBsQr11318 for xslt@gnome.org; Sat, 18 Aug 2001 19:54:26 +0800 (HKT) Date: Sat, 18 Aug 2001 19:54:26 +0800 From: "Hin-lik Hung, Shell" To: xslt@gnome.org Subject: Re: [xslt] Fail build of OpenBSD Message-ID: <20010818195426.A12918@shellhung.org> References: <20010818185433.B27923@shellhung.org> <20010818070815.O16099@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <20010818070815.O16099@redhat.com>; from veillard@redhat.com on Sat, Aug 18, 2001 at 07:08:15AM -0400 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: (Sat, Aug 18, 2001 at 07:08:15AM -0400) Daniel Veillard : > On Sat, Aug 18, 2001 at 06:54:33PM +0800, Hin-lik Hung, Shell wrote: > > in extra.c:238 : > > lmt = gmt - timezone; > > How can I solve this ? > They are both defined as > time_t gmt, lmt; > Isn't time_t supposed to be a scalar type ? Don't know does this make sencse, in OpenBSD, timezone return char *, but what is this mean "invalid operands to binary -" ? Thank you. -- Best Regards, Shell Hung http://www.shellhung.org From breese@mail1.stofanet.dk Sat Aug 18 07:55:19 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from mail1.stofanet.dk (mail1.stofanet.dk [212.10.10.6]) by mail.gnome.org (Postfix) with SMTP id A18912BB30 for ; Sat, 18 Aug 2001 07:55:17 -0400 (EDT) Received: (qmail 3789 invoked from network); 18 Aug 2001 11:55:15 -0000 Received: from pc103229.stofanet.dk (HELO mail1.stofanet.dk) (breese@212.10.34.229) by mail1.stofanet.dk with SMTP; 18 Aug 2001 11:55:15 -0000 Message-ID: <3B7E579B.79C628AE@mail1.stofanet.dk> Date: Sat, 18 Aug 2001 11:55:07 +0000 From: Bjorn Reese Organization: Hyperspace Academy X-Mailer: Mozilla 4.51 [en] (X11; I; Linux 2.2.7 i686) X-Accept-Language: en MIME-Version: 1.0 To: xslt@gnome.org Subject: Re: [xslt] Fail build of OpenBSD References: <20010818185433.B27923@shellhung.org> <20010818070815.O16099@redhat.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Daniel Veillard wrote: > They are both defined as > time_t gmt, lmt; > > Isn't time_t supposed to be a scalar type ? Yes, it is defined as an arithmetic type, but I think that the problem is 'timezone' (which is part of the X/Open standard, but neither ISO C nor POSIX). The OpenBSD man page on localtime() does not mention the 'timezone' variable. Instead it has tm_gmtoff in struct tm, which is described as "the offset (in seconds) of the time represented from UTC, with positive values indicating east of the Prime Meridian." Ah, the joys of portability :) From shell@shellhung.org Sat Aug 18 08:02:43 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from shellhung.org (unknown [203.194.160.67]) by mail.gnome.org (Postfix) with ESMTP id 3109A2BB30 for ; Sat, 18 Aug 2001 08:02:42 -0400 (EDT) Received: (from shell@localhost) by shellhung.org (8.11.5/8.11.3) id f7IC2nA25960 for xslt@gnome.org; Sat, 18 Aug 2001 20:02:49 +0800 (HKT) Date: Sat, 18 Aug 2001 20:02:48 +0800 From: "Hin-lik Hung, Shell" To: xslt@gnome.org Subject: Re: [xslt] Fail build of OpenBSD Message-ID: <20010818200248.A8652@shellhung.org> References: <20010818185433.B27923@shellhung.org> <20010818070815.O16099@redhat.com> <3B7E579B.79C628AE@mail1.stofanet.dk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <3B7E579B.79C628AE@mail1.stofanet.dk>; from breese@mail1.stofanet.dk on Sat, Aug 18, 2001 at 11:55:07AM +0000 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: (Sat, Aug 18, 2001 at 11:55:07AM +0000) Bjorn Reese : > Daniel Veillard wrote: > > > They are both defined as > > time_t gmt, lmt; > > > > Isn't time_t supposed to be a scalar type ? > Yes, it is defined as an arithmetic type, but I think that the problem > is 'timezone' (which is part of the X/Open standard, but neither ISO C > nor POSIX). > The OpenBSD man page on localtime() does not mention the 'timezone' > variable. Instead it has tm_gmtoff in struct tm, which is described as > "the offset (in seconds) of the time represented from UTC, with positive > values indicating east of the Prime Meridian." For more information, here is the timezone(3) manpage in OpenBSD : http://www.shellhung.org/timezone_3.txt > Ah, the joys of portability :) Well, Linux to *BSD :-) -- Best Regards, Shell Hung http://www.shellhung.org From veillard@redhat.com Sat Aug 18 08:04:56 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id 7DBAD2BB30 for ; Sat, 18 Aug 2001 08:04:56 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f7IC4uh03712 for xslt@gnome.org; Sat, 18 Aug 2001 08:04:56 -0400 Date: Sat, 18 Aug 2001 08:04:56 -0400 From: Daniel Veillard To: xslt@gnome.org Subject: Re: [xslt] Fail build of OpenBSD Message-ID: <20010818080456.Q16099@redhat.com> References: <20010818185433.B27923@shellhung.org> <20010818070815.O16099@redhat.com> <3B7E579B.79C628AE@mail1.stofanet.dk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <3B7E579B.79C628AE@mail1.stofanet.dk>; from breese@mail1.stofanet.dk on Sat, Aug 18, 2001 at 11:55:07AM +0000 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Sat, Aug 18, 2001 at 11:55:07AM +0000, Bjorn Reese wrote: > Daniel Veillard wrote: > > > They are both defined as > > time_t gmt, lmt; > > > > Isn't time_t supposed to be a scalar type ? > > Yes, it is defined as an arithmetic type, but I think that the problem > is 'timezone' (which is part of the X/Open standard, but neither ISO C > nor POSIX). > > The OpenBSD man page on localtime() does not mention the 'timezone' > variable. Instead it has tm_gmtoff in struct tm, which is described as > "the offset (in seconds) of the time represented from UTC, with positive > values indicating east of the Prime Meridian." > > Ah, the joys of portability :) yes Well, this function is not critical at all (it's a specific function for Norman Walsh stylesheets), if we have a reliable way to detect that the 'timezone' variable is not available, simply don't compile and register this function, Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From shell@shellhung.org Sat Aug 18 09:07:17 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from shellhung.org (unknown [203.194.160.67]) by mail.gnome.org (Postfix) with ESMTP id EFFCB2BB30 for ; Sat, 18 Aug 2001 09:07:15 -0400 (EDT) Received: (from shell@localhost) by shellhung.org (8.11.5/8.11.3) id f7ID7Nu16088 for xslt@gnome.org; Sat, 18 Aug 2001 21:07:23 +0800 (HKT) Date: Sat, 18 Aug 2001 21:07:22 +0800 From: "Hin-lik Hung, Shell" To: xslt@gnome.org Subject: Re: [xslt] Fail build of OpenBSD Message-ID: <20010818210722.A2981@shellhung.org> References: <20010818185433.B27923@shellhung.org> <20010818070815.O16099@redhat.com> <3B7E579B.79C628AE@mail1.stofanet.dk> <20010818080456.Q16099@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <20010818080456.Q16099@redhat.com>; from veillard@redhat.com on Sat, Aug 18, 2001 at 08:04:56AM -0400 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: (Sat, Aug 18, 2001 at 08:04:56AM -0400) Daniel Veillard : > On Sat, Aug 18, 2001 at 11:55:07AM +0000, Bjorn Reese wrote: > > Daniel Veillard wrote: > > > They are both defined as > > > time_t gmt, lmt; > > > Isn't time_t supposed to be a scalar type ? > > Yes, it is defined as an arithmetic type, but I think that the problem > > is 'timezone' (which is part of the X/Open standard, but neither ISO C > > nor POSIX). > > The OpenBSD man page on localtime() does not mention the 'timezone' > > variable. Instead it has tm_gmtoff in struct tm, which is described as > > "the offset (in seconds) of the time represented from UTC, with positive > > values indicating east of the Prime Meridian." > > Ah, the joys of portability :) > yes > Well, this function is not critical at all (it's a specific function > for Norman Walsh stylesheets), if we have a reliable way to detect > that the 'timezone' variable is not available, simply don't compile and > register this function, Actually the problem was solved by adding 'long int timezone', in OpenBSD, timezone is a function and not value. -- Best Regards, Shell Hung http://www.shellhung.org From veillard@redhat.com Sat Aug 18 09:23:08 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id 699892BFAD for ; Sat, 18 Aug 2001 09:22:51 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f7IDMpB08721 for xslt@gnome.org; Sat, 18 Aug 2001 09:22:51 -0400 Date: Sat, 18 Aug 2001 09:22:51 -0400 From: Daniel Veillard To: xslt@gnome.org Subject: Re: [xslt] Fail build of OpenBSD Message-ID: <20010818092251.S16099@redhat.com> References: <20010818185433.B27923@shellhung.org> <20010818070815.O16099@redhat.com> <3B7E579B.79C628AE@mail1.stofanet.dk> <20010818080456.Q16099@redhat.com> <20010818210722.A2981@shellhung.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <20010818210722.A2981@shellhung.org>; from shell@shellhung.org on Sat, Aug 18, 2001 at 09:07:22PM +0800 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Sat, Aug 18, 2001 at 09:07:22PM +0800, Hin-lik Hung, Shell wrote: > (Sat, Aug 18, 2001 at 08:04:56AM -0400) Daniel Veillard : > > On Sat, Aug 18, 2001 at 11:55:07AM +0000, Bjorn Reese wrote: > Actually the problem was solved by adding 'long int timezone', in > OpenBSD, timezone is a function and not value. Like everywhere else. In what header is it declared ? grep timezone /usr/include/*.h /usr/include/*/*.h Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From tmoog@polhode.com Sat Aug 18 09:29:21 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from smtp-2.enteract.com (smtp-2.enteract.com [207.229.143.4]) by mail.gnome.org (Postfix) with ESMTP id 134722BB30 for ; Sat, 18 Aug 2001 09:29:21 -0400 (EDT) Received: from shell-2.enteract.com (shell-2.enteract.com [207.229.143.41]) by smtp-2.enteract.com (Postfix) with ESMTP id 100945E15 for ; Sat, 18 Aug 2001 08:29:20 -0500 (CDT) Date: Sat, 18 Aug 2001 08:29:19 -0500 (CDT) From: Tom Moog X-Sender: tmoog@shell-2.enteract.com To: xslt@gnome.org Subject: Re: [xslt] Use of " in stylesheet params In-Reply-To: <20010818065618.N16099@redhat.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: My choice of an example was bad. Suppose the string I want to pass as a parameter is: Join us for Shakespeare's "Twelfth Night" at 7 o'clock so it contains both apostrophe and double quote ? On Sat, 18 Aug 2001, Daniel Veillard wrote: > On Sat, Aug 18, 2001 at 12:49:49AM -0500, Tom Moog wrote: > > > > I am trying to pass a string containing a > > double quote as a style sheet parameter > > when calling xsltApplyStylesheet. > > What about: > > param[1]="' this is a double \" quote'"; > > first " is interpreted by C compiler > the ' is a xslt string delimiter > the \" will be replaced by the C compiler into just " > > " won't be handled as an XML entity reference since I don't > try to parse parameter strings as an XML chunk but as an UTF8 string > (it should be an xmlChar *). From shell@shellhung.org Sat Aug 18 09:30:40 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from shellhung.org (unknown [203.194.160.67]) by mail.gnome.org (Postfix) with ESMTP id 0B3B02BB30 for ; Sat, 18 Aug 2001 09:30:39 -0400 (EDT) Received: (from shell@localhost) by shellhung.org (8.11.5/8.11.3) id f7IDUkX23888 for xslt@gnome.org; Sat, 18 Aug 2001 21:30:46 +0800 (HKT) Date: Sat, 18 Aug 2001 21:30:46 +0800 From: "Hin-lik Hung, Shell" To: xslt@gnome.org Subject: Re: [xslt] Fail build of OpenBSD Message-ID: <20010818213046.A7938@shellhung.org> References: <20010818185433.B27923@shellhung.org> <20010818070815.O16099@redhat.com> <3B7E579B.79C628AE@mail1.stofanet.dk> <20010818080456.Q16099@redhat.com> <20010818210722.A2981@shellhung.org> <20010818092251.S16099@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <20010818092251.S16099@redhat.com>; from veillard@redhat.com on Sat, Aug 18, 2001 at 09:22:51AM -0400 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: (Sat, Aug 18, 2001 at 09:22:51AM -0400) Daniel Veillard : > On Sat, Aug 18, 2001 at 09:07:22PM +0800, Hin-lik Hung, Shell wrote: > > (Sat, Aug 18, 2001 at 08:04:56AM -0400) Daniel Veillard : > > > On Sat, Aug 18, 2001 at 11:55:07AM +0000, Bjorn Reese wrote: > > Actually the problem was solved by adding 'long int timezone', in > > OpenBSD, timezone is a function and not value. > > Like everywhere else. > In what header is it declared ? > grep timezone /usr/include/*.h /usr/include/*/*.h It is time.h . -- Best Regards, Shell Hung http://www.shellhung.org From veillard@redhat.com Sat Aug 18 09:38:06 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id B91DD2BB30 for ; Sat, 18 Aug 2001 09:38:06 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f7IDc6j09421 for xslt@gnome.org; Sat, 18 Aug 2001 09:38:06 -0400 Date: Sat, 18 Aug 2001 09:38:06 -0400 From: Daniel Veillard To: xslt@gnome.org Subject: Re: [xslt] Use of " in stylesheet params Message-ID: <20010818093806.T16099@redhat.com> References: <20010818065618.N16099@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: ; from tmoog@polhode.com on Sat, Aug 18, 2001 at 08:29:19AM -0500 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Sat, Aug 18, 2001 at 08:29:19AM -0500, Tom Moog wrote: > > My choice of an example was bad. Suppose the > string I want to pass as a parameter is: > > Join us for Shakespeare's "Twelfth Night" at 7 o'clock > > so it contains both apostrophe and double quote ? You're stuck with the current API. Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From veillard@redhat.com Sat Aug 18 09:42:22 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id A90F22BB30 for ; Sat, 18 Aug 2001 09:42:22 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f7IDgMG09604 for xslt@gnome.org; Sat, 18 Aug 2001 09:42:22 -0400 Date: Sat, 18 Aug 2001 09:42:22 -0400 From: Daniel Veillard To: xslt@gnome.org Subject: Re: [xslt] Fail build of OpenBSD Message-ID: <20010818094222.U16099@redhat.com> References: <20010818185433.B27923@shellhung.org> <20010818070815.O16099@redhat.com> <3B7E579B.79C628AE@mail1.stofanet.dk> <20010818080456.Q16099@redhat.com> <20010818210722.A2981@shellhung.org> <20010818092251.S16099@redhat.com> <20010818213046.A7938@shellhung.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <20010818213046.A7938@shellhung.org>; from shell@shellhung.org on Sat, Aug 18, 2001 at 09:30:46PM +0800 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Sat, Aug 18, 2001 at 09:30:46PM +0800, Hin-lik Hung, Shell wrote: > (Sat, Aug 18, 2001 at 09:22:51AM -0400) Daniel Veillard : > > On Sat, Aug 18, 2001 at 09:07:22PM +0800, Hin-lik Hung, Shell wrote: > > > (Sat, Aug 18, 2001 at 08:04:56AM -0400) Daniel Veillard : > > > > On Sat, Aug 18, 2001 at 11:55:07AM +0000, Bjorn Reese wrote: > > > Actually the problem was solved by adding 'long int timezone', in > > > OpenBSD, timezone is a function and not value. > > > > Like everywhere else. > > In what header is it declared ? > > grep timezone /usr/include/*.h /usr/include/*/*.h > It is time.h . extra.c starts with #ifdef HAVE_TIME_H #define __USE_XOPEN #include #endif and time.h is checked in configure.in Please check on your side and with whoever does OpenBSD maintenance, it's getting off-topic for this list. Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From ptittom@free.fr Sat Aug 18 09:45:44 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from tamaris.wanadoo.fr (smtp-rt-12.wanadoo.fr [193.252.19.60]) by mail.gnome.org (Postfix) with ESMTP id C70D72BB30 for ; Sat, 18 Aug 2001 09:45:44 -0400 (EDT) Received: from villosa.wanadoo.fr (193.252.19.122) by tamaris.wanadoo.fr; 18 Aug 2001 15:45:43 +0200 Received: from debian.ltgt.net (193.252.183.20) by villosa.wanadoo.fr; 18 Aug 2001 15:45:27 +0200 Received: from ptittom by debian.ltgt.net with local (Exim 3.32 #1 (Debian)) id 15Y6Vf-0000M5-00 for ; Sat, 18 Aug 2001 15:51:31 +0200 Date: Sat, 18 Aug 2001 15:51:31 +0200 From: Thomas Broyer To: xslt@gnome.org Subject: Re: [xslt] Use of " in stylesheet params Message-ID: <20010818155131.C924@debian> References: <20010818065618.N16099@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit In-Reply-To: =?ISO-8859-1?Q?=3CPine=2EBSF=2E4=2E21=2E0108180823240=2E42087-100000=40s?= =?ISO-8859-1?Q?hell-2=2Eenteract=2Ecom=3E=3B_from_tmoog=40polhode=2Ecom_?= =?ISO-8859-1?Q?on_sam=2C_ao=FB_18=2C_2001_at_15:29:19_+0200?= X-Mailer: Balsa 1.1.6 Content-Length: 605 Lines: 19 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Le 18/08/01 15:29:19, Tom Moog a écrit : > My choice of an example was bad. Suppose the > string I want to pass as a parameter is: > > Join us for Shakespeare's "Twelfth Night" at 7 o'clock > > so it contains both apostrophe and double quote ? There is no escape mechanism in XPath. As string literals are delimited by ' or ", there isn't any mean to put one of the delimiters in the string value. What you need is something like this: concat("Join us for Shakespeare's", ' "Twelfth Night "', " at 7 o'clock") This has nothing to do with libxslt, it's purely an XPath limitation. Tom. From cbozeman@HiWAAY.net Sat Aug 18 10:59:08 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from mail.hiwaay.net (fly.HiWAAY.net [208.147.154.56]) by mail.gnome.org (Postfix) with ESMTP id 8A1262C05C for ; Sat, 18 Aug 2001 10:59:08 -0400 (EDT) Received: from HiWAAY.net (tnt8-216-180-71-38.dialup.HiWAAY.net [216.180.71.38]) by mail.hiwaay.net (8.11.3/8.11.3) with ESMTP id f7IEx5F24311 for ; Sat, 18 Aug 2001 09:59:05 -0500 (CDT) Message-ID: <3B7E82C8.4B3AB74@HiWAAY.net> Date: Sat, 18 Aug 2001 09:59:20 -0500 From: Charlie Bozeman X-Mailer: Mozilla 4.7 [en] (X11; I; Linux 2.0.36 i586) X-Accept-Language: en MIME-Version: 1.0 To: xslt@gnome.org Subject: Re: [xslt] Fail build of OpenBSD References: <20010818185433.B27923@shellhung.org> <20010818070815.O16099@redhat.com> <3B7E579B.79C628AE@mail1.stofanet.dk> <20010818080456.Q16099@redhat.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: I had the same problem in cygwin; I just changed timezone to _timezone to get it to compile. I am in the process of implementing the EXSLT date funtions and ran into the same problem between cygwin at work and linux at home. Here is a snippet of code that illustrates how I get the timezone offset: { struct tm *pLocalTm; struct tm *pGmTm; time_t tzSecs; /* timezone offset in seconds */ time_t secs; newDate->format = format; /* get current time */ secs = time(NULL); pLocalTm = localtime(&secs); memcpy(&newDate->tm, pLocalTm, sizeof(struct tm)); /* get real year, not years since 1900 */ newDate->year = newDate->tm.tm_year + 1900; /* determine the time zone offset from local to gm time */ pGmTm = gmtime(&secs); tzSecs = mktime(pGmTm) - secs; This is a little inefficient so a portable solution using a variable that holds the offset (_timzone or timezone) would be welcome. Daniel Veillard wrote: > > On Sat, Aug 18, 2001 at 11:55:07AM +0000, Bjorn Reese wrote: > > Daniel Veillard wrote: > > > > > They are both defined as > > > time_t gmt, lmt; > > > > > > Isn't time_t supposed to be a scalar type ? > > > > Yes, it is defined as an arithmetic type, but I think that the problem > > is 'timezone' (which is part of the X/Open standard, but neither ISO C > > nor POSIX). > > > > The OpenBSD man page on localtime() does not mention the 'timezone' > > variable. Instead it has tm_gmtoff in struct tm, which is described as > > "the offset (in seconds) of the time represented from UTC, with positive > > values indicating east of the Prime Meridian." > > > > Ah, the joys of portability :) > > yes > > Well, this function is not critical at all (it's a specific function > for Norman Walsh stylesheets), if we have a reliable way to detect > that the 'timezone' variable is not available, simply don't compile and > register this function, > > Daniel > > -- > Daniel Veillard | Red Hat Network http://redhat.com/products/network/ > veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ > http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ > > _______________________________________________ > xslt mailing list > xslt@gnome.org > http://mail.gnome.org/mailman/listinfo/xslt From veillard@redhat.com Sat Aug 18 11:22:35 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id F1DB72BABD for ; Sat, 18 Aug 2001 11:22:34 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f7IFMY217266 for xslt@gnome.org; Sat, 18 Aug 2001 11:22:34 -0400 Date: Sat, 18 Aug 2001 11:22:34 -0400 From: Daniel Veillard To: xslt@gnome.org Subject: Re: [xslt] Fail build of OpenBSD Message-ID: <20010818112234.X16099@redhat.com> References: <20010818185433.B27923@shellhung.org> <20010818070815.O16099@redhat.com> <3B7E579B.79C628AE@mail1.stofanet.dk> <20010818080456.Q16099@redhat.com> <3B7E82C8.4B3AB74@HiWAAY.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <3B7E82C8.4B3AB74@HiWAAY.net>; from cbozeman@HiWAAY.net on Sat, Aug 18, 2001 at 09:59:20AM -0500 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Sat, Aug 18, 2001 at 09:59:20AM -0500, Charlie Bozeman wrote: > I had the same problem in cygwin; I just changed timezone to _timezone > to get it to compile. [...] > This is a little inefficient so a portable solution using a variable > that holds the offset (_timzone or timezone) would be welcome. Hum, I really don't think that efficiency is important in that part, I don't see this being the critical path for any stylesheet. Portability seems quite more important, send patches, it would be great if others could test it. Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From cbozeman@HiWAAY.net Sat Aug 18 15:47:49 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from mail.hiwaay.net (fly.HiWAAY.net [208.147.154.56]) by mail.gnome.org (Postfix) with ESMTP id A40172C8B1 for ; Sat, 18 Aug 2001 15:47:49 -0400 (EDT) Received: from HiWAAY.net (tnt6-216-180-4-133.dialup.HiWAAY.net [216.180.4.133]) by mail.hiwaay.net (8.11.3/8.11.3) with ESMTP id f7IJlkF01990 for ; Sat, 18 Aug 2001 14:47:47 -0500 (CDT) Message-ID: <3B7EC671.7538FD14@HiWAAY.net> Date: Sat, 18 Aug 2001 14:48:01 -0500 From: Charlie Bozeman X-Mailer: Mozilla 4.7 [en] (X11; I; Linux 2.0.36 i586) X-Accept-Language: en MIME-Version: 1.0 To: xslt@gnome.org Subject: Re: [xslt] Fail build of OpenBSD References: <20010818185433.B27923@shellhung.org> <20010818070815.O16099@redhat.com> <3B7E579B.79C628AE@mail1.stofanet.dk> <20010818080456.Q16099@redhat.com> <3B7E82C8.4B3AB74@HiWAAY.net> <20010818112234.X16099@redhat.com> Content-Type: multipart/mixed; boundary="------------9DCE48CAD856993819DD46EA" Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: This is a multi-part message in MIME format. --------------9DCE48CAD856993819DD46EA Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit This works on linux at least: Daniel Veillard wrote: > > On Sat, Aug 18, 2001 at 09:59:20AM -0500, Charlie Bozeman wrote: > > I had the same problem in cygwin; I just changed timezone to _timezone > > to get it to compile. > [...] > > This is a little inefficient so a portable solution using a variable > > that holds the offset (_timzone or timezone) would be welcome. > > Hum, I really don't think that efficiency is important in that > part, I don't see this being the critical path for any stylesheet. > Portability seems quite more important, send patches, it would be great > if others could test it. > > Daniel > > -- > Daniel Veillard | Red Hat Network http://redhat.com/products/network/ > veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ > http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ > > _______________________________________________ > xslt mailing list > xslt@gnome.org > http://mail.gnome.org/mailman/listinfo/xslt --------------9DCE48CAD856993819DD46EA Content-Type: text/plain; charset=us-ascii; name="extra.pat" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="extra.pat" --- extra.c-sav Wed Aug 15 20:36:08 2001 +++ extra.c Sat Aug 18 14:29:59 2001 @@ -169,6 +169,8 @@ time_t gmt, lmt; struct tm gmt_tm; struct tm *local_tm; + struct tm *gmt_tm_ptr; + time_t tzSecs; if (nargs != 1) { xsltPrintErrorContext(xsltXPathGetTransformContext(ctxt), NULL, NULL); @@ -226,16 +228,18 @@ /* - * FIXME: it's been too long since I did manual memory management. - * (I swore never to do it again.) Does this introduce a memory leak? + * determine the timezone offset (in seconds) by getting the + * difference between the current local time and gm time */ - local_tm = localtime(&gmt); + lmt = time(NULL); + local_tm = localtime(&lmt); + gmt_tm_ptr = gmtime(&lmt); + tzSecs = mktime(gmt_tm_ptr) - lmt; /* - * Calling localtime() has the side-effect of setting timezone. * After we know the timezone, we can adjust for it */ - lmt = gmt - timezone; + lmt = gmt - tzSecs; /* * FIXME: it's been too long since I did manual memory management. --------------9DCE48CAD856993819DD46EA-- From Dave_Guerrieri@jepplg.com Tue Aug 21 22:45:25 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from jepplg.com (blade.jetplan.com [192.246.218.31]) by mail.gnome.org (Postfix) with ESMTP id 177982DBFB for ; Tue, 21 Aug 2001 22:45:25 -0400 (EDT) Received: from JeppLGMail01.jepplg.com ([192.246.218.201] verified) by jepplg.com (CommuniGate Pro SMTP 3.4.4) with SMTP id 741231 for xslt@gnome.org; Tue, 21 Aug 2001 19:49:17 -0700 Received: by JeppLGMail01.jepplg.com(Lotus SMTP MTA v4.6.4 (830.2 3-23-1999)) id 88256AB0.000F086D ; Tue, 21 Aug 2001 19:44:11 -0700 X-Lotus-FromDomain: JEPPESEN From: "Dave Guerrieri" To: xslt@gnome.org Message-ID: <88256AB0.000F0766.00@JeppLGMail01.jepplg.com> Date: Tue, 21 Aug 2001 19:44:08 -0700 Mime-Version: 1.0 Content-type: text/plain; charset=us-ascii Content-Disposition: inline Subject: [xslt] Elements with tags Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Not sure if this is a bug, but it is different behavior than both MSXML and Xalan. When I apply the default template to an element that contains only CDATA, nothing prints out. If I instead use a for-each and a value-of select=".", the CDATA text is printed. In the other implementations, the CDATA text is printed simply by saying apply-templates. Hope this helps, Dave Guerrieri Los Gatos, CA From veillard@redhat.com Thu Aug 23 20:19:17 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id BB9B52DC31 for ; Thu, 23 Aug 2001 20:19:17 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f7O0J7Y15438 for xslt@gnome.org; Thu, 23 Aug 2001 20:19:07 -0400 Date: Thu, 23 Aug 2001 20:19:07 -0400 From: Daniel Veillard To: xslt@gnome.org Message-ID: <20010823201907.U32662@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i Subject: [xslt] Release of libxslt 1.0.3 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: The release announcement is the same as for libxml-2.4.3, the release has the same focus, 1.0.3 requires 2.4.3. Available as usual from ftp://xmlsoft.org/ This release is mostly a way to get the code with XML Catalog support out, it's otherwise mostly bugfixes (not that many were reported after 1.0.3) : - Implement XML Catalog Specification from August 6 http://www.oasis-open.org/committees/entity/spec-2001-08-06.html doc at http://xmlsoft.org/catalog.html - New NaN and Infinity code from Bjorn , this should improve the portability problem of that code a lot - a number of small bugfixes I'm afraid I didn't give advance notice to Igor and I did add new API calls so one may have to expand the exported symbol table on Windows MCS for a sucessful compilation. Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From Mark_Vakoc@jdedwards.com Fri Aug 24 10:30:02 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from ns1.jdedwards.com (unknown [63.136.208.195]) by mail.gnome.org (Postfix) with ESMTP id 4FF972C327 for ; Fri, 24 Aug 2001 10:30:02 -0400 (EDT) Received: from denvscans3.jdedwards.com ([10.0.14.77]) by ns1.jdedwards.com (8.9.1/8.9.1) with SMTP id IAA15267 for ; Fri, 24 Aug 2001 08:30:01 -0600 (MDT) Received: from 10.0.14.51 by denvscans3.jdedwards.com (InterScan E-Mail VirusWall NT); Fri, 24 Aug 2001 08:33:14 -0600 Received: by cormails11.jdedwards.com with Internet Mail Service (5.5.2653.19) id ; Fri, 24 Aug 2001 08:32:07 -0600 Message-ID: <08CFC733EDACD211AEA40008C7A4D39C06BC51AE@cormails2.jdedwards.com> From: "Vakoc, Mark" To: "'xslt@gnome.org'" Subject: RE: [xslt] Release of libxslt 1.0.3 Date: Fri, 24 Aug 2001 08:25:40 -0600 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Does this release have a compliant exsl:node-set() function that removes the container element? Thansk. -----Original Message----- From: Daniel Veillard [mailto:veillard@redhat.com] Sent: Thursday, August 23, 2001 6:19 PM To: xslt@gnome.org Subject: [xslt] Release of libxslt 1.0.3 The release announcement is the same as for libxml-2.4.3, the release has the same focus, 1.0.3 requires 2.4.3. From veillard@redhat.com Fri Aug 24 10:35:14 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id 093C42C3AD for ; Fri, 24 Aug 2001 10:35:14 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f7OEZ4X02490 for xslt@gnome.org; Fri, 24 Aug 2001 10:35:04 -0400 Date: Fri, 24 Aug 2001 10:35:04 -0400 From: Daniel Veillard To: xslt@gnome.org Subject: Re: [xslt] Release of libxslt 1.0.3 Message-ID: <20010824103504.F32662@redhat.com> References: <08CFC733EDACD211AEA40008C7A4D39C06BC51AE@cormails2.jdedwards.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <08CFC733EDACD211AEA40008C7A4D39C06BC51AE@cormails2.jdedwards.com>; from Mark_Vakoc@jdedwards.com on Fri, Aug 24, 2001 at 08:25:40AM -0600 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Fri, Aug 24, 2001 at 08:25:40AM -0600, Vakoc, Mark wrote: > > Does this release have a compliant exsl:node-set() function that removes the > container element? Hum, I don't remember seeing a bug report about this recently. So either it was fixed some time ago or I missed the bug report. I suggest to try and report if there is a bug in bugzilla.gnome.org including an example. thanks, Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From Mark_Vakoc@jdedwards.com Fri Aug 24 10:41:05 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from ns1.jdedwards.com (unknown [63.136.208.195]) by mail.gnome.org (Postfix) with ESMTP id 8C5FA2C466 for ; Fri, 24 Aug 2001 10:41:05 -0400 (EDT) Received: from denvscans3.jdedwards.com ([10.0.14.77]) by ns1.jdedwards.com (8.9.1/8.9.1) with SMTP id IAA17434 for ; Fri, 24 Aug 2001 08:41:04 -0600 (MDT) Received: from 10.0.14.50 by denvscans3.jdedwards.com (InterScan E-Mail VirusWall NT); Fri, 24 Aug 2001 08:44:18 -0600 Received: by cormails5.jdedwards.com with Internet Mail Service (5.5.2653.19) id ; Fri, 24 Aug 2001 08:39:59 -0600 Message-ID: <08CFC733EDACD211AEA40008C7A4D39C06BC51AF@cormails2.jdedwards.com> From: "Vakoc, Mark" To: "'xslt@gnome.org'" Subject: RE: [xslt] Release of libxslt 1.0.3 Date: Fri, 24 Aug 2001 08:36:43 -0600 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: > Hum, I don't remember seeing a bug report about this recently. >So either it was fixed some time ago or I missed the bug report. >I suggest to try and report if there is a bug in bugzilla.gnome.org >including an example. The issue has been discussed before in the mailing list, but essentially if you do Would produce: I believe fake was used as a holder to implement XSLT tree fragments, but when converted to a node-set the node would remain. I will be at work in about 1 hour and will do tests againts the 2.4.3/1.0.3 and report the results. Cheers. From heiko.rupp@WiredMinds.de Fri Aug 24 10:42:02 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from imap.wiredminds.de (x1200.wiredminds.com [212.9.189.70]) by mail.gnome.org (Postfix) with ESMTP id AA2982C466 for ; Fri, 24 Aug 2001 10:42:01 -0400 (EDT) Received: from pcheiko (pc-heiko.wiredminds.de [192.168.111.123]) by imap.wiredminds.de (8.11.4/8.11.4) with SMTP id f7OEYpt32676 for ; Fri, 24 Aug 2001 16:34:51 +0200 Message-ID: <00e501c12caa$ca798ab0$7b6fa8c0@WiredMinds.de> From: "Heiko Rupp" To: References: <08CFC733EDACD211AEA40008C7A4D39C06BC51AE@cormails2.jdedwards.com> Subject: Re: [xslt] Release of libxslt 1.0.3 Date: Fri, 24 Aug 2001 16:40:59 +0200 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.00.2919.6700 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6700 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: >From: "Vakoc, Mark" > Does this release have a compliant exsl:node-set() function that removes the > container element? I think this went away in 1.0.2 already? From heiko.rupp@WiredMinds.de Fri Aug 24 10:47:02 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from imap.wiredminds.de (x1200.wiredminds.com [212.9.189.70]) by mail.gnome.org (Postfix) with ESMTP id E684B2CA96 for ; Fri, 24 Aug 2001 10:47:01 -0400 (EDT) Received: from pcheiko (pc-heiko.wiredminds.de [192.168.111.123]) by imap.wiredminds.de (8.11.4/8.11.4) with SMTP id f7OEdqt00311 for ; Fri, 24 Aug 2001 16:39:52 +0200 Message-ID: <00ed01c12cab$7dba0fa0$7b6fa8c0@WiredMinds.de> From: "Heiko Rupp" To: References: <08CFC733EDACD211AEA40008C7A4D39C06BC51AF@cormails2.jdedwards.com> Subject: Re: [xslt] Release of libxslt 1.0.3 Date: Fri, 24 Aug 2001 16:46:00 +0200 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.00.2919.6700 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6700 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: > Would produce: > With the builtin node-set(), this does not turnout the elements in 1.0.3, as well for exslt one. From Mark_Vakoc@jdedwards.com Fri Aug 24 11:59:25 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from ns1.jdedwards.com (unknown [63.136.208.195]) by mail.gnome.org (Postfix) with ESMTP id 46F382C79C for ; Fri, 24 Aug 2001 11:59:25 -0400 (EDT) Received: from denvscans3.jdedwards.com ([10.0.14.77]) by ns1.jdedwards.com (8.9.1/8.9.1) with SMTP id JAA03209 for ; Fri, 24 Aug 2001 09:59:24 -0600 (MDT) Received: from 10.0.14.51 by denvscans3.jdedwards.com (InterScan E-Mail VirusWall NT); Fri, 24 Aug 2001 10:02:38 -0600 Received: by cormails11.jdedwards.com with Internet Mail Service (5.5.2653.19) id ; Fri, 24 Aug 2001 10:01:30 -0600 Message-ID: <08CFC733EDACD211AEA40008C7A4D39C06BC51B2@cormails2.jdedwards.com> From: "Vakoc, Mark" To: "'xslt@gnome.org'" Subject: container in node-set() function (was RE: [xslt] Release o f libxslt 1.0.3) Date: Fri, 24 Aug 2001 09:55:02 -0600 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Yep, still an issue in 1.0.2. I haven't tried in 1.0.3, but I saw the responsible code was still there in CVS yesterday. I thought this was already reported. Example: I used the libxslt namespace for node-set since this and the exslt implementation use the same code. F:\>xsltproc test.xsl gsstools.xml F:\>type test.xsl xsltEvalVariable uses a node "fake" to contain the tree fragment. I believe the discussion was to move this to a doc ptr. -----Original Message----- From: Daniel Veillard [mailto:veillard@redhat.com] Sent: Friday, August 24, 2001 8:35 AM To: xslt@gnome.org Subject: Re: [xslt] Release of libxslt 1.0.3 Hum, I don't remember seeing a bug report about this recently. So either it was fixed some time ago or I missed the bug report. I suggest to try and report if there is a bug in bugzilla.gnome.org including an example. From nicolas.marsgui@libertysurf.fr Fri Aug 24 13:04:35 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from smtprt15.wanadoo.fr (smtprt13.wanadoo.fr [193.252.19.223]) by mail.gnome.org (Postfix) with ESMTP id A97BA2BE41 for ; Fri, 24 Aug 2001 13:04:34 -0400 (EDT) Received: from antholoma.wanadoo.fr (193.252.19.153) by smtprt15.wanadoo.fr; 24 Aug 2001 19:04:33 +0200 Received: from libertysurf.fr (193.253.22.129) by antholoma.wanadoo.fr; 24 Aug 2001 19:04:19 +0200 Message-ID: <3B868C35.C97B237F@libertysurf.fr> Date: Fri, 24 Aug 2001 19:17:41 +0200 From: ben X-Mailer: Mozilla 4.72 [fr] (X11; U; Linux 2.2.14-5.0 i686) X-Accept-Language: en MIME-Version: 1.0 To: xslt@gnome.org Subject: Re: FAQ (was Re: [xslt] How to use command line variables?) References: <3B799E3A.8134EF03@libertysurf.fr> <20010815000220.A3127@debian> <20010814200951.A1239@inkstain.net> Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Sorry for the late reply but I was in vacations. John Fleck a écrit : > On Wed, Aug 15, 2001 at 12:02:20AM +0200, Thomas Broyer wrote: > > > > Isn't it a FAQ? > > The values are XPath expressions. If you want to set a string value, you > > have to use «--param my-global-param "'the-value'"» for example, or > > «--param my-global-param \"the-value\"» Thanks very much, it works fine! > > Also, be sure to have a top-level in > > your stylesheet (they are commented out in your example) Right. It's strange I have no warning when running xsltproc... > [...] > In the meantime, I also can add a brief mention of this issue on the > "how to use xsltproc" section of the main libxslt web page. If it is a so frequent trap, shouldn't the xsltproc behaviour be changed so that the case is supported? Is there a case where a param value (provided in the command line) should not be enclosed by " "? If not, I think it should be checked that the param value is actually enclosed. If it is possible, maybe the --help section should contain some more explanations for the --param option. What do you think? Anyway, thanks again. BG From veillard@redhat.com Fri Aug 24 14:34:50 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id 602CA2E0EC for ; Fri, 24 Aug 2001 14:34:50 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f7OIYo611264 for xslt@gnome.org; Fri, 24 Aug 2001 14:34:50 -0400 Date: Fri, 24 Aug 2001 14:34:50 -0400 From: Daniel Veillard To: xslt@gnome.org Subject: Re: FAQ (was Re: [xslt] How to use command line variables?) Message-ID: <20010824143450.H32662@redhat.com> References: <3B799E3A.8134EF03@libertysurf.fr> <20010815000220.A3127@debian> <20010814200951.A1239@inkstain.net> <3B868C35.C97B237F@libertysurf.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <3B868C35.C97B237F@libertysurf.fr>; from nicolas.marsgui@libertysurf.fr on Fri, Aug 24, 2001 at 07:17:41PM +0200 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Fri, Aug 24, 2001 at 07:17:41PM +0200, ben wrote: > If it is a so frequent trap, shouldn't the xsltproc behaviour be changed so that > the case is supported? Is there a case where a param value (provided in the > command line) should not be enclosed by " "? If not, I think it should be > checked that the param value is actually enclosed. If it is possible, maybe the > --help section should contain some more explanations for the --param option. > What do you think? Taht the possibility of having a parameter being an more complex XPath expression than just a string is useful and should be preserved. In a nutshell I disagree, Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From veillard@redhat.com Mon Aug 27 11:33:19 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id 5A73B2CA90; Mon, 27 Aug 2001 11:33:19 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f7RFXIn16304; Mon, 27 Aug 2001 11:33:18 -0400 Date: Mon, 27 Aug 2001 11:33:18 -0400 From: Daniel Veillard To: Chris_Poblete@Dell.com Cc: xml@gnome.org, xslt@gnome.org Subject: Re: [xml] [xslt] Windows compilation warning: argument - incompatible typ es Message-ID: <20010827113318.G1321@redhat.com> References: <71714C04806CD51193520090272892172D1822@ausxmrr502.us.dell.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <71714C04806CD51193520090272892172D1822@ausxmrr502.us.dell.com>; from Chris_Poblete@Dell.com on Mon, Aug 27, 2001 at 10:14:05AM -0500 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Mon, Aug 27, 2001 at 10:14:05AM -0500, Chris_Poblete@Dell.com wrote: > PROPOSED RESOLUTION: > ------------------------------------------------------------ > extensions.c:975 > < xsltPrintErrorContext(style, NULL, NULL); > ---------- > > xsltPrintErrorContext(xsltGenericErrorContext, style, NULL); > ------------------------------------------------------------ This is related to libxslt -> use xslt@gnome.org This was already reported there, is fixed in CVS and the correct fix is xsltPrintErrorContext(NULL, style, NULL); The suggested fix would actually very probably crash the library by passing an xsltGenericErrorContext pointer instead of a xsltTransformContextPtr for the first argument of xsltPrintErrorContext(), thanks anyway, Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From tmoog@polhode.com Tue Aug 28 19:06:11 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from smtp-1.enteract.com (smtp-1.enteract.com [207.229.143.33]) by mail.gnome.org (Postfix) with ESMTP id 4FB822C28F for ; Tue, 28 Aug 2001 19:06:11 -0400 (EDT) Received: from shell-3.enteract.com (shell-3.enteract.com [207.229.143.42]) by smtp-1.enteract.com (Postfix) with ESMTP id 5C9C1709E for ; Tue, 28 Aug 2001 18:06:10 -0500 (CDT) Date: Tue, 28 Aug 2001 18:06:09 -0500 (CDT) From: Tom Moog X-Sender: tmoog@shell-3.enteract.com To: xslt@gnome.org In-Reply-To: <20010823201907.U32662@redhat.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Subject: [xslt] Suppress List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Is there a clever way to suppress the when generating html output ? From ignacio@openservices.net Tue Aug 28 19:14:48 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from terbidium.openservices.net (unknown [209.202.108.240]) by mail.gnome.org (Postfix) with ESMTP id DA12B2C4B7 for ; Tue, 28 Aug 2001 19:14:47 -0400 (EDT) Received: (from root@localhost) by terbidium.openservices.net (8.9.3-MySQL-0.2.3b/8.9.3) id TAA11742 for xslt@gnome.org; Tue, 28 Aug 2001 19:14:41 -0400 Received: from terbidium.openservices.net (IDENT:ignacio@terbidium.openservices.net [209.202.108.240]) by terbidium.openservices.net (8.9.3-MySQL-0.2.3b/8.9.3) with ESMTP id TAA11687 for ; Tue, 28 Aug 2001 19:14:40 -0400 Date: Tue, 28 Aug 2001 19:14:40 -0400 (EDT) From: Ignacio Vazquez-Abrams To: Subject: Re: [xslt] Suppress Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-scanner: scanned by Inflex 1.0.7 - (http://pldaniels.com/inflex/) Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Tue, 28 Aug 2001, Tom Moog wrote: > Is there a clever way to suppress the when > generating html output ? FYI, this isn't the place for general XSLT questions; it is the mailing list for libxslt (http://www.xmlsoft.org/XSLT). -- Ignacio Vazquez-Abrams From veillard@redhat.com Tue Aug 28 19:21:45 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id C8C5E2C48C for ; Tue, 28 Aug 2001 19:21:34 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f7SNLYF20824 for xslt@gnome.org; Tue, 28 Aug 2001 19:21:34 -0400 Date: Tue, 28 Aug 2001 19:21:34 -0400 From: Daniel Veillard To: xslt@gnome.org Subject: Re: [xslt] Suppress References: <20010823201907.U32662@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: ; from tmoog@polhode.com on Tue, Aug 28, 2001 at 06:06:09PM -0500 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Tue, Aug 28, 2001 at 06:06:09PM -0500, Tom Moog wrote: > > Is there a clever way to suppress the when > generating html output ? xsltSaveResultTo() call htmlDocContentDumpOutput() from libxml to save the result itself calls htmlDocContentDumpFormatOutput() which does if (cur->intSubset != NULL) { htmlDtdDumpOutput(buf, cur, NULL); } Removing the internal subset from the result document should then work xmlDtdPtr oldDtd; ... oldDtd = res->intSubset; res->intSubset = NULL; xsltSaveResultTo(buf ,res, style) res->intSubset = oldDtd; ... Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From ignacio@openservices.net Tue Aug 28 20:34:59 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from terbidium.openservices.net (unknown [209.202.108.240]) by mail.gnome.org (Postfix) with ESMTP id 34E4A2C0CB for ; Tue, 28 Aug 2001 20:34:59 -0400 (EDT) Received: (from root@localhost) by terbidium.openservices.net (8.9.3-MySQL-0.2.3b/8.9.3) id UAA12268 for xslt@gnome.org; Tue, 28 Aug 2001 20:34:58 -0400 Received: from terbidium.openservices.net (IDENT:ignacio@terbidium.openservices.net [209.202.108.240]) by terbidium.openservices.net (8.9.3-MySQL-0.2.3b/8.9.3) with ESMTP id UAA12213 for ; Tue, 28 Aug 2001 20:34:57 -0400 Date: Tue, 28 Aug 2001 20:34:57 -0400 (EDT) From: Ignacio Vazquez-Abrams To: Subject: Re: [xslt] Suppress Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-scanner: scanned by Inflex 1.0.7 - (http://pldaniels.com/inflex/) Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Tue, 28 Aug 2001, Ignacio Vazquez-Abrams wrote: > On Tue, 28 Aug 2001, Tom Moog wrote: > > > Is there a clever way to suppress the when > > generating html output ? > > > > FYI, this isn't the place for general XSLT questions; it is the mailing list > for libxslt (http://www.xmlsoft.org/XSLT). Never mind. My apologies to all involved for my rudeness. -- Ignacio Vazquez-Abrams From spa3@sporty.org Thu Aug 30 15:54:19 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from garden.hq.sporty.org (p64-243.acedsl.com [66.114.64.243]) by mail.gnome.org (Postfix) with ESMTP id 8CA6C2BAF5 for ; Thu, 30 Aug 2001 15:54:18 -0400 (EDT) Received: (from sporty@localhost) by garden.hq.sporty.org (8.11.1/8.11.1) id f7UJsIa00626; Thu, 30 Aug 2001 15:54:18 -0400 (EDT) (envelope-from spa3@sporty.org) X-Authentication-Warning: garden.hq.sporty.org: sporty set sender to spa3@sporty.org using -f Date: Thu, 30 Aug 2001 15:54:17 -0400 From: spa3@sporty.org To: xslt@gnome.org Cc: spa3@sporty.org Message-ID: <20010830155417.L302@garden.hq.sporty.org> References: <20010830194701.D6D552BAF5@mail.gnome.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <20010830194701.D6D552BAF5@mail.gnome.org>; from xslt-request@gnome.org on Thu, Aug 30, 2001 at 03:47:01PM -0400 Subject: [xslt] entity processing from an extrenal dtd Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: maybe i'm doing something wrong, but in my dtd, i have a line like this, the first line at that... in my xsl file, i refer to it.. .... ()"/>&tab; xsltproc --debug product.xsl product.xml | more product.xsl:28: error: Entity 'tab' not defined &tab; Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id 42B612BAF5 for ; Thu, 30 Aug 2001 15:59:41 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f7UJxfi17733; Thu, 30 Aug 2001 15:59:41 -0400 Date: Thu, 30 Aug 2001 15:59:41 -0400 From: Daniel Veillard To: xslt@gnome.org Cc: spa3@sporty.org Subject: Re: [xslt] entity processing from an extrenal dtd Message-ID: <20010830155941.Q1321@redhat.com> References: <20010830194701.D6D552BAF5@mail.gnome.org> <20010830155417.L302@garden.hq.sporty.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <20010830155417.L302@garden.hq.sporty.org>; from spa3@sporty.org on Thu, Aug 30, 2001 at 03:54:17PM -0400 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Thu, Aug 30, 2001 at 03:54:17PM -0400, spa3@sporty.org wrote: > maybe i'm doing something wrong, but in my dtd, i have a line like this, the first line at that... > > > > in my xsl file, i refer to it.. > > .... ()"/>&tab; Delivered-To: xslt@gnome.org Received: from garden.hq.sporty.org (p64-243.acedsl.com [66.114.64.243]) by mail.gnome.org (Postfix) with ESMTP id C138E2BA8E for ; Thu, 30 Aug 2001 16:06:04 -0400 (EDT) Received: (from sporty@localhost) by garden.hq.sporty.org (8.11.1/8.11.1) id f7UK5vB00663; Thu, 30 Aug 2001 16:05:57 -0400 (EDT) (envelope-from spa3@sporty.org) X-Authentication-Warning: garden.hq.sporty.org: sporty set sender to spa3@sporty.org using -f Date: Thu, 30 Aug 2001 16:05:57 -0400 From: sporty To: Daniel Veillard Cc: xslt@gnome.org Subject: Re: [xslt] entity processing from an extrenal dtd Message-ID: <20010830160557.M302@garden.hq.sporty.org> References: <20010830194701.D6D552BAF5@mail.gnome.org> <20010830155417.L302@garden.hq.sporty.org> <20010830155941.Q1321@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <20010830155941.Q1321@redhat.com>; from veillard@redhat.com on Thu, Aug 30, 2001 at 03:59:41PM -0400 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Thu, Aug 30, 2001 at 03:59:41PM -0400, Daniel Veillard wrote: > On Thu, Aug 30, 2001 at 03:54:17PM -0400, spa3@sporty.org wrote: > > maybe i'm doing something wrong, but in my dtd, i have a line like this, the first line at that... > > > > > > > > in my xsl file, i refer to it.. > > > > .... ()"/>&tab; > Your XSL stylesheet don't include your document DTD (and should not > in any case). That entity definition is not available to the stylesheet. no way of moving it into the dtd or even the xsl files? it'd be annoying to put it int he xml files themselves.... From veillard@redhat.com Thu Aug 30 16:27:28 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id E16292BAE1 for ; Thu, 30 Aug 2001 16:27:27 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f7UKRS221183 for xslt@gnome.org; Thu, 30 Aug 2001 16:27:28 -0400 Date: Thu, 30 Aug 2001 16:27:27 -0400 From: Daniel Veillard To: xslt@gnome.org Subject: Re: [xslt] entity processing from an extrenal dtd Message-ID: <20010830162727.R1321@redhat.com> References: <20010830194701.D6D552BAF5@mail.gnome.org> <20010830155417.L302@garden.hq.sporty.org> <20010830155941.Q1321@redhat.com> <20010830160557.M302@garden.hq.sporty.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <20010830160557.M302@garden.hq.sporty.org>; from spa3@sporty.org on Thu, Aug 30, 2001 at 04:05:57PM -0400 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Thu, Aug 30, 2001 at 04:05:57PM -0400, sporty wrote: > > Your XSL stylesheet don't include your document DTD (and should not > > in any case). That entity definition is not available to the stylesheet. > > no way of moving it into the dtd or even the xsl files? it'd be annoying to put it int he xml files themselves.... An XSLT stylesheet is an XML file. You can define entities in them. Put them in the internal subset (if you don't understand I suggest you read some documentation about XML and DTDs). Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From sporty@sporty.org Thu Aug 30 16:40:06 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from garden.hq.sporty.org (p64-243.acedsl.com [66.114.64.243]) by mail.gnome.org (Postfix) with ESMTP id AB3DB2BAE1 for ; Thu, 30 Aug 2001 16:40:05 -0400 (EDT) Received: (from sporty@localhost) by garden.hq.sporty.org (8.11.1/8.11.1) id f7UKe4r00690 for xslt@gnome.org; Thu, 30 Aug 2001 16:40:04 -0400 (EDT) (envelope-from sporty@sporty.org) X-Authentication-Warning: garden.hq.sporty.org: sporty set sender to sporty@sporty.org using -f Date: Thu, 30 Aug 2001 16:40:04 -0400 From: sporty To: xslt@gnome.org Subject: Re: [xslt] entity processing from an extrenal dtd Message-ID: <20010830164004.N302@garden.hq.sporty.org> References: <20010830194701.D6D552BAF5@mail.gnome.org> <20010830155417.L302@garden.hq.sporty.org> <20010830155941.Q1321@redhat.com> <20010830160557.M302@garden.hq.sporty.org> <20010830162727.R1321@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <20010830162727.R1321@redhat.com>; from veillard@redhat.com on Thu, Aug 30, 2001 at 04:27:27PM -0400 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Thu, Aug 30, 2001 at 04:27:27PM -0400, Daniel Veillard wrote: > On Thu, Aug 30, 2001 at 04:05:57PM -0400, sporty wrote: > > > Your XSL stylesheet don't include your document DTD (and should not > > > in any case). That entity definition is not available to the stylesheet. > > > > no way of moving it into the dtd or even the xsl files? it'd be annoying to put it int he xml files themselves.... > > An XSLT stylesheet is an XML file. You can define entities in them. > Put them in the internal subset (if you don't understand I suggest you > read some documentation about XML and DTDs). gotcha. i thought you defined the entity in the dtd. From spa3@sporty.org Thu Aug 30 17:24:17 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from garden.hq.sporty.org (p64-243.acedsl.com [66.114.64.243]) by mail.gnome.org (Postfix) with ESMTP id 5C0C72BBC1 for ; Thu, 30 Aug 2001 17:24:16 -0400 (EDT) Received: (from sporty@localhost) by garden.hq.sporty.org (8.11.1/8.11.1) id f7ULOF900743 for xslt@gnome.org; Thu, 30 Aug 2001 17:24:15 -0400 (EDT) (envelope-from spa3@sporty.org) X-Authentication-Warning: garden.hq.sporty.org: sporty set sender to spa3@sporty.org using -f Date: Thu, 30 Aug 2001 17:24:15 -0400 From: sporty To: xslt@gnome.org Subject: Re: [xslt] entity processing from an extrenal dtd Message-ID: <20010830172415.A693@garden.hq.sporty.org> References: <20010830194701.D6D552BAF5@mail.gnome.org> <20010830155417.L302@garden.hq.sporty.org> <20010830155941.Q1321@redhat.com> <20010830160557.M302@garden.hq.sporty.org> <20010830162727.R1321@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <20010830162727.R1321@redhat.com>; from veillard@redhat.com on Thu, Aug 30, 2001 at 04:27:27PM -0400 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Thu, Aug 30, 2001 at 04:27:27PM -0400, Daniel Veillard wrote: > On Thu, Aug 30, 2001 at 04:05:57PM -0400, sporty wrote: > > > Your XSL stylesheet don't include your document DTD (and should not > > > in any case). That entity definition is not available to the stylesheet. > > > > no way of moving it into the dtd or even the xsl files? it'd be annoying to put it int he xml files themselves.... > > An XSLT stylesheet is an XML file. You can define entities in them. > Put them in the internal subset (if you don't understand I suggest you > read some documentation about XML and DTDs). Well, my XML file that contains all the data is seperate from my XSLT stylesheet. my DTD is also in a seperate file. Problem is that even though the ENTITY's are defined in my DTD, when i run it through xslproc, it swears the ENTITY's aren't defined and thus doesn't process them.. It finds all the ELEMENT's and ATTLIST's fine. the command i'm using is xsltproc product.xsl documentation.xml documentation.xml points to my external dtd which contains the ENTITY. Its not respecting it for some odd reason. > > Daniel > > -- > Daniel Veillard | Red Hat Network http://redhat.com/products/network/ > veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ > http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ > > _______________________________________________ > xslt mailing list > xslt@gnome.org > http://mail.gnome.org/mailman/listinfo/xslt -- -- It's an awful truth that suffering can deepen us, give a greater luster to our colours, a richer resonance to our words. That is, if it doesn't destroy us, if it doesn't burn away the optimism and the spirit, the capacity for visions, and the respect for simple yet indispensable things. - Anne Rice, "Queen of the Damned" From tmoog@polhode.com Thu Aug 30 21:08:44 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from smtp-2.enteract.com (smtp-2.enteract.com [207.229.143.4]) by mail.gnome.org (Postfix) with ESMTP id EE0AA2CBA3 for ; Thu, 30 Aug 2001 21:08:43 -0400 (EDT) Received: from shell-1.enteract.com (shell-1.enteract.com [207.229.143.40]) by smtp-2.enteract.com (Postfix) with ESMTP id 1B33E6325 for ; Thu, 30 Aug 2001 20:08:43 -0500 (CDT) Date: Thu, 30 Aug 2001 20:08:42 -0500 (CDT) From: Tom Moog X-Sender: tmoog@shell-1.enteract.com To: xslt@gnome.org In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Subject: [xslt] win32 trianon.c defines "const" as empty string Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Compiler MSVC 6 SP5 I'm not sure why, but trianon.c thinks that __STDC__ is undefined. As a result, it redefines "const" and "volatile" as empty strings. Aside from the fact that this is truly barbaric programming, it wouldn't cause problems, except that trianon.c is #included in xpath.c. The result is that all the const disappear in xpath.c. This problem does not appear with gcc 2.95. trianon.c:82 From bz@mgate.telekabel.at Thu Aug 30 21:11:51 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from viefep13-int.chello.at (viefep13-int.chello.at [213.46.255.15]) by mail.gnome.org (Postfix) with ESMTP id 7D96B2BAD8 for ; Thu, 30 Aug 2001 21:11:50 -0400 (EDT) Received: from [212.186.108.243] by viefep13-int.chello.at (InterMail vM.5.01.03.06 201-253-122-118-106-20010523) with ESMTP id <20010831011149.COWY15028.viefep13-int.chello.at@[212.186.108.243]> for ; Fri, 31 Aug 2001 03:11:49 +0200 Received: from bz by linuxdaheim.195.34.133.10 with local (Exim 3.31 #1 (Debian)) id 15ccry-0000XN-00 for ; Fri, 31 Aug 2001 03:13:14 +0200 Content-Type: text/plain; charset="iso-8859-1" From: Bernhard Zwischenbrugger Organization: =?iso8859-1?q?Datenk=FCche?= To: xslt@gnome.org Date: Fri, 31 Aug 2001 03:13:14 +0200 X-Mailer: KMail [version 1.2] MIME-Version: 1.0 Message-Id: <01083103131403.01569@linuxdaheim> Content-Transfer-Encoding: 8bit Subject: [xslt] XML-Schema Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: bz@datenkueche.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Is somebody working on XML-Schema validation? I'm just curious. Bernhard Zwischenbrugger From veillard@redhat.com Thu Aug 30 22:04:42 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from devserv.devel.redhat.com (nat-pool-meridian.redhat.com [199.183.24.200]) by mail.gnome.org (Postfix) with ESMTP id 1067C2BAD9 for ; Thu, 30 Aug 2001 22:04:42 -0400 (EDT) Received: (from veillard@localhost) by devserv.devel.redhat.com (8.11.0/8.11.0) id f7V24gM25819 for xslt@gnome.org; Thu, 30 Aug 2001 22:04:42 -0400 Date: Thu, 30 Aug 2001 22:04:42 -0400 From: Daniel Veillard To: xslt@gnome.org Subject: Re: [xslt] XML-Schema Message-ID: <20010830220442.V1321@redhat.com> References: <01083103131403.01569@linuxdaheim> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <01083103131403.01569@linuxdaheim>; from bz@datenkueche.com on Fri, Aug 31, 2001 at 03:13:14AM +0200 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org X-Reply-To: veillard@redhat.com List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Fri, Aug 31, 2001 at 03:13:14AM +0200, Bernhard Zwischenbrugger wrote: > Is somebody working on XML-Schema validation? > I'm just curious. I was hoping to do it, but I really lack time right now, maybe later, it's not a piece of cake too ... Daniel -- Daniel Veillard | Red Hat Network http://redhat.com/products/network/ veillard@redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/ From z1462441@cit-student.gu.edu.au Thu Aug 30 22:44:33 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from gucis.cit-student.gu.edu.au (gucis.cit-student.gu.edu.au [132.234.34.1]) by mail.gnome.org (Postfix) with ESMTP id ED3292BA92 for ; Thu, 30 Aug 2001 22:44:27 -0400 (EDT) Received: from localhost (z1462441@localhost) by gucis.cit-student.gu.edu.au (8.11.0/8.11.0) with SMTP id f7V2iOU26615 for ; Fri, 31 Aug 2001 12:44:25 +1000 (EST) Date: Fri, 31 Aug 2001 12:44:24 +1000 (EST) From: Keith Isdale To: xslt@gnome.org Message-ID: MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="-559023410-851401618-999220190=:14154" Content-ID: Subject: [xslt] Patch for libxsl-1.0.3 to include xsldebugger(ver 0.2) Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. ---559023410-851401618-999220190=:14154 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII Content-ID: Hi all, It was suggested that I send this patch out for general review. Please be aware that the patch should only be applied to a fresh copy of libxslt-1.0.3, is alpha software and expects that the requirements for libxsl-1.0.3 have been met. The libxst library must be installed before running the xsldebugger. I'd appreciate e-mails if you can help with the problems listed below or have comments about the functions that have been implemented. bye, Keith Isdale e-mail: z1462441@cit-student.gu.edu.au post : 30 Pointer court, Shailer Park, Australia : zip code 4128 ph: +617 3801 4797 ---------- Forwarded message ---------- Date: Fri, 31 Aug 2001 11:09:50 +1000 (EST) From: Keith Isdale To: Daniel Veillard Subject: Patch for libxsl-1.0.3 to include xsldebugger(ver 0.2) Hi Daniel, As I suggested I have been working on a debugger shell for xsl.The work is at the alpha stage with some important features not added yet. At this stage I don't plan to work on it futher until the Christmas holiday break. But I will respond to emails about it. Bellow is the command lines used to create the diff cd ~/ diff -P -C 2 -r -p libxslt-1.0.3/ lang/c/libxslt-1.0.3/ > libxslt-1.0.3.diff gzip libxslt-1.0.3.diff I tried to patch a clean copy of xsl ver 1.0.3 but when patching many chunks failed. I don't know whether this is because I've used the wrong arguments to diff, patch or that there were conflicts that patch couldn't solve automatically. Any suggestions? ---------------------- Before running set environment variable "XSL_DEBUG_DIR" to point to where you've installed /docs/xsldebugger I suggested that to start with try running xsldebugger on the xsldocs eg $> xsldebugger --shell --param help "'help'"xsldebugger/xsldoc.xsl /xsldebugger/xsldoc.xml This will result in a shell starting at '/' template and prompt of template :"/" xsl:template> At the shell prompt type "help" to confirm setup and its operation eg xsl:template>help To continue execution of stylesheet type "cont" and you should get the result of applying stylesheet with param help 'help' on xml data There have been several command line arguments added to in addition to what was in xsltproc.c. Use the normal methods to get more help about those arguments. Please let about your experience with the xsldebugger :-) ---------------------------------------------------- There are some changes I like you add please. :-) I forgot to add copywrite and author notices to all of the new the files. Some extra additions to "todo" in my addition to the /Changelog in the "readline" function xsldebugger.c if a blank line was enter use the last saved command line in xslShell in debugXSL.c keep track of whether the source or data has been selected and select that "document" on startup of xslShell. At the moment it defaults to always selecting the stylesheet source. in help_top function in help.c change to use a docs path selected by configure instead of a environment variable in usage function in xsldebugger.c not all acceptable command line arguments have been documented in particular the "--root" option specifies the root to start debugging at. it would be better if there was no need for libxsl_shell.la but I could find no simple solution without it. ------------- The code does need some work. I realize that I've used inconsistant naming conventions for variables and functions. And there should be more documentation in code. I have stated in the source files my home email address k_isdale@tpg.com.au which is checked infrequently. So please use this e-mail address to contact me. Any how it works to the extent that you can do simple debugging techniques on stylesheets. And proves my approach to debugging is possible and reasonable. bye, Keith ---559023410-851401618-999220190=:14154 Content-Type: APPLICATION/OCTET-STREAM; NAME="libxslt-1.0.3.diff.gz" Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: xsldebugger patch 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 VxCilRRttbWVkNxUq9VOfvUzv0POz3gL53ZM5yd6wx7oxyOyiT3dtuuzfZYw Jt6UE/zRFsgzpz89WTSU5+RqjovpmLxoCKJU3jgycnMF05k0Xfha+UvkK6Yb 8BB9Tqw8GLIyK4Mc6WIva7zqiovzJab8hmpRLQp8AHw5b2tvC1j5Vwe0u8Er 6Fwoc7YRf/NWf2Hi7fE365tauvTNaCPbLxgFsncwskIZrLigdApSAeUgXFwD vqdhMNQ1keH5WruYkmvts6z5yWQqSqHr/saEz72boXURS3zyUSpxNpncycUO gS0BogkFtSJeETlMN26YVjdz0RxAU+LAcTOderHyLem9kKjRdGKl+KnfCaAM enm+zKryoOLPEd3ANIevU7Pv9yoHT7f3Ko/3Snjv4kXrSvy6CsxfQYi/LIPf PKDek17UENc62uq6A3PU78LQ295sE2fT7l38Cn90BniDhtE8eY1vSg/Sn2mp tNr268t2p2d9/CsA2qsIhS/na7dT59/9zzLT1/53D9huzao9tjBy75cTcoXV L17tWPBvf2/xG//72wfZO//72ccSvpgF+F7MWf2VDav4druTh9Wf/y9739qQ RpI1/Dn+ihqCixoBwUsSM8yOUZNx12heNTvZJ2SwhQbZAM3QEHWS7G9/z6Wu 3dWAiXPbSZ59xqYup26nTp06dS74VGYnqQBKiWQVRmnm5DlssneQdgnPBNrZ n+E5IVXdTOI6LMKUSXTcJjxaM14TiJFjeRiK+SnSlYibcJMaM19GjfHLwCiM J70xaRxpoTUB4S2IqjyRjN0l0Tgmhacb0oICpGUjcvgaX4XhIAGEG43p1cHI xAFoXBLigKJl4TZifwLYEL0YyJbkTjpo40uEfGCIdYdR0agVYXinK9jfuCHf heFwldKZ7+xHwA7AZiM1p+6YoBHEpzfArLYDALNq9Qo6ERtdX8aHgCeJf+CM sp5VE+OK4RNHl4JRIfMbhbGkCPjUEvRIUg2D/LfUF+sQe+PO8CU+DxDsIsKu 4RVORMOx9AMxIeKBCByO0IOC6cUT6ZEhJjhXtKR6HNQV0sXCaQPSFFuZakG6 /MTjKr2t6rWlRTVD54V43n2PY3a6bCSTQF6J/FENKLfKYnryboLVjPY8T6Gj tB0NejdiGNwApozRW4ScAXfucapxdWkqu/QYRaC0FYk1d6MQMddtE7mdZqP5 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 PLBBnJuvwiqkyqn4bonyqGzkKcysLfdmV12CmX9OyOq0RE5aFjiq6AtG/5zK kKmr0fxHuSYr9ZMufyzldKjkFTcmKBms5V7hn+1UPIM3WhX9LX5LKyL6vgx7 w7co16Yt3Gww0wy/W8hBCuUFT+fkmBmAmVbK7R8tRXfzbT71l/qQf/nPMgFT /gWV7DL/QYVuQFfnRYmWn/4Yaw0FgdWVGE7f0mQSZkeNBs0j/6yDEE+e8ApL PKGFSn+bT/2lPuRf/uOucBI1jZteqdeB2crODYh+Zd3MKaD+mu4cIi41YH/I v/zHbThvbZTckwQ09N6YWaqiSqFfR9oZyk8iFEajj0FD+dKy06T3h1rOp3Ar H6LGo2AoCmQrOLKDuSzo2AJlTxL+R2sHuclkQ+rmhR4wnBYmAKlYTXZhKxKw TtbmkXZBTmhFTU/qyf5uxZta9aamExlLeukMCuJKJpHpPAzvGA+DZujL41DT 3gFMUNLmyYINhbL0dEZ/AgzSsBemc9Cq9UUweudt5yKKPBmp5bKTUWgTDbJy 1XuZp+9cAO8iWXn4rmLntVJ4YAUwS5g4a10ufc1fUXungDHHRWVzQZqxvhxF Y5RoBZ2APNhdhEjvpYdtjlCGFxd8owjYPdrkIiZHsw7dwJ1Grv/j8uL35e+/ Lz8Rcfn7RfW12MmXv+/AJ/w3X47Lb+r1vy2+LcN/yx3ayzGWXJTVvsea9AWF FzvlgvjOyCuwffHtt/Xd/eNnULP8E+kRkotC+qq9+Wn77Uq+3OIRxosymO+i pPeLHU6VERkXWXCiU1VEzkWd8vp1IuVZ4vfe/jOEs0cPqio6iMpU0TV1aYqE p3/ZYX8X8x/465PKVRnmqDA53uCpi/HqNfyfKiVDBANgq51POBGqRJxRJLbK WAGFk8VkliqpIgybkZRJ/KFbM4GGrSLhWANIRBq2CsFO0/1xYg1bZd4HI6vP Gf1VJaygwhYImaoKObGG5TokiqhIxg6QdqSyZUxjKxdSLFzwhOdcrKTyndCa i2vpfDtY5+J6Mt9AxrtKRi5H2FysbK9vpxpIhNRcrKytrdlwfLFhnW76grou eiC4A6mkChjgpfVSZrYcyvo2DCazjBrL+pqGkwyJDKsmkz4li8igxqaEqpQq SQGSLUii2BdbGxuqmAoWuihpuEr3r5mKG70o39B1ugocvah4NjuHQiEsqpdx O0eGjl40z+AqV0dBXVQv3ipHB1dYNGU9EbsW72dlP9s5PE3WtorrOMWL+SXe NMt4PGuCvPv9Yqdpfr58Sb9FcV8lUVjmxe7Wo63isMmyaYzbZ2fLmM4zCjWH Ey7ipAIz2YpgSw+bTnIU4xomwNDD3pRm2GBiVme4VKo3nJzuDqd7+0MRcBfp wUwlyRC2i3p9ZWRpvT4Ue3oR+XGVImPXLvIzksYLCl+7SJJ3a9dRaOTFRLRQ E5VLCsz1dsBAuYsolFIpFL8WkyVapdMlPt13cqyIt4aOJALmupTUF1x5kcRc qpQVKdc6k4mxAGa0KvmxBEw+8IuHyfteD6vAn18E5HEK3Dt6Sv4FnwO8AIYx fElZWAKyZmEO0hfPspTZ+fL0cKyovdDB/Ac+NT85+VbcX2go/8Gch58MwuiQ 43czTiyS7CTC7lGI4LttAv4nWUnih0+HPXYZwIxudzzh5zN6gLrojsNiTOoi w27YRCdmKGAHjoXi+BCAuI83SvWaK9UZyaVLvAp/34XIXO91O124eYrj02fl Cpk//PCy+Oq1vK/2g+sGACUjv9rjNQD6Irju9id9SzsSx0V2EijUAm5cMufk tkGCIeu3CtQ+0rWU7E/52IZSF2GHCj3rjliWF9KgPCWBztTyie5BxUOsEgBz DsMMZoDoR6OwQV2vbXOKHmcOr+CkMyfyTsknSvSlXMzmudei2CEnqmP2Q47/ cApylVWytIQSn1pPBH1Dzz/9nEvcIew7RV5OF8FBV7U2wM8AQbEiTY+/Qf2E dFGn7+7stAPTCePAbnpntZfiX1huoqY257Qj3Fkn2y0fdC3mMQ0kqtptSN/Z UyHJSREaN8/Da3SYLH+KB6JybkogXuZ54k0ioqCpBb+gUhIlz80KSMnQPBNj j6xJb2EEYeFBIv7jB/tnMfdVQPRVQPQnFBDlUFVXvjAoh+ilksjbyE3evbVb 72u9m8U3NXFdKll7B05N1nYQuWgyxkJvtuHCYP0tlUpv3+ZWlTsl0pWgjJqq UeoOcqUF94WDm5PvGyvbK8uqu43uQHvvV+U48mS8SOKf7cXFgqIlDsHx19ku rWAFS/psNcT0H399wk4mhM9yAnZa/5mgPyfUeQvG6HiIRdCrwsT3XaWDXkWO N07VlVulkgF3wk6p6DyN4b+XVBUZC3LoJJ/h0FmVEEcRO5aTzrBYaR/A4m4q KdqG0nAZdkoORo29/Oan8lv8/5W8njTjzJ2r0ppbS6ICKDn5JeeYwcdE5Y4p lgyKGe1NSRZTx2PLgkXBftCrpk4yBwD8arAuXS1XNgOCZDWen+qlMg4kpzuy I3KlUjnHKnlB89J64UR39g7UktVUNI5rThOyjDNzK4sAe7EjJ846LN3OaoDm cEogu/1woZG+tCyE9ZYhvOc8wlXBvAy2WRXI976VYw0Kqurh0PpjgE6F4mXY CLJKqovulGDzBr5nPGZnIXLLLYKqXaqXdlXs1Yz2FPokGvXV9O7Y5LzLXakn /k05/xY6q9+MPCXNkJxSbheSpe0+0CpoF3Fme1EmM32JRP1OCXQJ+P5abqqV trvfoYpa6dIK7RBXcyA3lfiqg4VJI5xqsJlruUq3XqdLTz7Rs5xLSmV53ySY 3kG1uObvcxH6BDt7Mbm05cWczNteFOnMTo53pQKR113hq2Wi098vJoehxdIj Kf3mD5VssA+yzI+EABDy5Bdl5OzR4ZjRwWz4Hi6DLm+6jJHeDaffliG24DN5 H1hRd1eguHFIo5XXTw5Piw5Y2PI+Zi2O3I442nmxL57yn13xr53DV/tiDw7o K4xqRcAoqyv9Gg6Hoh80R5F8HmJjvBYdSlxXFqQAreTtMJZFaUWMS0XcIGwy ZBUfiJyy76NWCWSOr7jy4tjaqRFtX2KvEcv35RdXM+4klguy/NNagYvI9Dc/ 4d/FeuV+varK7EKZdfVjr1YAMq46ORHjyQiu/TlpLIf9ytElH9+Iuz1S2u8F g3dSMuAbgOz6JKPr9WUC7fRSdmaie19f5i4zdN3bCXRdqG/oeX3D6nuY2XcM NHzb7oe3734I3c97+x1a/Q71jFtXtJy+YEmPDA8AWT4RfwEfFofhlqrl1K0o p25u2dytrPOVv52bv3VPKosqWUeVpkftUdAxv+RDMX1HZL/w29B8uMOnCO13 drcMJzC2M6j3334rRYI0Na2dT/KRhn8+dX/uftLWzJyw90nVnLg1J27NSbLm xNQM3ZqhWzNM1gxNTeitFF6r3jo/oSabTnv6ahecuPUmbj23p3bB0K0XuvXc ftqeV1Rn02m7nyqevqbKTTx1J6qu299UudBTN1R13T7bzi9Un9Np/j6nyk08 dTP6nCoXeuom+iyRWKREc6kt+l16kyZ2taRS/fdOyc/eUEk3B85UptKnTGey 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 SoaanQ13bqSB6xjXb7R7wZ0ZZPpg1wrFUWHGIrg1NFwbirekJgQD4j8tCEAR 7No54WTPWL+np3tkfg7MHJKMQX++9Xqc9BCahjP/pkYievTiV3FkdPTC9fk3 22mRc2AcvagRDBv+r8kIsWfUZjNG0YdQvuFI1/OWPNK4P2wM+jXNx6DS3jiK ekpfadBPM1N5rmRzUDLJ8E0iwTf52SEAoqymAws1BGKkzcfstFqIQFjlHC9G lZ8LyKu8B1Ibw+0FJZ7oPXVM13kgBT+8LL56vSqvwnFwE29bwAQ0uy3ktUIR j9zTnFSyallFz0aTrQ0g39BP7Fkv6JKZJPTQkGv0z4Be7NhniEV6bC5qSc1Z 8WniHqhEPjAked6uLVtHgC788UC2QHpXgBKyJRTiIaPl4bOSCKq7gHh1L8lo Ob0c3qaXVkDbW/Ri6O0Fs3tunfwHP4zcJ1iidyH0wNwl+8G4eUmH8YLlABFV 1yLN5aIIfMwK5+0usD3AH3JePBli7NgYUZFwMF74PKbS3ntO32kLuqOhHeac yTREt1rqkEBQM+TFSuzXG6Ba7ty+saprXvflNpTbuTc4PGqc3hXRdvVFWsE4 4H5w7147OVnqxV4YjkEY9riWI5hZNmNUpDdwlo6r5ROlbKY/nYmvgtxQ1kXA dmE9t+fEqd4AwmbUGXSBZrbCYThooe/rXvdiFIy687Fh1bXNLY9TgKlg5z7l oTLUihsEvtEH5IvujIfnFpCANvpBpwtl+q1aIf9i5/nBbmP3xR7yZKky5G8C f9d0rq+PtYI8URDIfXEUArmkw24sL/5hM6RD7D1MCF274NTB52k4Vcao9xo7 NIiAkBo1z+GNnNVw0OyyKvV9UYAbfFiAi4iTx34GGIqKZX6u+oaFyVtpQOYf 8trSipr0fB5rEglUuQc3FqByhbHAqrLFYRDHDcgiQNh7p2XMtTSEaXpUX2ka pRYb1WZf6xc3qOBMhztihKU/fF+8KZhlEG9GYSe8flt469TtRZFmLYndRxZJ zRgSTwLEfMAojIfRoBUL6U0h7yKCusvT+4c82ahN7sxBm15IL4HKi/M2DQLa RM1nwGdUPYDlhAIj9biGLhrgd0F6FMMHdtkXpqfnZirJfcNK0LsCRmWFSOwq taXdvLF7evQuIV3RLjywngwaUczC9KB7vYGCcvi7KWWxU/BVtb+gFQjgfxdh FH9u1bjV3Zhd117T/cNn4s1a8fFb+s9K8QL4ijcvDt+ePhVLShWPuJyPrZtB 0IcaAG+5MGUvEyuMz4HEJRUPM8qaPV2OL9E0Gf6/WYojZ0CsTosTyg8x8DG8 0q5k5xwi9QO3N+yrYdhdKXbXH20tlVZQDN4dw9BILIOJy3+fNrD88dN/7L16 8RKOroLTy1Ywkr0cXQbDOGrd3K6DL4BkFo+FnGDa9SR9aQm5AnI33X7WbY2I KNbOeXU3ocvc+UpprVJVbwdT1ooPi/IpbbDyIfer/AzoRUh8icwptVVK+V8s oYnLKzIP2kSrG1GsqKcU8xZ9X+xRd0SltA4bbXZ/eNwSfWTbrRv4Lriw9QOY WjO0HYTtIhcKz0QcWKMB+6HRgC7Su9q+KKqHJJXjk6YKYT8f4uu2eVnrrjza Erbn4yNJiRwXdHA0xUDAQ3wKOwZqjswvirRIWBwA8sdj7VJGqNsxXIqkOOsi 4lc0ANWHW9W422NSBf9r9kJCocnQ1J4TLZeewRxBTz7KHi2Xu2/WgUjAgJbo kghXn+W/t8I+0tlh0MnAV+8KIs46KJtdNIV81oojwSitmCe5tANdyzvQvNRU Xi8UpnQGk88kx5fDyXVlrVRdW/lIn5XbkYWl2BBm+s/HlzvFk4PTXfpRov8u z08i0tM9jSa7k+yOqzvC0w12Bn5srdgqKM5hKGRJ8yZJWKncsUuZDnAufO6r OWSGqBfisyffLbvSzREQBmxm9nrmEifcepUOthdwqlnHmHhx8PIUtrgSIlfU 01HyMZXHdrhnOTcvrlc/ruTgvyK3jLCorRq3o7FwpTjgYoNEuaP1qlVoawPL bG04RbY2XFBWFnnkL9I1O43wv+c05z+oPn6iue53h3HxTaW6vvH2NvOuxzKb FgA0ahTt5z4piiAJwm23a8J72GF3MLnGYSHh7OGPoiEFfnIf9IaXAW6My+GQ /hL1B54F7YeHTUyJh8B2UFawRZxivP54bUUsz55s1WfPU38HBw4kHtnqaqlS qhhD/2E4QtaH30JQ2Nwkh64kots5eTG72ZnM4uGL6cyiWC583sLq5TS/iivw +9xZtUE4vstzfNpM0I5DeRBcCQfUqTc/leultw/q0Ks6E+QH6m++cIvzZzpo CSpxLg2Av4q37o7bNw5852X1P/tEGfTiJKcfxe113A7wd0P+VQfHndKzOSdq 9/jZM3VnoF093zk79VJzW3oUN6P1UvX9594j46gXjLq3vUpOG1LWLQ2u2+83 J1dvHj4iJTH8ubEyuZrjmubvONZXcEpVBKR/ravPzTQhZoVQRYv70TgawRTM QVm//D4sXlh1hLzyMJyC0/4t+NqVxPVo0Bzd4pRw68bhz5NwMM684PEVUm3l wh1M2RynQqKLg+7ddS/JmGR0z+pPbvYypfA/43ZpdKWnPS77+m3JkJ2x530z AsW8Y58Cf2H6A7N8zpK+DOaRQlfRenwKjLlfKbDa9fjXeaJYUT0vkNcXAF15 UvAYJi9MsxGuUkTZL7ERlm/IJJ/pDkzrK9ZzsVbPlaUU819qLgv7KmBPmqW2 SrX4mbAYilg7eymVy+eeu7F8QNPT9oXBAZ4YP/qa/UQRUKbh0O0sj3m0erGP n/5j//VZzclcIO10OS3JnIWZCjKGA7rVHthMKsSk4cy9D/jl/q71K3J5dkOg rLGV1kAuL42y09q6dndqJfg7fX8Ja4cZL0uWGX7Ghks0pHqduQmNk8+5nCI5 rL16oMjcfWr/uZuPth9GMStF/N+L/1ib0dqOcgxyO2btRWcrOvd2/Z5t3Rm+ OF7HZ0br0LcN31IT7lznSFFFj5sMUq6leouZjbS62/7rfdy4OTxxsyB9A6BY F1WWTpRIkYgkALkTtC5MLc+AFlzvbWTuAY2x4Y6L/pYKDjRvTKc+FRfc92i7 4IJj2bng2AC1aZX6JC6Fi3pnFFyQ8HcUXAFL27+Iehzfrh310OEYmajsqhyK hzigVzkv/bIAk49wkT96IaLJeDiZy5MIHOT2e/I0aHM/IwOb3uj0ooug1+BB NIbdYXhXtG2BBTZhzCFM4mCAr95kFa3eUOHsoRdevBUG0MlAtMMrEWnrO/ku +gag3OCQQ57lV73xqHuNBsyX5HZjAhXw3tlrkbQ+GMgSf//mG/Fk+a1Z5ABD GuJW6wETDp2Jm6PuBU4nTB5PhFpNdPHO4Qtv+vhdK7x5uru3//zk9IwuDATw BF8+SaZD0gFZVw5OhUZsouN/wBX259+74SHsStjDYFwr1JfeNKTdjvogTri+ rJs6U56f2JT7Au7Y7PI+sLEzoJChCiVlE9ftUR/aqIh6tb4u6usemNDVkOM9 4hMBwyLfL7IJIFboQm9XeqUkCragHvpdDBpHjSaWquWIsA6QtqKpXkmUVoSy zYPGUIrShAUR9cqT8rCgvWftsXslXv8im9nCBUApBMTs+dL3rCvvm86Cnb21 HgKnv1WaejtQ8fnB6dmPdmV8H6D3rwPAXql63erGY4A06aLnNkHqNLS4FB9A IoN1wZ5vos6yJ2ppGadKFczLHq/Mnlk5BhT2+2bJoLUsqCQTiau8VcmdWbr6 J8vsPTs6PXtlFzP3rvviB8BVOH93T+DyB8c9rYhAQo19pyWNhjBro5p/vW2z P1lQ0rfr+oe11Uod+Bmy0bvWJnr3lRpjk3RESW1h6O8cRZkrOHGXBn1pncVx dmMBh/ugFYxaKYqBSutAT4r/UkqBtzD7yEZD4wrjbHQjpEkqbU081sRkALSv GY2UDRm1w47w5LUGic2ofY1Dz+VErpGTfNUCS/B+HHXHoT7tkJDsim4rHIxh +4XsBWLaoZHa7itvxL239SWFpBpZ68uYgf+/ArmmX4C8TA7zvJz5cl7SLkMd UhqyRGjpeRa6wHp3sA4jJrT8nIo5djw8P8M0yxGWCnDVHPYmMf4/Igxvtdxu jjxdabdvtPcGfZZLAN1C5KJYQyqtPRk0MexQFuBPNjTjT+uDBbNWCApPXHhP fCEcZ7Hr6w+rX3Zn5gfzK6UqqlkmSf3Uk/YAnYrU9PzaCtPZXeObBGwlZ134 uijqH0V+GkKK+nciT82mRvTFEL0uXXOcl7SF4/0aR6MxRaGEfTUZdH+edNs3 SlmbuTbHngyLa4BAQbAK4KdKOTOKw/33bJsnM/SXub5IbWHGel1Q55sw0txb 4+lEqbnFg6CDqgPKTYzicijyOCvP6Y5LUmejf75gRuJTffbUQoSeVU05SQU8 919cb7Vn9Ya5pxC6Ew7CUSBJomLxYROUuJB0hj3tYM8VxLfWGNKdlIyYO5Ss sQj2O9kSS40GObVtkPNk9YNOBumaEjo1HI8aY6Y6KzROxoJ0ESJWK3YWNE++ Wuy5Ka8gIw90aDgkBxnh+CpEQ2VzJ4oJtdWuFytlJIQICb3MT5pjmm4hk7hR Ct2u2CPuTdBqjYBbfiKJIKaz+U3YkrMbv3krkCX4YK8Ym4EbjshwRswWae4I ruv1HLDBuVWxpBqF3L/Vq59Wy7kZy2UvVT17raCNNQf8Gg7lk3rCnknwE3iI hBXZTUUtxlfsVTaWiAgEwEfMKC0e9600OVeogY8RT9F6E/7krGRPtEDI4sIe gDI/USs/iBp4WQd6p42m7k2l9BvVrS92pG0TBufQZ3O/e5LQ6eHk9TwkR5GI iHdPEVDtEZLFNGQUYRMssjtS2EMX8HvaHsKQ4WwYQCrTICwabUGRIG1Q5A1q 2ullQ5TwLGhSVoOaxbgtZzi7nOHu0i+YUii5Yni5vYhE0MhRI2p7jlzpZ7/L sgLJTlgeu/U6+0IEGrOZ1Bt/BhNrui9FfRbj7eN5p8/4QiIsydTCVs8z7okL lmwl6yo5/UBaMK4QTK/SfclnVM8yvmBcmWF/Eb1L2V/Ii8llixC/1Ws3B6VL mvsFGcG0rZ5eCQoUzCkbq5vFUvlBcbHRGDYWjZsfr1GtrDmPjG0D2WFv7dsG FsrL/v+mnnqh/w9vHSJCjvBXDg1U3XhU/ROFBuJF9q4onig5P5r/plGCpnVx EOm9nvGEl4XIDryCAsjoiwOfxwBLSKn7CPGq9sPOv/Yb5gUUd7vew8EFUJZ2 57L7n3e9/iAa/jyKx5P3V9c3v5TKxUUUgOw/e/7DwT/+efji6Pjl/zs5PXv1 rx9f//v/Gg256/0xINwQEHndFysAhMgkVElDMXMSLDhPBsforUAp75H7TP2G gPzZqjLf5WR+3jdRALraHWLepwfAQi6jTmC05+TJ52oa4OrYJlrOMZhNGZN2 zAh0Ljq5WUmarPth3c5s3fT/zogmzq8Gq14My47ak9s0kD39fXvXJlrf5O/b d99IK4rTDclWlGmtvwkqYpvaCzHV1n47p4C2Jv0+HAVKj3CbHZ8sWNoSyuJe Ff5890OZ5vWIStkehuwhT4NgRCKOUwOfIpHBt3uztug9W5EpR6tBdw0NlMTM GHXlejjC888HCvAcz0YLEl9YYafI24k9SN/YzSWLj9OE1V7dO0w4bG33ROry JGN35ZODyPkdFWGVbXlB0lclW6SBb9dMNFdWVsSPwWgARGNbexxGuQHMCIn+ YQOQ5WErHJOOkq3R2Q3jVQkjMbxVPFNbkya6NSBZGouuFFB1Q2LT219IgoNQ UKIBpHjSIx9sThUMM43HtWWy+0uY6o6EE8QinjQvS4K100kLNmi3ye8AjhHf 80kFoK3haxDUrITDVqL4HpoaNynOSsYhVqZnRBawZQVWwjHAqSv0yAoLGIxa dJciKyTop1RAgG4fobUCdBWzyahSAsJZYKtKnAU0lVXuubAiptq2nLCQQQfo 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 MlbF4O+spresEVqYPqNaZW3Nqqc3ha6FJwnV8s9T1arM2whqLmXOqXhgllfM 14IAorScmhNuyFojRk5KAxT51ozEQlD8x8TnHvveJ9R7JMnSPXe782gq5E6E xgW9WRMritIkSr8PWq1ReqoVEBiFmqlkRf8aWRW3/BXbPAWZ9apqXe8xq2Rn p861e8RFcRGmKOpUpk3No/u2ZmPj3/7Gg37AI/jOypN7+INZa71ibZ7JJQtQ keGo9tSusUo8cPD5OznZD3juZGP3XJTnThVnNXQB434nf3/SOPIpiW1IzxGv HUq/soxqsFFzyWrZ2g2SmaA55eF7uAnFT6hSfHD4AYZMA1R3itaEu9sDTyfG DOYcZI0H1Q17p6vTzFdyPUnGmEMXS7n91y+PT85O64Pccsbe+5YOR++m85+n Tgfg9wPdtQfdFdXle7oH9fFiLL4Xi3BVegLdWBVOnVVRgSPC6pu7ljp8hmFs HKFAQuqxMEPQeV8FEonDlq3EhEJMFVbkIogvUc6x94/nL1+iFw825iEpCfHz CAYQnvXl+t1rSN89KR8+IzHG4bMiuR9BL5aosndK3qRIk35I2opavnof7v3X Y5QKoBnZWCok9MilBFy5xzHDwMsfgS/Jezf1T0qWVW9imCiWypPnE+gSa3Zc Xd7QAwF67YhIm0zd5hFuxC7wyGw2/3PBeNlICHLx4F9KedBQjjaW1eT23ydK WLa5xvhaA5JZQJaaQ38tyEq1ymLn5iVMm3hwrcsuOE7L9P+k9AuFMix+aLEX E21xwg+XqKeEb+Jk3SQfKBp7+y9lVJFgco0vyGVtkmueGfhVBNGGZCdXA1tq JCHVCvklssdaFvmlcTQkJd4WAFwuy8IFBe+lVDYmd2d4h4etGQyMnrb+H+5g 6BmwBeQF9SYuU6TJ0iV/4/PqJRrGQQMl1IbiW7lQ12WAQC4FKGRKO5RRjGiw ADKXGcAoM+SSqjmH07HNzfX1RKAl3e68sUMl25GX/f9No4dC/x/N6QzYyCnk CL/TBArdJY1uGL+aw6EnVI7lUeo7nRtNyF4jw/3V5uaGDh8E0H1eyiDZdk2F jY1GtXPyZ1V8Lwo/iZUHBWG3J6S3K8jN/WS6yU45x5/q+dz5guWs5xdGI4Ca u03wocSKZgQfUpC1+7nfMiZRsouz40FOjzwk4RUUwNtGHhKMRIhXNfI3fa5x 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 TvqBLZlyHI/QeeCENhD+UZyGwPyUS/7e+TWMRxcuQAGz7D2xCSxs7+/AYU04 WKElgcYSEPBT+3IsUo4MMomkgIDC1NrEsUaQLfbH8n1a1DJyH+AKLjxHhJ4I rX9BTSRKO9qiEhef5kYHtYF+Wpaqe71T5LiZQGC3sfCzp1i1Ls3UrLsTskV6 1ZDmyrtanjIqmfGmlk1TIxu2/JVjE2eVoGY1brdfVshlE/WRA07YGyhwYPiN cbrOWisTcEmD3/sYCkfNF0Q8N6SoDnQLlI33TaaaoRNj7pbyklXgquXl96MR vAAhwWbkMq4di2BHRFHVOeryhaayl21D9ALxaJ7KE+SEpIGPDX+We8CuYzX+ K3TUrM7kzNisYpQRGHwKwQ7XovRtb6iQCYZj5Rhf+NrbzwcLEfaHAw/vc4ZY y59R7des88S1g+XApyBgTsV3KmUNF7saZdkG70n03f6r44NXx99V9anJ8BH+ I79Kxk8yMySmrL9bkrrgo0mmQ56VXoUWT1v/c6ReeduiDck4HxlG+m3omiVm f/TPl893drf1XEouQKaWJqOMJiw6zXqNPWj02yDpoHHz06dM49iDY4wuLlAJ ovkq/pHngjKLcR+zy0YsSWjVLLuiQEyteGpfeHyLGbMdtWUDeB2tRxL81o5q 0H5gUAihakh2u3OGJnqWdgK2PoV3ENasFtdnFRP5Tafxp1yVB4VLkrMeOnqV H7UqOAPDmEJ5/cOtMuOYrcshn2YKGc0z8RjaquhJT/ELsmSEF9M4Fz7FlNSH 4th4yRPsxI2rr52RmI87G2fkxF8Hx8+st5zFlDaZ8eXWNBtcrc/QAkaG/53Z ZG7IMrdAAE7SpA8BMaBArsvpT83m0s+gKPmJE6ms0ZOFAPQFwu/AfZXpaDQZ 1CmJBsjEHH9DsoTu+oeAJQvgOD8XAnAW1RotQVV6z1ZpclUxfCS/JCfoKjUb qKki6HDFPRfcy/sZunmv+3k/raOSsOfGbsiIsVU/EZZhFPymp5EtWbEMwZLl gwMn0ZqH7cjZxIwHhzx1epf968/QrVtqkm6V0Dz14XAi/lWbjh/2NPwiucDT XnTfsGbYnOT6tPicdaadJnk68uZ0iajEcmbqz7Cuwbo5LtnObJJLq8Nj12jW WZIynURSdrC5iDGhBgeJP52MOe5/JYvHmm/81ucw1nysVrxD0cA54Cw5J4iA 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 WQw/O7ZAXnK98xhM+N8prI7auqF4Og2raiAd1bjlGO4qCfX8qchnOUo3CUnX 42vz5bm2l3DbdBBHOIFXnK3UP8EhO595uSnyM4XUz4fZy6UMWuSakVwGGOV+ 96hCPst45iZ1EheD3MAejC+NjZOS1Mb3LLvV6FNTJhfQRcjIs1iljjTUvsDf sePkA4DGWfhpDByOeRwxrKhCt4ULILfftE09U5fdeXvJN9VMTmo/Px5Poo86 dpzr/JfZ05+XMqLJ3ZS/zD/9KTW0Ww+wFMTP7tOxe6VZ3mi0LKJUUz/nVD3F OsSIkMK2Nmib3bW71oZvbeY95lqF/eHazJvDf9DeIyvcfbycfftxps3EG9i8 zKqeJYTKrFuVtzTVyc+Xe3s73Y1dvsvjPff5Mo6HYTDKZpHwbJBa0MSSTcVO AIiZv0P5j27F656de959yBPeM4/HPc+unXs79naETLafZgf5bgppTk7/SGfH x56bpoqvRUL5Odel10TRQTwK7R1qN8W33MSy83vXHOUyw+ZGzTwTqGbrnjVb w7JWSV98cca7PstqTY6nyygJ1ZJ9w8yAa6MYenRs4DKp2syyd8WxtmhSMOTu cM9BWbPK734ljVQopiOlxjmZQe0+lNxzB/8hn6PxWZrRvpZhdUO4XucQ8/bv lCcmuqEMMdFMuWG2v8y0MAV2qrH2+8Og/3g7VQPKSQaTtQb+0FQw0ZeUBGb7 1FbyC3R8/PynBYOWKfz+Ml9u7pc/xo39x+R+MXV2Hy39RkAFAwCB5dkAM+j/ M8/Imj0jZ1P9la5aHIBYRfG/VbFj97GS2i85w9D8S8+7lVyDanQxo+tcU4N5 FU+6Qf/891FjQIloh9DazSgzFrSKKo3o7hep1/h99M7b2zkFZjRddPrlT3mo 678wfZ+aGV+O5iblzF36vj9What2hKracaw7dfD6mdvlxM0/5HIdnUiiNc8J lfncpO48n/VkSq6z55Z0OxdfiWjCdbxZgqWLjupplsoJpv5jTNWSKThDCDfG amMItxXBrUrNst9+3T1bEZNs3iRaHJPsME6FKF9rke3YgciJWl/dXQxP7LGj 53GH/QyOXWOK31iIrfh1F2V7F2X7Z4+yNfXgLyK8ds74BrVIfSExtTm+jGxU rSWZc5waWdwKIkjLYmSLgkArR7L+Z6ikCzflLLqZD2LxqCY/6qdgfp6o8hRw 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 GZX+mzIq4R0od0mV7pIq3SVVukuqdJdUyVPxLqnSXVKlu6RKd0mV7pIq3SVV ukuqdJdUKdvDP8GBOvNzl1TpLqlSDl3ukirdJVW6S6p0l1TpLqnSLeCMn7uk Svxzl1TpLqnSXVIldpdU6S6pUhlB75Iq6bp3SZUMh+ldUqW7pEp3SZXukird JVW6S6p0l1TpLqmSjcldUiWN0J2wu0uqJD93SZXukirdJVW6S6p0l1TpLqnS XVKlX1XJ206qlEfDu4RKdwmV7hIq3SVUukuodJdQic1un9wlVLpLqHSXUOku odJ/rnuF88NdQqUvLKHSy2gUTK7oaE1SMdtRzCPAZ8lpBHZXdHoaTirlb4oG YRudQVEwXISfuS055fz5mpxC8+Vp8gHR+ZlWn3ae/KVifqaVZzI90/d/xTB2 cTxgvQ5t1WF0+zEeA12vT9PT9l/qf8XcI99Dix1jukC1UdKBh+sy3cHl5eXi 5ZPFeHK2tPLdd98tvT3cWVLJnOqeSWC1+lyKJGpIyHAurrEFWPuX7CLKH3gR pP3z9foSgcDP91j8uWrw+5N4cMVOzvrxMJ6s1796RZ/6cwMjAhigJdCWYJMl A8ISglDglzT875dMVASC/KGm1fNK/Ja2eaKo3OGXBfwcJt/Ox1pWbc1TT1Y6 q5V5avVbyVRf3WNLJ9FoKTnnBBlPwtPo0/rSNJksDeM+KX7hp7B/LF7c/5V/ +Ww/h+UjXR/hqT6xpzGIJrrskngIr6E7/JVR+TN2kjfPA4jkUUv89IOUff99 d+8V/BZH780R+Hlvv7e9t/t+cXGRQ/gbhStR/FNCZhovAGYapbYgqBQ2iL3Z 2j4Ac+scKE0JzXqi++xncSyO3ecP3otqiLRZ16yK76YpCdkMFKOzEhR0OanV SGYjUSYoU4fR6APK7WikTrCL0v3TYXCmygOktvAtQgdRtopDLxNG5USl83A4 rtX0kfooYfiIKoSfolQUE3O7VhMzWWYWsLHgIyAGBWuz+ysL+vDsKYN5CM++ Yu3wn7iZnp6HI1GaBpVh6dOIF+fdWT8N+OqFtFA/4D/uD1UAz1IEOIgVR4CK Vr+/UgcMxaP2o3UwPOJxCsb4+i9h/zzmBX5jmBbuYbL0c/s4aP9ro/3/ltvf vX+0vrT08Be2JpdUXVU/C5Ogr/vra1LywSOyTOT04IDwiSKJM01AAxvFTBGI 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 Xef+WBK1/x/ZosuVfE0OAA== ---559023410-851401618-999220190=:14154-- From tmoog@polhode.com Fri Aug 31 10:50:27 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from smtp-2.enteract.com (smtp-2.enteract.com [207.229.143.4]) by mail.gnome.org (Postfix) with ESMTP id C31842CDCE for ; Fri, 31 Aug 2001 10:50:27 -0400 (EDT) Received: from shell-1.enteract.com (shell-1.enteract.com [207.229.143.40]) by smtp-2.enteract.com (Postfix) with ESMTP id 8723976F1 for ; Fri, 31 Aug 2001 09:50:26 -0500 (CDT) Date: Fri, 31 Aug 2001 09:50:26 -0500 (CDT) From: Tom Moog X-Sender: tmoog@shell-1.enteract.com To: xslt@gnome.org Subject: Re: [xslt] win32 trianon.c defines "const" as empty string In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Forgot to mention that trianon is third party software. On Thu, 30 Aug 2001, Tom Moog wrote: From pdr@pdr.cx Fri Aug 31 11:46:10 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from reggie.lodge.dodgy.as (CPE-203-45-178-26.qld.bigpond.net.au [203.45.178.26]) by mail.gnome.org (Postfix) with ESMTP id 286552C577 for ; Fri, 31 Aug 2001 11:46:10 -0400 (EDT) Received: from pdr by reggie.lodge.dodgy.as with local (Exim 3.32 #1 (Debian)) id 15coN0-0000RX-00 for ; Fri, 31 Aug 2001 23:30:02 +1000 Date: Fri, 31 Aug 2001 23:30:02 +1000 From: Pete Ryland To: xslt@gnome.org Subject: Re: [xslt] XML-Schema Message-ID: <20010831233001.A801@pdr.cx> Mail-Followup-To: Pete Ryland , xslt@gnome.org References: <01083103131403.01569@linuxdaheim> <20010830220442.V1321@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20010830220442.V1321@redhat.com> User-Agent: Mutt/1.3.20i X-Operating-System: Linux 2.4.7 i686 Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: On Thu, Aug 30, 2001 at 10:04:42PM -0400, Daniel Veillard wrote: > On Fri, Aug 31, 2001 at 03:13:14AM +0200, Bernhard Zwischenbrugger wrote: > > Is somebody working on XML-Schema validation? > > I'm just curious. > > I was hoping to do it, but I really lack time right now, maybe later, > it's not a piece of cake too ... I've been doing some pretty basic xml schema support for xmldb, an xml persistence library. It's available at http://xmldb.sourceforge.net/ if you're interested, although most of the schema support is yet to make it into a release. Pete From breese@mail1.stofanet.dk Fri Aug 31 12:46:59 2001 Return-Path: Delivered-To: xslt@gnome.org Received: from mail1.stofanet.dk (mail1.stofanet.dk [212.10.10.6]) by mail.gnome.org (Postfix) with SMTP id 81E3C2C7CE for ; Fri, 31 Aug 2001 12:42:51 -0400 (EDT) Received: (qmail 17637 invoked from network); 31 Aug 2001 16:41:50 -0000 Received: from pc103229.stofanet.dk (HELO mail1.stofanet.dk) (breese@212.10.34.229) by mail1.stofanet.dk with SMTP; 31 Aug 2001 16:41:50 -0000 Message-ID: <3B8FBE91.CE24EF59@mail1.stofanet.dk> Date: Fri, 31 Aug 2001 16:42:57 +0000 From: Bjorn Reese Organization: Hyperspace Academy X-Mailer: Mozilla 4.51 [en] (X11; I; Linux 2.2.7 i686) X-Accept-Language: en MIME-Version: 1.0 To: xslt@gnome.org Subject: Re: [xslt] win32 trianon.c defines "const" as empty string References: Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: xslt-admin@gnome.org Errors-To: xslt-admin@gnome.org X-BeenThere: xslt@gnome.org X-Loop: xslt@gnome.org X-Mailman-Version: 2.0.5 Precedence: bulk Reply-To: xslt@gnome.org List-Help: List-Post: List-Subscribe: , List-Id: The Gnome XSLT library mailing-list List-Unsubscribe: , List-Archive: Tom Moog wrote: > > Compiler MSVC 6 SP5 > > I'm not sure why, but trianon.c thinks that __STDC__ > is undefined. Apparently because MSVC 6 SP5 does not define __STDC__ > As a result, it redefines "const" > and "volatile" as empty strings. Aside from the > fact that this is truly barbaric programming, it I am often amazed at how little people appear know about standard portability issues. The const and volatile keywords are additions to ANSI C, and thus not present in K&R compilers. If the compiler supports ANSI C, then it must define __STDC__. The re-definition of const and volatile is not "truly barbaric", but a standard portability trick to enable the use of the const and volatile keywords with K&R compilers. See for example http://www.cs.umd.edu/users/cml/cstyle/portableC.html > wouldn't cause problems, except that trianon.c > is #included in xpath.c. The result is that all > the const disappear in xpath.c. Right, this is a problem. trionan.c, like most other C source code files, has not been written with the intention of being included in another C source code file. I have committed a workaround to CVS. Thanks for the report. > Forgot to mention that trianon is third party software. What relevance does this statement have?