This kind of task - sometimes called "up-conversion" - becomes much
easier with XSLT 2.0 facilities such as regular expressions and grouping
instructions. If it's a one-off task I'd strongly suggest using Saxon
7.x which offers these features.
Michael Kay
-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of
Jim Melton
Sent: 03 July 2003 21:28
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Cc: jim(_dot_)melton(_at_)acm(_dot_)org
Subject: [xsl] Using XSLT to add markup to a document
Gentlepeople,
I'm struggling with a problem that I fear isn't easily solved
with XSLT,
but there are many experts on this list who might be able to
help. The
brief summary of my problem is that I want to find certain words that
appear in paragraphs throughout a very large (XML) document
and mark up
those words without making any other changes to my document.
For example, consider a document with the following fragment:
<para>
This is a sample document that deals with markup of
<emph>text</emph>. </para> <para> When one applies
<emph>markup</emph> to a large document, one is faced with
a <def>time-consuming</def> effort.
</para>
If one of the words to which I wish to apply markup is
"markup" and another
is "document", then I would want the result to be something like this:
<para>
This is a sample <special>document</special> that deals with
<special>markup</special> of <emph>text</emph>.
</para>
<para>
When one applies <emph><special>markup</special></emph> to a large
<special>document</special>, one is faced with a
<def>time-consuming</def>
effort.
</para>
As you see from this example, I want to *add* markup to the
words I have
found where they appear in my result tree, but copy
everything else in my
document to the output tree unchanged.
I tend to use Saxon (currently using 6.5.2) as my primary
XSLT engine, but
I also have Microsoft's MSXML 4.0 (and could undoubtedly find
others if
required to do so).
Any guidance or advice?
Many thanks,
Jim
==============================================================
==========
Jim Melton --- Editor of ISO/IEC 9075-* (SQL) Phone:
+1.801.942.0144
Oracle Corporation Oracle Email:
mailto:jim(_dot_)melton(_at_)oracle(_dot_)com
1930 Viscounti Drive
Standards email: mailto:jim(_dot_)melton(_at_)acm(_dot_)org
Sandy, UT 84093-1063 Personal email:
mailto:jim(_at_)melton(_dot_)name
USA Fax : +1.801.942.3345
========================================================================
= Facts are facts. However, any opinions expressed are the opinions =
= only of myself and may or may not reflect the opinions of anybody =
= else with whom I may or may not have discussed the issues at hand. =
========================================================================
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list