(dsssl) Re: Data on left margin area?

Subject: (dsssl) Re: Data on left margin area?
From: Karl Eichwalder <keichwa@xxxxxxx>
Date: Thu, 28 Nov 2002 21:46:28 +0100
"Javier Farreres de la Morena" <spanish@xxxxxxxxx> writes:

> Page feature is about to come in a month (at least partly, by being able
> to insert page-sequences and column-set-sequences). But it will only be
> supported in the flow object building. Some hard work will be needed in
> the formatting of it, that is going to be another some months long.

No problem, I can wait.  And thanks for your other pointers--I'll come
back when my wishes are more concrete.

> Please. Can you explain me what architectural forms are?

This is how I think about it: Normally, you have a document confirming
with one DTD; AF allows you to validate your document against a
different DTD.  And since the whole opensp collection is AF aware you
can do some markup mapping:

verse.sgml:
===========
<!DOCTYPE doc SYSTEM "verse.dtd" [
<!NOTATION SGML PUBLIC "-//ISO 8879:1986//NOTATION Standard Generalized Markup
    Language//EN">

<!NOTATION d2 SYSTEM "page.dtd">
<?IS10744:arch name="d2"
               public-id="-//Karl Eichwalder//NOTATION AFDR ARCBASE d2//EN"
               dtd-system-id="page.dtd">
<!ATTLIST #NOTATION d2
    ArcDTD CDATA #FIXED "pagedtd">
<!ENTITY pagedtd SYSTEM "page.dtd" CDATA SGML>
]>
<doc>
 <p>
  <v n="1">verse 1</v>
  <v n="2">verse 2</v>
 </p>
</doc>

verse.dtd:
==========
<!ELEMENT doc - o (p+)>
<!ATTLIST doc
    d2 NMTOKEN #FIXED "d2">
<!ELEMENT p   - - (v+)>
<!ATTLIST p
   d2 NMTOKEN #FIXED "para">
<!ELEMENT v   - - (#PCDATA)>
<!ATTLIST v
    n CDATA #REQUIRED
    d2 NMTOKEN #FIXED "pb">


Usual view running 'osgmlnorm --dtd verse.sgml':
================================================
<!DOCTYPE DOC SYSTEM "verse.dtd">
<DOC>
<P>
<V N="1">verse 1</V>
<V N="2">verse 2</V>
</P>
</DOC>


Now doing AF magic against "d2" (stored in "page.dtd", the meta-DTD):
=====================================================================
page.dtd:
=========
<!ELEMENT d2     - o (para+)>
<!ELEMENT para   - - (#PCDATA|pb)+>
<!ELEMENT pb     - - (#PCDATA)>
<!ATTLIST pb
    n CDATA #REQUIRED>

verse.sgml is now called the client-DTD, 'osgmlnorm -Ad2 --dtd verse.sgml':
===========================================================================
<!DOCTYPE D2 SYSTEM "page.dtd">
<D2>
<PARA><PB N="1">verse 1</PB><PB N="2">verse 2</PB></PARA>
</D2>


Open issue:
===========
I don't know how can I make <pb> an empty element and preserve the
character data in <para>; consider this DTD:

<!ELEMENT d2     - o (para+)>
<!ELEMENT para   - - (#PCDATA|pb)+>
<!ELEMENT pb     - - EMPTY>
<!ATTLIST pb
    n CDATA #REQUIRED>

Good reading on AF is available in David Megginson, Structuring XML
Documents, 1988 Prentice Hall; the book also covers SGML :-)

> I have tried to read HyTime chapter and it was too much for me at the
> time. A gentle introduction would help me read it again and understand
> it all.

Please try:

    http://www.isogen.com/papers/archintro.html
    http://www.syntext.com/topics/sgml/kimber1.html

Additionally, one should check www.archive.org about these docs (2000):

    http://www.student.math.uwaterloo.ca/~roconnor/archTest.html
    http://www.student.math.uwaterloo.ca/~roconnor/archTest2.html


-- 
ke@xxxxxxx (work) / keichwa@xxxxxxx (home):              |
http://www.gnu.franken.de/ke/                            |      ,__o
Free Translation Project:                                |    _-\_<,
http://www.iro.umontreal.ca/contrib/po/HTML/             |   (*)/'(*)

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

Current Thread