contentsconceptssyntaxlibrariessampleserrorsindex
Full text search
XML to HTML conversions: linking based on structure  
Introduction: XML to HTML conversions: linking based on structure  

Sample


This program uses the mart.xml sample input file.


  down-translate with xml   ; Use XML parser.

  global counter chap-no initial {0}
  global stream toc  ; table of contents

  document-start
    ;
    ; Table of contents (toc).
    ;
    open toc as referent "toc"

  element #implied
    output "%c"

  element title when parent is doc
    local stream title
    set title to "%c"
    output "<title>%g(title)</title>%n" || "<h1>%g(title)</h1>%n"

  element author
    output "by: %c%n"
    ;
    ; This is where we want the table of contents.
    ;
    output "<hr><h2>Table of Contents</h2>%n"
        || '<ul>%n'
        || referent "toc"
        || '</ul>'


  element audience
    output "<b>For:</b> <i>%c</i>%n"

  element p
    output "<p>%n%n%c"


  element glossary
    output "%n%n<hr><h2>Glossary</h2>%n%n" || "<ul>%n%c" || "</ul>%n"

  element term
    local stream term
    set term to "%c"                 ; content linking stuff
    output '<a name="content-%g(term)">' || "<li>%g(term):"

  element part
    local stream part
    set part to "%c"
    output '<a href="#content-%g(part)">' || "%g(part)" || '</a>'

  element defn
    output " %c%n"

  ; Explicit links.

  element xref
    output '<a href="#exp-%v(idref)">'
        || referent "exp-%v(idref)"
        || '</a>%c'

  element chapter
    output "<hr>"
    increment chap-no
    output '<a name="exp-%v(id)">%n%c'

  element title when parent is chapter
    local stream chap-title
    set chap-title to "Chapter %d(chap-no), %c"
    output "<h2>%g(chap-title)</h2>%n"
    using attribute id of parent
      do
        set referent "exp-%v(id)" to chap-title
        put toc '<li><a href="#exp-%v(id)">%g(chap-title)</a>%n'
      done

  document-end
    ;
    ; Some browsers don't link well to things at the bottom of 
    ; a page, so put in extra blank lines.
    ;
    output "<br>" ||* 45
           || "<center><i>The End</i></center>%n"

  document-end
    close toc

 
----  

Top [CONTENTS] [CONCEPTS] [SYNTAX] [LIBRARIES] [SAMPLES] [ERRORS] [INDEX]

Generated: April 21, 1999 at 2:01:47 pm
If you have any comments about this section of the documentation, send email to [email protected]

Copyright © OmniMark Technologies Corporation, 1988-1999.