xsl-list
[Top] [All Lists]

Using XSLT to add markup to a document

2003-07-03 13:27:36
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