Return-Path: Delivered-To: apmail-cocoon-dev-archive@www.apache.org Received: (qmail 8317 invoked from network); 1 Oct 2003 21:40:08 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (208.185.179.12) by minotaur-2.apache.org with SMTP; 1 Oct 2003 21:40:08 -0000 Received: (qmail 89077 invoked by uid 500); 1 Oct 2003 21:39:51 -0000 Delivered-To: apmail-cocoon-dev-archive@cocoon.apache.org Received: (qmail 89049 invoked by uid 500); 1 Oct 2003 21:39:51 -0000 Mailing-List: contact dev-help@cocoon.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Reply-To: dev@cocoon.apache.org Delivered-To: mailing list dev@cocoon.apache.org Received: (qmail 89033 invoked from network); 1 Oct 2003 21:39:51 -0000 Received: from unknown (HELO linda-2.paradise.net.nz) (202.0.58.21) by daedalus.apache.org with SMTP; 1 Oct 2003 21:39:51 -0000 Received: from smtp-1.paradise.net.nz (smtp-1b.paradise.net.nz [202.0.32.210]) by linda-2.paradise.net.nz (Paradise.net.nz) with ESMTP id <0HM300IFELILPG@linda-2.paradise.net.nz> for dev@cocoon.apache.org; Thu, 02 Oct 2003 09:39:57 +1200 (NZST) Received: from JESSIE (203-79-120-217.cable.paradise.net.nz [203.79.120.217]) by smtp-1.paradise.net.nz (Postfix) with SMTP id C92AF8275B for ; Thu, 02 Oct 2003 09:39:56 +1200 (NZST) Date: Thu, 02 Oct 2003 09:46:57 +1200 From: Conal Tuohy Subject: RE: DirectoryGenerator In-reply-to: <1E0CC447E59C974CA5C7160D2A2854EC09844D@SJMEMXMB04.stjude.sjcrh.local> To: dev@cocoon.apache.org Message-id: <003b01c38865$89fdc550$d9784fcb@insurgentes.local> MIME-version: 1.0 X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2800.1106 X-Mailer: Microsoft Outlook CWS, Build 9.0.2416 (9.0.2910.0) Content-type: multipart/mixed; boundary="----=_NextPart_000_003C_01C388CA.1F32A550" Importance: Normal X-Priority: 3 (Normal) X-MSMail-priority: Normal X-MS-TNEF-Correlator: 000000008C21FF193DF5D31195B700400523666B64895D01 X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N This is a multi-part message in MIME format. ------=_NextPart_000_003C_01C388CA.1F32A550 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit > Peter Hunsberger wrote: > > Conal Tuohy wrote: > > string(/html/head/title[normalize-space()]|/html/body//h1[1]) > > The string() function returns the string value of the FIRST > > NODE in the resulting nodeset. > > Ahh, that would do the trick. I believe in some old implementations > (Xerces/Xalan) I've run into that wasn't the case; I'm pretty > sure I've > seen the union of the strings. > > Might be a tad expensive, but most likely he can be more > specific on the > path to the h1... Yes. Though theoretically, the xpath intepreter should optimise the expression and evaluate the right-hand side of the union operator only if the left hand side is empty (like the "or" operator in Java "if" statements). I don't know if this actually happens but it's an obvious and probably rather easy optimisation to implement. I tested the XPath expression in an XSLT stylesheet, but in the original example Alfred was replacing the XPathDirectoryGenerator, which looks up an XPath Component I believe ... if it turns out that the default xpath implementation is sub-optimal (or even buggy) it could be worth putting the effort in there. Alternatively, if it really is necessary to call back another pipeline, what about using a generic transformer like the XIncludeTransformer? Con ------=_NextPart_000_003C_01C388CA.1F32A550 Content-Type: application/ms-tnef; name="winmail.dat" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="winmail.dat" eJ8+IjoVAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAA5AQAAAAAAADoAAEIgAcAGAAAAElQTS5NaWNy b3NvZnQgTWFpbC5Ob3RlADEIAQ2ABAACAAAAAgACAAEGgAMADgAAANMHCgACAAkALgAAAAQAIQEB A5AGAOQIAAAoAAAACwACAAEAAAALACMAAAAAAAMAJgAAAAAACwApAAAAAAADAC4AAAAAAAMANgAA AAAAHgBwAAEAAAATAAAARGlyZWN0b3J5R2VuZXJhdG9yAAACAXEAAQAAABYAAAABw4hliTh7FP9u 2UxHiIOVo9l3kchRAAACAR0MAQAAABwAAABTTVRQOkNPTkFMVEBQQVJBRElTRS5ORVQuTloACwAB DgAAAABAAAYOABwkZ2WIwwECAQoOAQAAABgAAAAAAAAAjCH/GT310xGVtwBABSNma8KAAAADABQO AQAAAAsAHw4BAAAAAgEJEAEAAAB5BAAAdQQAAJQGAABMWkZ1mGzmawMACgByY3BnMTI14jIDQ3Rl eAVBAQMB9/8KgAKkA+QHEwKAD/MAUARWPwhVB7IRJQ5RAwECAGNo4QrAc2V0MgYABsMRJfYzBEYT tzASLBEzCO8J97Y7GB8OMDURIgxgYwBQMwsJAWQzNhZQC6YgPkwgUBQgEoFIdQCAYrUEkGcSgXcD YA6wOgqiLwqAHPAc8AhQbgdAIFTAdW9oeSA8BaAfQSR0QAqxYWQEAGUudm4UICDgehzwHioeiHMC dAUQbmcoL2h0FG1sI0BlIJAvdGlgdGxlW24FsADAbCBpemUtcwqwY2UwKCldfCNEBuBkeYIvI0Ax WzFdKSHeRlQjoCLGKSBmHYBjayPwAiAgGCB0CHAGMXQZJ7cgdgdAClAgb2bBKXNGSVJTVArjHsTg Tk9ERSALgClzGCB8c3UgMCnyJFABABQRLkMehh6GQWhoLClxYQUFQHcIYGxkIGRvAylzIuFjay4g IElmIB2wJKBldifALFFz3wNwKnEvsQdwC1BlB4ACMMsvUCjBcx6GKFgEkCUgOHMvWAdAAHAoUEkn bTFBch2ALEF0L/IvUmFYc24nBUApgmM10GWiOzSBbSBwKQF0H8D/HoYs4BggNIM3hwnhKXMdgBco wiqVItRzLd9NaWezI1Aw4SBhKXAgkCAOwJ5wCfAAkDFALxBidQVA6wRgItAgJKBrMQAfwDZDvwOg PFEEYDghN4c9AGMGkP8N4CqALGMehgqwKYApcC/07SZALkJQIdpZB5AwoCegvwhgPBApcj9BI/A2 cGw+YN8vEifAPPBBgjUhZTcSEoH2c0OhL7FvBTAHcCCxKXP/POEswQCQKNEAcDzBKjIvUPdHJAUQ PBEtE+BIQQCQAQD/KoY5pT0AIIA1QAXAAiA+Yf8GkClzJCABgD6ASbcEADzQWzJAN1EoPiIpcyIF sCLzSwgsUUphKjBOcAaQTrDnItBIwTKCcykwoDDQL+D9NfJrJFAH4EvzTVEA0Ckgu0SSTKFwPQI9 gyQAJ1Ix6TnhYnYowHVT0i/ANxB/VCABoD5hS0EjoAXAI7Bz/x/ARrUyw0GyMjdCezDQDrDnItAJ gClzWFBBgkeJLFGxA5FYU0wrQCLQeSQg+0ZACeB0PXQsVQWwPAALgNsfUQ7AYTJCEMBsA1BY8T81 wSjxC1FAMCoBWSdEaecYICigBbB5RwnwSzQvEI53UhAT0D4Qb29rBCD8dXBak1lzCFAyQAIgMpH/ MMlCUUviJAApcCkzCGA2EvcvUSmCAQFhLPFFJjJLTULZLOBiLUazH1EoBbExMfM+4UPAZ3koUGPx BaAvou88US+AACBBoHA9oC0TR0P/ASAXwSxFGCAwoF2gHTEfQP8j8DFARLJjxBggUpNNUSDwfzPh VpBf8EGyRIIw4ADQa/dIIR5AVaJwBSAxASDwYKL/L1EBoGSCVHAp8jyAHeBgMX9AYSLgAHFrEQeA BcBN91iuSSiQCkABAFRySD8rVRcehB8hHoR9djAAAAAeAEIQAQAAAEcAAAA8MUUwQ0M0NDdFNTlD OTc0Q0E1QzcxNjBEMkEyODU0RUMwOTg0NERAU0pNRU1YTUIwNC5zdGp1ZGUuc2pjcmgubG9jYWw+ AAADAAlZAQAAAAsAAYAIIAYAAAAAAMAAAAAAAABGAAAAAAOFAAAAAAAAAwADgAggBgAAAAAAwAAA AAAAAEYAAAAAEIUAAAAAAAADAAeACCAGAAAAAADAAAAAAAAARgAAAABShQAAJ2oBAB4ACYAIIAYA AAAAAMAAAAAAAABGAAAAAFSFAAABAAAABAAAADkuMAAeAAqACCAGAAAAAADAAAAAAAAARgAAAAA2 hQAAAQAAAAEAAAAAAAAAHgALgAggBgAAAAAAwAAAAAAAAEYAAAAAN4UAAAEAAAABAAAAAAAAAB4A DIAIIAYAAAAAAMAAAAAAAABGAAAAADiFAAABAAAAAQAAAAAAAAALADqACCAGAAAAAADAAAAAAAAA RgAAAAAOhQAAAAAAAAMAPIAIIAYAAAAAAMAAAAAAAABGAAAAABGFAAAAAAAAAwA9gAggBgAAAAAA wAAAAAAAAEYAAAAAGIUAAAAAAAALAFKACCAGAAAAAADAAAAAAAAARgAAAAAGhQAAAAAAAAMAU4AI IAYAAAAAAMAAAAAAAABGAAAAAAGFAAAAAAAAAgH4DwEAAAAQAAAAjCH/GT310xGVtwBABSNmawIB +g8BAAAAEAAAAIwh/xk99dMRlbcAQAUjZmsCAfsPAQAAAE8AAAAAAAAAOKG7EAXlEBqhuwgAKypW wgAAbXNwc3QuZGxsAAAAAABOSVRB+b+4AQCqADfZbgAAAGQ6XGRhdGFcY29uYWxcbWFpbGJveC5w c3QAAAMA/g8FAAAAAwANNP03AAACAX8AAQAAADEAAAAwMDAwMDAwMDhDMjFGRjE5M0RGNUQzMTE5 NUI3MDA0MDA1MjM2NjZCNjQ4OTVEMDEAAAAAAwAGEPKk6WkDAAcQFQQAAAMAEBABAAAAAwAREAAA AAAeAAgQAQAAAGUAAABQRVRFUkhVTlNCRVJHRVJXUk9URTpDT05BTFRVT0hZPENPTkFMVEBQQVJB RElTRU5FVE5aV1JPVEU6U1RSSU5HKC9IVE1ML0hFQUQvVElUTEVOT1JNQUxJWkUtU1BBQ0UoKS9I AAAAABsz ------=_NextPart_000_003C_01C388CA.1F32A550--