Solved

input xml contains &lt; out contains <

Posted on 2007-11-21
9
287 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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
Independent Software Vendors: 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

Enroll in May's Course of the Month

May’s Course of the Month is now available! Experts Exchange’s Premium Members and Team Accounts have access to a complimentary course each month as part of their membership—an extra way to increase training and boost professional development.

Question has a verified solution.

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

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…
There are two main kinds of selectors in CSS: One is base selector like h1, h2, body, table or any existing HTML tags.  For instance, the following rule sets all paragraphs (<p> elements) to red: (CODE) CSS also allows us to define our own custom …
HTML5 has deprecated a few of the older ways of showing media as well as offering up a new way to create games and animations. Audio, video, and canvas are just a few of the adjustments made between XHTML and HTML5. As we learned in our last micr…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)

751 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