Please suggest about this idea if you can. Following is
description.
-- Part.1 Basic concept
This idea is declear style-sheet as external entity and never
refer it in SGML document. And gives that entity notation which
indicate style-sheet.
ex) In SGML document prolog.
<!ENTITY style-sheet SYSTEM "style-sheet.dsl" CDATA dsssl>
<!NOTATION dsssl PUBLIC
"ISO 10179-1996//NOTATION
Document Style Semantics and Specification Language//EN">
In this exapmle, style-sheet is described with DSSSL notation
and that is identified by sytem identifier "style-sheet.dsl".
( this DSSSL notation identifier is virtual).
Application recognizes style-sheet by following steps.
1) checks declared entieies.
2) checks notion of these external entities.
3) if some entities have notation which means DSSSL style-sheet,
then that application uses these external entity as style-sheet.
That SGML document don't refer style-sheet external entities.
Therefore, old application never expand content of style-sheet
in document. I think, this way will not violate SGML standard.
-- Part.2 Associate multiple style-sheets.
To relate more than one style-sheet to single SGML document,
prepare these style-sheets as external entities respectively.
And declares these entities as following example.
ex.1)
<!ENTITY online-style-sheet SYSTEM "online-style-sheet.dsl" NDATA dsssl>
<!ENTITY print-style-sheet SYSTEM "print-style-sheet.dsl" NDATA dsssl>
About DSSSL, to decide which style-sheet is used, application refers
"desc" attribute of transformation-specification or style-specification
element.
Otherwise entity attribute is useful for selecting style-sheet.
ex.2)
<!ENTITY online-style-sheet SYSTEM "online-style-sheet.dsl" NDATA dsssl
[style-sheet-use="online"]>
<!ENTITY print-style-sheet SYSTEM "print-style-sheet.dsl" NDATA dsssl
[style-sheet-use="print"]>
Since DSSSL can create multiple style-sheet as single file, DSSSL
does not need this method. But this is useful for other style-sheet
language.
-- Part.3 Way of associate different language style-sheets.
To relate more than one style-sheets which were described with
different notations to single document, prepare these style-sheets
as external entities respectively. And declare these as following
example.
ex)
<!ENTITY dsssl-style-sheet SYSTEM "style-sheet.dsl" NDATA dsssl>
<!NOTATION dsssl PUBLIC
"ISO 10179-1996//NOTATION
Document Style Semantics and Specification Language//EN">
<!ENTITY css-style-sheet SYSTEM "style-sheet.css" NDATA css>
<!NOTATION css PUBLIC
"+//W3C//NOTATION Cascading Style Sheet//EN">
In this example, to decide which style-sheet is used, application
refers entities's notations. If the application supports DSSSL only,
then use "style-sheet.dsl", otherwise supports CSS only then use
"style-sheet.css". Application can select style-sheet by its notation.
--- KAZUMI SaitoFujitsu Laboratories Ltd. Information Service Architecture Lab.