Re: Style-sheet documentation?

Subject: Re: Style-sheet documentation?
From: "Mitch C. Amiano" <amiamc@xxxxxxxxxxxxxxx>
Date: Fri, 29 Jan 1999 15:45:22 -0500
I think it's actually in the DSSSL spec.

I don't know of any pages specifically oriented toward explaining the 
particular style sheet dtd included with Jade. You may want to first 
check out W. Eliot Kimber's tutorial intro to architectures at 
http://www.isogen.com/papers/archintro.html. 

To try and put it in a nutshell, with reference to the files included
in Jade (anyone feel free to correct my gaffs)...

dsssl.dtd    -- defines the architectural forms used in a DSSSL application --

^ (style-sheet.dtd declares dsssl.dtd as the base architecture)

style-sheet.dtd    -- the actual dtd used for DOCTYPE for the document instances --

^ (your style sheet document instance declares style-sheet to be the DOCTYPE)

your style sheet document instance elements:

style-sheet (tags implied):

   style-specification (defines a fragment or stand alone piece of dsssl code)
      "use" attribute (points to local IDs of specifications to include when processing this spec)
      "id" attribute (should be obvious: a unique name for the element within this document)
      style-specification-body element:
         data content (is DSSSL script)

   external-specification (used to give a local ID to a style-specification in another doc)
      "id" attribute (a unique name for the element inside this file)
      "document" attribute (the name of a document you'd declare as an ENTITY in the DTD subset)
      "specid" attribute (a 'name' which refers to an ID in the entity named by "document")
      (no content)


So in order to get the "external-specification" to work, you will declare the other document
from which you want to pull the other spec, using an ENTITY declaration. For example,
if this were one of my style sheets (thisone.dsl),

<!doctype style-sheet public "-//James Clark//DTD DSSSL Style Sheet//EN" [
<!entity myotherstylesheet system "/homes/users/amiano/stylesheets/foobar.dsl">
]>
<style-specification id="blah" use="common">
<style-specification-body>
(default (empty-sosofo))
</style-specification-body>
</style-specification>
<external-specification id="common" document="myotherstylesheet" specid="acommonspec">


and this were the style sheet from which I want to pull a spec (foobar.dsl)
<!doctype style-sheet public "-//James Clark//DTD DSSSL Style Sheet//EN" >
<style-specification id="acommonspec">
<style-specification-body>
; definitions
; commonly applied rules
; etc etc
</style-specification-body>
</style-specification>

then thisone.dsl->"common" is as sort of alias for foobar.dsl->"acommonspec", and 
thisone.dsl->"blah" can take advantage of all the definitions and rules in
"acommonspec" (aka "common"). 

In terms of "which one wins out" when there are similar rules in two or more 
specifications which might be used together, I'm afraid I've forgotten what DSSSL 
says about this, and my office is being disassembled as I write this, so I'll leave
it to others on the group to contribute.

Hope that help!



Wroth, Mark wrote:
> 
> Can anyone point me to an explanation of the syntax/usage of the various
> bits of the DSSSL style-sheet specification?  I have figured out that
> there are ways to "include" style-specifications in multiple other style
> specifications from some of the comments on this list, and have even
> gotten a very simple example to work, mostly through experimentation.
> But I don't understand what's going on, especially with specifications
> which may be based on other files, and I have been unable to figure out
> where this behavior is documented.
> 
> Thanks,
> 
> Mark
> 
>  DSSSList info and archive:  http://www.mulberrytech.com/dsssl/dssslist

--   SGML (es JEE em el) n.: the pavement of the Information Superhighway   --
Mitch C. Amiano                                         amiamc@xxxxxxxxxxxxxxx
Technical Staff Member  Advanced Design Process Group  Alcatel Network Systems
Opinions expressed are my own and are not a representation of Alcatel


 DSSSList info and archive:  http://www.mulberrytech.com/dsssl/dssslist


Current Thread