XML-ized Entities for Special Characters

XML-ized Versions of the ISO Standard Entities

Here are XML versions of the most common entities. (I have not included the other entity sets, because they require a font change, and there is no standard way to do this in XML yet.)

ISOdia

"ISO 8879:1986//ENTITIES Diacritical Marks//EN//XML"

ISOgrk1

"ISO 9573-15:1993//ENTITIES Greek Letters//EN//XML"

ISOgrk2

"ISO 9573-15:1993//ENTITIES Monotoniko Greek//EN//XML"

ISOgrk3

"ISO 8879:1986//ENTITIES Greek Symbols//EN//XML"

ISOgrk4

"ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN//XML"

ISOlat1

"ISO 8879:1986//ENTITIES Added Latin 1//EN//XML"
"ISO 8879:1986//ENTITIES Added Latin 1//EN//XML"
"ISO 8879:1986//ENTITIES Added Latin 1//EN//XML"
"ISO 8879-1986//ENTITIES Added Latin 1//EN//XML"
"ISO 8879:1986//ENTITIES Added Latin 1//EN"
"ISO 8879-1986//ENTITIES Added Latin 1//EN"

ISOlat2

"ISO 8879:1986//ENTITIES Added Latin 2//EN//XML"

ISOnum

"ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN//XML"

ISOpub

"ISO 8879:1986//ENTITIES Publishing//EN//XML"

ISOtech

"ISO 8879:1986//ENTITIES General Technical//EN//XML"

You can invoke the entities as follows:

     <!ENTITY % ISOlat1 PUBLIC
       "ISO 8879:1986//ENTITIES Added Latin 1//EN//XML"
       "http://www.ascc.net/xml/resource/entities/ISO/ISOlat1.pen" >
     %ISOlat1;

     <!ENTITY % ISOlat2 PUBLIC
       "ISO 8879:1986//ENTITIES Added Latin 2//EN//XML"
       "http://www.ascc.net/xml/resource/entities/ISO/ISOlat2.pen" >
     %ISOlat2;

     <!ENTITY % ISOnum PUBLIC
       "ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN//XML"
       "http://www.ascc.net/xml/resource/entities/ISO/ISOnum.pen" >
     %ISOnum;

     <!ENTITY % ISOtech PUBLIC
       "ISO 8879:1986//ENTITIES General Technical//EN//XML"
       "http://www.ascc.net/xml/resource/entities/ISO/ISOtech.pen" >
     %ISOtech;

    <!ENTITY % ISOgrk1 PUBLIC
       "ISO 9573-15:1993//ENTITIES Greek Letters//EN//XML"
       "http://www.ascc.net/xml/resource/entities/ISO/ISOgrk1.pen" >
     %ISOgrk1;

     <!ENTITY % ISOgrk2 PUBLIC
       "ISO 9573-15:1993//ENTITIES Monotoniko Greek//EN//XML"
       "http://www.ascc.net/xml/resource/entities/ISO/ISOgrk2.pen" >
     %ISOgrk2;


     <!ENTITY % ISOgrk3 PUBLIC
        "ISO 8879:1986//ENTITIES Greek Symbols//EN//XML"
        "http://www.ascc.net/xml/resource/entities/ISO/ISOgrk3.pen" >
     %ISOgrk3;

XML-ized Version of the SPREAD-2 Entity Sets

The SPREAD-2 entities allow all the ISO 10646 characters to be used in an SGML document. XML uses 10646, so you dont need these with XML: just use numeric character references. But if you need to bring in SGML documents which use the SPREAD entities into XML, the following declarations will be helpful to you.

<!-- This file contains SPREAD-2 entities resolved for ISO10646 -->
<!-- 
  SPREAD-2 - Standardisation Project Regarding East Asian Documents 
  Universal Public Entity Set, 1 April, 1997 
        XMLized: RJ, 1 March, 1999
-->

<!-- 
  This public entity set has the ISO 9070 formal public identifier:
  -//SPREAD//ENTITIES ISO/IEC 10646-1:1993 BMP (U 2.0)//EN//XML    
  or
  -//SPREAD//ENTITIES ISO/IEC 10646-1:1993 BMP (U 2.0)//EN//WWW    

  The first version expects locally-installed versions of the public 
  entities. The second version downloads the entities over the WWW.
  (Note that Academia Sinica does not guarantee access to the WWW 
  versions of the entities.)

  This set brings in all characters defined in ISO/IEC 10646-1 BMP,
  as revised in 1996, and the Unicode Standard 2.0 worldwide 
  character encoding of the Unicode Consortium.

  It is strongly recommended that these entity reference to these
  entities should always have an explicit Entity Reference Close
  delimiter (ERC).

  You can invoke this entity set as follows:
        
        > 
        %SPREAD2;
  
  A networked version of this may be available at Academia Sinica's Web server.
  However, please use local versions if possible:
        
        > 
        %SPREAD2;
        
  
          
