Mulberry home page

DSSSList Archive

Mulberry Home Page
DSSSL
DSSSList
Archive
Previous by Date
Next by Date
Previous by Thread
Next by Thread
Index by Thread
Index by Date
Index by Subject
Index by Author
Search

DTD for customizable stylesheets

From: Norbert Mikula <[email protected]>
Date: Fri, 28 Mar 1997 16:21:33 +0100 (MET)

I took James' suggestion about how to have customizable
stylesheets for DSSSL and extended it a bit. That's the
outcome (DTD and example are XML, but SGML is pretty much the same).
 
James, I think we ought to include this sub-DTD here :
 
<!ENTITY % declarations "features | baseset-encoding |
literal-described-char | add-name-chars | add-separator-chars |
standard-chars | other-chars | combine-char | map-sdata-entity |
char-repertoire | sgml-grove-plan" >
 
What do you think ?. I am not an expert on architectural forms.
So I am not sure how to approach this problem (if there is
one....)
 
This is only a first sketch. I am sure we also can include
other aspects that you have mentioned, at a later point in time.
 
******
a possible scenario
******
 
<Customize>
 
<Variable name="%visual-acuity%">
<Description Language="English">Visual Acuity</Description>
<Description Language="Deutsch">Sehschaerfe</Description>
 
  <Value>
    <Description Language="English">Normal</Description>
    <Description Language="Deutsch">Normal</Description>
    <Content>
      normal
    </Content>
  </Value>
 
  <Value>
    <Description Language="English">presbyopic</Description>
    <Description Language="Deutsch">weitsichtig</Description>
    <Content>
      presbyopic
    </Content>
  </Value>
 
</Variable>
<Variable name="%page-width%">
<Description Language="English">Page width</Description>
<Description Language="Deutsch">Seitenbreite</Description>
 
  <Value>
    <Type Class="Length">
      <Description Language="English">Length Specification e.g. 8.5
in</Description>
      <Description Language="Deutsch">Laengeneinheit z.B.
14cm</Description>
    </Type>
  </Value>
 
</Variable>
 
</Customize>
 
********
and here is a draft DTD :
********
 
<!--* ====================================================
      Customize : Define all elements that should be
      presented to the user as customizable variables
      ==================================================== *-->
 
<!ELEMENT Customize (Variable)* >
 
<!--* ====================================================
      Variable : One customizable variable
 
      If no value specified, then any value will do
      ==================================================== *-->
 
<!ELEMENT Variable (Description*,Value*) >
 
<!--* ====================================================
      Variable :
      ====================================================
      Name : The name of the variable as it is used in the
      DSSSL style specification
      ==================================================== *-->
 
<!ATTLIST Variable
 
   Name CDATA #REQUIRED
>

<!--* ====================================================
      Value : One possible value of the variable
      ==================================================== *-->
 
<!ELEMENT Value (Description*,(Content|Type)) >
 
<!--* ====================================================
      Type : A valid type
      ==================================================== *-->
 
<!ELEMENT Type (Description)* >
 
<!--* ====================================================
      Type :
      ====================================================
      Class : A list of valid types for that variable
      (possible values need to be discussed)
      ==================================================== *-->
 
<!ATTLIST Type
 
   Class (String|Number|Length) #IMPLIED
>
 
<!--* ====================================================
      Content : The actual content of the variable
      as it would be delivered to the DSSSL engine
      ==================================================== *-->
 
<!ELEMENT Content (#PCDATA)* >
 
<!--* ====================================================
      Description : Description of a variable or possible
      value
      ==================================================== *-->
 
<!ELEMENT Description (#PCDATA)* >
 
<!--* ====================================================
      Description :
      ====================================================
      Language : The language that has been used in the
      description
      ==================================================== *-->
 
<!ATTLIST Description
 
   Language CDATA #IMPLIED
>


Best regards,
Norbert H. Mikula

=====================================================
= SGML, DSSSL, Intra- & Internet, AI, Java 
=====================================================
= mailto:[email protected] 
= http://www.edu.uni-klu.ac.at/~nmikula
=====================================================