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
|