This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

So many unwanted elements in output how to remove?


Hello list
I am new to list and hope i can explain the problem.
I have a html file.
<html>
<head>
<meta name="generator" content="HTML Tidy, see www.w3.org" />
<title>HELLO LIST</title>
</head>
<body bgcolor="#C4C4C4" text="#443481" link="#1111EE">
<p>This is for br tag</p>

<div>The stylesheet is doing some mischief</div>

<div><font size="+1">WHAT IS THE REASON ?</font></div>

<br />
<br />
<br />
<br />
<br />
<br />
<p>Is it not the proper syntax for matching<br />
 tag.</p>

<br />
<br />
</body>
</html>

and an xsl i have written is 

<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
  
<xsl:output omit-xml-declaration="yes"/>

<xsl:template match="/">
<wml>
<card title="wml output">
	<xsl:apply-templates/>
</card>
</wml>
</xsl:template>



(1)<xsl:template match="head"/>


(2)<xsl:template match="body">
	<xsl:apply-templates/>
</xsl:template>

(3)<xsl:template match="p/div | div/div | center/div | font/div">
	<xsl:apply-templates/>
</xsl:template>
   
(4)<xsl:template match="div">
<p><xsl:apply-templates/></p>
</xsl:template>


(5)<xsl:template match="font/p | center/p | div/p | p/p/">
<xsl:apply-templates/>
</xsl:template>     
   
      
(6)<xsl:template match="p">
	<p><xsl:apply-templates/></p>
</xsl:template>


(7)<xsl:template match="p/font | center/font | div/font | font/font">
	<xsl:apply-templates/>
</xsl:template>     

(8)<xsl:template match="font">
<p><xsl:apply-templates/></p>
</xsl:template>

(9)<xsl:template match="font/br | div/br | center/br | p/br ">
	<br/>
</xsl:template>

(10)<xsl:template match="body/text()">
	<p><xsl:apply-templates/></p>
</xsl:template>


</xsl:stylesheet>

numbers are only for ease to explain.

the output i am getting is .
<?xml version="1.0"?><!DOCTYPE wml PUBLIC '-//WAPFORUM//DTD WML
1.2//EN'
  'http://www.wapforum.org/DTD/wml_1.2.xml'><wml><card title="output">

<p/><p>This is for br tag</p><p/><p>The stylesheet is doing some
mischief</p><p/><p>WHAT IS THE REASON
?</p><p/><p/><p/><p/><p/><p/><p/><p>Is it not the proper syntax for
matching<br/>
 tag.</p><p/><p/><p/>
</card></wml>

The problem is it has so many unwanted <p> and </p> .they are because
of (10) perhaps.
But if i remove (10) i am not getting text in output which is not in
side of any tag but body.
how to do that?
and i used this 
<xsl:template match="br[not(preceding-sibling::node()[1][self::br])] |
br[not(preceding-sibling::node()[1][self::a])] |
br[not(preceding-sibling::node()[1][self::li])]">
	<br/>
</xsl:template>
for <br> because i do not want to put <br /> in output if they are just
after <a> or <li> or <br> likr <br/><br/><br/> <br/> <br/> .so in place
of that many <br/> put only one <br/> for first one then ignore.but it
is not working syntactically incorrect? or logically?

abradoom
-- 
http://fastmail.fm/ - Consolidate POP email and Hotmail in one place

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]