Printing html decoded value from xslt on webpage

Hi Experts,

My xml node <LongDescription> has html endoded string like below

<LongDescription>&lt;p&gt;&lt;strong&gt;Location:&lt;/strong&gt; Beverly Hills.&lt;/p&gt;
        &lt;p&gt;The Beverly Wilshire is at one of the world’s most famous intersections – Rodeo Drive and Wilshire Boulevard, with its exclusive shops, galleries and restaurants. The property features luxuriously appointed rooms, award-winning restaurants and lively entertainment. Many of the hotel’s guest rooms have spectacular views of Rodeo Drive, the Hollywood Hills and the L.A. skyline. Los Angeles International Airport is 29 kilometres away.&lt;/p&gt;
        &lt;p&gt;&lt;strong&gt;Facilities:&lt;/strong&gt; 395 rooms and suites. Two restaurants, bar, 24-hour room service, shop, hairdresser, beauty salon, safety deposit boxes, business centre, babysitting, interconnecting and non-smoking rooms.
&lt;br/&gt;
                &lt;br/&gt;
                &lt;strong&gt;Superior Rooms:&lt;/strong&gt; Air-conditioning, TV, CD, data ports, minibar and safe.
&lt;br/&gt;
                &lt;br/&gt;
                &lt;strong&gt;Sports and leisure:&lt;/strong&gt; Outdoor pool, fitness centre, spa, sauna, jacuzzi, steam bath and massage.&lt;/p&gt;
        &lt;p&gt;&lt;strong&gt;Check-in:&lt;/strong&gt; 1500 hours&lt;/p&gt;
        &lt;p&gt;&lt;strong&gt;Check-out:&lt;/strong&gt; 1200 hours.
&lt;br/&gt;&lt;/p&gt;</LongDescription>


When I am reading the text from xslt like below

<xsl:value-of select ="LongDescription" disable-output-escaping="yes" />

All html formating is not printing in the web page

Please can you help, so that format of the html in node <LongDescription> prints as is on web page

Please find attached my xml and xslt file

Please guide

Thanks
dcp248933-436029.xml
HotelListDynamic.xsl
tia_kamakshiAsked:
Who is Participating?
 
Geert BormansInformation ArchitectCommented:
OK, this is a much better approach to control the html content in any case

by using value-of you just flatten out the text nodes
you need to procvess the children
I suggest we do that ion a special mode to not interfere with the other processing

change the value of into
                  <xsl:apply-templates select="LongDescription/node()" mode="preserve-html"/>  

and add a template

  <xsl:template match="node()" mode="preserve-html">
    <xsl:copy>
      <xsl:copy-of select="@*"/>
      <xsl:apply-templates select="node()" mode="preserve-html"/>
    </xsl:copy>
  </xsl:template>

Open in new window

0
 
Geert BormansInformation ArchitectCommented:
which html formatting are you missing?
and how do you view this?

If I run your XSLT against your XML (after correcting the obvious conbtext issue in the for-each)
I get exactly what I need... the layouted description

Or is it the context issue that is the problem?
In the for each you need to strip the path up to the level on the root element
line 13 should read
      <xsl:for-each select="Result/XmlContent">
if the XML you sent really is teh source
0
 
Geert BormansInformation ArchitectCommented:
I would make that for-each an apply-templates by the way
0
Cloud Class® Course: CompTIA Healthcare IT Tech

This course will help prep you to earn the CompTIA Healthcare IT Technician certification showing that you have the knowledge and skills needed to succeed in installing, managing, and troubleshooting IT systems in medical and clinical settings.

 
tia_kamakshiAuthor Commented:
Thanks Gertone for your reply.

My I am not seeing formatting on my web page... I am loosing all formatting done.

I have provided you the actual xml and xslt

What can be the reason that I am loosing my formatting in my html?

Please guide

Thanks again
0
 
Geert BormansInformation ArchitectCommented:
How do you view the results and how do you run the XSLT?

If this is the actual XML and XSLT you need to change the context in teh for-each as I indicated
0
 
tia_kamakshiAuthor Commented:
<LongDescription> node is printing on the html page but with no formatting

Please suggest
0
 
Geert BormansInformation ArchitectCommented:
again, how do you execute the XSLT and how do you view the results?

This is important information.
If for instance you are running this in FireFox or using the TransformiX XSLT processor,
this will not work simply because there is no support for disable-output-escaping there
d-o-e is not mandatory and some processors simply don't support it (and claim they never will)
In that particular case, you need to preprocess the lot to make it XML nodes instead of a text node prior to the XSLT
(and hope the html is wellformed XML)

so please tell me how you execute the XSLT and how you view the result
0
 
tia_kamakshiAuthor Commented:
Hi Gertone,

I applogise, Node <LongDescription> is written in xml file as below:

------------------------------------------------------------
<LongDescription>
<p>
<strong>Location:</strong> Beverly Hills1.</p>
<p>The Beverly Wilshire is at one of the world’s most famous intersections – Rodeo Drive and Wilshire Boulevard, with its exclusive shops, galleries and restaurants. The property features luxuriously appointed rooms, award-winning restaurants and lively entertainment. Many of the hotel’s guest rooms have spectacular views of Rodeo Drive, the Hollywood Hills and the L.A. skyline. Los Angeles International Airport is 29 kilometres away.</p>
<p>
<strong>Facilities:</strong> 395 rooms and suites. Two restaurants, bar, 24-hour room service, shop, hairdresser, beauty salon, safety deposit boxes, business centre, babysitting, interconnecting and non-smoking rooms.
<br></br>
<br></br>
<strong>Superior Rooms:</strong> Air-conditioning, TV, CD, data ports, minibar and safe.
<br></br>
<br></br>
<strong>Sports and leisure:</strong> Outdoor pool, fitness centre, spa, sauna, jacuzzi, steam bath and massage.</p>
<p>
<strong>Check-in:</strong> 1500 hours</p>
<p>
<strong>Check-out:</strong> 1200 hours.
<br></br>
</p>
</LongDescription>
------------------------------------------------------------

Please find correct xml attached.

In correct xslt, for-each loop is written as
<xsl:for-each select="Result/XmlContent">

In my webpage, html of long description is loosing html formatting, done in node
<LongDescription>

Please advice

Many Thanks again
dcp248933-436029.xml
HotelListDynamic.xsl
0
 
tia_kamakshiAuthor Commented:
This was great.Many Many Thanks for your great help

Regards,
0
 
Geert BormansInformation ArchitectCommented:
welcome
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.