-->



<!-- DSSSL script  "ISO/IEC 10179:1996//Script::Arabic" -->
<!ENTITY % arabic 
  PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (ARABIC)//EN//XML" 
  "http://www.ascc.net/xml/resource/entities/SPREAD-2/arabic.pen"> 
%arabic;  
<!-- DSSSL script  "ISO/IEC 10179:1996//Script::Armenian" -->
<!ENTITY % armenian 
  PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (ARMENIAN)//EN//XML" 
  "http://www.ascc.net/xml/resource/entities/SPREAD-2/armenian.pen"> 
%armenian;  
<!-- DSSSL script  "ISO/IEC 10179:1996//Script::Bengali" -->
<!ENTITY % bengali 
  PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (BENGALI)//EN//XML" 
  "http://www.ascc.net/xml/resource/entities/SPREAD-2/bengali.pen"> 
%bengali;  
<!-- DSSSL script  "ISO/IEC 10179:1996//Script::Bopomofo" -->
<!ENTITY % bopomofo 
  PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (BOPOMOFO)//EN//XML" 
  "http://www.ascc.net/xml/resource/entities/SPREAD-2/bopomofo.pen"> 
%bopomofo;  
<!-- DSSSL script  "ISO/IEC 10179:1996//Script::??" -->
<!ENTITY % cjk-misc  
  PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (CJK-MISC)//EN//XML" 
  "http://www.ascc.net/xml/resource/entities/SPREAD-2/cjk-misc.pen"> 
%cjk-misc;
<!-- DSSSL script  "ISO/IEC 10179:1996//Script::Cyrillic" -->
<!ENTITY % cyrillic 
  PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (CYRILLIC)//EN//XML" 
  "http://www.ascc.net/xml/resource/entities/SPREAD-2/cyrillic.pen"> 
%cyrillic;  
<!-- DSSSL script  "ISO/IEC 10179:1996//Script::Devanagari" -->
<!ENTITY % devanagari 
  PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (DEVANAGARI)//EN//XML" 
  "http://www.ascc.net/xml/resource/entities/SPREAD-2/devanagari.pen"> 
%devanagari;  
<!ENTITY % diacrits
  PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (DIACRITICALS)//EN//XML" 
  "http://www.ascc.net/xml/resource/entities/SPREAD-2/diacriticals.pen"> 
%diacrits;  
<!-- DSSSL script  "ISO/IEC 10179:1996//Script::Symbol" -->
<!ENTITY % dingbats
  PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (DINGBATS)//EN//XML" 
  "http://www.ascc.net/xml/resource/entities/SPREAD-2/dingbats.pen"> 
%dingbats;  
<!-- DSSSL script  "ISO/IEC 10179:1996//Script::Georgian" -->
<!ENTITY % georgian 
  PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (GEORGIAN)//EN//XML" 
  "http://www.ascc.net/xml/resource/entities/SPREAD-2/georgian.pen"> 
%georgian;  
<!-- DSSSL script  "ISO/IEC 10179:1996//Script::Greek" -->
<!ENTITY % greek 
  PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (GREEK)//EN//XML" 
  "http://www.ascc.net/xml/resource/entities/SPREAD-2/greek.pen"> 
%greek;  
<!-- DSSSL script  "ISO/IEC 10179:1996//Script::Gujarati" -->
<!ENTITY % gujarati 
  PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (GUJARATI)//EN//XML" 
  "http://www.ascc.net/xml/resource/entities/SPREAD-2/gujarati.pen"> 
%gujarati;  
<!-- DSSSL script  "ISO/IEC 10179:1996//Script::Gurmukhi" -->
<!ENTITY % gurmukhi 
  PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (GURMUKHI)//EN//XML" 
  "http://www.ascc.net/xml/resource/entities/SPREAD-2/gurmukhi.pen"> 
%gurmukhi;  
<!-- DSSSL script  "ISO/IEC 10179:1996//Script::Han" -->
<!ENTITY % han 
  PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (HAN)//EN//XML" 
  "http://www.ascc.net/xml/resource/entities/SPREAD-2/han.pen"> 
%han;  
<!-- DSSSL script  "ISO/IEC 10179:1996//Script::Hangul" -->
<!ENTITY % hangul 
  PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (HANGUL)//EN//XML"    
>     
<!-- DSSSL script  "ISO/IEC 10179:1996//Script::Hebrew" -->
<!ENTITY % hebrew 
  PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (HEBREW)//EN//XML" 
  "http://www.ascc.net/xml/resource/entities/SPREAD-2/hebrew.pen"> 
