DTD for customizable stylesheets

Subject: DTD for customizable stylesheets
From: Norbert Mikula <nmikula@xxxxxxxxxxxxxxxxx>
Date: Fri Mar 28 10:20:18 1997 EST
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:nmikula@xxxxxxxxxxxxxxxxx 
= http://www.edu.uni-klu.ac.at/~nmikula
=====================================================

Current Thread