<!DOCTYPE BOOK PUBLIC "-//Synex Information AB//DTD Manual Version 1.3//EN"[
<!ENTITY % PRO "IGNORE" -- for marked sections, relevance only for the PRO version -->
<!ENTITY % windows "INCLUDE" -- for marked sections, relevance under Windows -- >
<!ENTITY % mac     "IGNORE"  -- for marked sections, relevance under Macintosh -->
<!ENTITY % motif   "IGNORE"  -- for marked sections, relevance under Motif -->
<!ENTITY sp "SoftQuad Panorama">
<!ENTITY p "Panorama">
<!ENTITY enturl "http://www.sgmlopen.org/sgml/docs/general/entity.htm">
<!ENTITY sgmlug "http://www.admin.kth.se/SGML">
<!ENTITY lt "<">
<!ENTITY gt ">">
<!NOTATION GIF SYSTEM>
<!NOTATION SGML PUBLIC "+//ISO 8879:1986//NOTATION STANDARD GENERALIZED MARKUP LANGUAGE//EN">
<!ENTITY panoug SYSTEM "PANOFUG.SGM" NDATA SGML -- The User's Guide -->
<!ENTITY #DEFAULT SYSTEM NDATA GIF>
<![ %windows; [
<!ENTITY DocVer "&sp; for Microsoft Windows">
<!ENTITY platform "Windows">
]]>
<![ %motif; [
<!ENTITY DocVer "&sp; for Unix/Motif">
<!ENTITY platform "Motif">
]]>
<![ %mac; [
<!ENTITY DocVer "&sp; for Macintosh">
<!ENTITY platform "Macintosh">
]]>
]>
<?TAGLINK URL URI>
<BOOK>
<FRONT>
<TITLEGRP>
<TITLE>&sp; <![ %PRO; [PRO ]]>Technical Reference</TITLE>
</TITLEGRP>
<AUTHGRP>
<CORPAUTH><ORGNAME>Developed by Synex Information AB, Sweden</ORGNAME></CORPAUTH>
</AUTHGRP>
<PUBFRONT>
<INFOGRP>
<DEFLIST>
<TERM>Standard Identification</TERM>
<DD><P>&sp; is an SGML System Conforming to International Standard
ISO&nbsp;8879&mdash;Standard Generalized Markup Language.</P></DD>

<TERM>Published by</TERM>
<DD><P><ORGADDR><ORGNAME>SoftQuad Inc.</ORGNAME>
<STREET>56 Aberfoyle Crescent, Suite 810</STREET>
<CITY>Toronto, </CITY><COUNTRY>Canada </COUNTRY><POSTCODE>M8X 2W4</POSTCODE>
<PHONE>(416) 239&ndash;4801</PHONE>
<FAX>(416) 239&ndash;7105</FAX>
<EMAIL>Internet: mail&commat;sq.com</EMAIL>
<![ %PRO; [
<EMAIL>Technical Support: panorama-support&commat;sq.com</EMAIL>
]]>
</ORGADDR></P></DD>

<![ %PRO; [
<TERM>Developed by</TERM>
<DD><P><ORGADDR><ORGNAME>Synex Information AB</ORGNAME>
<STREET>Kallforsv&auml;gen 24</STREET>
<CITY>Bandhagen, </CITY><COUNTRY>Sweden </COUNTRY><POSTCODE>S-124 32</POSTCODE>
</ORGADDR></P></DD>
]]>

<TERM>Document version</TERM>
<DD><P>&DocVer;</P>
<P>First Edition (March 1995)</P>
<P>Synex Information AB makes no warranty of any kind with respect to the
completeness or accuracy of this document. Synex Information AB may make improvements
and/or changes to the product(s) and/or programs described herein at any time and
without notice.</P>
</DD>

<TERM>Copyrights and Trademarks</TERM><DD>
<CPYRT><DATE>&copy; 1994-95</DATE>
<CPYRTNME><ORGNAME> by Synex Information Aktiebolag, </ORGNAME>
<COUNTRY>Sweden.</COUNTRY>
</CPYRTNME>
</CPYRT>

<P><BO>All rights reserved.</BO></P>
<P>No part of this document may be reproduced, stored in a retrieval system, or
transmitted, in any form or by any means&mdash;electronic, mechanical, recording, or
otherwise&mdash;without the prior written consent of Synex Information Aktiebolag,
excepting its legal use as part of the &sp; software and brief quotes used in
connection with reviews written specifically for inclusion in a magazine or
newspaper.</P>

<P>&sp; is a trademark of SoftQuad Inc.</P>
<P>Other mentioned brand or product names are trademarks or registered
trademarks of their respective holders.</P>
</DD>

<TERM>Notice</TERM><DD><P>Agencies of the United States Government please note:</P>
<P><SC>RESTRICTED RIGHTS LEGEND:</SC> Use, duplication, or disclosure
by the Government is subject to restrictions as set forth in subparagraph (c)(1)(ii)
of the Rights in Technical Data and Computer Software clause at <SC>DFARS
52.227&ndash;7013</SC> and in similar clauses in the <SC>FAR</SC> and
<SC>NASA FAR</SC> Supplement.
<!-- ++++++++++++++++ HyTime nameloc data begins +++++++++++++++++++++++++++++++ -->
<NAMELOC ID="panoug">
<NMLIST NAMETYPE="ENTITY">panoug</NMLIST>
</NAMELOC>
<NAMELOC ID="MISCSSH">
<NMLIST NAMETYPE="ELEMENT" DOCORSUB="panoug">MISCSSH</NMLIST>
</NAMELOC>
<NAMELOC ID="HOTSPOT">
<NMLIST NAMETYPE="ELEMENT" DOCORSUB="panoug">HOTSPOT</NMLIST>
</NAMELOC>
<!-- ++++++++++++++++ HyTime nameloc data ends +++++++++++++++++++++++++++++++++ -->
</P></DD>
</DEFLIST>
</INFOGRP>
</PUBFRONT>
</FRONT>

<BODY>

<CHAPTER ID="ABOUT"><TITLE>About This Manual</TITLE>

<P>This manual consists of:

<LIST>

<ITEM><P><XREF RID="ABOUT">About This Manual</XREF> (this chapter).</P></ITEM>

<ITEM><P><XREF RID="INSTALL">Installation</XREF> A few comments on the installation.</P></ITEM>

<ITEM><P><XREF RID="SYSOV">Configuring &p;</XREF>, on setting up &p;.</P></ITEM>

<ITEM><P><XREF RID="DOCUPRES">Document Presentation</XREF> with &p;.</P></ITEM>

