cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hunsberger, Peter" <Peter.Hunsber...@stjude.org>
Subject RE: DirectoryGenerator
Date Wed, 01 Oct 2003 21:23:21 GMT
Conal Tuohy <conalt@paradise.net.nz> writes:

> Peter Hunsberger wrote:
> 
> > Conal Tuohy <conalt@paradise.net.nz> wrote:
> > 
> > > Alfred Fuchs wrote:
> > > 
> > > > in my expamle I extract the title of a HTML page in this way: if
> > > > <title> exist and <title> not empty, use it as title. 
> > otherwise use
> > > > the first <h1> etc... this is logic, simply done in a xslt,
> > > but hoe to
> > > > do this in a single xpath-query?
> > > 
> > > string(/html/head/title[normalize-space()]|/html/body//h1[1])
> > 
> > Except that will get both when both exists, which I don't
> > think is what
> > he wanted...
> 
> He should only get the title if the title exists:
> 
> The first sub-expression 
> "/html/head/title[normalize-space()]" defines a nodeset 
> containing any non-whitespace title element.
> 
> The second expression "/html/body//h1[1]" selects a nodeset 
> containing the first heading 1.
> 
> The | operator merges the 2 nodesets.
> 
> 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...


Mime
View raw message