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
=====================================================
|