<ITEM><P><XREF RID="BASICS">SGML Basics</XREF></P></ITEM>

<ITEM><P><XREF RID="URLSPEC">WWW Linking</XREF>&mdash;on using URLs.</P></ITEM>

<ITEM><P><XREF RID="LINKING">HyTime Linking</XREF>.</P></ITEM>

<![ %PRO; [
<ITEM><P><XREF RID="HINTS">Hints and Tips</XREF></P></ITEM>
]]>

<ITEM><P><XREF RID="CONFORM">SGML Conformance</XREF></P></ITEM>

</LIST>
This manual is a technical complement to the <XREF RID="panoug">&sp; User's Guide</XREF>.
</P>

<SECTION ID="SUGGEST"><TITLE>Your Suggestions</TITLE>

<P>We welcome your comments and suggestions on this documentation and
on the program. These will be carefully considered for future
versions. You can send e-mail to <TT>panorama@sq.com</TT>.</P>
</SECTION> </CHAPTER>


<CHAPTER ID="INSTALL"><TITLE>Installation</TITLE>

<![ %mac; [
<P>
<LIT>
************************************
*  COPY NEEDS TO BE ADDED FOR MAC  *                                 
************************************
</LIT> 
</P>
]]>

<![ %motif; [
<P>
<LIT>
**************************************
*  COPY NEEDS TO BE ADDED FOR MOTIF  *                                 
**************************************
</LIT> 
</P>
]]>
  
<P>The directory where &sp; is installed is referred to as <Q>the &p;
directory</Q>. That directory contains the application itself and support
files, see the chapter <XREF RID="SYSOV">Configuring &p;</XREF>.</P>



<SECTION ID="MIMETYPE"><TITLE>Setting up the MIME Type</TITLE>

<P>&p; registers itself as a viewer for the MIME type <TT>text/x-sgml</TT>.  Anyone
setting up a server for SGML files should set up the server to type the files
accordingly, in order for &p; to display them.  </P>

</SECTION>

<SECTION ID="MOSAIC"><TITLE>Order of Launching Mosaic and &p;</TITLE>

<P>To use Mosaic to resolve URLs, make sure that Mosaic is running
<EM>before</EM> starting &p;.</P>

</SECTION>

</CHAPTER>

<CHAPTER ID="SYSOV"><TITLE>Configuring &p;</TITLE>

<P>The &p; directory contains the application itself and support files, which
configure the system. With the phrasing <Q>the &p; directory</Q>, we mean the
directory where the application is installed.</P>

<SECTION ID="CONFIG"><TITLE>Configuration Files</TITLE>

<P>The configuration files tailor the behavior of &p;.</P>

<SUBSECT1><TITLE>Current Settings</TITLE>

<P>The settings of the options and the currently open webs are kept in
the file <TT>PANORAMA.INI</TT>, located in the main Windows directory.</P>

</SUBSECT1>

<SUBSECT1><TITLE>SETUP</TITLE>

<P>The <TT>Setup</TT> file configures the handling of notations. It also allows
you to specify a font substitution table to map fonts unknown to your system onto
similar fonts.  This is necessary to make the style sheets portable.</P>

<P>The font substitutions are defined in the <TT>SETUP</TT> file using the keyword
<TT>FONTMAP</TT>. For instance, if you are accessing a Unix style sheet on a PC, you
might want <TT>Times</TT> mapped to <TT>Times New Roman</TT> and <TT>Helvetica</TT>
mapped to <TT>Arial</TT>.  To achieve this, add the following lines:

<LIT>
FONTMAP "Times" "Times new Roman"
FONTMAP "Helvetica" "Arial"
</LIT>

The font name <TT>"*"</TT> is used to set up a default font. If you specify

<LIT>
FONTMAP "*" "Times New Roman"
</LIT>

then the font <TT>Times New Roman</TT> will be the default font when no font 
is specified in the style sheet.</P>

</SUBSECT1>


<SUBSECT1><TITLE>SDATA</TITLE>

<P>The <TT>SDATA.MAP</TT> file, also located in the &p; installation
directory, is used to map foreign, system dependent SDATA characters.
Consult this file regarding the format of declarations.</P>

</SUBSECT1>


<SUBSECT1><TITLE>CATALOG</TITLE>

<P>Because they are based on a standard, SGML software applications can share
common sets of files. To harmonize the use of shared files, the <BO>SGML
Open</BO> consortium has adopted a technical resolution that specifies how
applications can retrieve such files by using a common catalog file; &p;
supports the <BO>SGML Open entity catalog</BO> scheme. The catalog maps
symbolic names (so-called <EM>public identifiers</EM>) to corresponding
physical files. A summary of this scheme may be found on the SGML Open WWW
server, at the URL <URL>&enturl;</URL>.</P>

<P>The <TT>CATALOG</TT> file, stored in the <TT>CATALOG</TT> directory
within the &p; directory, resolves the mapping between public identifiers
and the corresponding actual file. All file paths are relative to the
<TT>CATALOG</TT> file itself, but can of course be specified in full.</P>

<P>The default catalog resides in the &p; directory; if you are using
another SGML application that also supports the SGML Open catalog, you can
specify the path to that catalog file in various ways.</P>

<![ %windows; [
<SUBSECT2><TITLE>Specifying the location of the SGML Open entity catalog</TITLE>

<P>To specify an alternative catalog file, change the <TT>CATALOG</TT> value in
your <TT>WIN.INI</TT> file, so that its value corresponds to the path of your main
catalog file.</P>
<LIT>
[PANORAMA]
CATALOG=path to your main catalog file
</LIT>

</SUBSECT2>
]]>

<SUBSECT2><TITLE>Including an additional catalog file</TITLE>

<P>To include an additional <TT>CATALOG</TT> file, insert a corresponding
declaration <EM>in the <TT>CATALOG</TT> file:</EM></P>

<LIT>
CATALOG path to additional catalog file 
</LIT>

</SUBSECT2>

</SUBSECT1>


<SUBSECT1><TITLE>ENTITYRC</TITLE>

<P>Though the SGML Open entity catalog scheme permits user-defined
extensions, Synex Information has in the interest of portability preferred
not to deviate from the plain catalog format. Therefore, application
dependent files&mdash;such as style sheets and navigators&mdash;are
designated in a directory called <TT>ENTITYRC</TT> also located in the &p;
directory. The corresponding file is named <TT>ENTITYRC</TT> as well.</P>

<SUBSECT2><TITLE>Including an additional entity catalog</TITLE>

<P>To include an additional <TT>ENTITYRC</TT> catalog, insert a
corresponding declaration <EM>in the <TT>ENTITYRC</TT> file:</EM></P>

