Solved

find and replace in xsl

Posted on 2009-05-11
6
651 Views
Last Modified: 2013-11-18
I have field data that looks something like this within my "teams" column

<div> SF. Giants </div>
<b> NY Mets </b>
<div><i> MLB </i></div>

I'm using XML to parse through the data and I want to know if its possible within XSL to replace the <div>, </div>, <b>, etc. tags and replace them with a NULL or whitespace.  Is this possible?

0
Comment
Question by:shuittny
  • 4
  • 2
6 Comments
 
LVL 60

Accepted Solution

by:
Geert Bormans earned 250 total points
ID: 24361628
yes, make a template for each element
and put what you want in the output, in there

<xsl:template match="b">
   <xsl:text> </xsl:text>
   <xsl:apply-templates/>
   <xsl:text> </xsl:text>
</xsl:template>

will replace the b tags with spaces
0
 

Author Comment

by:shuittny
ID: 24367423
what if <b>NY Mets</b> is the value of a field such as <xsl: value-of select=@team/>?  Would the response still hold?
0
 
LVL 60

Expert Comment

by:Geert Bormans
ID: 24367468
No, that would be a lot different of course
XSLT is mainly about transforming structure,
so if you post an XML as you did, one can safely assume taht you mean structure transformation

Anyway, you need some regular expression processing.
What do you want to happen, remove all occurences of tags from string?

It is possible, but it is quiet a more difficult task than you originally had
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 

Author Comment

by:shuittny
ID: 24368308
I'll explain (probably should have done this previously)

I'm creating a formpage and on this page I have a richtext textarea field (let's call it baseball teams) in which users can bold, italicize, change text color, etc. (in IE). When the user access a reports page the field info. is extracted however it pulls the HTML tags within the field. So if the user has bold text, the reference tag will appear as part of the value even though the user never physically typed the tag, they just bolded the text. Ditto with changing colors, italicizing, making bullets, etc. I believe its because the tags are embedded and sent to the db before having a chance to be filtered out (and no I don't have real access to the db). Anyhow when I pull the information into another page the tags are embedded when in reality I want them removed.
0
 
LVL 60

Expert Comment

by:Geert Bormans
ID: 24382944
OK, I see, can you use XSLT2?
If not, I will have to work on an XSLT1 recursive template for dealing with this, that is quite a bit harder
0
 
LVL 60

Expert Comment

by:Geert Bormans
ID: 24554100
???
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Have you tried to learn about Unicode, UTF-8, and multibyte text encoding and all the articles are just too "academic" or too technical? This article aims to make the whole topic easy for just about anyone to understand.
JavaScript has plenty of pieces of code people often just copy/paste from somewhere but never quite fully understand. Self-Executing functions are just one good example that I'll try to demystify here.
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
The viewer will learn how to dynamically set the form action using jQuery.

914 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now