You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by Bill Humphries <Bi...@2roam.com> on 2000/01/25 02:44:14 UTC

BUG REPORT: Inconsistent Behavior Xalan v. XT and ODI Stylus

I am doing stylesheet development for deployment using Xalan, but using
ODI's Stylus to develop the stylesheets. The source documents are HTML
sanitized using HTMLTidy into XHTML.

Xalan is 19.2, Xerces is 1.0.1, platform is NT 4, Sp6, Java is 1.2.2 native
threads, Symantec JIT

XT and Stylus are releases advertised as compliant with the W3
Recommendation for XSLT.

The problem is that Xalan and XT/Stylus interpret the same XPATH statement
differently:

<xsl:apply-templates select="//a[starts-with(@href,"some pattern")]/b"/>

My understanding from XT and Stylus' behavior is that this creates a node
set of all the 'a' elements in the document whose href attributes start with
the string 'some pattern' that have as a child a 'b' element..

On a test document where a collection of 'a's are nested an arbitrary number
of levels deep, the stylesheet works in Xalan, XT, and Stylus.

In production grade input, the pattern works in XT and Stylus, but not in
Xalan. I'm running Xalan from the command prompt with debug switches.

Given that XT and Stylus are consistent, I wanted to pass this along to your
group to see if this is an issue in Xalan. The input document production.xml
is not trivial.

I'm appending output for the test cases that work and the production case
which fails in Xalan but works in XT and stylus. Please contact me if you
need any other information.

-- Bill Humphries <bi...@2roam.com>

### Xalan Output for test data

java org.apache.xalan.xslt.Process -IN test.xml -XSL bug.xsl -TS
Invalid option: -TS
========= Parsing file:D:/XSL/bug.xsl ==========
Parse of file:D:/XSL/bug.xsl took 941 milliseconds
========= Parsing test.xml ==========
Parse of test.xml took 111 milliseconds
=============================
Transforming...
Line #3, Column #49: xsl:apply-templates, select='node()': 
     org.apache.xalan.xpath.dtm.DTMProxy@9c1cb85b
Line #10, Column #41: xsl:value-of, select='./head/title': 
     org.apache.xalan.xpath.dtm.DTMProxy@f018b854
Line #13, Column #40: xsl:apply-templates, select='body': 
     org.apache.xalan.xpath.dtm.DTMProxy@f09cb854
Line #30, Column #65: xsl:apply-templates,
select='//a[starts-with(@href,'/E/E')]': 
     org.apache.xalan.xpath.dtm.DTMProxy@ee68b854
     org.apache.xalan.xpath.dtm.DTMProxy@e9a4b854
     org.apache.xalan.xpath.dtm.DTMProxy@e854b854
     org.apache.xalan.xpath.dtm.DTMProxy@eb40b854
Line #3, Column #49: xsl:apply-templates, select='node()': 
     org.apache.xalan.xpath.dtm.DTMProxy@ea84b854
     org.apache.xalan.xpath.dtm.DTMProxy@d5e4b854
     org.apache.xalan.xpath.dtm.DTMProxy@d598b854
XSL Warning: Specificity conflicts found: "text()", "text()|@*" Last found
in stylesheet will be used.
Line #46, Column #53: xsl:value-of, select='.': Event Title
Line #51, Column #69: xsl:for-each,
select='../../following-sibling::span[position()=1]': 
     org.apache.xalan.xpath.dtm.DTMProxy@d378b854
Line #54, Column #31: xsl:value-of, select='.': 
				Event Description
			
XSL Warning: Specificity conflicts found: "text()", "text()|@*" Last found
in stylesheet will be used.
Line #3, Column #49: xsl:apply-templates, select='node()': 
     org.apache.xalan.xpath.dtm.DTMProxy@de70b854
     org.apache.xalan.xpath.dtm.DTMProxy@de38b854
     org.apache.xalan.xpath.dtm.DTMProxy@de3cb854
XSL Warning: Specificity conflicts found: "text()", "text()|@*" Last found
in stylesheet will be used.
Line #46, Column #53: xsl:value-of, select='.': Event Title
Line #51, Column #69: xsl:for-each,
select='../../following-sibling::span[position()=1]': 
     org.apache.xalan.xpath.dtm.DTMProxy@dabcb854
Line #54, Column #31: xsl:value-of, select='.': 
				Event Description
			
XSL Warning: Specificity conflicts found: "text()", "text()|@*" Last found
in stylesheet will be used.
Line #3, Column #49: xsl:apply-templates, select='node()': 
     org.apache.xalan.xpath.dtm.DTMProxy@c114b854
     org.apache.xalan.xpath.dtm.DTMProxy@c6dcb854
     org.apache.xalan.xpath.dtm.DTMProxy@c6d0b854
XSL Warning: Specificity conflicts found: "text()", "text()|@*" Last found
in stylesheet will be used.
Line #46, Column #53: xsl:value-of, select='.': Event Title
Line #51, Column #69: xsl:for-each,
select='../../following-sibling::span[position()=1]': 
     org.apache.xalan.xpath.dtm.DTMProxy@c2ecb854
Line #54, Column #31: xsl:value-of, select='.': 
				Event Description
			
XSL Warning: Specificity conflicts found: "text()", "text()|@*" Last found
in stylesheet will be used.
Line #3, Column #49: xsl:apply-templates, select='node()': 
     org.apache.xalan.xpath.dtm.DTMProxy@c9acb854
     org.apache.xalan.xpath.dtm.DTMProxy@c974b854
     org.apache.xalan.xpath.dtm.DTMProxy@c968b854
XSL Warning: Specificity conflicts found: "text()", "text()|@*" Last found
in stylesheet will be used.
Line #46, Column #53: xsl:value-of, select='.': Event Title
Line #51, Column #69: xsl:for-each,
select='../../following-sibling::span[position()=1]': 
     org.apache.xalan.xpath.dtm.DTMProxy@b538b854
