home account info subscribe login search My ITKnowledge FAQ/help site map contact us


 
Brief Full
 Advanced
      Search
 Search Tips
To access the contents, click the chapter and section titles.

Platinum Edition Using HTML 4, XML, and Java 1.2
(Publisher: Macmillan Computer Publishing)
Author(s): Eric Ladd
ISBN: 078971759x
Publication Date: 11/01/98

Bookmark It

Search this book:
 
Previous Table of Contents Next


<!-- (C) International Organization for Standardization 1986
     Permission to copy in any form is granted for use with
     conforming SGML systems and applications as defined in
     ISO 8879, provided this notice is included in all copies.
-->
<!-- Character entity set. Typical invocation:
     <!ENTITY % ISOdia PUBLIC
            “ISO 8879:1986//ENTITIES Diacritical Marks//EN//XML”>
     %ISOdia;
-->
<!-- This version of the entity set can be used with any SGML document
     which uses ISO 10646 as its document character set.
     This includes XML documents and ISO HTML documents.
     This entity set uses hexadecimal numeric character references.

     Creator: Rick Jelliffe, Allette Systems

     Version: 1997-07-07           -->

<!ENTITY acute  “&#180;” ><!--=acute accent-->
<!ENTITY breve  “&#x2D8;” ><!--=breve-->
<!ENTITY caron  “&#x2C7;” ><!--=caron-->
<!ENTITY cedil  “&#184;” ><!--=cedilla-->
<!ENTITY circ   “^” ><!--=circumflex accent-->
<!ENTITY dblac  “&#x2DD;” ><!--=double acute accent-->
<!ENTITY die    “&#168;” ><!--=dieresis-->
<!ENTITY dot    “&#x2D9;” ><!--=dot above-->
<!ENTITY grave  “`” ><!--=grave accent-->
<!ENTITY macr   “&#175;” ><!--=macron-->
<!ENTITY ogon   “&#x2DB;” ><!--=ogonek-->
<!ENTITY ring   “&#x2DA;” ><!--=ring-->
<!ENTITY tilde  “&#x2DC;” ><!--=tilde-->
<!ENTITY uml    “&#168;” ><!--=umlaut mark-->

The entity sets are provided as separate files, one for each set. If you know that you are going to need a particular set of characters for an XML document, you can include the necessary declaration in your XML DTD:

<?xml version=“1.0” standalone=“no”?>
<!DOCTYPE chapter SYSTEM “chapter.dtd” [

<!ENTITY % ISOlat1 PUBLIC “ISO 8879-1986//ENTITIES
                   Added Latin 1//EN//XML” “isolat1.xml”>
%ISOlat1;

<!ENTITY % ISOnum PUBLIC “ISO 8879:1986//ENTITIES
                  Numeric and Special Graphic//EN//XML” “isonum.xml”>
%ISOnum;

<!ENTITY % ISOpub PUBLIC “ISO 8879:1986//ENTITIES
                  Publishing//EN//XML” “isopub.xml”>
%ISOpub;
]>
<chapter><number/> … </chapter>

Note that the declaration differs slightly from that shown in the entity file itself; a system identifier has to be used as well as the public identifier.

Notations

Notations identify by name the format of unparsed entities (binary files such as external graphics files), the format of elements that bear a notation attribute, or the helper application (capable of processing the data) to which a processing instruction is addressed.

A notation must be declared in the DTD before it is used. The absolute minimum acceptable form of a notation declaration is

<!NOTATION Name SYSTEM “”>

where Name is something meaningful to you or the registered public identifier for a particular format.

If your system supports it (as most Microsoft Windows will, provided that the extension is associated with an application), you may be able to use a notation declaration such as this:

<!NOTATION GIFSYSTEM “GIF”>

This declaration takes advantage of the fact that as far as the XML processor is concerned, it is quite acceptable if nothing is on the system that can interpret data in this notation. As far as the XML processor is concerned, interpreting the data, or handling the error when it can’t handle the data, is entirely the application’s problem.

If you know that an application is on the system that can handle data in a certain notation, you can help the application out by pointing to the application:

<!NOTATION TIFF SYSTEM “C:\Program Files\Paint Shop Pro\psp.exe”>

Obviously, this will work only if you know the name of the application that can handle a particular notation, if you know exactly where the application is, and if no one moves it. As you can imagine, this isn’t very useful on the Internet.

It is also possible to use an existing SGML facility and use a public identifier. Many registered public identifiers are available, covering everything from the C programming language (ISO/IEC 9899:1990//NOTATION Programming languages - C) to time itself (ISO 8601:1988//NOTATION Representation of dates and times). Some of the most well-known notations and their SGML public identifiers, as they would be used in an SGML notation declaration, are shown in the following:

<!NOTATION JPEG PUBLIC “ISO/IEC 10918:1993//NOTATION
                Digital Compression and Coding of Continuous-tone Still Images
                (JPEG)//EN”>

<!NOTATION JPEG PUBLIC “ISO/IEC 10918:1993//NOTATION
                Digital Compression and Coding of Continuous-tone Still Images
                (JPEG)//EN”>

<!NOTATION BMPPUBLIC “+//ISBN 0-7923-9432-1::Graphic Notation//NOTATION
                Microsoft Windows bitmap//EN”>

<!NOTATION CGM-CHAR PUBLIC “ISO 8632/2//NOTATION Character encoding//EN”>

<!NOTATION CGM-BINARY PUBLIC “ISO 8632/3//NOTATION Binary encoding//EN”>

<!NOTATION CGM-CLEAR PUBLIC “ISO 8632/4//NOTATION Clear text encoding//EN”>

<!NOTATION FAX PUBLIC “-//USA-DOD//NOTATION
               CCITT Group 4 Facsimile Type 1 Untiled Raster//EN”>

<!NOTATION GIF87a PUBLIC “-//CompuServe//NOTATION
                  Graphics Interchange Format 87a//EN”>

<!NOTATION GIF89a PUBLIC “-//CompuServe//NOTATION
                  Graphics Interchange Format 89a//EN”>

<!NOTATION PCXPUBLIC “+//ISBN 0-7923-9432-1::Graphic Notation//NOTATION
               ZSoft PCX bitmap//EN”>

<!NOTATION WMF PUBLIC “+//ISBN 0-7923-9432-1::Graphic Notation//NOTATION
               Microsoft Windows Metafile//EN”>

Nothing prevents you from using these SGML declarations in XML documents, and there are some very good reasons why you should, but the SGML public identifiers have to be combined with system identifiers to enable you to do so, like this:

<!NOTATION GIF89a PUBLIC “-//CompuServe//NOTATION

                  Graphics Interchange Format 89a//EN” ‘C:\Program
                  Files\lviewpro.exe’>

Note that you use a system identifier, but you do not need the SYSTEM keyword.

After (and only after) you have declared the notation, you can use that notation by name in an entity declaration with the NDATA (notation data) keyword:

<!ENTITY figure1 SYSTEM ‘figure1.gif’ NDATA BMP>

You can also use the notation in one of the attribute declarations for an element using the NOTATION keyword:

<!ELEMENT IMG  EMPTY >
<!ATTLIST IMG
        src     %URL     #REQUIRED
        alt     CDATA    #IMPLIED
        type    NOTATION (GIF | JPEG | BMP) “GIF” >


Previous Table of Contents Next


Products |  Contact Us |  About Us |  Privacy  |  Ad Info  |  Home

Use of this site is subject to certain Terms & Conditions, Copyright © 1996-2000 EarthWeb Inc.
All rights reserved. Reproduction whole or in part in any form or medium without express written permission of EarthWeb is prohibited. Read EarthWeb's privacy statement.