Solved

input xml contains &lt; out contains <

Posted on 2007-11-21
9
276 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
 
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
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.

 
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

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

Title # Comments Views Activity
VMware virtualization clustering 5 25
error email attachment VB2010 5 32
xml xsd validation free tool to download 10 76
PHP PDO get the error if exists 3 72
Most of the sites are being standardized with W3C Web Standards. W3C provides lot of web standard services to the web. They have the web specification, process and documentation for all the web standards. You can apply HTML, CSS and Accessibility st…
Preface This is the third article about the EE Collaborative Login Project. A Better Website Login System (http://www.experts-exchange.com/A_2902.html) introduces the Login System and shows how to implement a login page. The EE Collaborative Logi…
Viewers will learn about basic arrays, how to declare them, and how to use them. Introduction and definition: Declare an array and cover the syntax of declaring them: Initialize every index in the created array: Example/Features of a basic arr…
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.

920 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