Line #54, Column #31: xsl:value-of, select='.': 
				Event Description
			
XSL Warning: Specificity conflicts found: "text()", "text()|@*" Last found
in stylesheet will be used.
<?xml version="1.0" encoding="UTF-8"?>
<top><title>Document Title</title><main><group class="1"
name="highlights"><atomic name="highlights"><b>This Week's
Best</b></atomic><group class="1" name="highlight"><event class="1"
name="name"><a href="/E/E/SJOCA/0000/12/87/cs1.html"><b>Event
Title</b></a></event><atomic class="2" name="description"><span class="">
				Event Description
			</span></atomic></group><group class="1"
name="highlight"><event class="1" name="name"><a
href="/E/E/SJOCA/0000/12/87/cs1.html"><b>Event Title</b></a></event><atomic
class="2" name="description"><span class="">
				Event Description
			</span></atomic></group><group class="1"
name="highlight"><event class="1" name="name"><a
href="/E/E/SJOCA/0000/12/87/cs1.html"><b>Event Title</b></a></event><atomic
class="2" name="description"><span class="">
				Event Description
			</span></atomic></group><group class="1"
name="highlight"><event class="1" name="name"><a
href="/E/E/SJOCA/0000/12/87/cs1.html"><b>Event Title</b></a></event><atomic
class="2" name="description"><span class="">
				Event Description
	
</span></atomic></group></group></main></top>transform took 570 milliseconds
XSLProcessor: done

### Xalan Output for production case

java org.apache.xalan.xslt.Process -IN production.xml -XSL bug.xsl -TS
Invalid option: -TS
========= Parsing file:D:/XSL/bug.xsl ==========
Parse of file:D:/XSL/bug.xsl took 942 milliseconds
========= Parsing production.xml ==========
Parse of production.xml took 370 milliseconds
=============================
Transforming...
Line #3, Column #49: xsl:apply-templates, select='node()': 
     org.apache.xalan.xpath.dtm.DTMProxy@fac1b88f
Line #10, Column #41: xsl:value-of, select='./head/title': 
     org.apache.xalan.xpath.dtm.DTMProxy@e7f1b88f
Line #13, Column #40: xsl:apply-templates, select='body': 
     org.apache.xalan.xpath.dtm.DTMProxy@e67db88f
Line #30, Column #65: xsl:apply-templates,
select='//a[starts-with(@href,'/E/E')]': 
     [empty node list]
<?xml version="1.0" encoding="UTF-8"?>
<top><title>The Arts</title><main><group class="1" name="highlights"><atomic
name="highlights"><b>This Week's
Best</b></atomic></group></main></top>transform took 251 milliseconds
XSLProcessor: done


### bug.xsl

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="*|/"><xsl:apply-templates/></xsl:template>

<xsl:template match="text()|@*"><xsl:value-of select="."/></xsl:template>

<xsl:template match="html">	
	<top>
		<title>
			<xsl:value-of select="./head/title"/>
		</title>	
		<main>
			<xsl:apply-templates select="body"/>
		</main>
	</top>
</xsl:template>

<!--
	Body Template
-->

<xsl:template match="body">	
	<group name="highlights" class="1">
		<atomic name="highlights">
			<b>This Week's Best</b>
		</atomic>
		<!--
			Match the featured reviews
		-->
		<xsl:apply-templates
select="//a[starts-with(@href,'/E/E')]"/>
	</group>
	</xsl:template>

<!--
	Template for Matching Highlighted Events

	Review titles have this format: <a href="..."><b>Title</b></a>
	requiring us to use a funky template match and backtracking
	to extract the link
	
-->

<xsl:template match="//a[starts-with(@href,'/E/E') and
contains(@href,'cs1.html')]/b">
<group name="highlight" class="1">
	<event name="name" class="1">
		<a href="{../@href}"><b><xsl:value-of select="."/></b></a>
	</event>
	<!--
		Now extract the description
	-->
	<xsl:for-each select="../../following-sibling::span[position()=1]">
		<atomic name="description" class="2">
			<span class="{@class}">
				<xsl:value-of select="."/>
			</span>
		</atomic>
	</xsl:for-each>
</group>
</xsl:template>

<xsl:template match="text()"/>

</xsl:stylesheet>

### test.xml 

<html>
   <head>
      <title>Document Title</title>
   </head>
   <body>
		<bar>
      <foo>
			<span>
         <a href="/E/E/SJOCA/0000/12/87/cs1.html">
            <b>Event Title</b>
         </a>
			</span>
			<span>
				Event Description
			</span>
			<span>
         <a href="/E/E/SJOCA/0000/12/87/cs1.html">
            <b>Event Title</b>
         </a>
			</span>
			<span>
				Event Description
			</span>
			<span>
         <a href="/E/E/SJOCA/0000/12/87/cs1.html">
            <b>Event Title</b>
         </a>
			</span>
			<span>
				Event Description
			</span>
			<span>
         <a href="/E/E/SJOCA/0000/12/87/cs1.html">
            <b>Event Title</b>
         </a>
			</span>
			<span>
				Event Description
			</span>
      </foo>
		</bar>
   </body>
</html>

### production.xml

<?xml version="1.0"?>
<html>
<head>
<title>The Arts</title>
</head>
<body text="#000000" link="#333399" vlink="#336600" alink="#FF0000"
bgcolor="#FFFFFF">

<script type="text/javascript" language="javascript"
src="http://a1992.g.akamai.net/7/1992/33/00cd57f99c65d4/portland.farblebarg.
com/Portland/System/topbars/cstopbars2/topbar.js">
</script>

<script type="text/javascript" language="javascript"
src="http://a1992.g.akamai.net/7/1992/33/37058170b72516/portland.farblebarg.
com/Portland/System/topbars/msntopbars/topbar.js">
</script>


