###############################################################################
# Copyright (c) 1998, 2008 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################
#
# Map of public entities to its file 
# HTML4.01
-//W3C//DTD@HTML@4.01@Transitional//EN=loose.dtd
-//W3C//DTD@HTML@4.01@Frameset//EN=frameset.dtd
-//W3C//DTD@HTML@4.01//EN=strict.dtd
-//W3C//ENTITIES@Latin1//EN//HTML=HTMLlat1.ent
-//W3C//ENTITIES@Symbols//EN//HTML=HTMLsymbol.ent
-//W3C//ENTITIES@Special//EN//HTML=HTMLspecial.ent
# HTML4.0
-//W3C//DTD@HTML@4.0@Transitional//EN=loose400.dtd
-//W3C//DTD@HTML@4.0@Frameset//EN=frameset400.dtd
-//W3C//DTD@HTML@4.0//EN=strict400.dtd
# entities are exactly the same as that of 4.01

# HTML3.2
-//W3C//DTD@HTML@3.2@Final//EN=HTML32.dtd
-//W3C//DTD@HTML@3.2//EN=HTML32.dtd
ISO@8879-1986//ENTITIES@Added@Latin@1//EN//HTML=ISOlat1.ent

# HTML2.0
-//IETF//DTD@HTML//EN=html.dtd
-//IETF//DTD@HTML@2.0//EN=html.dtd
-//IETF//DTD@HTML@Level@2//EN=html.dtd
-//IETF//DTD@HTML@2.0@Level@2//EN=html.dtd
-//IETF//DTD@HTML@Level@1//EN=html-1.dtd
-//IETF//DTD@HTML@2.0@Level@1//EN=html-1.dtd
-//IETF//DTD@HTML@Strict//EN=html-s.dtd
-//IETF//DTD@HTML@2.0@Strict//EN=html-s.dtd
-//IETF//DTD@HTML@Strict@Level@2//EN=html-s.dtd
-//IETF//DTD@HTML@2.0@Strict@Level@2//EN=html-s.dtd
-//IETF//DTD@HTML@Strict@Level@1//EN=html-1s.dtd
-//IETF//DTD@HTML@2.0@Strict@Level@1//EN=html-1s.dtd
# from HTML2.0, it's overlapped
# ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML=ISOlat1.sgml

# Compact HTML
-//W3C//DTD@Compact@HTML@1.0@Draft//EN=compact.dtd