%hebrew;  
<!-- DSSSL script  "ISO/IEC 10179:1996//Script::Hiragana" -->
<!ENTITY % hiragana 
  PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (HIRAGANA)//EN//XML" 
  "http://www.ascc.net/xml/resource/entities/SPREAD-2/hiragana.pen"> 
%hiragana;  
<!-- DSSSL script  "ISO/IEC 10179:1996//Script::Symbol" -->
<!ENTITY % ipa
  PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (IPA)//EN//XML" 
  "http://www.ascc.net/xml/resource/entities/SPREAD-2/ipa.pen"> 
%ipa;  
<!-- DSSSL script  "ISO/IEC 10179:1996//Script::Hangul" -->
<!ENTITY % jamo 
  PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (JAMO)//EN//XML" 
  "http://www.ascc.net/xml/resource/entities/SPREAD-2/jamo.pen"> 
%jamo;  
<!-- DSSSL script  "ISO/IEC 10179:1996//Script::Kannada" -->
<!ENTITY % kannada 
  PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (KANNADA)//EN//XML" 
  "http://www.ascc.net/xml/resource/entities/SPREAD-2/kannada.pen"> 
%kannada;  
<!-- DSSSL script  "ISO/IEC 10179:1996//Script::Katakana" -->
<!ENTITY % katakana 
  PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (KATAKANA)//EN//XML" 
  "http://www.ascc.net/xml/resource/entities/SPREAD-2/katakana.pen"> 
%katakana;  
<!-- DSSSL script  "ISO/IEC 10179:1996//Script::Lao" -->
<!ENTITY % lao 
  PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (LAO)//EN//XML" 
  "http://www.ascc.net/xml/resource/entities/SPREAD-2/lao.pen"> 
%lao;  
<!-- DSSSL script  "ISO/IEC 10179:1996//Script::Latin" -->
<!ENTITY % latin 
  PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (LATIN)//EN//XML" 
  "http://www.ascc.net/xml/resource/entities/SPREAD-2/latin.pen"> 
%latin;  
<!-- DSSSL script  "ISO/IEC 10179:1996//Script::Malayam" -->
<!ENTITY % malayam 
  PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (MALAYAM)//EN//XML" 
  "http://www.ascc.net/xml/resource/entities/SPREAD-2/malayam.pen"> 
%malayam;  
<!-- DSSSL script  "ISO/IEC 10179:1996//Script::Oriya" -->
<!ENTITY % oriya 
  PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (ORIYA)//EN//XML" 
  "http://www.ascc.net/xml/resource/entities/SPREAD-2/oriya.pen"> 
%oriya;  
<!-- DSSSL script  "ISO/IEC 10179:1996//Script::Punctuation" -->
<!ENTITY % punctuation 
  PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (PUNCTUATION)//EN//XML" 
  "http://www.ascc.net/xml/resource/entities/SPREAD-2/punctuation.pen"> 
%punctuation;  
<!-- DSSSL script  "ISO/IEC 10179:1996//Script::Symbol" -->
<!ENTITY % symbol 
  PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (SYMBOL)//EN//XML" 
  "http://www.ascc.net/xml/resource/entities/SPREAD-2/symbol.pen"> 
%symbol;  
<!-- DSSSL script  "ISO/IEC 10179:1996//Script::Tamil" -->
<!ENTITY % tamil 
  PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (TAMIL)//EN//XML" 
  "http://www.ascc.net/xml/resource/entities/SPREAD-2/tamil.pen"> 
%tamil;  
<!-- DSSSL script  "ISO/IEC 10179:1996//Script::Telugu" -->
<!ENTITY % telugu 
  PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (TELUGU)//EN//XML" 
  "http://www.ascc.net/xml/resource/entities/SPREAD-2/telugu.pen"> 
%telugu;  
<!-- DSSSL script  "ISO/IEC 10179:1996//Script::Thai" -->
<!ENTITY % thai 
  PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (THAI)//EN//XML" 
  "http://www.ascc.net/xml/resource/entities/SPREAD-2/thai.pen"> 
%thai;  
<!-- DSSSL script  "ISO/IEC 10179:1996//Script::Tibetan" -->
<!ENTITY % tibetan
PUBLIC "-//SPREAD//ENTITIES ISO/IEC 10646-1:1993 (TIBETAN)//EN//XML" 
  "http://www.ascc.net/xml/resource/entities/SPREAD-2/tibetan.pen"> 
%tibetan;  


Note: These files were originally prepared for the CD accompanying my book "The XML & SGML Cookbook", ISBN 0-13-614223-0. Rick Jelliffe. Corrections to ricko@gate.sinica.edu.tw.