<div class="c28">


 



 



<a
href="http://portland.farblebarg.com/RealMedia/ads/click_lx.ads/pdxor/Tree/U
IT_00001355/14509/Left/default/empty.gif/64383730363935653338383930303130"
target="_top"><img
src="http://portland.farblebarg.com/RealMedia/ads/adstream_lx.ads/pdxor/Tree
/UIT_00001355/14509/Left/default/empty.gif/64383730363935653338383930303130"
width="2" height="2" alt="" border="0" /></a>
<script type="text/javascript" language="javascript">
if(supported){
    if(home.indexOf("sidewalk")==-1||home.indexOf("msn")==-1){
        document.write(comment_start)
    }
}
</script>

--&gt; 



 

<script type="text/javascript" language="javascript">
if(supported){
    if(home.indexOf("sidewalk")>=0||home.indexOf("msn")==-1){
        document.write(subcs)
    }
    if(home.indexOf("msn")>=0){
        document.write(comment_start)
    }
}
</script>

<a
href="http://portland.farblebarg.com/RealMedia/ads/click_lx.ads/pdxor/Tree/U
IT_00001355/22263/TopLeft/xpdxor_2_news/pdxorsection1.gif/643837303639356533
38383930303130" target="_top"><img
src="http://portland.farblebarg.com/RealMedia/ads/adstream_lx.ads/pdxor/Tree
/UIT_00001355/22263/TopLeft/xpdxor_2_news/pdxorsection1.gif/6438373036393565
3338383930303130" alt="" border="0" /></a>
<script type="text/javascript" language="javascript">
if(supported){
    if(home.indexOf("sidewalk")>=0||home.indexOf("msn")==-1){
        document.write(comment_start)
    }
}
</script>

--&gt; 



<table width="615" bgcolor="ffffff" cellpadding="0" cellspacing="0"
border="0">
<tr valign="top" class="c1">
<td><img
src="http://a1992.g.akamai.net/7/1992/33/5472601571f31e/portland.farblebarg.
com/img/trans.gif" width="8" height="6" border="0" /></td>
<td rowspan="3" bgcolor="ffffff" align="right" valign="middle"><a
href="http://ads.tmcs.net/click.ng/site=cs&amp;pagepos=6&amp;size=160x30&amp
;spacedesc=homeportfolio"><img
src="http://ads.tmcs.net/image.ng/site=cs&amp;pagepos=6&amp;size=160x30&amp;
spacedesc=homeportfolio" border="0" width="160" height="30" /></a><img
src="http://a1992.g.akamai.net/7/1992/33/5472601571f31e/portland.farblebarg.
com/img/trans.gif" width="3" height="2" border="0" /></td>
</tr>

<tr valign="top" class="c1">
<td><img
src="http://a1992.g.akamai.net/7/1992/33/5472601571f31e/portland.farblebarg.
com/img/trans.gif" width="8" height="4" border="0" /><span class="c2">The
Arts</span></td>
</tr>

<tr valign="top" class="c1">
<td><img
src="http://a1992.g.akamai.net/7/1992/33/5472601571f31e/portland.farblebarg.
com/img/trans.gif" width="8" height="6" border="0" /></td>
</tr>
</table>

<table class="c11">
<tr valign="top" class="c1">
<td align="left" valign="top">
<table cellpadding="0" cellspacing="0" border="0" width="100%"
bgcolor="000066">
<tr>
<td>&#160;</td>
<td><span class="c3"><b>Friday</b>&#160; 1/21/00</span><br />
</td>
</tr>

<tr>
<td colspan="2" bgcolor="#ffffff"><img
src="http://a1992.g.akamai.net/7/1992/33/5472601571f31e/portland.farblebarg.
com/img/trans.gif" width="7" height="4" /></td>
</tr>
</table>

<table cellpadding="0" cellspacing="0" border="0" bgcolor="cccccc"
width="100%">
<tr valign="top" class="c1">
<td rowspan="2">&#160;</td>
<td>&#160;</td>
</tr>

<tr>
<td><span class="c5"><b><a href="/page/uit?_uit_id=UIT_00001380">Art
Openings</a></b> <span class="c4">(26)</span><br />
<b><a href="/page/uit?_uit_id=UIT_00001362">Kid-Friendly Arts</a></b> <span
class="c4">(46)</span><br />
<b><a href="/page/uit?_uit_id=UIT_00001379">Lectures, Talks</a></b> <span
class="c4">(16)</span><br />
<b><a href="/page/uit?_uit_id=UIT_00001347">Readings, Signings</a></b> <span
class="c4">(11)</span><br />
</span>
<p class="c6"> <b><a
href="/page/uit?_uit_id=UIT_00001343">Bookstores</a></b> <span
class="c4">(81)</span><br />
<b><a href="/page/uit?_uit_id=UIT_00002135">Libraries</a></b> <span
class="c4">(16)</span><br />
<b><a href="/page/uit?_uit_id=UIT_00001346">Magazines, Specialty
Books</a></b> <span class="c4">(66)</span><br />
<b><a href="/page/uit?_uit_id=UIT_00002156">Museums</a></b> <span
class="c4">(32)</span><br />
<b><a href="/page/uit?_uit_id=UIT_00002071">Used Books</a></b> <span
class="c4">(30)</span><br />
</p>

<p class="c6"> <b><a href="/page/uit?_uit_id=UIT_00002274">Dance</a></b>
<span class="c4">(49)</span><br />
<b><a href="/page/uit?_uit_id=UIT_00001391">Installation Art</a></b> <span
class="c4">(19)</span><br />
<b><a href="/page/uit?_uit_id=UIT_00001510">Opera</a></b> <span
class="c4">(11)</span><br />
<b><a href="/page/uit?_uit_id=UIT_00001366">Performance Art</a></b> <span
class="c4">(31)</span><br />
<b><a href="/page/uit?_uit_id=UIT_00001512">Theater</a></b> <span
class="c4">(121)</span><br />
</p>

