xslj, jade and select-elements?

Subject: xslj, jade and select-elements?
From: "Biron,Paul V" <Paul.V.Biron@xxxxxx>
Date: Wed, 15 Apr 1998 14:53:52 -0700
I have an XSL style sheet which I am converting to DSSSL using Henry
Thompson's xslj.  I am then processing the resulting DSSSL style sheet
with jade.  The problem is that jade barfs on the DSSSL which xslj spits
out.  From my reading on the DSSSL spec jade *should* complain.  Is this
a problem with xslj or what?

===begin XSL sheet (simplified, of course)===
<?XML version="1.0"?>
<!DOCTYPE xsl SYSTEM "xsl.dtd">
<xsl>
	<rule>
		<root/>
		<paragraph font-size="12pt">
			<select from="children">
				<element type="div">
					<any>
						<target-element
type="p"/>
					</any>
				</element>
			</select>
		</paragraph>
	</rule>
</xsl>
===end XSL sheet===

===begin DSSSL sheet (xslj output)===
<!DOCTYPE STYLE-SHEET PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN"
[
<!ENTITY xsl-bgdoc PUBLIC "-//Henry S. Thompson//TEXT XSL Background
Definitions//EN" CDATA DSSSL>]
>
<!-- Generated automatically with xslj-0.4.1 -->
<STYLE-SHEET>
<STYLE-SPECIFICATION USE='xsl-bkg'>
<STYLE-SPECIFICATION-BODY>
(root
(make sequence
font-size: 12pt
(process-node-list (select-elements (children (current-node))
'(div #t repeat: * p)
))
)
)
</STYLE-SPECIFICATION-BODY>
</STYLE-SPECIFICATION>
<EXTSPEC ID='xsl-bkg' DOCUMENT='xsl-bgdoc'/>
</STYLE-SHEET>
===end DSSSL sheet===

===begin jade error messages===
JADE.EXE:sheet.dsl:11:19:E: "#t" cannot occur in a pattern
===end jade error messages===

>From my reading of the DSSSL spec regarding the patterns in
select-elements (and match-element?) jade should be complaining.  The
relevent pieces are:

===begin DSSSL spec, 10.2.5===
	...
	(match-element? pattern snl)

	Returns #t if snl is a node of class element that matches
pattern.
	pattern is either a list or a single string or symbol. A string
or symbol is
	equivalent to a list containing just that string or symbol. The
list can contain
	strings or symbols. The element matches the list if the last
string or symbol
	matches the gi of the element, and the next to last matches the
gi of the
	element's parent, and so on. Each string or symbol may
optionally be followed
	by a list containing an even number of strings or symbols, which
are interpreted
	as attribute name and value pairs all of which the element whose
gi matches the
	preceding string or symbol shall have.

	(select-elements nl pattern)

	Returns a node-list comprising those members of nl that match
pattern
	as defined by the match-element? procedure
..	...
===end DSSSL spec, 10.2.5===

There is no mention of the "repeat: *" construct.  Is there some other
part of the DSSSL spec which mentions this?

HELP!!!!!

> Paul V. Biron                              Paul.V.Biron@xxxxxx
> SGML Business Analyst	                   626-685-3529 (voice)
> Permanente Clinical Systems Development    626-685-3566 (fax)
> Kaiser Permanente                          626-527-1050 (pager)
> 


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


Current Thread