SGML: Synex and TEI Extended Pointers in Panorama 2.0, Synex ViewPort 1.20

SGML: Synex and TEI Extended Pointers in Panorama 2.0, Synex ViewPort 1.20


Subject: Re: SGML and scope
Date: Tue, 21 May 1996 08:53:48 +0100
From: Hasse Haitto <haitto@synex.se>
Newsgroups: comp.text.sgml
-------------------------------------------------------------------------- Dominic Dunlop <domo@tcp.ip.lu> wrote: ... > you'll have to write your own tools to follow those links across > documents (or sub-documents). I'd love to be corrected, but I'm not > aware of any tool which can follow TEI external references. As C M Sperberg-McQueen was quick to point out (thanks, BTW) SoftQuad Panorama supports a subset of the TEI pointers. As of next release (2.0 for Panorama, 1.30 for Synex ViewPort), we also include support for regular expressions to support the pattern keyword. Specifics are below. Cheers, Hasse -------------------------------------------------------------------- Hasse Haitto Phone: +46 8 791 88 81 Synex Information AB Fax: +46 8 791 88 89 Stora Nygatan 20 Internet: haitto@synex.se 111 27 Stockholm, Sweden WWW: http://www.synex.se * The Synex ViewPort browser engine (and software that uses it, like SoftQuad Panorama) incorporates the following support for TEI P3 extended pointers. The regular expression grammar is: regular :- character | '.' // Match any character | '[^' characters ']' // Match any character not in list | '[' characters ']' // Match any character in list | '\a' // Match any alphabetic | '\d' // Match any digit | '\n' // Match newline | '\s' // Match any white space character | '\\' // Match backslash | '\' nonspecial // Match nonspecial character | regular '*' // Match 0-n of 'regular' | regular '+' // Match 1-n of 'regular' | regular '?' // Match 0-1 of 'regular' | '^' regular // Match at start of loc source | regular '$' // Match at end of loc source | regular regular // Match 1st, then 2d regular | regular '|' regular // Match either 1st or 2d | '(' regular ')' // Use parenthesis for grouping characters :- /* empty string */ | characters character nonspecial :- /* Any character except 'a', 'd', 'n' or 's' */ The use of '\n', '^' and '$' is non-intuitive in Panorama as it removes newlines for on-line viewing (unless the contents are displayed "verbatim"). ^' or '$' match pseudo-nodes rather than lines. The new support for regular expressions allows us to enhance our TEI-pointer support. The supported TEI subset spec is now: ladder :- locterm ladder* locterm :- 'ROOT' // default first location | 'HERE' // location of the xptr | 'ID' '(' NAME ')' // only one ID allowed. | 'CHILD' steps | 'DESCENDANT' steps | 'ANCESTOR' steps | 'PREVIOUS' steps | 'NEXT' steps | 'PRECEDING' steps | 'FOLLOWING' steps | 'DITTO' // valid only in TO att. steps :- '(' step ')' steps* step :- instance [ element [ avspecs ] ] avspecs :- attribute value avspecs* instance :- [ '+' | '-' ] NUMBER // default sign is + element :- NAME // Element name | '#CDATA' // Pseudo elements | '*' // Any element matches | '(' regular ')' // Regular expression attribute :- NAME // Attribute name | '*' // Any attribute matches | '(' regular ')' // Regular expression value :- LITERAL // Quoted string | NAME // Name characters | NUMBER // Numbers | NUMTOKEN // Numbers or name characters | '#IMPLIED' // No value specified, no default | '*' // Any value matches. | '(' regular ')' // Regular expression