Solved

input xml contains &lt; out contains <

Posted on 2007-11-21
9
284 Views
Last Modified: 2013-11-18
Hello Expert [Gertone],

I have an input xml which contains content as below....

<p class="- topic/p ">To set the value of this property using MXML:
   <pre xml:space="preserve" class="- topic/pre ">
    &lt;mx:PlotSeries ... &gt;
     &lt;mx:fills&gt;
      &lt;mx:SolidColor color="0xCC66FF"/&gt;
      &lt;mx:SolidColor color="0x9966CC"/&gt;
      &lt;mx:SolidColor color="0x9999CC"/&gt;
     &lt;/mx:fills&gt;
    &lt;/mx:PlotSeries&gt;
   </pre>
  </p>

and in output it appearing as ....

<p>To set the value of this property using MXML:
   <pre>
    <mx:PlotSeries ... >
     <mx:fills>
      <mx:SolidColor color="0xCC66FF"/>
      <mx:SolidColor color="0x9966CC"/>
      <mx:SolidColor color="0x9999CC"/>
     </mx:fills>
    </mx:PlotSeries>
   </pre>
  </p>

where as it should appear as

    &lt;mx:PlotSeries ... &gt;
     &lt;mx:fills&gt;
      &lt;mx:SolidColor color="0xCC66FF"/&gt;
      &lt;mx:SolidColor color="0x9966CC"/&gt;
      &lt;mx:SolidColor color="0x9999CC"/&gt;
     &lt;/mx:fills&gt;
    &lt;/mx:PlotSeries&gt;

Here the &lt; and &gt; is converting to '<' and '>'

How will i achieve this using xsl2.0?

Thanks,
Shailesh
0
Comment
Question by:ShaileshShinde
  • 5
  • 4
9 Comments
 
LVL 60

Expert Comment

by:Geert Bormans
ID: 20333003
are you using a character class
or do you have disable-output-escaping set to true?
0
 
LVL 1

Author Comment

by:ShaileshShinde
ID: 20333021
Hello Expert,

None of these are using.

if i wanna use character class how will be the line of code/

Thanks,
Shailesh
0
 
LVL 60

Expert Comment

by:Geert Bormans
ID: 20333023
Can you show me the template that does this?
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 1

Author Comment

by:ShaileshShinde
ID: 20333063
Hello Expert,

Here is the line of code...

<xsl:template match="pre">
            <xsl:variable name="product" select="./@product|./@class | ./@outputclass"/>
            <xsl:if test="string-length($product)=0 or not($product=concat($hiddenProductName,'only'))">
                  <xsl:value-of disable-output-escaping="yes" select="'&lt;pre&gt;'"/>
                  <xsl:call-template name="processTags"/>
                  <xsl:value-of disable-output-escaping="yes" select="'&lt;/pre&gt;'"/>
            </xsl:if>
      </xsl:template>
<xsl:template name="processTags">
            <xsl:param name="addParagraphTags" select="false()"/>
            <xsl:param name="createLinkFromRootContext" select="false()"/>
            
            <xsl:variable name="matchHTML" select="./adobetable |  ./ol |  ./p | ./codeblock |  ./ul |  ./b |  ./adobeimage | ./ph |  ./codeph | ./bold | ./strong |  ./em |  ./i |  ./xref | ./pre | ./text() | ./li| ./sup"/>
            <xsl:for-each select="$matchHTML">
                  
                  <xsl:if test="self::text()">
                        
                        <xsl:if test="$addParagraphTags">
                              <xsl:if test="position()=1">
                                    <xsl:value-of disable-output-escaping="yes" select="'&lt;p&gt;'"/>
                              </xsl:if>
                        </xsl:if>
                        <xsl:variable name="text">
                              <xsl:call-template name="search-and-replace">
                                    <xsl:with-param name="search-string" select="'~~'"/>
                                    <xsl:with-param name="replace-string" select="'*'"/>
                                    <xsl:with-param name="input" select="."/>
                              </xsl:call-template>
                        </xsl:variable>
                        
                        
                                    <xsl:value-of select="$text"/> Here i have added disable but still outputing wrong content.
                        
                        <xsl:if test="$addParagraphTags">
                              <xsl:if test="position()=last()">
                                    <xsl:value-of disable-output-escaping="yes" select="'&lt;/p&gt;'"/>
                              </xsl:if>
                        </xsl:if>
                  </xsl:if>
                  <xsl:if test="self::codeblock">
                        <xsl:apply-templates select="."/>
                  </xsl:if>
                  <xsl:if test="self::ol | self::ul">
                        <xsl:apply-templates select="."/>
                  </xsl:if>
                  <xsl:if test="self::li">
                        <xsl:apply-templates select="."/>
                  </xsl:if>
                  <xsl:if test="self::p">
                        <xsl:apply-templates select="."/>
                  </xsl:if>
                  <xsl:if test="self::b | self::bold | self::strong">
                        <xsl:apply-templates select="."/>
                  </xsl:if>
                  <xsl:if test="self::adobetable">
                        <xsl:apply-templates select="."/>
                  </xsl:if>
                  <xsl:if test="self::adobeimage">
                        <xsl:apply-templates select="."/>
                  </xsl:if>
                  <xsl:if test="self::ph">
                        <xsl:apply-templates select="."/>
                  </xsl:if>
                  <xsl:if test="self::sup">
                        <xsl:apply-templates select="."/>
                  </xsl:if>
                  <xsl:if test="self::em | self::i">
                        <xsl:apply-templates select="."/>
                  </xsl:if>
                  <xsl:if test="self::codeph">
                        <xsl:apply-templates select="."/>
                  </xsl:if>
                  <xsl:if test="self::xref">
                        <xsl:apply-templates select=".">
                              <xsl:with-param name="createLinkFromRootContext" select="$createLinkFromRootContext"/>
                        </xsl:apply-templates>
                  </xsl:if>
                  <xsl:if test="self::pre">
                        <xsl:apply-templates select="."/>
                  </xsl:if>
            </xsl:for-each>
      </xsl:template>
0
 
LVL 60

Expert Comment

by:Geert Bormans
ID: 20333115
Hey,
this template does exactly what you want it to do...
are you looking at the result in a browser?
In a browser of course, a &lt; is shown as a <

cheers

Geert
0
 
LVL 1

Author Comment

by:ShaileshShinde
ID: 20333141
Hello Expert,

In browser it does appearring, but when i look at the source it's appears as '<'.
It should appear as '&lt;' in source, so it will appear in browser '<'

Thanks,
Shailesh
0
 
LVL 60

Accepted Solution

by:
Geert Bormans earned 250 total points
ID: 20333321
If I run your templat on the XML it hows as &lt;
so you must check that you don't haev a character map active
can you show the xsl:output statement
0
 
LVL 1

Author Comment

by:ShaileshShinde
ID: 20333386
Hello Expert,

Yes, character map is active,i have disabled it and output is proper.

Thanks a lot!!
0
 
LVL 60

Expert Comment

by:Geert Bormans
ID: 20333392
welcome
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Simple PHP - search by location postcode/zip code 8 35
website file permissions 4 82
Format results with PHP 3 82
removing a class in javascript 4 70
Preface This article introduces an authentication and authorization system for a website.  It is understood by the author and the project contributors that there is no such thing as a "one size fits all" system.  That being said, there is a certa…
I found this questions asking how to do this in many different forums, so I will describe here how to implement a solution using PHP and AJAX. The logical flow for the problem should be: Write an event handler for the first drop down box to get …
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…
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.

680 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