Solved

input xml contains &lt; out contains <

Posted on 2007-11-21
9
275 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
Comment Utility
are you using a character class
or do you have disable-output-escaping set to true?
0
 
LVL 1

Author Comment

by:ShaileshShinde
Comment Utility
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
Comment Utility
Can you show me the template that does this?
0
 
LVL 1

Author Comment

by:ShaileshShinde
Comment Utility
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
Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

 
LVL 60

Expert Comment

by:Geert Bormans
Comment Utility
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
Comment Utility
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
Comment Utility
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
Comment Utility
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
Comment Utility
welcome
0

Featured Post

Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

Join & Write a Comment

This article covers the basics of the Sass, which is a CSS extension language. You will learn about variables, mixins, and nesting.
SASS allows you to treat your CSS code in a more OOP way. Let's have a look on how you can structure your code in order for it to be easily maintained and reused.
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

772 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

12 Experts available now in Live!

Get 1:1 Help Now