<LIT>
ENTITYRC path to additional entityrc catalog file 
</LIT>

</SUBSECT2>


</SUBSECT1>

<SUBSECT1><TITLE>Specifying catalogs at run-time</TITLE>

<P>When &p; opens a file, it also searches the same directory for files by
the name of <TT>CATALOG</TT> and <TT>ENTITYRC</TT>. In this manner, you can
specify catalogs at run-time, whose contents will have precedence over the &p;
directory catalogs.</P>

</SUBSECT1>

<SUBSECT1 ID="VERBATIM"><TITLE>Verbatim Formatting</TITLE>

<P><EM>Verbatim</EM> formatting means that element contents appear formatted with
line breaks preserved from the SGML source. This can be achieved by inserting a
suitable declaration in the <TT>ENTITYRC</TT> file or by inserting a processing
instruction in the local declaration subset.</P>

<P>This is not a style sheet option as the binding has to be done early, prior to
the parsing of the document content. There are two ways of specifying verbatim
processing:</P>

<P>You can specify

<LIT>
  VERBATIM "gi1 gi2 gi3..."
</LIT>

in the <TT>ENTITYRC</TT> file at the corresponding DTD entry, where the
<TT>GI</TT>s are the identifiers for the corresponding element.</P>

<P>Alternatively, you can specify a processing instruction of the
form:</P>
<LIT>
<?VERBATIM "gi1 gi2 gi3...">
</LIT>
<P>immediately <EM>after</EM> the inclusion of the DTD in the document.</P>

</SUBSECT1>


<SUBSECT1><TITLE>Designating the Document Title</TITLE>

<P><XREF RID="VERBATIM">Verbatim formatting</XREF> has already been covered as one of the
specifications you can make in the <TT>ENTITYRC</TT> file, or as a processing instruction.</P>

<P>The <TT>DOCTITLE</TT> declaration is used to point out the element
containing the document title, to be displayed in the browser window
caption.</P>

<P>There are two ways of specifying the document title:</P>

<P>You can specify

<LIT>
  DOCTITLE "GI"
</LIT>

in the <TT>ENTITYRC</TT> file at the corresponding DTD entry, where the
<TT>GI</TT> is the identifier for the corresponding element, optionally qualified
by immediate ancestors, separated with commas.</P>

<P>Alternatively, you can specify a processing instruction of the
form:
<LIT>
<?DOCTITLE "GI">
</LIT>
<EM>prior</EM> to the document instance.</P>

</SUBSECT1>

</SECTION>

</CHAPTER>

<CHAPTER ID="DOCUPRES"><TITLE>Document Presentation</TITLE>

<P>Document presentation is governed by the use of <EM>style sheets</EM> and by the
choice of <EM>navigator</EM>. Style sheets contain layout information regarding the
formatting of elements whereas navigators extract various elements for navigation. There
are no restrictions on the number of styles or navigators that can be attached.</P>

<P>Style sheets are stored as SGML files with the suffix <TT>.SSH</TT>, navigators
with the suffix <TT>.NAV</TT>. Both are normally attached to the corresponding DTD by
virtue of an <TT>ENTITYRC</TT> catalog.</P>

<SECTION ID="SSHSEL"><TITLE>Style Sheet Selection</TITLE>

<P>In &p; the entity corresponding to the DTD should be declared using a <XREF
RID="PUBLID">public identifier</XREF>, i.e. the doctype declaration ought to take one
of two forms:

<LIT>
<!DOCTYPE ... PUBLIC "public identifier">
</LIT>
or
<LIT>
<!DOCTYPE ... PUBLIC "public identifier"  "system identifier">
</LIT>
where the ellipsis (<TT>&hellip;</TT>) above denotes the generic identifier of the
doctype element.</P>

<P>If a document doesn't have a public ID for the DTD, you can still select a
style sheet by inserting a processing instruction in the document:</P>

<LIT>
<?STYLESPEC "style sheet name" "style sheet system identifier">
</LIT> 

<NOTE><P>This mechanism also allows you to override the default style for a
<EM>specific</EM> document.</P></NOTE>

<SUBSECT1><TITLE>Style Sheet Selection Fallback</TITLE>

<P>If &p; is unable to find any stylesheet in the <TT>ENTITYRC</TT> file or a
corresponding <TT>STYLESPEC</TT> processing instruction, it will search for a file
called <TT>DTDNAME.SSH</TT> to use as a default navigator, where <TT>DTDNAME</TT> is
the filename of the DTD (less the file suffix).</P>

<![ %windows; [ <P>As an example, if the system identifier for the DTD is
<TT>C:\DTDS\IBMIDDOC.DTD</TT> &p; will search for <TT>C:\DTDS\IBMIDDOC.SSH</TT>.</P>
]]>

<![ %motif; [ <P>As an example, if the system identifier for the DTD is
<TT>DTDS/IBMIDDOC.DTD</TT> &p; will search for "DTDS/IBMIDDOC.SSH.</P>
]]>

<![ %mac; [ <P>As an example, if the system identifier for the DTD is
<TT>HD500:DTDS:IBMIDDOC.DTD</TT> &p; will search for <TT>HD500:DTDS:IBMIDDOC.SSH</TT>.</P>
]]>

</SUBSECT1>
</SECTION>

<SECTION ID="NAVSEL"><TITLE>Navigator Selection</TITLE>

<P>In &p; the entity corresponding to the DTD should be declared using a <XREF
RID="PUBLID">public identifier</XREF>. If that is not the case, you can still select
a navigator by inserting a processing instruction in the document prior to browsing
it in &p;:</P>

<LIT>
<?NAVIGATOR "navigator name" "navigator system identifier">
</LIT> 

<NOTE><P>This mechanism also allows you to override the default navigator for a
specific document.</P></NOTE>

<SUBSECT1><TITLE>Navigator Selection Fallback</TITLE>

<P>If &p; is unable to find any navigator in the <TT>ENTITYRC</TT> file or a
corresponding <TT>NAVIGATOR</TT> processing instruction, it will search for a file
called <TT>DTDNAME.NAV</TT> to use as a default navigator, where <TT>DTDNAME</TT> is
the filename of the DTD (less the file suffix).</P>

<![ %windows; [
<P>As an example, if the system identifier for the DTD is
<TT>C:\DTDS\IBMIDDOC.DTD</TT> &p; will search for
<TT>C:\DTDS\IBMIDDOC.NAV</TT>.</P> ]]>

