[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Missing "BR" Tags XSLT


xslt br
Hi All,

I know this probably isn't the best forum for this, although, I would 
love to hear how the processor handles this, anyway, here's my question.

I have an XSLT that is transforming some data into HTML.  I am trying to 
generate some HTML code in a template, but for some reason, the BR tags
are not being added to the result.  Strangely enough, if I do this in the 
XSLT in a literal way, it works just fine.  I'm checking these out in the 
IE and Netscape browsers, and I get the same results for both, so I'm 
pretty sure it's not a bug.

Here is an example of the code.  I tried to make it as accurate to what 
I was doing as possible, so it is a touch verbose (sorry about that, but 
it might be pertinent).  I have also attached the 2 example files:


<!--                  XML DATA               -->
<!--            Saved as MyBRProb.xml        -->
<?xml version="1.0"?>
<?xml-stylesheet type='text/xsl' href='MyBRProb.xsl'?>
<prb xmlns="www.MyBRProblem.org">
	<issue id="01">
		<description>
			<problem-area>
				<entry id="1">
					<date>01/01/2001 12:00:00 AM</date>
					<text>A BR problem for this "thing"</text>
				</entry>
				<entry id="2">
					<person ref-id="01"/>
					<date>01/01/2001 12:00:01 AM</date>
					<text>More problems</text>
				</entry>
			</problem-area>
		</description>
	</issue>
	<person-info>
		<person id="01">
			<first>Christopher</first>
			<last>Strolia-Davis</last>
		</person>
	</person-info>
</prb>


<!-- ************************************************************ -->


<!--                  XSL SHEET              -->
<!--            Saved as MyBRProb.xml        -->


<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" 
	        xmlns:prb="www.MyBRProblem.org">
	<xsl:output method="html"/>
	<!--
		PAGE
	-->
	<xsl:template match="/">
		<xsl:element name="html">
			<xsl:element name="head">
				<xsl:element name="meta">
					<xsl:attribute name="http-equiv">Content-Type</xsl:attribute>
					<xsl:attribute name="content">text/html; charset=iso-8859-1</xsl:attribute>
				</xsl:element>
				<xsl:element name="title">
					<xsl:text>Test BR problem</xsl:text>
				</xsl:element>
			</xsl:element>
			<xsl:element name="body">
				<xsl:element name="div">
					<xsl:call-template name="page-body"/>
				</xsl:element>
			</xsl:element>
		</xsl:element>
	</xsl:template>

	<!--
		PAGE-BODY
	-->
	<xsl:template name="page-body">
		<xsl:element name="table">
			<xsl:attribute name="cellspacing">2</xsl:attribute>
			<xsl:attribute name="cellpadding">2</xsl:attribute>
			<xsl:attribute name="width">100%</xsl:attribute>
			<xsl:attribute name="class">Container</xsl:attribute>
			<xsl:attribute name="summary">A table that contains sections, one of which is having a BR tag problem</xsl:attribute>
			<xsl:element name="tbody">
				<xsl:apply-templates select="prb:prb/prb:issue/prb:description"/>
			</xsl:element>
		</xsl:element>
	</xsl:template>

	<!--                    
		DESCRIPTION-SECTION
	-->

	<xsl:template match="prb:description">
		<!--
			Problem Area
		-->
		<xsl:call-template name="data-row">
			<xsl:with-param name="row-title">Problem Area</xsl:with-param>
			<xsl:with-param name="row-value">
				<xsl:apply-templates select="prb:problem-area/prb:entry" mode="blob-multi"/>
			</xsl:with-param>
		</xsl:call-template>

		<!-- THIS CODE SEEMS TO WORK FOR SOME REASON, BUT THE TEMPLATE -->
		<!-- WHICH IS SUPPOSED TO CRANK OUT THE SAME OUTPUT DOESN'T    -->
		<!-- SEEM TO WORK                                              -->
		<xsl:element name="tr">
			<xsl:element name="th" use-attribute-sets="field-row-header">
				<xsl:text>Problem Area</xsl:text>
			</xsl:element>
			<xsl:element name="td">
				<xsl:attribute name="class">field-data</xsl:attribute>
				<xsl:text>A BR problem for this &quot;thing&quot;</xsl:text>
				<xsl:element name="br"/>
				<xsl:text>---------------------------------------------</xsl:text>
				<xsl:element name="br"/>
				<xsl:text>Christopher Strolia-Davis on 01/01/2001 12:00:01 AM EDT</xsl:text>
				<xsl:element name="br"/>
				<xsl:text>More problems</xsl:text>
			</xsl:element>
		</xsl:element>
	</xsl:template>

	<!--         
		DATA-ROW-TEMPLATE
	-->
	<xsl:template name="data-row">
		<xsl:param name="row-title"/>
		<xsl:param name="row-value"/>
		<xsl:element name="tr">
			<xsl:element name="th" use-attribute-sets="field-row-header">
				<xsl:value-of select="$row-title"/>
			</xsl:element>
			<xsl:element name="td">
				<xsl:attribute name="class">field-data</xsl:attribute>
				<xsl:value-of select="$row-value"/>
			</xsl:element>
		</xsl:element>
	</xsl:template>

	<!--                   
		PERSON-NAME-TEMPLATES
	-->
	<xsl:template match="@ref-id" mode="get-name">
		<xsl:variable name="person-id" select="."/>
		<xsl:value-of select="/prb:prb/prb:person-info/prb:person[@id=$person-id]/prb:first"/>
		<xsl:apply-templates select="/prb:prb/prb:person-info/prb:person[@id=$person-id]/prb:last" mode="r-name"/>
		<xsl:apply-templates select="/prb:prb/prb:person-info/prb:person[@id=$person-id]/prb:mi" mode="r-name"/>
	</xsl:template>
	<xsl:template match="prb:last|prb:mi" mode="r-name">
		<xsl:text> </xsl:text>
		<xsl:value-of select="."/>
	</xsl:template>


	<!--   HERE IS THE MAIN PROBLEM CODE I AM HAVING -->

	<!--
		BLOB-TEXT-MULTIPLE-ENTRY-TEMPLATE
	-->
	<xsl:template match="prb:entry" mode="blob-multi">
		<xsl:if test="position()&gt;1">
			<br/>
			<xsl:text>---------------------------------------------</xsl:text>
			<xsl:element name="br"/>
			<xsl:apply-templates select="prb:person/@ref-id" mode="get-name"/>
			<xsl:text> on </xsl:text>
			<xsl:value-of select="prb:date"/>
			<xsl:text> EDT</xsl:text>
			<xsl:element name="br"/>
		</xsl:if>
		<xsl:value-of select="prb:text"/>
	</xsl:template>	
</xsl:stylesheet>



<!-- ************************************************************ -->


Thanks in advance for any help.

Chris Strolia-Davis
Database Specialist
Contractor - CDO Technologies Inc.


MyBRProb.xsl

MyBRProb.xml


PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.