[thelist] Advice on including hyperlinks in XML pages

Cake cake at brothercake.com
Wed Jan 22 19:47:01 CST 2003


I'm looking for a way of doing an apparently simple thing - hyperlink
arbitrary phrases. Say I have something like

<para>here is some text containg a link to a different section of this
website</para>

And I want "a link" to be a link (I know that's not good link text; it's
just an example!). I dont really want to go:

<para>here is some text containing <url href="page.html">a link</url> to
a different section of this website</para>

But it's not what I want - I wouldn't be able to retrieve the whole
paragraph of text using <xsl:value-of/>; in fact I'm unsure how to parse
that at all - given that there may be 0 or more <url/> elements inside
each <para> ... how would I be able to end up with anything other than
bits of plain text followed by each of the links? Is it possible to use
<xsl:for-each/> to iterate through nodes recursively and then compile
the results at the end ..?

But anyway, it just feels wrong; like i'm forcing metadata to be inside
a data node. So my alternative idea was something like

<para url="page.html" text="a link"> ... </para>

which would be easy to parse into linked text, by getting the XSL to
generate PHP, and then preg_replace the text which matches attribute
values; and it reflects the nature of the link data. But it's not
extensible ... not without "url1" "url2" etc ... or is there an array
syntax for attributes ?

Long question I know ... I'd appreciate any suggestions or comments.




More information about the thelist mailing list