<![ %motif; [
<P>As an example, if the system identifier for the DTD is
<TT>DTDS/IBMIDDOC.DTD</TT> &p; will search for "DTDS/IBMIDDOC.NAV.</P> ]]>

<![ %mac; [
<P>As an example, if the system identifier for the DTD is
<TT>HD500:DTDS:IBMIDDOC.DTD</TT> &p; will search for
<TT>HD500:DTDS:IBMIDDOC.NAV</TT>.</P> ]]>

</SUBSECT1>
</SECTION>

</CHAPTER>

<CHAPTER ID="BASICS"><TITLE>SGML Basics</TITLE>

<SECTION ID="ENTS"><TITLE>Entities</TITLE>

<P>SGML has no concept of files. The mechanism of entities is used to represent data,
that generally speaking could be residing in one or more files or, say, extracted and
assembled on-the-fly from a database. It is the responsability of the <EM>Entity
Manager</EM> to resolve the entities.  This abstraction isolates the SGML system from
the operating system dependencies inherent with file management.  An SGML entity can
thus be anything from a single character to several files, and the SGML system is not
aware of the underlying physical structure in any way whatsoever.</P>

<SUBSECT1 ID="PUBLID"><TITLE>Public Identifiers</TITLE>

<P>Public identifiers are often used to increase the portability of SGML documents.
The public identifier is a <EM>symbolic name</EM> for an entity which is eventually
resolved to a <XREF RID="SYSTID">system identifier</XREF>.</P>

<P>&p; uses public identifiers in the <TT>CATALOG</TT> and <TT>ENTITYRC</TT> files,
and in style sheet and navigator definitions as well.</P>

<P>If two public identifiers are identical, they are interpreted as representing
<EM>the same information</EM>. In the interest of processing speed, and to reduce
network congestion, &p; will use a copy of the entity on the local file system
instead of fetching it from some World Wide Web server as long as both public
identifiers are identical.</P>

<P>The public identifier for the DTD of this document is <TT>-//Synex Information
AB//DTD Panorama Manual 1.2//EN</TT>.  A so-called <EM>formal public identifier</EM>
(or FPI for short) has a well-defined structure as illustrated by the table
below:</P>

<SQTABLE>
<SQROW><!-- Row 1 -->
<SQCELL colstart=1 colspan=1 rowstart=1 rowspan=1>
<BO>Public identifier component</BO>
</SQCELL>
<SQCELL colstart=2 colspan=2 rowstart=1 rowspan=1>
<BO>Corresponding function</BO>
</SQCELL>
</SQROW>
<SQROW><!-- Row 2 -->
<SQCELL colstart=1 colspan=1 rowstart=2 rowspan=4>
-//
</SQCELL>
<SQCELL colstart=2 colspan=2 rowstart=2 rowspan=1>
The owner identifier is prefixed by one of
</SQCELL>
</SQROW>
<SQROW><!-- Row 3 -->
<SQCELL colstart=2 colspan=1 rowstart=3 rowspan=1>
+//
</SQCELL>
<SQCELL colstart=3 colspan=1 rowstart=3 rowspan=1>
An owner which is registered under the rules of ISO 9070<FOOTNOTE><P>In addition,
the international standard book numbering (ISBN) prefix is a valid
registered identifier.</P></FOOTNOTE>
</SQCELL>
</SQROW>
<SQROW><!-- Row 4 -->
<SQCELL colstart=2 colspan=1 rowstart=4 rowspan=1>
-//
</SQCELL>
<SQCELL colstart=3 colspan=1 rowstart=4 rowspan=1>
This is the unregistered owner prefix
</SQCELL>
</SQROW>
<SQROW><!-- Row 5 -->
<SQCELL colstart=2 colspan=1 rowstart=5 rowspan=1>
ISO XXXX:YYYY
</SQCELL>
<SQCELL colstart=3 colspan=1 rowstart=5 rowspan=1>
An ISO owner identifier is the ISO publication number without the language suffix, such as
"ISO 10744:1992"
</SQCELL>
</SQROW>
<SQROW><!-- Row 6 -->
<SQCELL colstart=1 colspan=1 rowstart=6 rowspan=1>
Synex Information AB
</SQCELL>
<SQCELL colstart=2 colspan=2 rowstart=6 rowspan=1>
The <BO>owner name</BO>. See standards such as ISO 3166 for guidelines on formulating
owner identifiers
</SQCELL>
</SQROW>
<SQROW><!-- Row 7 -->
<SQCELL colstart=1 colspan=1 rowstart=7 rowspan=1>
//
</SQCELL>
<SQCELL colstart=2 colspan=2 rowstart=7 rowspan=1>
Consecutive solidi are used as separators ("delimiters") in formal public identifiers
</SQCELL>
</SQROW>
<SQROW><!-- Row 8 -->
<SQCELL colstart=1 colspan=1 rowstart=8 rowspan=6>
DTD
</SQCELL>
<SQCELL colstart=2 colspan=2 rowstart=8 rowspan=1>
The <BO>public text class</BO> is one of fourteen defined by the SGML standard.
Some are used more commonly than others:
</SQCELL>
</SQROW>
<SQROW><!-- Row 9 -->
<SQCELL colstart=2 colspan=1 rowstart=9 rowspan=1>
TEXT
</SQCELL>
<SQCELL colstart=3 colspan=1 rowstart=9 rowspan=1>
An SGML text entity
</SQCELL>
</SQROW>
<SQROW><!-- Row 10 -->
<SQCELL colstart=2 colspan=1 rowstart=10 rowspan=1>
DOCUMENT
</SQCELL>
<SQCELL colstart=3 colspan=1 rowstart=10 rowspan=1>
An SGML document
</SQCELL>
</SQROW>
<SQROW><!-- Row 11 -->
<SQCELL colstart=2 colspan=1 rowstart=11 rowspan=1>
DTD
</SQCELL>
<SQCELL colstart=3 colspan=1 rowstart=11 rowspan=1>
A document type declaration subset
</SQCELL>
</SQROW>
<SQROW><!-- Row 12 -->
<SQCELL colstart=2 colspan=1 rowstart=12 rowspan=1>
ENTITIES
</SQCELL>
<SQCELL colstart=3 colspan=1 rowstart=12 rowspan=1>
An entity set (such as the public character sets listed in Annex D of
the SGML standard).
</SQCELL>
</SQROW>
<SQROW><!-- Row 13 -->
<SQCELL colstart=2 colspan=2 rowstart=13 rowspan=1>
See production rule 86 of the SGML standard for other allowed values
</SQCELL>
</SQROW>
<SQROW><!-- Row 14 -->
<SQCELL colstart=1 colspan=1 rowstart=14 rowspan=1>
</SQCELL>
<SQCELL colstart=2 colspan=2 rowstart=14 rowspan=1>
Unavailable public text is indicated using an optional <TT>-//</TT> 
</SQCELL>
</SQROW>
<SQROW><!-- Row 15 -->
<SQCELL colstart=1 colspan=1 rowstart=15 rowspan=1>
Panorama Manual 1.2
</SQCELL>
<SQCELL colstart=2 colspan=2 rowstart=15 rowspan=1>
Except for ISO publications, the description is any string of so-called minimum data that
describes the public text
</SQCELL>
</SQROW>
<SQROW><!-- Row 16 -->
<SQCELL colstart=1 colspan=1 rowstart=16 rowspan=1>
//
</SQCELL>
<SQCELL colstart=2 colspan=2 rowstart=16 rowspan=1>
The FPI separator
</SQCELL>
</SQROW>
<SQROW><!-- Row 17 -->
<SQCELL colstart=1 colspan=1 rowstart=17 rowspan=1>
EN
</SQCELL>
<SQCELL colstart=2 colspan=2 rowstart=17 rowspan=1>
The <BO>public text language</BO> is an indicator for the natural language in which the data is encoded
("EN" means English, "SW" means Swedish). This code is defined by ISO 639.
</SQCELL>
</SQROW>
<SQROW><!-- Row 18 -->
<SQCELL colstart=1 colspan=1 rowstart=18 rowspan=1>
</SQCELL>
<SQCELL colstart=2 colspan=2 rowstart=18 rowspan=1>
If the public text is device-dependent, a <BO>public text display
version</BO> must be included.
</SQCELL>
</SQROW>
</SQTABLE>

</SUBSECT1>

<SUBSECT1 ID="SYSTID"><TITLE>System Identifiers</TITLE>

<P>Public identifiers are resolved by the Entity Manager into system identifiers
(that are, naturally, system dependent). &p; supports three kinds of system
identifiers:

<DEFLIST>

<TERM>Relative identifiers. </TERM><DD><P>A <EM>relative</EM> system identifier is expressed
relative a location&mdash;such as the installation directory.</P></DD>

<TERM>Complete system identifier. </TERM><DD><P>An absolute identifier (that consists of a
full path and of a filename.)</P></DD>

<TERM>URL. </TERM><DD><P>Uniform Resource Locators are a standard means of representing
resources on the World Wide Web. &p; understands URLs prefixed by <TT>http</TT> such
as <URL>&sgmlug;</URL>.</P></DD>

</DEFLIST>
</P>

<P>As an example, you may want to review the public and system identifier pairs in
the <TT>CATALOG</TT> and <TT>ENTITYRC</TT> files.</P>

</SUBSECT1>

</SECTION>

<SECTION ID="NOTS"><TITLE>Notations</TITLE>

<P>In SGML, data that is best kept in its own format is referred to using
<EM>notations</EM>, and rendered using a dedicated <EM>notation
handler</EM>; typically, this is a separate application of some sort, but
it can also be integrated with the system. As an example, &p; has support
for some common graphics formats.</P>
</SECTION>


<SECTION ID="THEDTD"><TITLE>The Document Type Definition</TITLE>

<P>An idea that is central to SGML is the concept of a <EM>document type
definition:</EM> each document belongs to a class of similar documents, which all
share the same logical structure and set of tags. The modeling of a document into a
set of tags, entities, and attributes, is thus reusable and applicable to all
documents of the same kind. The document type definition is almost always referred
to by its acronym <Q>DTD</Q>. The <EM>SGML Primer</EM> from SoftQuad is a quick
reference guide to the essentials of the standard, and contains the SGML needed to
know for reading DTDs and marked-up documents.</P>

</SECTION>

<SECTION ID="HYTSTD"><TITLE>HyTime</TITLE>

<P>HyTime is the international standard for hypermedia and time-based documents. It
is formally known as <Q>ISO/IEC 10744:1992 Hypermedia/Time-Based Structuring
Language</Q>. Though this title may sound intimidating, HyTime is a very useful
standard. In addition to supporting the SGML standard, &p; provides support for
some HyTime constructs, all related to hyperlinking.</P>


<SUBSECT1><TITLE>Architectural Forms</TITLE>

<P>While the DTD describes the logical structure of a document, there are general
concepts that transcend applications of SGML, of which hyperlinking is a prime
example. Rather than define tag sets for hypertext, the HyTime standard defines a
<EM>meta-DTD</EM>, where many useful constructs are defined much like in an ordinary
DTD. However, to create a correspondence between the HyTime concept and the tag
actually being used, HyTime requires elements to have an attribute called
<TT>HyTime</TT>. By virtue of the HyTime attribute, an application may use any tag
naming scheme, as the corresponding HyTime concept can be readily identified.  This
mechanism is called an <BO>architectural form</BO>.</P>

</SUBSECT1>
</SECTION>
</CHAPTER>

<CHAPTER ID="URLSPEC"><TITLE>WWW Linking</TITLE>

<P>In addition to permitting Uniform Resource Locators to be specified as <XREF
RID="SYSTID">system identifiers</XREF>, &p; can handle URLs in markup in a combination of
processing instructions and ideas similar to architectural forms. The use of processing
instructions vs. other solutions&mdash;such as style sheet settings&mdash;has certain
advantages:

<LIST>

<ITEM><P><BO>Persistence.</BO> The link exists regardless of the selected style sheet.</P></ITEM>

<ITEM><P><BO>Backwards compatibility.</BO> DTDs need not be changed in order to
accomodate the URL addressing.</P></ITEM>

<ITEM><P><BO>Naming Independence.</BO> Because of the indirection provided by the architectural
forms, any tag name and attribute can be designated as being a URL address.</P></ITEM>

</LIST>
</P>

<P>There are four ways of making Panorama aware of URLs:</P>

<LIST>

<ITEM>
<P><TT>&lt;?ATTLINK tagname attname URI></TT></P>
<LIST>

  <ITEM><P>The attribute <TT>attname</TT> of the element <TT>tagname</TT> is treated as an URL.</P></ITEM>

  <ITEM><P><TT>&lt;?ATTLINK A HREF URI></TT> makes <TT>&lt;A HREF="http://www.ora.com/davenport/readme.sgm></TT> a URL link&mdash;the classic HTML URL.</P></ITEM>
</LIST>
</ITEM>

<ITEM><P><TT>&lt;?TAGLINK tagname URI></TT></P>
  <LIST>
  <ITEM><P>The <EM>content</EM> of the element <TT>tagname</TT> is treated as an URI (URL) link.</P></ITEM>

  <ITEM><P><TT>&lt;?TAGLINK URL URI></TT> makes <TT>&lt;URL>http://www.ora.com/davenport/readme.sgm&lt;/URL></TT> a URL link.</P></ITEM>
  </LIST>
</ITEM>
</LIST>

<LIST>
<ITEM>
<P><TT>&lt;?TAGLINK #ARCHFORM arch_attname arch_attval URI></TT></P>
  <LIST>

  <ITEM><P>The content of <EM>all</EM> elements (regardless of their GI), having an
attribute <TT>arch_attname</TT> whose value equals <TT>arch_attval</TT> is treated as
an URL.</P>
  </ITEM>

  <ITEM><P><TT>&lt;?TAGLINK #ARCHFORM LINKAGE HREF URI></TT>  makes
<TT>&lt;URL LINKAGE=HREF>http://www.ora.com/davenport/readme.sgm&lt;/URL></TT>
a URL link. Naturally, the attribute value can be defined as the default value
in the DTD, so that you need not update your documents.</P></ITEM>
</LIST></ITEM>
</LIST>

<LIST>
<ITEM>
<P><TT>&lt;?ATTLINK arch_attname arch_attval attname URI></TT></P>
<LIST>

<ITEM><P>The attribute <TT>attname</TT> of all elements having an attribute
<TT>arch_attname</TT> assigned to <TT>arch_attval</TT> is treated as an URL.</P>
</ITEM>

<ITEM><P>As an example, the instruction <TT>&lt;?ATTLINK #ARCHFORM LINKAGE URL HREF URI></TT> makes
<TT>&lt;T LINKAGE=URL HREF="http://www.ora.com/davenport/readme.sgm"></TT> a URL link.</P>
</ITEM>
</LIST>
</ITEM>
</LIST>


</CHAPTER>

<CHAPTER ID="LINKING"><TITLE>HyTime Linking</TITLE>

<P>&p; currently supports a small subset of the HyTime standard
(ISO/IEC 10744:1992 Hypermedia/Time-based Structuring Language), in
particular some constructs needed for links and for addressing.</P>

<P>Partly supported addressing mechanisms are <TT>nameloc</TT>,
<TT>treeloc</TT> and <TT>dataloc</TT>. As the markup required for the latter
two is somewhat difficult to create manually, they are not documented here.
If you are intrigued of how the markup looks, you may want to look at the
web files that &p; creates for your annotations.</P>

<LIST>

<ITEM><P><TT>nameloc</TT> addressing identifies one or more elements within
an entity (using ID attributes). A typical use of <TT>nameloc</TT> is to
link to a file or a location within that file.</P>

<P>This form of addressing is normally the most robust with respect to
subsequent modifications of the file being linked into.</P></ITEM>


<ITEM><P><TT>treeloc</TT> addressing identifies a path in the SGML Tree.
This is used for linking to elements that lack an ID attribute.</P>

<P>Because the addressing relies on the tree structure, this form of
addressing is more prone to break as a result of editing changes compared to
<TT>nameloc</TT>.</P></ITEM>

<ITEM><P>The form of <TT>dataloc</TT> addressing supported by &p;
counts words. This is used for linking to a range of words <EM>within</EM> an element.</P>

</ITEM>

</LIST>

<P>The HyTime standard allows you to combine the addressing mechanisms
into <EM>location ladders</EM>. &p; uses this feature in webs, so that
anchors are referenced through a <TT>nameloc</TT> to the nearest ID
attribute, followed by a <TT>treeloc</TT> to the element of the
anchor. Finally, if the anchor is a selection within the element, a
<TT>dataloc</TT> points out the stretch of words.</P>

<P>You may want to take advantage of the HyTime support to add HyTime
linking to your SGML documents by copying the required markup
from the webs authored using &p;</P>

<SECTION ID="NMLOC"><TITLE>Nameloc Addressing</TITLE>

<P>The named location addressing (<TT>nameloc</TT>) identifies one or more
named objects by a corresponding number of names in a <EM>name list</EM>. As
the standard prescribes, resolution of the link target is delayed until
actual attempts to access the named location&mdash;you can thus create links
to documents that do not yet exist, to incrementally build a linked document
collection.</P>

<SUBSECT1><TITLE>Required HyTime Markup</TITLE>

<P>Names below that are prefixed with a percent sign are SGML
<EM>parameter entities</EM> to stress the fact that these tags can
have any name by virtue of the HyTime architectural form.</P>

<P>&p; requires at least the following element
declarations:<FOOTNOTE><P>The ellipsis (<LIT>...</LIT>) indicates
omitted declarations.</P></FOOTNOTE>
<LIT>
  <!notation SGML PUBLIC "+//ISO 8879:1986//NOTATION Standard Generalized Markup Language//EN">
  <!entity refdoc SYSTEM "..." NDATA SGML>
   

  <!element %nameloc; ... >
  <!attlist %nameloc;
    HyTime  name    "nameloc"
    %id;     id      %implied;
	...
  >

  <!element %nmlist; ... >
  <!attlist %nmlist;
    HyTime   name             "nmlist"
    nametype (entity|element) %element; -- unified not supported--
    docorsub entity           %implied;
	...
  >

  <!element %clink;  ...>
  <!attlist %clink;
    HyTime     name    "clink"
    %linkend;  idref   %implied;
	...
  >
</LIT>
</P>

<SUBSECT2><TITLE>Examples</TITLE>

<P>In the examples below, the <TT>nmlist</TT> element contains a list of local or
external IDs, or entity names, as declared by the <TT>nametype</TT> attribute.</P>

<SUBSECT3><TITLE>Cross-document Reference to an Entity</TITLE>

<P>To make a cross-document reference to an external entity declared <TT>refdoc</TT>
(see above),  the document should contain the following markup:
<RLIT>
  ...
  &lt;nameloc id="locid"&gt;
  &lt;nmlist nametype="entity"&gt;refdoc&lt;/nmlist&gt;
  &lt;/nameloc&gt;
  ...
  See also the &lt;clink linkend="locid"&gt;related document&lt;/clink&gt;
  ...
</RLIT>
The <TT>refdoc</TT> entity is a notation data with SGML content.</P>

<P>The text <TT>related document</TT> is displayed as a hypertext link (hot text) to the 
<TT>refdoc</TT> entity<FOOTNOTE><P>If <TT>clink</TT> is not defined as a HyTime
clink, the reference will instead point to the <TT>nameloc</TT> element.</P></FOOTNOTE>.</P>
</SUBSECT3>

<SUBSECT3><TITLE>Cross-document Reference to an Element</TITLE>

<P>Use the following markup to make a cross-document reference to an element with the ID <TT>eid</TT> in the 
<TT>refdoc</TT> entity already declared:
<RLIT>
  ...
  &lt;nameloc id="locid"&gt;
  &lt;nmlist nametype="element" docorsub="refdoc"&gt;eid&lt;/nmlist&gt;
  &lt;/nameloc&gt;
  ...
  See also the &lt;clink linkend="locid"&gt;related document&lt;/clink&gt;
  ...
</RLIT>
</P>

<P>The text <TT>related document</TT> points to a specific location in the
<TT>refdoc</TT> entity, identified by an ID attribute with the value
<TT>eid</TT>.</P>

<P>You can have any numbers of names in an <TT>nmlist</TT> element, and any
number of <TT>nmlist</TT> elements in an <TT>nameloc</TT> element. If there are
multiple link targets &p;, will collect all of them in a list, just like
internal IDREFs.</P>
</SUBSECT3>
</SUBSECT2>
</SUBSECT1>

<SUBSECT1><TITLE>Limitations</TITLE>

<P>
<LIST>
<ITEM><P>&p; requires that the <TT>nmlist</TT> entities be declared in
the local document. We do not yet support the case where the <TT>nametype</TT> is declared
as an entity and <TT>docorsub</TT> has a declared entity value, meaning that
the entities in the <TT>nmlist</TT> element are declared in the entity referenced by
the <TT>docorsub</TT> entity.</P></ITEM>

<ITEM><P>Other attributes&mdash;such as <TT>obnames</TT>&mdash;are ignored at
this time.</P></ITEM>
</LIST>
</P>

</SUBSECT1>
</SECTION>
</CHAPTER>

<![ %PRO; [
<CHAPTER ID="HINTS"><TITLE>Hints and Tips</TITLE>

<P>This chapter describes some recommendations and suggested uses of &p;</P>


<SECTION ID="ALTICNS"><TITLE>Customizing the Default Annotation and Link Icons</TITLE>

<P>A very valuable feature is &p;'s ability to attach different types
of icons to different types of webs. In this way, the webs can be
distinguished by their icons' visual appearance. A sample web
illustrating this feature (<TT>ALTICON.WEB</TT>) is included with the
manual.</P>


<SUBSECT1><TITLE>How to change web icons</TITLE>

<P>First, you should design your web icons (in <TT>GIF</TT>, <TT>BMP</TT>, or
<TT>WMF</TT> format). The icons are then declared in the <EM>web file</EM> by adding
declarations in the local declaration subset.</P>

<P><LIST>

<ITEM><P>Start by declaring the notation type (<TT>BMP</TT> in this example)

<LIT>
<!NOTATION BMP PUBLIC 
	   "+//ISBN 0-7923-9432-1::Graphic Notation//NOTATION
	    Microsoft Windows Bitmap//EN">
</LIT>

</P></ITEM>


<ITEM><P>Optionally, declare an attribute list for the notation. The parser scans
<EM>all</EM> graphic entities for the attributes <TT>DESCENT</TT> and <TT>MASK</TT>.
The <TT>DESCENT</TT> attribute is a number specifying the descent of the image (the
drop below the baseline, the default being "0") while the <TT>MASK</TT> attribute is
an entity pointing to the mask of the image.  Masks are meaningful only to raster
images, and designate what portion of the graphic that is to be
drawn.<FOOTNOTE><P>The mask has the same format as in SoftQuad
Explorer.</P></FOOTNOTE>.

<LIT>
<!ATTLIST #NOTATION BMP
	  DESCENT  NUMBER  #IMPLIED
	  MASK     ENTITY  #IMPLIED
	  >
</LIT>
</P></ITEM>

<ITEM><P>Define the actual entities. The entity for the annotation icon should be
named <TT>NoteIcon</TT> and the entity for the link icon should be named
<TT>LinkIcon</TT>. The case <EM>is</EM> significant.

<LIT>
<!ENTITY NoteMask SYSTEM "webnotem.bmp" NDATA BMP>
<!ENTITY NoteIcon SYSTEM "webnotei.bmp" 
	 NDATA BMP [MASK="NoteMask"]>

<!ENTITY LinkMask SYSTEM "weblinkm.bmp" NDATA BMP>
<!ENTITY LinkIcon SYSTEM "weblinki.bmp" 
	 NDATA BMP [MASK="LinkMask" DESCENT="5"]>
</LIT>
</P>
</ITEM>

</LIST>
</P>

</SUBSECT1>

</SECTION>


<SECTION ID="SLIDES"><TITLE>Slide Show Presentation</TITLE>

<P>In the <MENU>options</MENU> menu, you have the option of <MENU>Launching
Subviews</MENU>. When this option is selected, any item hidden behind an
icon will be opened in a separate window when the icon is clicked;
alternatively, the contents behind the icon are displayed in the current
window.</P>

<P>The latter option can be used in presentations in the style of slide shows. Here's
how to do it:

<LIST>

<ITEM><P>The markup of your SGML file should be viewed as a number of elements whose content
each represent a screenful.</P></ITEM>

<ITEM><P>You will probably want to have a title element for each slide.</P></ITEM>

<ITEM><P>Using the style sheet editor: As described in the <XREF
RID="panoug">User's Guide</XREF>, set the element style of the
<Q>slide</Q> element so that it is <XREF
RID="MISCSSH">iconized</XREF>.</P></ITEM>

<ITEM><P>To navigate the file, you have the option of either using a
navigator (easy) or inserting markup-based links that go to the next and
previous element of your slide show presentation (a bit more
work).</P></ITEM>

</LIST>

</P>
</SECTION>


</CHAPTER>
]]>

<CHAPTER ID="CONFORM"><TITLE>SGML Conformance</TITLE>

<P>&p; is an SGML System Conforming to International Standard
ISO&nbsp;8879&mdash;Standard Generalized Markup Language.</P>

<SECTION ID="SYSTEM"><TITLE>System Declaration</TITLE>

<P>&p; parses an SGML declaration but will not act on its contents.  &p;
conforms to the following system declaration (see clause 15.6 of
ISO&nbsp;8879):</P>

<LIT>
<!SYSTEM "ISO 8879:1986"
	 CHARSET
	 BASESET "ISO 646:1983//CHARSET International Reference
	 Version (IRV)//ESC 2/5 4/0"
	 DESCSET
	    0      9         UNUSED
	    9      2         9
	   11      2         UNUSED
	   13      1         13
	   14     18         UNUSED
	   32     95         32
	  127      1         UNUSED
	  BASESET "ISO Registration Number 8859//CHARSET
	  Right Part of Latin Alphabet Nr.1//ESC 2/13 4/1"
	  DESCSET
	      128     127        128
   CAPACITY PUBLIC
	    "ISO 8879:1986//CAPACITY Reference//EN"
   FEATURES
	  MINIMIZE
		  DATATAG  NO
		  OMITTAG  NO
		  RANK     NO
		  SHORTTAG YES
	  LINK
		  SIMPLE   NO
		  IMPLICIT NO
		  EXPLICIT NO
	  OTHER
		  CONCUR   NO
		  SUBDOC   NO
		  FORMAL   NO
    SCOPE DOCUMENT
    SYNTAX PUBLIC
	   "ISO 8879:1986//SYNTAX Core//EN"
    VALIDATE
	   GENERAL    NO
	   MODEL      NO
	   EXCLUDE    NO
	   CAPACITY   NO
	   NONSGML    NO
	   SGML       NO
	   FORMAL     NO
	   SDIF
	   PACK       NO
>
</LIT>

<P>The core concrete syntax is the same as the reference concrete syntax except
that <TT>NONE</TT> is specified for the <TT>SHORTREF</TT> parameter. The parser
also supports marked sections, <TT>#CONREF</TT>-attributes, full entity support
including <TT>#DEFAULT</TT> entity, and the parsing of the local declaration
subset.</P>

<P>&p; extends the core syntax in the following manner:

<LIST>
<ITEM><P>The length of a parameter literal or attribute value literal (LITLEN) is set to 2048.</P></ITEM>

<ITEM><P>the length of a name, name token, etc. (NAMELEN) is set to 2048.</P></ITEM>

<ITEM><P>the length of a processing instruction (PILEN) is set to 2048.</P></ITEM>

<ITEM><P>the length of a start-tag (TAGLEN) is set to 2048.</P></ITEM>

<ITEM><P>The nesting level of open elements (TAGLVL) is set to 48.</P></ITEM>

<ITEM><P>The number of attribute names and name tokens in an element's attribute
definitions (ATTCNT) is set to 100.</P></ITEM>
</LIST>
</P>

<P>There are a number of limits set by the core syntax which are ignored as &p;
will use available RAM as needed. These are:

<LIST>
<ITEM><P>the number of tokens in a group (GRPCNT)</P></ITEM>

<ITEM><P>the grand total of tokens at all levels of a model group (GRPGTCNT)</P></ITEM>

<ITEM><P>the nesting level of model groups (GRPLVL)</P></ITEM>

<ITEM><P>the nesting level of entities (ENTLVL)</P></ITEM>
</LIST>
</P>

<P>The namecase is NO for general identifiers and YES for entities (thus
only entity names are case-sensitive).</P>
</SECTION>

<SECTION ID="FEATURES"><TITLE>Feature support</TITLE>

<P><TT>SHORTTAG</TT> minimization is supported.</P>

</SECTION>

<SECTION ID="VALID"><TITLE>Validation Services</TITLE>

<P>As &p; is <BO>not</BO> a validating parser, we recommend the use of valid, normalized
SGML files as source input.</P>

</SECTION>


</CHAPTER>
</BODY>

<APPMAT>

<APPENDIX ID="HTSPOT"><TITLE>Hot Spot Format</TITLE> 

<P>&p; supports the use of hot spots in graphics. This format is
a proprietary SGML-based format, which uses the concept of
architectural forms. A hot spot locator is defined as:
<LIT>
<!ELEMENT HOTSPOT       EMPTY>

<!ATTLIST HOTSPOT
	  SYNEX-AF      NAME    HOTSPOT
	  ID            ID      #IMPLIED
	  GRAPHIC       ENTITY  #REQUIRED
	  RX            NUMBER  "0"       -- left endpoint --
	  RY            NUMBER  "0"       -- top endpoint --
	  RW            NUMBER  "2048"    -- maximum height --
	  RH            NUMBER  "2048"    -- maximum width --
	  ZOOM          NUMBER  "0"       -- 0=default
					     1=100%
					     2=200%
					     3=400%
					     4=800% --
	  >
</LIT>
</P>

<P>The purpose of the attribute <TT>SYNEX-AF</TT> is to emphasize that this is a
proprietary format. The attribute name <TT>hotspot</TT> specifies an architectural
form that the parser understands. It is thus possible to add hot spots in any
document, their use is not limited to webs.  The corresponding element can be
named freely, and you may add other attributes.</P>

<P>The hot spot addressing is based on a logical grid on the graphic that ranges
from 0 to 2048 on both the x- and y-axis. This means that the graphic can be resized
freely as long as the scale is uniform, as the addressing is relative the logical
grid.</P>

<P>The <TT>ZOOM</TT> attribute specifies the amount by which the graphics should be
zoomed when following a link into it. If this attribute is set to <TT>"0"</TT>, the
browser will try to locate the graphic in some open document, otherwise the hot spot
is always displayed in a separate zoom window, scaled 100, 200, 400, or 800 percent,
depending on the value of the attribute.</P>

<P>The hot spot markup is created using a point-and-click graphical user interface in
the PRO version of &p;, see the section <XREF RID="HOTSPOT">Creating a link from
graphics</XREF> in the <XREF RID="panoug">User's Guide</XREF>.</P>

</APPENDIX>

<APPENDIX ID="NOTFMT"><TITLE>Supported Graphics Formats</TITLE> 

<![ %windows; [
<P>GIF, BMP, and WMF graphics are currently supported by &p;. In the DTD or local declaration subset,</P>
]]>

<P>the GIF notation should either be declared as:

<LIT>
<!NOTATION GIF SYSTEM>
</LIT>

or as:

<LIT>
<!NOTATION any-name PUBLIC
    "+//ISBN 0-7923-9432-1::Graphic Notation//NOTATION
     CompuServe Graphic Interchange Format//EN">
</LIT>
</P>

<P>the Windows bitmap notation should be declared as 

<LIT>
<!NOTATION BMP SYSTEM>
</LIT>

or as:

<LIT>
<!NOTATION BMP PUBLIC 
	   "+//ISBN 0-7923-9432-1::Graphic Notation//NOTATION
	    Microsoft Windows Bitmap//EN">
</LIT>
</P>
<P>and the Windows metafile notation should either be declared as:

<LIT>
<!NOTATION WMF SYSTEM>
</LIT>

or as:

<LIT>
<!NOTATION any-name PUBLIC
    "+//ISBN 0-7923-9432-1::Graphic Notation//NOTATION
     Microsoft Windows Metafile//EN">
</LIT>
</P>

</APPENDIX>

</APPMAT> 
</BOOK>