<p class="c6"> <b><a href="/page/uit?_uit_id=UIT_00001384">Ceramics,
Glass</a></b> <span class="c4">(17)</span><br />
<b><a href="/page/uit?_uit_id=UIT_00001392">Painting, Drawing</a></b> <span
class="c4">(42)</span><br />
<b><a href="/page/uit?_uit_id=UIT_00001394">Photography, Video</a></b> <span
class="c4">(19)</span><br />
<b><a href="/page/uit?_uit_id=UIT_00001386">Printmaking, Design</a></b>
<span class="c4">(19)</span><br />
<b><a href="/page/uit?_uit_id=UIT_00002174">Sculpture, 3-D Media</a></b>
<span class="c4">(22)</span><br />
</p>

<p class="c6"> <b><a href="/page/uit?_uit_id=UIT_00001354">Groups</a></b>
<span class="c4">(64)</span><br />
<b><a href="/page/uit?_uit_id=UIT_00001369">Studios</a></b> <span
class="c4">(9)</span><br />
<b><a href="/page/uit?_uit_id=UIT_00002155">Workshops</a></b> <span
class="c4">(33)</span><br />
</p>

<p><span class="c5"></span> <span class="c5"><a
href="/page/gen?context_id=UIT_00001355&amp;_template=search%2Fresult_list.h
tml&amp;page_size=20&amp;entity_type=movie" class="c7">All Movies</a> <span
class="c4">(1)</span><br />
<a
href="/page/gen?context_id=UIT_00001355&amp;_template=search%2Fresult_list.h
tml&amp;page_size=20&amp;entity_type=event" class="c7">All Events</a> <span
class="c4">(117)</span><br />
<a
href="/page/gen?context_id=UIT_00001355&amp;_template=search%2Fresult_list.h
tml&amp;page_size=20&amp;entity_type=location" class="c7">All Locations</a>
<span class="c4">(381)</span><br />
<a
href="/page/gen?context_id=UIT_00001355&amp;_template=search%2Fresult_list.h
tml&amp;page_size=20&amp;entity_type=group" class="c7">All Groups</a> <span
class="c4">(50)</span><br />
<a
href="/page/gen?context_id=UIT_00001355&amp;_template=search%2Fresult_list.h
tml&amp;page_size=20&amp;entity_type=feature" class="c7">All Features</a>
<span class="c4">(12)</span><br />
<br />
</span> 

<script type="text/javascript" language="JavaScript">
<!--

function saveSmart(url){
popup=window.open(url,"save_smart","toolbar=no,scrollbars=yes,resizable=yes,
location=no,menubar=0,width=500,height=400");

}

//-->


</script>

</p>

<table border="0" width="100%" cellspacing="0" cellpadding="3"
bgcolor="CCCCCC">
<tr>
<td align="left" valign="top">
<hr noshade="noshade" />
<img
src="http://a1992.g.akamai.net/7/1992/33/5472601571f31e/portland.farblebarg.
com/img/trans.gif" width="2" height="4" /><br />
<a href="http://offers.farblebarg.com/"><img
src="http://a1992.g.akamai.net/7/1992/33/1462caf925fe01/portland.farblebarg.
com/img/csoffprio.gif" width="125" height="19" border="0" /></a><br />
<span class="c8">Search on the Web. Save on the Town!</span><br />
<img
src="http://a1992.g.akamai.net/7/1992/33/5472601571f31e/portland.farblebarg.
com/img/trans.gif" width="1" height="4" /><br />
<span class="c9"><a
href="javascript:saveSmart('http://savings.farblebargoffers.com/PB')">Join
Now</a> and get cash back at hundreds of shops, hotels and restaurants.<br
/>
<img
src="http://a1992.g.akamai.net/7/1992/33/5472601571f31e/portland.farblebarg.
com/img/trans.gif" width="2" height="4" /></span><br />
<a
href="/page/gen?services=discount_program&amp;context_id=UIT_00001355&amp;_t
emplate=%2Fsearch%2Fresult_list.html"><img
src="http://a1992.g.akamai.net/7/1992/33/def3e8a5920d9a/portland.farblebarg.
com/img/prio.gif" width="114" height="21" border="0" /></a><br />
<img
src="http://a1992.g.akamai.net/7/1992/33/5472601571f31e/portland.farblebarg.
com/img/trans.gif" width="2" height="4" /><br />
<span class="c9"><a
href="/page/gen?services=discount_program&amp;context_id=UIT_00001355&amp;_t
emplate=%2Fsearch%2Fresult_list.html">Show me all local offers now.</a><br
/>
 <img
src="http://a1992.g.akamai.net/7/1992/33/5472601571f31e/portland.farblebarg.
com/img/trans.gif" width="2" height="4" /></span><br />
<span class="c9"><a href="http://offers.farblebarg.com/">Show me offers in
cities across the country</a><br />
 <img
src="http://a1992.g.akamai.net/7/1992/33/5472601571f31e/portland.farblebarg.
com/img/trans.gif" width="2" height="4" /></span><br />
<img
src="http://a1992.g.akamai.net/7/1992/33/5472601571f31e/portland.farblebarg.
com/img/trans.gif" width="2" height="4" /><br />
</td>
</tr>
</table>
</td>
</tr>
</table>

<div class="c10">&#160;

<p><span class="c9">elsewhere on farblebarg</span><br />
<a
href="http://portland.farblebarg.com/RealMedia/ads/click_lx.ads/pdxor/Tree/U
IT_00001355/11611/Top3/mpdxor_923424939/923424939.gif/6438373036393565333838
3930303130" target="_top"><img
src="http://portland.farblebarg.com/RealMedia/ads/adstream_lx.ads/pdxor/Tree
/UIT_00001355/11611/Top3/mpdxor_923424939/923424939.gif/64383730363935653338
383930303130" alt="" border="0" width="120" height="50" /></a></p>

<p><a
href="http://portland.farblebarg.com/RealMedia/ads/click_lx.ads/pdxor/Tree/U
IT_00001355/20049/Top2/mpdxor_match/Match_mini_21.gif/6438373036393565333838
3930303130" target="_top"><img
src="http://portland.farblebarg.com/RealMedia/ads/adstream_lx.ads/pdxor/Tree
/UIT_00001355/20049/Top2/mpdxor_match/Match_mini_21.gif/64383730363935653338
383930303130" alt="" border="0" width="120" height="50" /></a></p>
</div>
</td>
<td><img
src="http://a1992.g.akamai.net/7/1992/33/5472601571f31e/portland.farblebarg.
com/img/trans.gif" width="7" height="2" border="0" /></td>
</tr>
</table>

<table cellpadding="0" cellspacing="0" width="292" border="0" class="c11">
<tr>
<td align="top" valign="left">
<table border="0" cellspacing="0" cellpadding="0" bgcolor="ffffff"
width="100%">
<tr>
<td width="210" align="left" valign="middle" bgcolor="000066"><span
class="c12">&#160;<b>highlights</b></span></td>
<td align="right" valign="top" bgcolor="000066"><img
src="http://a1992.g.akamai.net/7/1992/33/d083fbd2a5c14e/portland.farblebarg.
com/img/our_pick.gif" width="95" height="16" /></td>
</tr>

<tr>
<td colspan="2" bgcolor="#ffffff"><img
src="http://a1992.g.akamai.net/7/1992/33/5472601571f31e/portland.farblebarg.
com/img/trans.gif" width="7" height="4" /></td>
</tr>

<tr>
<td align="left" valign="top" colspan="2">
<table border="0" cellspacing="0" cellpadding="0" width="130" class="c11">
<tr>
<td align="left" valign="top"><a href="/E/E/PDXOR/0001/65/62/cs1.html"><img
src="http://a1992.g.akamai.net/7/1992/33/6264b3f6bcad6a/portland.farblebarg.
com/E/E/PDXOR/0001/65/62/Media10540.jpg" width="130" height="130" border="0"
hspace="2" vspace="2" /></a><br />
</td>
<td align="left" valign="top">&#160;</td>
</tr>

<tr>
<td align="left" valign="top" colspan="2"><span class="c13">Jami Chatalas,
David Ivers</span><br />
</td>
</tr>
</table>

<span class="c14"><a href="/E/E/PDXOR/0001/65/62/cs1.html"><b>Bus
Stop</b></a></span> <span class="c15">A lovesick cowboy tries to lasso
himself a woman in Elizabeth Huddle's swan song.</span> <span
class="c16"><br />
<span class="c16">(Newmark Theatre, 01/20-02/12)<a
href="http://events.ticketmaster.com/cgi/outsider.plx?FRAMES=NO&amp;CAMEFROM
=farblebarg-&amp;GOTO=/cgi/cs/by_market.idc?market=PORTLAND&amp;searchname=B
US_STOP"><img
src="http://a1992.g.akamai.net/7/1992/33/e31223b4ed50b6/portland.farblebarg.
com/img/ticket_link.gif" width="66" height="16" border="0" hspace="5"
align="texttop" /></a></span><br />
</span></td>
</tr>

<tr>
<td align="left" valign="top" colspan="2"><img
src="http://a1992.g.akamai.net/7/1992/33/5472601571f31e/portland.farblebarg.
com/img/trans.gif" width="2" height="10" border="0" /><br />
</td>
</tr>
</table>

<img
src="http://a1992.g.akamai.net/7/1992/33/57ab29b5f6aecf/portland.farblebarg.
com/img/recommended.gif" width="14" height="14" align="texttop" /><span
class="c17"><a href="/E/E/PDXOR/0001/54/11/cs1.html"><b>A Raisin in the
Sun</b></a><br />
</span> <span class="c15">Acclaimed playwright Lorraine Hansberry's "A
Raisin in the Sun" revolves around the struggles of the Younger family, who
have conflicting plans and dreams for the future.</span> <span
class="c16"><br />
(Artists Repertory Theatre, 01/11-02/20)</span> 

<p> </p>

<form method="POST" target="emailed" action="/page/gen" name="emailed"
onsubmit="makePopup();return"><br />
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top" width="100%"><img
src="http://a1992.g.akamai.net/7/1992/33/5472601571f31e/portland.farblebarg.
com/img/trans.gif" width="2" height="4" border="0" /><br />
</td>
</tr>

<tr>
<td align="left" valign="top"><img
src="http://a1992.g.akamai.net/7/1992/33/5472601571f31e/portland.farblebarg.
com/img/trans.gif" width="2" height="4" border="0" /><br />
</td>
</tr>

<tr>
<td align="left" valign="top"><input type="image"
src="http://a1992.g.akamai.net/7/1992/33/281e76059b1d28/portland.farblebarg.
com/img/emailed.gif" border="0" width="117" height="19" alt="email the
editor" name="Email the Editor" /><input type="hidden" name="_template"
value="/uit/sub/emailed_sub.html" /></td>
</tr>
</table>
</form>
</td>
<td><img
src="http://a1992.g.akamai.net/7/1992/33/5472601571f31e/portland.farblebarg.
com/img/trans.gif" width="9" height="2" border="0" /></td>
</tr>
</table>

<table cellpadding="0" cellspacing="0" width="172" border="0" class="c11">
<tr>
<td width="172">
<table border="0" cellpadding="1" cellspacing="0" bgcolor="#003366"
width="100%">
<tr>
<td align="left" valign="top">
<table border="0" cellpadding="2" cellspacing="0" width="100%">
<tr>
<td colspan="8" align="left" valign="bottom" bgcolor="000066"
class="c18">&#160;<b>events</b> finder</td>
</tr>

<tr>
<td colspan="8" align="center" valign="bottom" bgcolor="cccccc">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="bottom"><img
src="http://a1992.g.akamai.net/7/1992/33/a0ba1bf4bfe45c/portland.farblebarg.
com/img/arrow_left_inactive.gif" width="11" height="11" border="0" /></td>
<td align="center" valign="bottom" class="c19">January</td>
<td align="right" valign="bottom"><a
href="/page/gen?_template=calendar/calendar_results.html&amp;start_day=30&am
p;start_month=Jan&amp;start_year=2000&amp;end_day=5&amp;end_month=Feb&amp;en
d_year=2000&amp;month=2/2000&amp;context_id=UIT_00001355"><img
src="http://a1992.g.akamai.net/7/1992/33/798903058f13a5/portland.farblebarg.
com/img/arrow_right.gif" width="11" height="11" border="0" /></a></td>
</tr>
</table>
</td>
</tr>

<tr>
<td align="center" bgcolor="ffffff" class="c20">Su</td>
<td align="center" bgcolor="ffffff" class="c20">Mo</td>
<td align="center" bgcolor="ffffff" class="c20">Tu</td>
<td align="center" bgcolor="ffffff" class="c20">We</td>
<td align="center" bgcolor="ffffff" class="c20">Th</td>
<td align="center" bgcolor="ffffff" class="c20">Fr</td>
<td align="center" bgcolor="ffffff" class="c20">Sa</td>
<td bgcolor="ffffff"><span class="c21">&#160;</span></td>
</tr>

<tr>
<td align="right" valign="bottom" bgcolor="FFFFFF" class="c22">26</td>
<td align="right" valign="bottom" bgcolor="FFFFFF" class="c22">27</td>
<td align="right" valign="bottom" bgcolor="FFFFFF" class="c22">28</td>
<td align="right" valign="bottom" bgcolor="FFFFFF" class="c22">29</td>
<td align="right" valign="bottom" bgcolor="FFFFFF" class="c22">30</td>
<td align="right" valign="bottom" bgcolor="FFFFFF" class="c22">31</td>
<td align="right" valign="bottom" bgcolor="FFFFFF" class="c22">1</td>
<td align="left" valign="middle" bgcolor="FFFFFF"
class="c22">&#160;week</td>
</tr>

<tr>
<td align="right" valign="bottom" bgcolor="FFFFFF" class="c22">2</td>
<td align="right" valign="bottom" bgcolor="FFFFFF" class="c22">3</td>
<td align="right" valign="bottom" bgcolor="FFFFFF" class="c22">4</td>
<td align="right" valign="bottom" bgcolor="FFFFFF" class="c22">5</td>
<td align="right" valign="bottom" bgcolor="FFFFFF" class="c22">6</td>
<td align="right" valign="bottom" bgcolor="FFFFFF" class="c22">7</td>
<td align="right" valign="bottom" bgcolor="FFFFFF" class="c22">8</td>
<td align="left" valign="middle" bgcolor="FFFFFF"
class="c22">&#160;week</td>
</tr>

<tr>
<td align="right" valign="bottom" bgcolor="FFFFFF" class="c22">9</td>
<td align="right" valign="bottom" bgcolor="FFFFFF" class="c22">10</td>
<td align="right" valign="bottom" bgcolor="FFFFFF" class="c22">11</td>
<td align="right" valign="bottom" bgcolor="FFFFFF" class="c22">12</td>
<td align="right" valign="bottom" bgcolor="FFFFFF" class="c22">13</td>
<td align="right" valign="bottom" bgcolor="FFFFFF" class="c22">14</td>
<td align="right" valign="bottom" bgcolor="FFFFFF" class="c22">15</td>
<td align="left" valign="middle" bgcolor="FFFFFF"
class="c22">&#160;week</td>
</tr>

<tr>
<td align="right" valign="bottom" bgcolor="FFFFFF" class="c22">16</td>
<td align="right" valign="bottom" bgcolor="FFFFFF" class="c22">17</td>
<td align="right" valign="bottom" bgcolor="FFFFFF" class="c22">18</td>
<td align="right" valign="bottom" bgcolor="FFFFFF" class="c22">19</td>
<td align="right" valign="bottom" bgcolor="FFFFFF" class="c22">20</td>
<td align="right" valign="bottom" bgcolor="cccccc"><a
href="/page/gen?_template=calendar/calendar_results.html&amp;start_day=21&am
p;start_month=Jan&amp;start_year=2000&amp;context_id=UIT_00001355"
class="c23">21</a></td>
<td align="right" valign="bottom" bgcolor="FFFFFF"><a
href="/page/gen?_template=calendar/calendar_results.html&amp;start_day=22&am
p;month=1/2000&amp;start_month=Jan&amp;start_year=2000&amp;context_id=UIT_00
001355" class="c23">22</a></td>
<td align="left" valign="middle" bgcolor="FFFFFF" class="c22">&#160;<a
href="/page/gen?_template=calendar/calendar_results.html&amp;start_day=21&am
p;start_month=Jan&amp;start_year=2000&amp;end_day=22&amp;end_month=Jan&amp;e
nd_year=2000&amp;context_id=UIT_00001355">week</a></td>
</tr>

<tr>
<td align="right" valign="bottom" bgcolor="FFFFFF"><a
href="/page/gen?_template=calendar/calendar_results.html&amp;start_day=23&am
p;month=1/2000&amp;start_month=Jan&amp;start_year=2000&amp;context_id=UIT_00
001355" class="c23">23</a></td>
<td align="right" valign="bottom" bgcolor="FFFFFF"><a
href="/page/gen?_template=calendar/calendar_results.html&amp;start_day=24&am
p;month=1/2000&amp;start_month=Jan&amp;start_year=2000&amp;context_id=UIT_00
001355" class="c23">24</a></td>
<td align="right" valign="bottom" bgcolor="FFFFFF"><a
href="/page/gen?_template=calendar/calendar_results.html&amp;start_day=25&am
p;month=1/2000&amp;start_month=Jan&amp;start_year=2000&amp;context_id=UIT_00
001355" class="c23">25</a></td>
<td align="right" valign="bottom" bgcolor="FFFFFF"><a
href="/page/gen?_template=calendar/calendar_results.html&amp;start_day=26&am
p;month=1/2000&amp;start_month=Jan&amp;start_year=2000&amp;context_id=UIT_00
001355" class="c23">26</a></td>
<td align="right" valign="bottom" bgcolor="FFFFFF"><a
href="/page/gen?_template=calendar/calendar_results.html&amp;start_day=27&am
p;month=1/2000&amp;start_month=Jan&amp;start_year=2000&amp;context_id=UIT_00
001355" class="c23">27</a></td>
<td align="right" valign="bottom" bgcolor="FFFFFF"><a
href="/page/gen?_template=calendar/calendar_results.html&amp;start_day=28&am
p;month=1/2000&amp;start_month=Jan&amp;start_year=2000&amp;context_id=UIT_00
001355" class="c23">28</a></td>
<td align="right" valign="bottom" bgcolor="FFFFFF"><a
href="/page/gen?_template=calendar/calendar_results.html&amp;start_day=29&am
p;month=1/2000&amp;start_month=Jan&amp;start_year=2000&amp;context_id=UIT_00
001355" class="c23">29</a></td>
<td align="left" valign="middle" bgcolor="FFFFFF" class="c22">&#160;<a
href="/page/gen?_template=calendar/calendar_results.html&amp;start_day=23&am
p;start_month=Jan&amp;start_year=2000&amp;end_day=29&amp;end_month=Jan&amp;e
nd_year=2000&amp;context_id=UIT_00001355">week</a></td>
</tr>

<tr>
<td align="right" valign="bottom" bgcolor="FFFFFF"><a
href="/page/gen?_template=calendar/calendar_results.html&amp;start_day=30&am
p;month=1/2000&amp;start_month=Jan&amp;start_year=2000&amp;context_id=UIT_00
001355" class="c23">30</a></td>
<td align="right" valign="bottom" bgcolor="FFFFFF"><a
href="/page/gen?_template=calendar/calendar_results.html&amp;start_day=31&am
p;month=1/2000&amp;start_month=Jan&amp;start_year=2000&amp;context_id=UIT_00
001355" class="c23">31</a></td>
<td align="right" valign="bottom" bgcolor="FFFFFF"><a
href="/page/gen?_template=calendar/calendar_results.html&amp;start_day=1&amp
;month=2/2000&amp;start_month=Feb&amp;start_year=2000&amp;context_id=UIT_000
01355" class="c24">1</a></td>
<td align="right" valign="bottom" bgcolor="FFFFFF"><a
href="/page/gen?_template=calendar/calendar_results.html&amp;start_day=2&amp
;month=2/2000&amp;start_month=Feb&amp;start_year=2000&amp;context_id=UIT_000
01355" class="c24">2</a></td>
<td align="right" valign="bottom" bgcolor="FFFFFF"><a
href="/page/gen?_template=calendar/calendar_results.html&amp;start_day=3&amp
;month=2/2000&amp;start_month=Feb&amp;start_year=2000&amp;context_id=UIT_000
01355" class="c24">3</a></td>
<td align="right" valign="bottom" bgcolor="FFFFFF"><a
href="/page/gen?_template=calendar/calendar_results.html&amp;start_day=4&amp
;month=2/2000&amp;start_month=Feb&amp;start_year=2000&amp;context_id=UIT_000
01355" class="c24">4</a></td>
<td align="right" valign="bottom" bgcolor="FFFFFF"><a
href="/page/gen?_template=calendar/calendar_results.html&amp;start_day=5&amp
;month=2/2000&amp;start_month=Feb&amp;start_year=2000&amp;context_id=UIT_000
01355" class="c24">5</a></td>
<td align="left" valign="middle" bgcolor="FFFFFF" class="c22">&#160;<a
href="/page/gen?_template=calendar/calendar_results.html&amp;start_day=30&am
p;start_month=Jan&amp;start_year=2000&amp;end_day=5&amp;end_month=Feb&amp;en
d_year=2000&amp;context_id=UIT_00001355">week</a></td>
</tr>
</table>
</td>
</tr>
</table>

&#160;<br />
<table cellpadding="1" cellspacing="0" bgcolor="000066" width="100%"
border="0">
<tr>
<td class="c18">&#160;<b>online</b> ticketing</td>
</tr>

<tr>
<td align="center">
<table cellpadding="5" cellspacing="0" bgcolor="#ffffff" width="100%"
border="0">
<tr>
<td align="center"><img
src="http://a1992.g.akamai.net/7/1992/33/12f51e40933583/portland.farblebarg.
com/img/tm.gif" width="133" height="30" align="center" /></td>
</tr>

<tr>
<td valign="top">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td colspan="2">
<form action="/page/gen" method="get"><input type="hidden" name="_template"
value="/search/result_list.html" /><input type="hidden" name="context_id"
value="UIT_00008000" /><span class="c13">Search all tickets</span><br />
</form>
</td>
</tr>

<tr>
<td><input type="text" size="12" name="keywords" />&#160;</td>
<td><input type="image"
src="http://a1992.g.akamai.net/7/1992/33/8fea93d3557892/portland.farblebarg.
com/img/button_go2.gif" width="33" height="22" border="0" /></td>
</tr>
</table>
</td>
</tr>

<tr>
<td align="left" valign="top"><span class="c25">arts</span> <span
class="c17">tickets</span><br />
 <a href="/page/uit?_uit_id=UIT_00008003" class="c26">more...</a>
<p> <span class="c13"> <a href="/page/uit?_uit_id=UIT_00008002">Music
Tickets</a><br />
<a href="/page/uit?_uit_id=UIT_00008004">Family Tickets</a><br />
<a href="/page/uit?_uit_id=UIT_00008001">Sports Tickets</a></span></p>
</td>
</tr>
</table>
</td>
</tr>
</table>

&#160;<br />
</td>
</tr>
</table>

<table width="140" cellpadding="0" cellspacing="0" border="0">
<tr>
<td width="15" align="left"><img
src="http://a1992.g.akamai.net/7/1992/33/5472601571f31e/portland.farblebarg.
com/img/trans.gif" width="8" height="3" border="0" /></td>
<td width="126" align="middle" valign="bottom"><img
src="http://a1992.g.akamai.net/7/1992/33/1b2829fbc2d43e/portland.farblebarg.
com/img/click_below.gif" width="120" height="40" border="0" /><br />
<a
href="http://portland.farblebarg.com/RealMedia/ads/click_lx.ads/pdxor/Tree/U
IT_00001355/900/Right/epdxor_00115348/00115348_emptile1.gif/6438373036393565
3338383930303130" target="_top"><img
src="http://portland.farblebarg.com/RealMedia/ads/adstream_lx.ads/pdxor/Tree
/UIT_00001355/900/Right/epdxor_00115348/00115348_emptile1.gif/64383730363935
653338383930303130" alt="" border="0" width="120" height="90" /></a><br />
<a
href="http://portland.farblebarg.com/RealMedia/ads/click_lx.ads/pdxor/Tree/U
IT_00001355/28581/Right1/tpdxor_00083200/00083200_PDXOR_2.gif/64383730363935
653338383930303130" target="_top"><img
src="http://portland.farblebarg.com/RealMedia/ads/adstream_lx.ads/pdxor/Tree
/UIT_00001355/28581/Right1/tpdxor_00083200/00083200_PDXOR_2.gif/643837303639
35653338383930303130" alt="" border="0" height="90" width="120" /></a><br />
<a
href="http://portland.farblebarg.com/RealMedia/ads/click_lx.ads/pdxor/Tree/U
IT_00001355/19914/Right2/tpdxor_00163870_3/tpdxor_flowerbud.gif/643837303639
35653338383930303130" target="_top"><img
src="http://portland.farblebarg.com/RealMedia/ads/adstream_lx.ads/pdxor/Tree
/UIT_00001355/19914/Right2/tpdxor_00163870_3/tpdxor_flowerbud.gif/6438373036
3935653338383930303130" alt="" border="0" width="120" height="90" /></a><br
/>
<a
href="http://portland.farblebarg.com/RealMedia/ads/click_lx.ads/pdxor/Tree/U
IT_00001355/31102/Right3/tpdxor_00009845/00009845pdxor.gif/64383730363935653
338383930303130" target="_top"><img
src="http://portland.farblebarg.com/RealMedia/ads/adstream_lx.ads/pdxor/Tree
/UIT_00001355/31102/Right3/tpdxor_00009845/00009845pdxor.gif/643837303639356
53338383930303130" alt="" border="0" width="120" height="90" /></a><br />
<img
src="http://a1992.g.akamai.net/7/1992/33/47a41e8f2cd6fd/portland.farblebarg.
com/img/click_above.gif" width="120" weight="40" border="0" /></td>
</tr>
</table>

<br clear="left" />
<table cellpadding="0" cellspacing="0" width="615">
<tr valign="top" class="c1">
<td colspan="5">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="CENTER"><span class="c27"><a
href="/E/F/PDXOR/0000/02/60/">Advertise With Us</a> | <a
href="/E/F/PDXOR/0000/05/00/">First Time User</a> | <a
href="/E/V/PDXOR/0007/55/00/">About farblebarg</a> | <a
href="/page/gen?_template=/misc/contact_us.html">Feedback</a> | <a
href="http://www.farblebarg.com/E/V/WORLD/0000/00/05/4.html">Links to
farblebarg</a> | <a href="http://www.farblebarg.com">Other farblebarg
Cities</a></span></td>
</tr>
</table>

<br />
<br />
 


</td>
</tr>
</table>
</div>
</body>
</html>

Re: BUG REPORT: Inconsistent Behavior Xalan v. XT and ODI Stylus

Posted by Donald Ball <ba...@webslingerZ.com>.
On Mon, 24 Jan 2000, Bill Humphries wrote:

> I am doing stylesheet development for deployment using Xalan, but using
> ODI's Stylus to develop the stylesheets. The source documents are HTML
> sanitized using HTMLTidy into XHTML.
> 
> Xalan is 19.2, Xerces is 1.0.1, platform is NT 4, Sp6, Java is 1.2.2 native
> threads, Symantec JIT
> 
> XT and Stylus are releases advertised as compliant with the W3
> Recommendation for XSLT.
> 
> The problem is that Xalan and XT/Stylus interpret the same XPATH statement
> differently:
> 
> <xsl:apply-templates select="//a[starts-with(@href,"some pattern")]/b"/>
> 
> My understanding from XT and Stylus' behavior is that this creates a node
> set of all the 'a' elements in the document whose href attributes start with
> the string 'some pattern' that have as a child a 'b' element..

I'm not an XPath expert, but it seems to me that this creates a node set
of all 'b' elements which have ('a' elements whose href attributes start
with the string 'some pattern') as their parents. parentheses added for
claity. i could be wrong, but I think the XPath that matches your
statement would be:

//a[starts-with(@href,"some pattern")][b]

- donald