Initial import of the CDE 2.1.30 sources from the Open Group.
This commit is contained in:
11
cde/programs/dtinfo/dtinfogen/infolib/C.ISO-8859-1/Imakefile
Normal file
11
cde/programs/dtinfo/dtinfogen/infolib/C.ISO-8859-1/Imakefile
Normal file
@@ -0,0 +1,11 @@
|
||||
XCOMM $TOG: Imakefile /main/6 1998/08/10 15:56:00 mgreess $
|
||||
|
||||
#define IHaveSubdirs
|
||||
#define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)' 'CXXDEBUGFLAGS=$(CXXDEBUGFLAGS)'
|
||||
|
||||
SUBDIRS = SGML
|
||||
|
||||
MakeSubdirs($(SUBDIRS))
|
||||
DependSubdirs($(SUBDIRS))
|
||||
NamedTargetSubdirs(install_buildtools,$(SUBDIRS),\
|
||||
install_buildtools,,install_buildtools)
|
||||
@@ -0,0 +1,162 @@
|
||||
XCOMM Imakefile for installing the SGML-related files
|
||||
|
||||
DECL_FILES= \
|
||||
dtinfo.decl
|
||||
|
||||
DTD_FILES= \
|
||||
dtinfoBook.dtd \
|
||||
dtinfoStyle.dtd \
|
||||
dtinfoTOC.dtd \
|
||||
docbook.dtd
|
||||
|
||||
ENTITY_FILES= \
|
||||
dtinfo.af \
|
||||
catalog \
|
||||
hal.gml \
|
||||
iso-catalog \
|
||||
iso-amsa.gml \
|
||||
iso-amsb.gml \
|
||||
iso-amsc.gml \
|
||||
iso-amsn.gml \
|
||||
iso-amso.gml \
|
||||
iso-amsr.gml \
|
||||
iso-box.gml \
|
||||
iso-cyr1.gml \
|
||||
iso-cyr2.gml \
|
||||
iso-dia.gml \
|
||||
iso-grk1.gml \
|
||||
iso-grk2.gml \
|
||||
iso-grk3.gml \
|
||||
iso-grk4.gml \
|
||||
iso-lat1.gml \
|
||||
iso-lat2.gml \
|
||||
iso-mfrk.gml \
|
||||
iso-mopf.gml \
|
||||
iso-mscr.gml \
|
||||
iso-num.gml \
|
||||
iso-pub.gml \
|
||||
iso-tech.gml
|
||||
|
||||
MISC_FILES= \
|
||||
styprolog.sgml
|
||||
|
||||
ALL_FILES= $(DECL_FILES) $(DTD_FILES) $(ENTITY_FILES) $(MISC_FILES)
|
||||
|
||||
InstallMultipleDest(install_buildtools,$(ALL_FILES),$(INSTALL_INFOLIB_DIR)/C/SGML)
|
||||
|
||||
depend::
|
||||
|
||||
#if !UseNSGMLS
|
||||
|
||||
XCOMM symlinks used by dtinfogen when run from the build tree
|
||||
XCOMM really ugly but will do the trick if sgmls is used...
|
||||
|
||||
includes:: clean_symlinks
|
||||
$(LN) dtinfoBook.dtd "-%%Common_Desktop_Environment%%DTD_DtInfo_Bookcase_Description%%EN"
|
||||
$(LN) dtinfoStyle.dtd "-%%Common_Desktop_Environment%%DTD_DtInfo_Style_Sheet%%EN"
|
||||
$(LN) dtinfoTOC.dtd "-%%Common_Desktop_Environment%%DTD_DtInfo_Table_of_Contents%%EN"
|
||||
$(LN) dtinfo.af "-%%Common_Desktop_Environment%%ENTITIES_DtInfo_Architectural_Forms%%EN"
|
||||
$(LN) proxy.ss "-%%Common_Desktop_Environment%%ENTITIES_Dtinfo_SS_Localization%%EN"
|
||||
$(LN) iso-catalog "-%%Common_Desktop_Environment%%ENTITIES_ISO_Catalog%%EN"
|
||||
$(LN) docbook.dtd "-%%HaL_and_O'Reilly%%DTD_DocBook%%EN"
|
||||
$(LN) iso-lat1.gml "ISO_8879:1986%%ENTITIES_Added_Latin_1%%EN"
|
||||
$(LN) iso-lat2.gml "ISO_8879:1986%%ENTITIES_Added_Latin_2%%EN"
|
||||
$(LN) iso-amsa.gml "ISO_8879:1986%%ENTITIES_Added_Math_Symbols:_Arrow_Relations%%EN"
|
||||
$(LN) iso-amsb.gml "ISO_8879:1986%%ENTITIES_Added_Math_Symbols:_Binary_Operators%%EN"
|
||||
$(LN) iso-amsc.gml "ISO_8879:1986%%ENTITIES_Added_Math_Symbols:_Delimiters%%EN"
|
||||
$(LN) iso-amsn.gml "ISO_8879:1986%%ENTITIES_Added_Math_Symbols:_Negated_Relations%%EN"
|
||||
$(LN) iso-amso.gml "ISO_8879:1986%%ENTITIES_Added_Math_Symbols:_Ordinary%%EN"
|
||||
$(LN) iso-amsr.gml "ISO_8879:1986%%ENTITIES_Added_Math_Symbols:_Relations%%EN"
|
||||
$(LN) iso-grk4.gml "ISO_8879:1986%%ENTITIES_Alternative_Greek_Symbols%%EN"
|
||||
$(LN) iso-box.gml "ISO_8879:1986%%ENTITIES_Box_and_Line_Drawing%%EN"
|
||||
$(LN) iso-dia.gml "ISO_8879:1986%%ENTITIES_Diacritical_Marks%%EN"
|
||||
$(LN) iso-tech.gml "ISO_8879:1986%%ENTITIES_General_Technical%%EN"
|
||||
$(LN) iso-grk1.gml "ISO_8879:1986%%ENTITIES_Greek_Letters%%EN"
|
||||
$(LN) iso-grk3.gml "ISO_8879:1986%%ENTITIES_Greek_Symbols%%EN"
|
||||
$(LN) iso-grk2.gml "ISO_8879:1986%%ENTITIES_Monotoniko_Greek%%EN"
|
||||
$(LN) iso-cyr2.gml "ISO_8879:1986%%ENTITIES_Non-Russian_Cyrillic%%EN"
|
||||
$(LN) iso-num.gml "ISO_8879:1986%%ENTITIES_Numeric_and_Special_Graphic%%EN"
|
||||
$(LN) iso-pub.gml "ISO_8879:1986%%ENTITIES_Publishing%%EN"
|
||||
$(LN) iso-cyr1.gml "ISO_8879:1986%%ENTITIES_Russian_Cyrillic%%EN"
|
||||
$(LN) iso-mfrk.gml "ISO_9573-13:1991%%ENTITIES_Math_Alphabets:_Fraktur_%%EN"
|
||||
$(LN) iso-mopf.gml "ISO_9573-13:1991%%ENTITIES_Math_Alphabets:_Open_Face_%%EN"
|
||||
$(LN) iso-mscr.gml "ISO_9573-13:1991%%ENTITIES_Math_Alphabets:_Script_%%EN"
|
||||
$(LN) iso-lat1.gml "ISO_8879-1986%%ENTITIES_Added_Latin_1%%EN"
|
||||
$(LN) iso-lat2.gml "ISO_8879-1986%%ENTITIES_Added_Latin_2%%EN"
|
||||
$(LN) iso-amsa.gml "ISO_8879-1986%%ENTITIES_Added_Math_Symbols:_Arrow_Relations%%EN"
|
||||
$(LN) iso-amsb.gml "ISO_8879-1986%%ENTITIES_Added_Math_Symbols:_Binary_Operators%%EN"
|
||||
$(LN) iso-amsc.gml "ISO_8879-1986%%ENTITIES_Added_Math_Symbols:_Delimiters%%EN"
|
||||
$(LN) iso-amsn.gml "ISO_8879-1986%%ENTITIES_Added_Math_Symbols:_Negated_Relations%%EN"
|
||||
$(LN) iso-amso.gml "ISO_8879-1986%%ENTITIES_Added_Math_Symbols:_Ordinary%%EN"
|
||||
$(LN) iso-amsr.gml "ISO_8879-1986%%ENTITIES_Added_Math_Symbols:_Relations%%EN"
|
||||
$(LN) iso-grk4.gml "ISO_8879-1986%%ENTITIES_Alternative_Greek_Symbols%%EN"
|
||||
$(LN) iso-box.gml "ISO_8879-1986%%ENTITIES_Box_and_Line_Drawing%%EN"
|
||||
$(LN) iso-dia.gml "ISO_8879-1986%%ENTITIES_Diacritical_Marks%%EN"
|
||||
$(LN) iso-tech.gml "ISO_8879-1986%%ENTITIES_General_Technical%%EN"
|
||||
$(LN) iso-grk1.gml "ISO_8879-1986%%ENTITIES_Greek_Letters%%EN"
|
||||
$(LN) iso-grk3.gml "ISO_8879-1986%%ENTITIES_Greek_Symbols%%EN"
|
||||
$(LN) iso-grk2.gml "ISO_8879-1986%%ENTITIES_Monotoniko_Greek%%EN"
|
||||
$(LN) iso-cyr2.gml "ISO_8879-1986%%ENTITIES_Non-Russian_Cyrillic%%EN"
|
||||
$(LN) iso-num.gml "ISO_8879-1986%%ENTITIES_Numeric_and_Special_Graphic%%EN"
|
||||
$(LN) iso-pub.gml "ISO_8879-1986%%ENTITIES_Publishing%%EN"
|
||||
$(LN) iso-cyr1.gml "ISO_8879-1986%%ENTITIES_Russian_Cyrillic%%EN"
|
||||
$(LN) iso-mfrk.gml "ISO_9573-13-1991%%ENTITIES_Math_Alphabets:_Fraktur_%%EN"
|
||||
$(LN) iso-mopf.gml "ISO_9573-13-1991%%ENTITIES_Math_Alphabets:_Open_Face_%%EN"
|
||||
$(LN) iso-mscr.gml "ISO_9573-13-1991%%ENTITIES_Math_Alphabets:_Script_%%EN"
|
||||
|
||||
clean_symlinks::
|
||||
$(RM) -- "-%%Common_Desktop_Environment%%DTD_DtInfo_Bookcase_Description%%EN"
|
||||
$(RM) -- "-%%Common_Desktop_Environment%%DTD_DtInfo_Style_Sheet%%EN"
|
||||
$(RM) -- "-%%Common_Desktop_Environment%%DTD_DtInfo_Table_of_Contents%%EN"
|
||||
$(RM) -- "-%%Common_Desktop_Environment%%ENTITIES_DtInfo_Architectural_Forms%%EN"
|
||||
$(RM) -- "-%%Common_Desktop_Environment%%ENTITIES_Dtinfo_SS_Localization%%EN"
|
||||
$(RM) -- "-%%Common_Desktop_Environment%%ENTITIES_ISO_Catalog%%EN"
|
||||
$(RM) -- "-%%HaL_and_O'Reilly%%DTD_DocBook%%EN"
|
||||
$(RM) "ISO_8879:1986%%ENTITIES_Added_Latin_1%%EN"
|
||||
$(RM) "ISO_8879:1986%%ENTITIES_Added_Latin_2%%EN"
|
||||
$(RM) "ISO_8879:1986%%ENTITIES_Added_Math_Symbols:_Arrow_Relations%%EN"
|
||||
$(RM) "ISO_8879:1986%%ENTITIES_Added_Math_Symbols:_Binary_Operators%%EN"
|
||||
$(RM) "ISO_8879:1986%%ENTITIES_Added_Math_Symbols:_Delimiters%%EN"
|
||||
$(RM) "ISO_8879:1986%%ENTITIES_Added_Math_Symbols:_Negated_Relations%%EN"
|
||||
$(RM) "ISO_8879:1986%%ENTITIES_Added_Math_Symbols:_Ordinary%%EN"
|
||||
$(RM) "ISO_8879:1986%%ENTITIES_Added_Math_Symbols:_Relations%%EN"
|
||||
$(RM) "ISO_8879:1986%%ENTITIES_Alternative_Greek_Symbols%%EN"
|
||||
$(RM) "ISO_8879:1986%%ENTITIES_Box_and_Line_Drawing%%EN"
|
||||
$(RM) "ISO_8879:1986%%ENTITIES_Diacritical_Marks%%EN"
|
||||
$(RM) "ISO_8879:1986%%ENTITIES_General_Technical%%EN"
|
||||
$(RM) "ISO_8879:1986%%ENTITIES_Greek_Letters%%EN"
|
||||
$(RM) "ISO_8879:1986%%ENTITIES_Greek_Symbols%%EN"
|
||||
$(RM) "ISO_8879:1986%%ENTITIES_Monotoniko_Greek%%EN"
|
||||
$(RM) "ISO_8879:1986%%ENTITIES_Non-Russian_Cyrillic%%EN"
|
||||
$(RM) "ISO_8879:1986%%ENTITIES_Numeric_and_Special_Graphic%%EN"
|
||||
$(RM) "ISO_8879:1986%%ENTITIES_Publishing%%EN"
|
||||
$(RM) "ISO_8879:1986%%ENTITIES_Russian_Cyrillic%%EN"
|
||||
$(RM) "ISO_9573-13:1991%%ENTITIES_Math_Alphabets:_Fraktur_%%EN"
|
||||
$(RM) "ISO_9573-13:1991%%ENTITIES_Math_Alphabets:_Open_Face_%%EN"
|
||||
$(RM) "ISO_9573-13:1991%%ENTITIES_Math_Alphabets:_Script_%%EN"
|
||||
$(RM) "ISO_8879-1986%%ENTITIES_Added_Latin_1%%EN"
|
||||
$(RM) "ISO_8879-1986%%ENTITIES_Added_Latin_2%%EN"
|
||||
$(RM) "ISO_8879-1986%%ENTITIES_Added_Math_Symbols:_Arrow_Relations%%EN"
|
||||
$(RM) "ISO_8879-1986%%ENTITIES_Added_Math_Symbols:_Binary_Operators%%EN"
|
||||
$(RM) "ISO_8879-1986%%ENTITIES_Added_Math_Symbols:_Delimiters%%EN"
|
||||
$(RM) "ISO_8879-1986%%ENTITIES_Added_Math_Symbols:_Negated_Relations%%EN"
|
||||
$(RM) "ISO_8879-1986%%ENTITIES_Added_Math_Symbols:_Ordinary%%EN"
|
||||
$(RM) "ISO_8879-1986%%ENTITIES_Added_Math_Symbols:_Relations%%EN"
|
||||
$(RM) "ISO_8879-1986%%ENTITIES_Alternative_Greek_Symbols%%EN"
|
||||
$(RM) "ISO_8879-1986%%ENTITIES_Box_and_Line_Drawing%%EN"
|
||||
$(RM) "ISO_8879-1986%%ENTITIES_Diacritical_Marks%%EN"
|
||||
$(RM) "ISO_8879-1986%%ENTITIES_General_Technical%%EN"
|
||||
$(RM) "ISO_8879-1986%%ENTITIES_Greek_Letters%%EN"
|
||||
$(RM) "ISO_8879-1986%%ENTITIES_Greek_Symbols%%EN"
|
||||
$(RM) "ISO_8879-1986%%ENTITIES_Monotoniko_Greek%%EN"
|
||||
$(RM) "ISO_8879-1986%%ENTITIES_Non-Russian_Cyrillic%%EN"
|
||||
$(RM) "ISO_8879-1986%%ENTITIES_Numeric_and_Special_Graphic%%EN"
|
||||
$(RM) "ISO_8879-1986%%ENTITIES_Publishing%%EN"
|
||||
$(RM) "ISO_8879-1986%%ENTITIES_Russian_Cyrillic%%EN"
|
||||
$(RM) "ISO_9573-13-1991%%ENTITIES_Math_Alphabets:_Fraktur_%%EN"
|
||||
$(RM) "ISO_9573-13-1991%%ENTITIES_Math_Alphabets:_Open_Face_%%EN"
|
||||
$(RM) "ISO_9573-13-1991%%ENTITIES_Math_Alphabets:_Script_%%EN"
|
||||
|
||||
clean:: clean_symlinks
|
||||
|
||||
#endif /* !UseNSGMLS */
|
||||
@@ -0,0 +1,68 @@
|
||||
PUBLIC "-//Common Desktop Environment//DTD DtInfo Bookcase Description//EN" dtinfoBook.dtd
|
||||
PUBLIC "-//Common Desktop Environment//DTD DtInfo Style Sheet//EN" dtinfoStyle.dtd
|
||||
PUBLIC "-//Common Desktop Environment//DTD DtInfo Table of Contents//EN" dtinfoTOC.dtd
|
||||
PUBLIC "-//Common Desktop Environment//ENTITIES DtInfo Architectural Forms//EN" dtinfo.af
|
||||
PUBLIC "-//Common Desktop Environment//ENTITIES ISO Catalog//EN" iso-catalog
|
||||
|
||||
PUBLIC "-//HaL and O'Reilly//DTD DocBook//EN" docbook.dtd
|
||||
|
||||
-- ISO entities --
|
||||
PUBLIC "ISO 8879:1986//ENTITIES Added Latin 1//EN" iso-lat1.gml
|
||||
PUBLIC "ISO 8879:1986//ENTITIES Added Latin 2//EN" iso-lat2.gml
|
||||
PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN" iso-amsa.gml
|
||||
PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN" iso-amsb.gml
|
||||
PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN" iso-amsc.gml
|
||||
PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN" iso-amsn.gml
|
||||
PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN" iso-amso.gml
|
||||
PUBLIC "ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN" iso-amsr.gml
|
||||
PUBLIC "ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN" iso-grk4.gml
|
||||
PUBLIC "ISO 8879:1986//ENTITIES Box and Line Drawing//EN" iso-box.gml
|
||||
PUBLIC "ISO 8879:1986//ENTITIES Diacritical Marks//EN" iso-dia.gml
|
||||
PUBLIC "ISO 8879:1986//ENTITIES General Technical//EN" iso-tech.gml
|
||||
PUBLIC "ISO 8879:1986//ENTITIES Greek Letters//EN" iso-grk1.gml
|
||||
PUBLIC "ISO 8879:1986//ENTITIES Greek Symbols//EN" iso-grk3.gml
|
||||
PUBLIC "ISO 8879:1986//ENTITIES Monotoniko Greek//EN" iso-grk2.gml
|
||||
PUBLIC "ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN" iso-cyr2.gml
|
||||
PUBLIC "ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN" iso-num.gml
|
||||
PUBLIC "ISO 8879:1986//ENTITIES Publishing//EN" iso-pub.gml
|
||||
PUBLIC "ISO 8879:1986//ENTITIES Russian Cyrillic//EN" iso-cyr1.gml
|
||||
PUBLIC "ISO 9573-13:1991//ENTITIES Math Alphabets: Fraktur //EN" iso-mfrk.gml
|
||||
PUBLIC "ISO 9573-13:1991//ENTITIES Math Alphabets: Open Face //EN" iso-mopf.gml
|
||||
PUBLIC "ISO 9573-13:1991//ENTITIES Math Alphabets: Script //EN" iso-mscr.gml
|
||||
|
||||
-- old style entity identifier --
|
||||
PUBLIC "ISO 8879-1986//ENTITIES Added Latin 1//EN" iso-lat1.gml
|
||||
PUBLIC "ISO 8879-1986//ENTITIES Added Latin 2//EN" iso-lat2.gml
|
||||
PUBLIC "ISO 8879-1986//ENTITIES Added Math Symbols: Arrow Relations//EN" iso-amsa.gml
|
||||
PUBLIC "ISO 8879-1986//ENTITIES Added Math Symbols: Binary Operators//EN" iso-amsb.gml
|
||||
PUBLIC "ISO 8879-1986//ENTITIES Added Math Symbols: Delimiters//EN" iso-amsc.gml
|
||||
PUBLIC "ISO 8879-1986//ENTITIES Added Math Symbols: Negated Relations//EN" iso-amsn.gml
|
||||
PUBLIC "ISO 8879-1986//ENTITIES Added Math Symbols: Ordinary//EN" iso-amso.gml
|
||||
PUBLIC "ISO 8879-1986//ENTITIES Added Math Symbols: Relations//EN" iso-amsr.gml
|
||||
PUBLIC "ISO 8879-1986//ENTITIES Alternative Greek Symbols//EN" iso-grk4.gml
|
||||
PUBLIC "ISO 8879-1986//ENTITIES Box and Line Drawing//EN" iso-box.gml
|
||||
PUBLIC "ISO 8879-1986//ENTITIES Diacritical Marks//EN" iso-dia.gml
|
||||
PUBLIC "ISO 8879-1986//ENTITIES General Technical//EN" iso-tech.gml
|
||||
PUBLIC "ISO 8879-1986//ENTITIES Greek Letters//EN" iso-grk1.gml
|
||||
PUBLIC "ISO 8879-1986//ENTITIES Greek Symbols//EN" iso-grk3.gml
|
||||
PUBLIC "ISO 8879-1986//ENTITIES Monotoniko Greek//EN" iso-grk2.gml
|
||||
PUBLIC "ISO 8879-1986//ENTITIES Non-Russian Cyrillic//EN" iso-cyr2.gml
|
||||
PUBLIC "ISO 8879-1986//ENTITIES Numeric and Special Graphic//EN" iso-num.gml
|
||||
PUBLIC "ISO 8879-1986//ENTITIES Publishing//EN" iso-pub.gml
|
||||
PUBLIC "ISO 8879-1986//ENTITIES Russian Cyrillic//EN" iso-cyr1.gml
|
||||
PUBLIC "ISO 9573-13-1991//ENTITIES Math Alphabets: Fraktur //EN" iso-mfrk.gml
|
||||
PUBLIC "ISO 9573-13-1991//ENTITIES Math Alphabets: Open Face //EN" iso-mopf.gml
|
||||
PUBLIC "ISO 9573-13-1991//ENTITIES Math Alphabets: Script //EN" iso-mscr.gml
|
||||
|
||||
|
||||
-- Compatibility with OLIAS --
|
||||
PUBLIC "-//HaL Software Systems//DTD OLIAS Bookcase Description//EN" Bookcase.dtd
|
||||
PUBLIC "-//HaL Software Systems//DTD OLIAS Style Sheet//EN" StyleSheet.dtd
|
||||
PUBLIC "-//HaL Software Systems//DTD OLIAS Table of Contents//EN" TOC.dtd
|
||||
|
||||
PUBLIC "-//HaL Software Systems//ENTITIES OLIAS Architectural Forms//EN" olias.af
|
||||
PUBLIC "-//HaL Software Systems//ENTITIES ISO Catalog//EN" iso-catalog
|
||||
|
||||
-- Enable optional localization of stylesheet fragments --
|
||||
PUBLIC "-//Common Desktop Environment//ENTITIES Dtinfo SS Localization//EN" proxy.ss
|
||||
|
||||
2125
cde/programs/dtinfo/dtinfogen/infolib/C.ISO-8859-1/SGML/docbook.dtd
Normal file
2125
cde/programs/dtinfo/dtinfogen/infolib/C.ISO-8859-1/SGML/docbook.dtd
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,400 @@
|
||||
<!--
|
||||
Bookcase forms
|
||||
-->
|
||||
<!ENTITY % DTINFO.Bookcase
|
||||
"OLIAS NAME #FIXED Bookcase"
|
||||
>
|
||||
<!ENTITY % DTINFO.BookcaseDesc
|
||||
"OLIAS NAME #FIXED BookcaseDesc"
|
||||
>
|
||||
<!ENTITY % DTINFO.BookcaseName
|
||||
"OLIAS NAME #FIXED BookcaseName"
|
||||
>
|
||||
|
||||
<!--
|
||||
Style sheet forms
|
||||
-->
|
||||
<!ENTITY % DTINFO.StyleSheet
|
||||
"OLIAS NAME #FIXED StyleSheet"
|
||||
>
|
||||
<!ENTITY % DTINFO.Style.Online
|
||||
"OLIAS NAME #FIXED Online"
|
||||
>
|
||||
<!ENTITY % DTINFO.Style.Print
|
||||
"OLIAS NAME #FIXED Print"
|
||||
>
|
||||
<!ENTITY % DTINFO.Style.Path
|
||||
"OLIAS NAME #FIXED Path"
|
||||
>
|
||||
<!ENTITY % DTINFO.Style.Select
|
||||
"OLIAS NAME #FIXED Select"
|
||||
>
|
||||
<!ENTITY % DTINFO.Style.Feature
|
||||
"OLIAS NAME #FIXED Feature"
|
||||
>
|
||||
<!ENTITY % DTINFO.Style.Content
|
||||
"OLIAS NAME #FIXED FeatureText"
|
||||
>
|
||||
<!ENTITY % DTINFO.Style.Choice
|
||||
"OLIAS.Choice"
|
||||
>
|
||||
<!ENTITY % DTINFO.Style.AutoRef
|
||||
"OLIAS NAME #FIXED AutoRef"
|
||||
>
|
||||
<!ENTITY % DTINFO.Style.AutoNum
|
||||
"OLIAS NAME #FIXED AutoNumber"
|
||||
>
|
||||
|
||||
<!--
|
||||
Book forms to the file level.
|
||||
-->
|
||||
<!ENTITY % DTINFO.Book
|
||||
"OLIAS NAME #FIXED Book"
|
||||
>
|
||||
<!ENTITY % DTINFO.BookTitle
|
||||
"OLIAS NAME #FIXED BookTitle"
|
||||
>
|
||||
<!ENTITY % DTINFO.BookShortTitle
|
||||
"OLIAS NAME #FIXED BookShortTitle"
|
||||
>
|
||||
<!ENTITY % DTINFO.BookAccess
|
||||
"OLIAS NAME #FIXED BookAccess"
|
||||
>
|
||||
<!ENTITY % DTINFO.BookTab
|
||||
"OLIAS NAME #FIXED BookTab"
|
||||
>
|
||||
<!ENTITY % DTINFO.BookTOCFile
|
||||
"OLIAS NAME #FIXED BookTOCFile"
|
||||
>
|
||||
<!ENTITY % DTINFO.BookFile
|
||||
"OLIAS NAME #FIXED BookFile"
|
||||
>
|
||||
|
||||
<!--
|
||||
TOC specific forms
|
||||
-->
|
||||
<!ENTITY % DTINFO.TOC
|
||||
"OLIAS.TOC CDATA #FIXED '#CONTENT'"
|
||||
>
|
||||
<!ENTITY % DTINFO.TOCEntry
|
||||
"OLIAS.TOCEntry CDATA #FIXED '#CONTENT'"
|
||||
>
|
||||
<!ENTITY % DTINFO.TOCLevel
|
||||
"OLIAS.TOCLevel CDATA #FIXED "
|
||||
>
|
||||
|
||||
<!--
|
||||
Section forms.
|
||||
-->
|
||||
<!ENTITY % DTINFO.Section
|
||||
"OLIAS.Section CDATA #FIXED '#CONTENT'"
|
||||
>
|
||||
<!ENTITY % DTINFO.Section.I
|
||||
"OLIAS.Section CDATA #IMPLIED"
|
||||
>
|
||||
<!ENTITY % DTINFO.Title
|
||||
"OLIAS.Title CDATA #FIXED"
|
||||
>
|
||||
<!ENTITY % DTINFO.Title.I
|
||||
"OLIAS.Title CDATA #IMPLIED"
|
||||
>
|
||||
<!ENTITY % DTINFO.ShortTitle
|
||||
"OLIAS.ShortTitle CDATA #FIXED"
|
||||
>
|
||||
<!ENTITY % DTINFO.ShortTitle.I
|
||||
"OLIAS.ShortTitle CDATA #IMPLIED"
|
||||
>
|
||||
<!ENTITY % DTINFO.Ignore
|
||||
"OLIAS.Ignore CDATA #FIXED '#CONTENT'"
|
||||
>
|
||||
<!ENTITY % DTINFO.Graphic
|
||||
"OLIAS.Graphic CDATA #FIXED"
|
||||
>
|
||||
<!ENTITY % DTINFO.Graphic.I
|
||||
"OLIAS.Graphic CDATA #IMPLIED"
|
||||
>
|
||||
<!ENTITY % DTINFO.Table
|
||||
"OLIAS.Table CDATA #FIXED"
|
||||
>
|
||||
<!ENTITY % DTINFO.Table.I
|
||||
"OLIAS.Table CDATA #IMPLIED"
|
||||
>
|
||||
|
||||
<!--
|
||||
Search scope specific forms.
|
||||
-->
|
||||
<!ENTITY % DTINFO.Scope.Example
|
||||
"OLIAS.Scope NAME #FIXED Example"
|
||||
>
|
||||
<!ENTITY % DTINFO.Scope.Graphic
|
||||
"OLIAS.Scope NAME #FIXED Graphic"
|
||||
>
|
||||
<!ENTITY % DTINFO.Scope.Index
|
||||
"OLIAS.Scope NAME #FIXED Index"
|
||||
>
|
||||
<!ENTITY % DTINFO.Scope.Table
|
||||
"OLIAS.Scope NAME #FIXED Table"
|
||||
>
|
||||
<!ENTITY % DTINFO.Scope.Title
|
||||
"OLIAS.Scope NAME #FIXED Title"
|
||||
>
|
||||
|
||||
|
||||
<!--
|
||||
Data forms. By default any element specified via DTINFO, has an
|
||||
implied DTINFO.Value attribute that refers to the element's content.
|
||||
You can add "prefix" and "suffix" strings depending on the need.
|
||||
|
||||
The syntaxes used for referencing values are:
|
||||
attr() - means use an attribute's value as the content of
|
||||
the AF.
|
||||
concat() - means concatenate the values of the subelements
|
||||
and attribute values listed.
|
||||
firstof() - choose the value from the following order of
|
||||
possibilities. The first nonempty value
|
||||
returned is used.
|
||||
#CONTENT - Use the element's content as the value. This is
|
||||
especially useful on the DTINFO.ID, and
|
||||
DTINFO.IDREF forms.
|
||||
|
||||
|
||||
Values for the Structural AFs.
|
||||
%DTINFO.Value; "concat( attr(Label), RefTitle, ManVolNum )"
|
||||
%DTINFO.Value; "firstof( attr(Fileref), attr(Other), #CONTENT )"
|
||||
|
||||
Hypertext forms.
|
||||
%DTINFO.ID; "attr(Id)"
|
||||
%DTINFO.IDREF; "attr(Linkend)"
|
||||
|
||||
Style sheet references. The first is absolute, the second is
|
||||
indicating that the Style attribute contains the reference.
|
||||
%DTINFO.Style; "sty1"
|
||||
%DTINFO.Style; "attr(Style)"
|
||||
-->
|
||||
|
||||
<!ENTITY % DTINFO.Value
|
||||
"OLIAS.Value CDATA #FIXED"
|
||||
>
|
||||
<!ENTITY % DTINFO.ID
|
||||
"OLIAS.ID CDATA #FIXED"
|
||||
>
|
||||
<!ENTITY % DTINFO.ID.I
|
||||
"OLIAS.ID CDATA #IMPLIED"
|
||||
>
|
||||
<!ENTITY % DTINFO.IDREF
|
||||
"OLIAS.IDREF CDATA #FIXED"
|
||||
>
|
||||
<!ENTITY % DTINFO.IDREF.I
|
||||
"OLIAS.IDREF CDATA #IMPLIED"
|
||||
>
|
||||
<!ENTITY % DTINFO.Style
|
||||
"OLIAS.Style CDATA #FIXED"
|
||||
>
|
||||
<!ENTITY % DTINFO.Style.I
|
||||
"OLIAS.Style CDATA #IMPLIED"
|
||||
>
|
||||
<!ENTITY % DTINFO.XREFLABEL
|
||||
"OLIAS.XREFLABEL CDATA #FIXED"
|
||||
>
|
||||
<!ENTITY % DTINFO.XREF
|
||||
"OLIAS.XREF CDATA #FIXED"
|
||||
>
|
||||
|
||||
<!-- *** BACKWARDS COMPATIBILITY *** -->
|
||||
<!--
|
||||
Bookcase forms
|
||||
-->
|
||||
<!ENTITY % OLIAS.Bookcase
|
||||
"OLIAS NAME #FIXED Bookcase"
|
||||
>
|
||||
<!ENTITY % OLIAS.BookcaseDesc
|
||||
"OLIAS NAME #FIXED BookcaseDesc"
|
||||
>
|
||||
<!ENTITY % OLIAS.BookcaseName
|
||||
"OLIAS NAME #FIXED BookcaseName"
|
||||
>
|
||||
|
||||
<!--
|
||||
Style sheet forms
|
||||
-->
|
||||
<!ENTITY % OLIAS.StyleSheet
|
||||
"OLIAS NAME #FIXED StyleSheet"
|
||||
>
|
||||
<!ENTITY % OLIAS.Style.Online
|
||||
"OLIAS NAME #FIXED Online"
|
||||
>
|
||||
<!ENTITY % OLIAS.Style.Print
|
||||
"OLIAS NAME #FIXED Print"
|
||||
>
|
||||
<!ENTITY % OLIAS.Style.Path
|
||||
"OLIAS NAME #FIXED Path"
|
||||
>
|
||||
<!ENTITY % OLIAS.Style.Select
|
||||
"OLIAS NAME #FIXED Select"
|
||||
>
|
||||
<!ENTITY % OLIAS.Style.Feature
|
||||
"OLIAS NAME #FIXED Feature"
|
||||
>
|
||||
<!ENTITY % OLIAS.Style.Content
|
||||
"OLIAS NAME #FIXED FeatureText"
|
||||
>
|
||||
<!ENTITY % OLIAS.Style.Choice
|
||||
"OLIAS.Choice"
|
||||
>
|
||||
<!ENTITY % OLIAS.Style.AutoRef
|
||||
"OLIAS NAME #FIXED AutoRef"
|
||||
>
|
||||
<!ENTITY % OLIAS.Style.AutoNum
|
||||
"OLIAS NAME #FIXED AutoNumber"
|
||||
>
|
||||
|
||||
<!--
|
||||
Book forms to the file level.
|
||||
-->
|
||||
<!ENTITY % OLIAS.Book
|
||||
"OLIAS NAME #FIXED Book"
|
||||
>
|
||||
<!ENTITY % OLIAS.BookTitle
|
||||
"OLIAS NAME #FIXED BookTitle"
|
||||
>
|
||||
<!ENTITY % OLIAS.BookShortTitle
|
||||
"OLIAS NAME #FIXED BookShortTitle"
|
||||
>
|
||||
<!ENTITY % OLIAS.BookAccess
|
||||
"OLIAS NAME #FIXED BookAccess"
|
||||
>
|
||||
<!ENTITY % OLIAS.BookTab
|
||||
"OLIAS NAME #FIXED BookTab"
|
||||
>
|
||||
<!ENTITY % OLIAS.BookTOCFile
|
||||
"OLIAS NAME #FIXED BookTOCFile"
|
||||
>
|
||||
<!ENTITY % OLIAS.BookFile
|
||||
"OLIAS NAME #FIXED BookFile"
|
||||
>
|
||||
|
||||
<!--
|
||||
TOC specific forms
|
||||
-->
|
||||
<!ENTITY % OLIAS.TOC
|
||||
"OLIAS.TOC CDATA #FIXED '#CONTENT'"
|
||||
>
|
||||
<!ENTITY % OLIAS.TOCEntry
|
||||
"OLIAS.TOCEntry CDATA #FIXED '#CONTENT'"
|
||||
>
|
||||
<!ENTITY % OLIAS.TOCLevel
|
||||
"OLIAS.TOCLevel CDATA #FIXED "
|
||||
>
|
||||
|
||||
<!--
|
||||
Section forms.
|
||||
-->
|
||||
<!ENTITY % OLIAS.Section
|
||||
"OLIAS.Section CDATA #FIXED '#CONTENT'"
|
||||
>
|
||||
<!ENTITY % OLIAS.Section.I
|
||||
"OLIAS.Section CDATA #IMPLIED"
|
||||
>
|
||||
<!ENTITY % OLIAS.Title
|
||||
"OLIAS.Title CDATA #FIXED"
|
||||
>
|
||||
<!ENTITY % OLIAS.Title.I
|
||||
"OLIAS.Title CDATA #IMPLIED"
|
||||
>
|
||||
<!ENTITY % OLIAS.ShortTitle
|
||||
"OLIAS.ShortTitle CDATA #FIXED"
|
||||
>
|
||||
<!ENTITY % OLIAS.ShortTitle.I
|
||||
"OLIAS.ShortTitle CDATA #IMPLIED"
|
||||
>
|
||||
<!ENTITY % OLIAS.Ignore
|
||||
"OLIAS.Ignore CDATA #FIXED '#CONTENT'"
|
||||
>
|
||||
<!ENTITY % OLIAS.Graphic
|
||||
"OLIAS.Graphic CDATA #FIXED"
|
||||
>
|
||||
<!ENTITY % OLIAS.Graphic.I
|
||||
"OLIAS.Graphic CDATA #IMPLIED"
|
||||
>
|
||||
<!ENTITY % OLIAS.Table
|
||||
"OLIAS.Table CDATA #FIXED"
|
||||
>
|
||||
<!ENTITY % OLIAS.Table.I
|
||||
"OLIAS.Table CDATA #IMPLIED"
|
||||
>
|
||||
|
||||
<!--
|
||||
Search scope specific forms.
|
||||
-->
|
||||
<!ENTITY % OLIAS.Scope.Example
|
||||
"OLIAS.Scope NAME #FIXED Example"
|
||||
>
|
||||
<!ENTITY % OLIAS.Scope.Graphic
|
||||
"OLIAS.Scope NAME #FIXED Graphic"
|
||||
>
|
||||
<!ENTITY % OLIAS.Scope.Index
|
||||
"OLIAS.Scope NAME #FIXED Index"
|
||||
>
|
||||
<!ENTITY % OLIAS.Scope.Table
|
||||
"OLIAS.Scope NAME #FIXED Table"
|
||||
>
|
||||
<!ENTITY % OLIAS.Scope.Title
|
||||
"OLIAS.Scope NAME #FIXED Title"
|
||||
>
|
||||
|
||||
|
||||
<!--
|
||||
Data forms. By default any element specified via OLIAS, has an
|
||||
implied OLIAS.Value attribute that refers to the element's content.
|
||||
You can add "prefix" and "suffix" strings depending on the need.
|
||||
|
||||
The syntaxes used for referencing values are:
|
||||
attr() - means use an attribute's value as the content of
|
||||
the AF.
|
||||
concat() - means concatenate the values of the subelements
|
||||
and attribute values listed.
|
||||
firstof() - choose the value from the following order of
|
||||
possibilities. The first nonempty value
|
||||
returned is used.
|
||||
#CONTENT - Use the element's content as the value. This is
|
||||
especially useful on the OLIAS.ID, and
|
||||
OLIAS.IDREF forms.
|
||||
|
||||
|
||||
Values for the Structural AFs.
|
||||
OLIAS.Value CDATA #FIXED
|
||||
"concat( attr(Label), RefTitle, ManVolNum )"
|
||||
OLIAS.Value CDATA #FIXED
|
||||
"firstof( attr(Fileref), attr(Other), #CONTENT )"
|
||||
|
||||
Hypertext forms.
|
||||
OLIAS.ID CDATA #FIXED "attr(Id)"
|
||||
OLIAS.IDREF CDATA #FIXED "attr(Linkend)"
|
||||
|
||||
Style sheet references. The first is absolute, the second is
|
||||
indicating that the Style attribute contains the reference.
|
||||
OLIAS.Style CDATA #FIXED "sty1"
|
||||
OLIAS.Style CDATA #FIXED "attr(Style)"
|
||||
-->
|
||||
|
||||
<!ENTITY % OLIAS.Value
|
||||
"OLIAS.Value CDATA #FIXED"
|
||||
>
|
||||
<!ENTITY % OLIAS.ID
|
||||
"OLIAS.ID CDATA #FIXED"
|
||||
>
|
||||
<!ENTITY % OLIAS.ID.I
|
||||
"OLIAS.ID CDATA #IMPLIED"
|
||||
>
|
||||
<!ENTITY % OLIAS.IDREF
|
||||
"OLIAS.IDREF CDATA #FIXED"
|
||||
>
|
||||
<!ENTITY % OLIAS.IDREF.I
|
||||
"OLIAS.IDREF CDATA #IMPLIED"
|
||||
>
|
||||
<!ENTITY % OLIAS.Style
|
||||
"OLIAS.Style CDATA #FIXED"
|
||||
>
|
||||
<!ENTITY % OLIAS.Style.I
|
||||
"OLIAS.Style CDATA #IMPLIED"
|
||||
>
|
||||
@@ -0,0 +1,106 @@
|
||||
<!SGML "ISO 8879:1986"
|
||||
|
||||
CHARSET
|
||||
|
||||
BASESET "ISO 646:1983//CHARSET
|
||||
International Reference Version (IRV)//ESC 2/5 4/0"
|
||||
-- BASESET "ISO 646:1983//CHARSET IRV//ESC 2/8 4/2" --
|
||||
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 100//CHARSET
|
||||
ECMA-94 Right Part of Latin Alphabet Nr. 1//ESC 2/13 4/1"
|
||||
DESCSET 128 32 UNUSED
|
||||
160 96 32
|
||||
|
||||
|
||||
CAPACITY SGMLREF
|
||||
|
||||
TOTALCAP 99000000
|
||||
ATTCAP 1000000
|
||||
ATTCHCAP 1000000
|
||||
AVGRPCAP 1000000
|
||||
ELEMCAP 1000000
|
||||
ENTCAP 1000000
|
||||
ENTCHCAP 1000000
|
||||
EXGRPCAP 35000
|
||||
EXNMCAP 35000
|
||||
GRPCAP 1000000
|
||||
IDCAP 32000000
|
||||
IDREFCAP 32000000
|
||||
LKNMCAP 35000
|
||||
LKSETCAP 35000
|
||||
MAPCAP 35000
|
||||
NOTCAP 35000
|
||||
NOTCHCAP 35000
|
||||
|
||||
SCOPE DOCUMENT
|
||||
|
||||
SYNTAX
|
||||
|
||||
SHUNCHAR CONTROLS 0 1 2 3 4 5 6 7 8 9
|
||||
10 11 12 13 14 15 16 17 18 19
|
||||
20 21 22 23 24 25 26 27 28 29
|
||||
30 31 127
|
||||
|
||||
BASESET "ISO 646:1983//CHARSET
|
||||
International Reference Version (IRV)//ESC 2/5 4/0"
|
||||
DESCSET 0 128 0
|
||||
|
||||
FUNCTION RE 13
|
||||
RS 10
|
||||
SPACE 32
|
||||
TAB SEPCHAR 9
|
||||
|
||||
NAMING LCNMSTRT ""
|
||||
UCNMSTRT ""
|
||||
LCNMCHAR ".-"
|
||||
UCNMCHAR ".-"
|
||||
NAMECASE GENERAL YES
|
||||
ENTITY NO
|
||||
|
||||
DELIM GENERAL SGMLREF
|
||||
SHORTREF SGMLREF
|
||||
|
||||
NAMES SGMLREF
|
||||
|
||||
QUANTITY SGMLREF
|
||||
ATTCNT 256
|
||||
GRPCNT 253
|
||||
GRPGTCNT 253
|
||||
LITLEN 8092
|
||||
NAMELEN 128
|
||||
TAGLVL 128
|
||||
|
||||
FEATURES
|
||||
MINIMIZE
|
||||
DATATAG NO
|
||||
OMITTAG YES
|
||||
RANK NO
|
||||
SHORTTAG YES
|
||||
|
||||
LINK
|
||||
SIMPLE NO
|
||||
IMPLICIT NO
|
||||
EXPLICIT NO
|
||||
|
||||
OTHER
|
||||
CONCUR NO
|
||||
SUBDOC YES 32
|
||||
FORMAL YES
|
||||
|
||||
APPINFO
|
||||
NONE
|
||||
>
|
||||
<!-- $XConsortium: dtinfo.decl /main/6 1996/10/16 17:39:00 cde-hal $ -->
|
||||
|
||||
<!--
|
||||
Reference Concrete Syntax modifications for use with DtInfo Toolkit
|
||||
$Revision: /main/6 $
|
||||
-->
|
||||
@@ -0,0 +1,122 @@
|
||||
<!-- $XConsortium: dtinfoBook.dtd /main/5 1996/11/07 11:56:16 drk $ -->
|
||||
<!--
|
||||
Formal Public Identifier (FPI):
|
||||
-//Common Desktop Environment//DTD DtInfo Bookcase Description//EN
|
||||
-->
|
||||
|
||||
<!-- DtInfo Architectural Forms -->
|
||||
|
||||
<!ENTITY % OLAF PUBLIC
|
||||
"-//Common Desktop Environment//ENTITIES DtInfo Architectural Forms//EN"
|
||||
>
|
||||
%OLAF;
|
||||
|
||||
<!ENTITY % ISO-List PUBLIC "-//Common Desktop Environment//ENTITIES ISO Catalog//EN">
|
||||
%ISO-List;
|
||||
|
||||
%ISOamsa;
|
||||
%ISOamsb;
|
||||
%ISOamsn;
|
||||
%ISOamso;
|
||||
%ISOamsr;
|
||||
%ISOcyr1;
|
||||
%ISOdia;
|
||||
%ISOgrk1;
|
||||
%ISOgrk3;
|
||||
%ISOlat1;
|
||||
%ISOlat2;
|
||||
%ISOnum;
|
||||
%ISOpub;
|
||||
%ISOtech;
|
||||
|
||||
<!--
|
||||
Describe the BookCase contents.
|
||||
-->
|
||||
<!ELEMENT BookCase - - ( BookcaseName, BookcaseDesc, StyleSheet+, Book+ ) >
|
||||
<!ATTLIST BookCase
|
||||
StyleSheet IDREF #REQUIRED
|
||||
|
||||
%DTINFO.Bookcase;
|
||||
%DTINFO.Style; "attr( StyleSheet )"
|
||||
>
|
||||
|
||||
<!ELEMENT BookcaseName - - ( #PCDATA ) >
|
||||
<!ATTLIST BookcaseName
|
||||
%DTINFO.BookcaseName;
|
||||
>
|
||||
|
||||
<!ELEMENT BookcaseDesc - - ( #PCDATA ) >
|
||||
<!ATTLIST BookcaseDesc
|
||||
%DTINFO.BookcaseDesc;
|
||||
>
|
||||
|
||||
<!ELEMENT Book - - ( Title, ShortTitle?, Access?, Tab*, TOCFile, File+ ) >
|
||||
<!ATTLIST Book
|
||||
StyleSheet IDREF #IMPLIED
|
||||
|
||||
%DTINFO.Book;
|
||||
%DTINFO.Style; "attr( StyleSheet )"
|
||||
>
|
||||
|
||||
<!ELEMENT Title - - ( #PCDATA ) >
|
||||
<!ATTLIST Title
|
||||
%DTINFO.BookTitle;
|
||||
>
|
||||
|
||||
<!ELEMENT ShortTitle - - ( #PCDATA ) >
|
||||
<!ATTLIST ShortTitle
|
||||
%DTINFO.BookShortTitle;
|
||||
>
|
||||
|
||||
<!ELEMENT Access - O EMPTY >
|
||||
<!ATTLIST Access
|
||||
Feature CDATA #REQUIRED
|
||||
VenCode CDATA #REQUIRED
|
||||
Version CDATA #REQUIRED
|
||||
Grouping CDATA #REQUIRED
|
||||
DefaultSection CDATA #REQUIRED
|
||||
DemoTerms CDATA #IMPLIED
|
||||
|
||||
%DTINFO.BookAccess;
|
||||
>
|
||||
|
||||
<!ELEMENT Tab - - ( #PCDATA ) >
|
||||
<!ATTLIST Tab
|
||||
TabLoc CDATA #REQUIRED
|
||||
|
||||
%DTINFO.BookTab;
|
||||
%DTINFO.IDREF; "attr( TabLoc )"
|
||||
>
|
||||
|
||||
<!--
|
||||
Each file may override the default style sheet that its contents
|
||||
will use, and any section within the file can override the style
|
||||
sheet via a DTD modification.
|
||||
-->
|
||||
<!ELEMENT TOCFile - - ( #PCDATA ) >
|
||||
<!ATTLIST TOCFile
|
||||
%DTINFO.BookTOCFile;
|
||||
>
|
||||
|
||||
<!ELEMENT File - - ( #PCDATA ) >
|
||||
<!ATTLIST File
|
||||
%DTINFO.BookFile;
|
||||
>
|
||||
|
||||
<!--
|
||||
Enable optional localization of stylesheet fragments.
|
||||
The entity name used here is irrelevant; the FPI matches
|
||||
one used in the toolkit's catalog and (optionally) in user's
|
||||
local catalog.
|
||||
-->
|
||||
<!ENTITY % LocalFoo PUBLIC
|
||||
"-//Common Desktop Environment//ENTITIES Dtinfo SS Localization//EN"
|
||||
>
|
||||
%LocalFoo;
|
||||
|
||||
<!-- Style Sheet DTD -->
|
||||
|
||||
<!ENTITY % StyleSheet.dtd PUBLIC
|
||||
"-//Common Desktop Environment//DTD DtInfo Style Sheet//EN"
|
||||
>
|
||||
%StyleSheet.dtd;
|
||||
@@ -0,0 +1,345 @@
|
||||
<!-- $XConsortium: dtinfoStyle.dtd /main/20 1996/11/07 11:56:27 drk $ -->
|
||||
<!--
|
||||
The known set of features for rendering online and printed
|
||||
material.
|
||||
-->
|
||||
|
||||
<!-- signed values -->
|
||||
<!ENTITY % integer "CDATA" >
|
||||
|
||||
<!-- true or false -->
|
||||
<!ENTITY % torf "NAME" >
|
||||
|
||||
<!ENTITY % online-only "" >
|
||||
|
||||
<!ENTITY % print-only "Footer | Header | Medium | PageBreak" >
|
||||
|
||||
<!ENTITY % feature "
|
||||
Border |
|
||||
Cell |
|
||||
ColFormat |
|
||||
Font |
|
||||
Highlight |
|
||||
Ignore |
|
||||
Layout |
|
||||
LineBreak |
|
||||
Margin |
|
||||
Position |
|
||||
Prefix |
|
||||
Row |
|
||||
Suffix |
|
||||
TGroup |
|
||||
Table |
|
||||
%print-only;
|
||||
%online-only;
|
||||
">
|
||||
|
||||
<!ENTITY % content-features "
|
||||
Font |
|
||||
Highlight |
|
||||
Layout |
|
||||
LineBreak |
|
||||
Position |
|
||||
Prefix |
|
||||
Suffix
|
||||
">
|
||||
|
||||
<!-- Parameter entities for CALS table col/row separators -->
|
||||
|
||||
<!ENTITY % cals.colsep "
|
||||
Colsep %integer; #IMPLIED
|
||||
">
|
||||
<!ENTITY % cals.rowsep "
|
||||
Rowsep %integer; #IMPLIED
|
||||
">
|
||||
<!ENTITY % cals.colrowsep "
|
||||
%cals.colsep;
|
||||
%cals.rowsep;
|
||||
">
|
||||
|
||||
<!-- Document structure -->
|
||||
|
||||
<!ELEMENT StyleSheet - O ( AutoNumber*, (Path, ((Online, Print?)|(Print, Online?)) )+ ) >
|
||||
<!ATTLIST StyleSheet
|
||||
Name ID #REQUIRED
|
||||
Version NAME #FIXED "CDE-1.1"
|
||||
|
||||
%DTINFO.StyleSheet;
|
||||
%DTINFO.ID; "attr( Name )"
|
||||
>
|
||||
|
||||
<!ELEMENT Path - O ( (#PCDATA | Select)+ ) >
|
||||
<!ATTLIST Path
|
||||
%DTINFO.Style.Path;
|
||||
>
|
||||
|
||||
<!ELEMENT Select - - ( #PCDATA )>
|
||||
<!ATTLIST Select
|
||||
%DTINFO.Style.Select;
|
||||
>
|
||||
|
||||
<!ELEMENT Online - O ( (%feature;)* ) -(%print-only;) >
|
||||
<!ATTLIST Online
|
||||
%DTINFO.Style.Online;
|
||||
>
|
||||
|
||||
|
||||
<!ELEMENT Print - O ( (%feature;)* ) >
|
||||
<!ATTLIST Print
|
||||
%DTINFO.Style.Print;
|
||||
>
|
||||
|
||||
|
||||
<!--
|
||||
FEATURES
|
||||
-->
|
||||
|
||||
<!ELEMENT AutoNumber - O EMPTY>
|
||||
<!ATTLIST AutoNumber
|
||||
%DTINFO.Style.AutoNum;
|
||||
ID ID #REQUIRED
|
||||
Type (Arabic | UCalpha | LCalpha
|
||||
| UCroman | LCroman) Arabic
|
||||
Initial CDATA "1"
|
||||
Delta %integer; 1
|
||||
Reset NAMES #REQUIRED
|
||||
Counter NAMES #REQUIRED
|
||||
>
|
||||
|
||||
<!--
|
||||
FONTS
|
||||
-->
|
||||
|
||||
<!--
|
||||
deprecated per new override rules of Family:
|
||||
any font family specification overrides the inheritance
|
||||
of a previously specified font family
|
||||
<!ELEMENT ActiveCharset - O EMPTY >
|
||||
<!ATTLIST ActiveCharset
|
||||
Charset CDATA #REQUIRED
|
||||
|
||||
%DTINFO.Style.Feature;
|
||||
>
|
||||
-->
|
||||
|
||||
<!ELEMENT Font - O ( Family* ) >
|
||||
<!ATTLIST Font
|
||||
Fallback (sans|serif|mono|symbol|mincho|gothic)
|
||||
#IMPLIED
|
||||
|
||||
Position (sub|super|baseline|subscript|superscript)
|
||||
#IMPLIED
|
||||
Size %integer; #IMPLIED
|
||||
Slant (roman|italic) #IMPLIED
|
||||
Spacing (char|monospace|prop) #IMPLIED
|
||||
Style CDATA #IMPLIED
|
||||
Weight (medium|bold) #IMPLIED
|
||||
Width (normal|narrow) #IMPLIED
|
||||
|
||||
%DTINFO.Style.Feature;
|
||||
>
|
||||
|
||||
<!ELEMENT Family - O EMPTY>
|
||||
<!ATTLIST Family
|
||||
Name CDATA #REQUIRED
|
||||
Charset CDATA #REQUIRED
|
||||
Foundry CDATA #IMPLIED
|
||||
|
||||
%DTINFO.Style.Feature;
|
||||
>
|
||||
|
||||
<!ELEMENT Highlight - O EMPTY >
|
||||
<!ATTLIST Highlight
|
||||
BGColor CDATA #IMPLIED
|
||||
FGColor CDATA #IMPLIED
|
||||
Overline %torf; #IMPLIED
|
||||
StrikeThrough %torf; #IMPLIED
|
||||
Underline %torf; #IMPLIED
|
||||
|
||||
%DTINFO.Style.Feature;
|
||||
>
|
||||
|
||||
|
||||
<!--
|
||||
LAYOUT
|
||||
-->
|
||||
|
||||
<!ELEMENT Layout - O EMPTY>
|
||||
<!ATTLIST Layout
|
||||
|
||||
-- Spacing: above, below, between --
|
||||
ASpace %integer; #IMPLIED
|
||||
BSpace %integer; #IMPLIED
|
||||
Leading %integer; #IMPLIED
|
||||
|
||||
-- Indentation: first line, left, right --
|
||||
FIndent %integer; #IMPLIED
|
||||
LIndent %integer; #IMPLIED
|
||||
RIndent %integer; #IMPLIED
|
||||
|
||||
-- Text flow --
|
||||
Flow (verbatim|filled) #IMPLIED
|
||||
Justify (left|right|center) #IMPLIED
|
||||
Wrap (block|join|none) #IMPLIED
|
||||
|
||||
%DTINFO.Style.Feature;
|
||||
>
|
||||
|
||||
|
||||
<!ELEMENT LineBreak - O EMPTY >
|
||||
<!ATTLIST LineBreak
|
||||
%DTINFO.Style.Choice; (after|before|both) #IMPLIED
|
||||
|
||||
%DTINFO.Style.Feature;
|
||||
>
|
||||
|
||||
|
||||
<!ELEMENT Margin - O EMPTY >
|
||||
<!ATTLIST Margin
|
||||
Bottom %integer; #IMPLIED
|
||||
Left %integer; #IMPLIED
|
||||
Right %integer; #IMPLIED
|
||||
Top %integer; #IMPLIED
|
||||
|
||||
%DTINFO.Style.Feature;
|
||||
>
|
||||
|
||||
|
||||
<!ELEMENT Position - O EMPTY >
|
||||
<!ATTLIST Position
|
||||
Horiz
|
||||
(lcorner|left|lmargin|rcorner|right|rmargin|center)
|
||||
#IMPLIED
|
||||
Vert (top|bottom|middle) #IMPLIED
|
||||
|
||||
%DTINFO.Style.Feature;
|
||||
>
|
||||
|
||||
|
||||
<!--
|
||||
MISCELLANEOUS
|
||||
-->
|
||||
|
||||
<!ELEMENT Border - O EMPTY >
|
||||
<!ATTLIST Border
|
||||
Display CDATA #REQUIRED
|
||||
Thickness NUMBER #IMPLIED
|
||||
|
||||
%DTINFO.Style.Feature;
|
||||
>
|
||||
|
||||
<!--
|
||||
<!ELEMENT Graphic - O EMPTY >
|
||||
<!ATTLIST Graphic
|
||||
Detachable (true|false) #IMPLIED
|
||||
Height NUMBER #IMPLIED
|
||||
Width NUMBER #IMPLIED
|
||||
|
||||
%DTINFO.Style.Feature;
|
||||
>
|
||||
-->
|
||||
|
||||
<!ELEMENT Ignore - O EMPTY>
|
||||
<!ATTLIST Ignore
|
||||
%DTINFO.Style.Choice; (true) true
|
||||
%DTINFO.Style.Feature;
|
||||
>
|
||||
|
||||
<!ELEMENT (Prefix|Suffix) - - (Content, (%content-features;)* ) >
|
||||
<!ATTLIST (Prefix|Suffix)
|
||||
%DTINFO.Style.Feature;
|
||||
>
|
||||
|
||||
<!ELEMENT Content O O (#PCDATA|Auto)+ >
|
||||
<!ATTLIST Content
|
||||
%DTINFO.Style.Content;
|
||||
>
|
||||
|
||||
<!ELEMENT Auto - O EMPTY>
|
||||
<!ATTLIST Auto
|
||||
%DTINFO.Style.AutoRef;
|
||||
ID IDREF #REQUIRED
|
||||
>
|
||||
|
||||
<!--
|
||||
PRINT
|
||||
-->
|
||||
|
||||
<!ELEMENT (Footer|Header) - - (Content, (%content-features;)* ) >
|
||||
<!ATTLIST (Footer|Header)
|
||||
%DTINFO.Style.Feature;
|
||||
>
|
||||
|
||||
<!ELEMENT Medium - O EMPTY >
|
||||
<!ATTLIST Medium
|
||||
Orientation (Landscape|Portrait) #IMPLIED
|
||||
Size (Letter|Legal|Tabloid|Ledger
|
||||
|Statement|Executive
|
||||
|A3|A4|A5|B4|B5|folio|quarto)
|
||||
#IMPLIED
|
||||
%DTINFO.Style.Feature;
|
||||
>
|
||||
|
||||
<!ELEMENT PageBreak - O EMPTY>
|
||||
<!ATTLIST PageBreak
|
||||
%DTINFO.Style.Choice; (before|after|both) #REQUIRED
|
||||
|
||||
%DTINFO.Style.Feature;
|
||||
>
|
||||
|
||||
<!--
|
||||
TABLES
|
||||
-->
|
||||
|
||||
<!ELEMENT Table - O EMPTY>
|
||||
<!ATTLIST Table
|
||||
%cals.colrowsep;
|
||||
Frame CDATA #REQUIRED
|
||||
|
||||
%DTINFO.Style.Feature;
|
||||
>
|
||||
|
||||
<!ELEMENT TGroup - O EMPTY>
|
||||
<!ATTLIST TGroup
|
||||
CharAlign CDATA "."
|
||||
Cols CDATA #IMPLIED
|
||||
Justify CDATA "left"
|
||||
VJustify CDATA "top"
|
||||
%cals.colrowsep;
|
||||
|
||||
%DTINFO.Style.Feature;
|
||||
>
|
||||
|
||||
<!ELEMENT ColFormat - O EMPTY>
|
||||
<!ATTLIST ColFormat
|
||||
CharAlign CDATA #IMPLIED
|
||||
Justify CDATA #IMPLIED
|
||||
Name CDATA #IMPLIED
|
||||
Width CDATA #IMPLIED
|
||||
%cals.colrowsep;
|
||||
|
||||
%DTINFO.Style.Feature;
|
||||
>
|
||||
|
||||
<!ELEMENT Row - O EMPTY>
|
||||
<!ATTLIST Row
|
||||
VJustify CDATA #IMPLIED
|
||||
%cals.rowsep;
|
||||
|
||||
%DTINFO.Style.Feature;
|
||||
>
|
||||
|
||||
<!ELEMENT Cell - O EMPTY>
|
||||
<!ATTLIST Cell
|
||||
CharAlign CDATA #IMPLIED
|
||||
ColRef CDATA #IMPLIED
|
||||
ColStart CDATA #IMPLIED
|
||||
ColEnd CDATA #IMPLIED
|
||||
MoreRows CDATA 1
|
||||
Justify CDATA #IMPLIED
|
||||
VJustify CDATA #IMPLIED
|
||||
%cals.colrowsep;
|
||||
|
||||
%DTINFO.Style.Feature;
|
||||
>
|
||||
|
||||
@@ -0,0 +1,141 @@
|
||||
<!-- $XConsortium: dtinfoTOC.dtd /main/4 1996/11/07 11:56:37 drk $ -->
|
||||
<!--
|
||||
Formal Public Identifier (FPI):
|
||||
-//Common Desktop Environment//DTD DtInfo Table of Contents//EN
|
||||
-->
|
||||
|
||||
<!-- DtInfo Architectural Forms -->
|
||||
|
||||
<!ENTITY % OLAF PUBLIC
|
||||
"-//Common Desktop Environment//ENTITIES DtInfo Architectural Forms//EN"
|
||||
>
|
||||
%OLAF;
|
||||
|
||||
<!ENTITY % ISO-List PUBLIC "-//Common Desktop Environment//ENTITIES ISO Catalog//EN">
|
||||
%ISO-List;
|
||||
|
||||
%ISOamsa;
|
||||
%ISOamsb;
|
||||
%ISOamsn;
|
||||
%ISOamso;
|
||||
%ISOamsr;
|
||||
%ISOcyr1;
|
||||
%ISOdia;
|
||||
%ISOgrk1;
|
||||
%ISOgrk3;
|
||||
%ISOlat1;
|
||||
%ISOlat2;
|
||||
%ISOnum;
|
||||
%ISOpub;
|
||||
%ISOtech;
|
||||
|
||||
<!ENTITY % userphrase.gp "" >
|
||||
|
||||
<!ENTITY % inlinechar.gp "#PCDATA %userphrase.gp;" >
|
||||
|
||||
|
||||
<!ELEMENT TOC - - ( Title, TitleAbbrev?, TOCfront*, (TOCpart+ | TOCchap+),
|
||||
TOCback* ) >
|
||||
<!ATTLIST TOC
|
||||
Id ID #REQUIRED
|
||||
|
||||
%DTINFO.TOC;
|
||||
%DTINFO.ID; "attr( Id )"
|
||||
>
|
||||
|
||||
<!ELEMENT Title - - ( (%inlinechar.gp;)+ ) >
|
||||
<!ATTLIST Title
|
||||
Id ID #IMPLIED
|
||||
|
||||
%DTINFO.Title; "#CONTENT"
|
||||
%DTINFO.ID; "attr( Id )"
|
||||
%DTINFO.Scope.Title;
|
||||
>
|
||||
|
||||
<!ELEMENT TitleAbbrev - - ( (%inlinechar.gp;)+ ) >
|
||||
<!ATTLIST TitleAbbrev
|
||||
Id ID #IMPLIED
|
||||
|
||||
%DTINFO.ShortTitle; "#CONTENT"
|
||||
%DTINFO.ID; "attr( Id )"
|
||||
>
|
||||
|
||||
<!ELEMENT TOCfront - - ( (%inlinechar.gp;)+ ) >
|
||||
<!ATTLIST TOCfront
|
||||
Id ID #IMPLIED
|
||||
|
||||
%DTINFO.ID; "attr( Id )"
|
||||
>
|
||||
|
||||
<!ELEMENT TOCentry - - ( (%inlinechar.gp;)+ ) >
|
||||
<!ATTLIST TOCentry
|
||||
Id ID #IMPLIED
|
||||
Linkend CDATA #REQUIRED
|
||||
Pagenum CDATA #IMPLIED
|
||||
|
||||
%DTINFO.ID; "attr( Id )"
|
||||
%DTINFO.IDREF; "attr( Linkend )"
|
||||
>
|
||||
|
||||
<!ELEMENT TOCpart - - ( TOCentry+, TOCchap* ) >
|
||||
<!ATTLIST TOCpart
|
||||
Id ID #IMPLIED
|
||||
|
||||
%DTINFO.ID; "attr( Id )"
|
||||
%DTINFO.TOCEntry;
|
||||
>
|
||||
|
||||
<!ELEMENT TOCchap - - ( TOCentry+, TOClevel1* ) >
|
||||
<!ATTLIST TOCchap
|
||||
Id ID #IMPLIED
|
||||
|
||||
%DTINFO.ID; "attr( Id )"
|
||||
%DTINFO.TOCEntry;
|
||||
>
|
||||
|
||||
<!ELEMENT TOClevel1 - - ( TOCentry+, TOClevel2* ) >
|
||||
<!ATTLIST TOClevel1
|
||||
Id ID #IMPLIED
|
||||
|
||||
%DTINFO.ID; "attr( Id )"
|
||||
%DTINFO.TOCEntry;
|
||||
>
|
||||
|
||||
<!ELEMENT TOClevel2 - - ( TOCentry+, TOClevel3* ) >
|
||||
<!ATTLIST TOClevel2
|
||||
Id ID #IMPLIED
|
||||
|
||||
%DTINFO.ID; "attr( Id )"
|
||||
%DTINFO.TOCEntry;
|
||||
>
|
||||
|
||||
<!ELEMENT TOClevel3 - - ( TOCentry+, TOClevel4* ) >
|
||||
<!ATTLIST TOClevel3
|
||||
Id ID #IMPLIED
|
||||
|
||||
%DTINFO.ID; "attr( Id )"
|
||||
%DTINFO.TOCEntry;
|
||||
>
|
||||
|
||||
<!ELEMENT TOClevel4 - - ( TOCentry+, TOClevel5* ) >
|
||||
<!ATTLIST TOClevel4
|
||||
Id ID #IMPLIED
|
||||
|
||||
%DTINFO.ID; "attr( Id )"
|
||||
%DTINFO.TOCEntry;
|
||||
>
|
||||
|
||||
<!ELEMENT TOClevel5 - - ( TOCentry+ ) >
|
||||
<!ATTLIST TOClevel5
|
||||
Id ID #IMPLIED
|
||||
|
||||
%DTINFO.ID; "attr( Id )"
|
||||
%DTINFO.TOCEntry;
|
||||
>
|
||||
|
||||
<!ELEMENT TOCback - - ( (%inlinechar.gp;)+ ) >
|
||||
<!ATTLIST TOCback
|
||||
Id ID #IMPLIED
|
||||
|
||||
%DTINFO.ID; "attr( Id )"
|
||||
>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,72 @@
|
||||
<!-- $XConsortium: hal.gml /main/2 1996/10/29 16:18:01 drk $ -->
|
||||
<!--
|
||||
Copyright (c) 1992 HaL Computer Systems, Inc. All rights reserved.
|
||||
UNPUBLISHED - - rights reserved under the Copyright Laws of the United
|
||||
States. Use of a copyright notice is precautionary only and does not
|
||||
imply publication or disclosure.
|
||||
|
||||
This software contains confidential information and trade secrets of HaL
|
||||
Computer Systems, Inc. Use, disclosure, or reproduction is prohibited
|
||||
without the prior express written permission of HaL Computer Systems, Inc.
|
||||
|
||||
RESTRICTED RIGHTS LEGEND
|
||||
Use, duplication, or disclosure by the Government is subject to
|
||||
restrictions as set forth in subparagraph (c)(l)(ii) of the Rights in
|
||||
Technical Data and Computer Software clause at DFARS 252.227-7013.
|
||||
HaL Computer Systems, Inc.
|
||||
1315 Dell Avenue, Campbell, CA 95008
|
||||
|
||||
-->
|
||||
<!-- Character entity set. Typical invocation:
|
||||
<!ENTITY % HaL PUBLIC
|
||||
"ISO 8879-1986//ENTITIES HaL Symbol Set//EN">
|
||||
%HaL;
|
||||
-->
|
||||
<!ENTITY braceex SDATA "[braceex]" -- bracket (or brace) extender -->
|
||||
<!ENTITY caretkb CDATA "^" -- ascii caret on a keyboard -->
|
||||
<!ENTITY cpsans CDATA "©" -- copyright sans serif -->
|
||||
<!ENTITY dquot CDATA """ -- straight down double quote -->
|
||||
<!ENTITY frac CDATA "/" -- fraction solidus -->
|
||||
<!ENTITY hardreturn SDATA "lnfeed" -- linefeed, hard return, force line break -->
|
||||
<!ENTITY harrex SDATA "[harrex ]" -- horizontal arrow extender -->
|
||||
<!ENTITY intbot SDATA "[intbot ]" -- integral bottom -->
|
||||
<!ENTITY intex SDATA "[intex ]" -- integral extender -->
|
||||
<!ENTITY inttop SDATA "[inttop ]" -- integral top -->
|
||||
<!ENTITY lasquo SDATA "[lasquo ]" -- left angle single quote, guillemot single -->
|
||||
<!ENTITY lcubbot SDATA "[lcubbot]" -- left curly bracket bottom -->
|
||||
<!ENTITY lcubmid SDATA "[lcubmid]" -- left curly bracket middle -->
|
||||
<!ENTITY lcubtop SDATA "[lcubtop]" -- left curly bracket top -->
|
||||
<!ENTITY lnfeed SDATA "lnfeed" -- linefeed, hard return, force line break -->
|
||||
<!ENTITY lparbot SDATA "[lparbot]" -- left paren bottom -->
|
||||
<!ENTITY lparex SDATA "[lparex ]" -- left paren extender -->
|
||||
<!ENTITY lpartop SDATA "[lpartop]" -- left paren top -->
|
||||
<!ENTITY lsqbbot SDATA "[lsqbbot]" -- left square bracket bottom -->
|
||||
<!ENTITY lsqbex SDATA "[lsqbex ]" -- left square bracket extender -->
|
||||
<!ENTITY lsqbtop SDATA "[lsqbtop]" -- left square bracket top -->
|
||||
<!ENTITY nowidth CDATA "" -- nonprinting, zero-width character -->
|
||||
<!ENTITY radicex SDATA "[radicex]" -- radical extender -->
|
||||
<!ENTITY rasquo SDATA "[rasquo ]" -- right angle single quote, guillemot single -->
|
||||
<!ENTITY rcubbot SDATA "[rcubbot]" -- right curly bracket bottom -->
|
||||
<!ENTITY rcubmid SDATA "[rcubmid]" -- right curly bracket middle -->
|
||||
<!ENTITY rcubtop SDATA "[rcubtop]" -- right curly bracket top -->
|
||||
<!ENTITY regsans CDATA "®" -- registered trademark sans serif -->
|
||||
<!ENTITY return SDATA "[return ]" -- carriage return representation -->
|
||||
<!ENTITY rparbot SDATA "[rparbot]" -- right paren bottom -->
|
||||
<!ENTITY rparex SDATA "[rparex ]" -- right paren extender -->
|
||||
<!ENTITY rpartop SDATA "[rpartop]" -- right paren top -->
|
||||
<!ENTITY rsqbbot SDATA "[rsqbbot]" -- right square bracket bottom -->
|
||||
<!ENTITY rsqbex SDATA "[rsqbex ]" -- right square bracket extender -->
|
||||
<!ENTITY rsqbtop SDATA "[rsqbtop]" -- right square bracket top -->
|
||||
<!ENTITY space CDATA " " -- the space that a spacebar produces -->
|
||||
<!ENTITY tab CDATA " " -- the tab character \t, ^I -->
|
||||
<!ENTITY tildekb CDATA "~" -- ascii tilde on a keyboard -->
|
||||
<!ENTITY tmsans CDATA "(TM)" -- trademark sans serif -->
|
||||
<!ENTITY varrex SDATA "[varrex ]" -- vertical arrow extender -->
|
||||
|
||||
<!ENTITY idxbsol CDATA "\\" -- Backslash in an index term -->
|
||||
<!ENTITY idxcolon CDATA ":" -- Colon in an index term -->
|
||||
<!ENTITY idxgt CDATA ">" -- Greater-than in an index term -->
|
||||
<!ENTITY idxlsqb CDATA "[" -- Left Square Bracket in an index term -->
|
||||
<!ENTITY idxlt CDATA "<" -- Less-than in an index term -->
|
||||
<!ENTITY idxrsqb CDATA "]" -- Right Square Bracket in an index term -->
|
||||
<!ENTITY idxsemi CDATA ";" -- Semi-colon in an index term -->
|
||||
@@ -0,0 +1,68 @@
|
||||
<!-- $XConsortium: iso-amsa.gml /main/2 1996/10/29 16:18:20 drk $ -->
|
||||
<!-- (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 % ISOamsa PUBLIC
|
||||
"ISO 8879-1986//ENTITIES Added Math Symbols: Arrow Relations//EN">
|
||||
%ISOamsa;
|
||||
-->
|
||||
<!ENTITY cularr SDATA "[cularr]"--/curvearrowleft A: left curved arrow -->
|
||||
<!ENTITY curarr SDATA "[curarr]"--/curvearrowright A: rt curved arrow -->
|
||||
<!ENTITY dArr SDATA "[dArr ]"--/Downarrow A: down dbl arrow -->
|
||||
<!ENTITY darr2 SDATA "[darr2 ]"--/downdownarrows A: two down arrows -->
|
||||
<!ENTITY dharl SDATA "[dharl ]"--/downleftharpoon A: dn harpoon-left -->
|
||||
<!ENTITY dharr SDATA "[dharr ]"--/downrightharpoon A: down harpoon-rt -->
|
||||
<!ENTITY lAarr SDATA "[lAarr ]"--/Lleftarrow A: left triple arrow -->
|
||||
<!ENTITY Larr SDATA "[Larr ]"--/twoheadleftarrow A:-->
|
||||
<!ENTITY larr2 SDATA "[larr2 ]"--/leftleftarrows A: two left arrows -->
|
||||
<!ENTITY larrhk SDATA "[larrhk]"--/hookleftarrow A: left arrow-hooked -->
|
||||
<!ENTITY larrlp SDATA "[larrlp]"--/looparrowleft A: left arrow-looped -->
|
||||
<!ENTITY larrtl SDATA "[larrtl]"--/leftarrowtail A: left arrow-tailed -->
|
||||
<!ENTITY lhard SDATA "[lhard ]"--/leftharpoondown A: l harpoon-down -->
|
||||
<!ENTITY lharu SDATA "[lharu ]"--/leftharpoonup A: left harpoon-up -->
|
||||
<!ENTITY hArr SDATA "[hArr ]"--/Leftrightarrow A: l&r dbl arrow -->
|
||||
<!ENTITY harr SDATA "[harr ]"--/leftrightarrow A: l&r arrow -->
|
||||
<!ENTITY lrarr2 SDATA "[lrarr2]"--/leftrightarrows A: l arr over r arr -->
|
||||
<!ENTITY rlarr2 SDATA "[rlarr2]"--/rightleftarrows A: r arr over l arr -->
|
||||
<!ENTITY harrw SDATA "[harrw ]"--/leftrightsquigarrow A: l&r arr-wavy -->
|
||||
<!ENTITY rlhar2 SDATA "[rlhar2]"--/rightleftharpoons A: r harp over l -->
|
||||
<!ENTITY lrhar2 SDATA "[lrhar2]"--/leftrightharpoons A: l harp over r -->
|
||||
<!ENTITY lsh SDATA "[lsh ]"--/Lsh A:-->
|
||||
<!ENTITY map SDATA "[map ]"--/mapsto A:-->
|
||||
<!ENTITY mumap SDATA "[mumap ]"--/multimap A:-->
|
||||
<!ENTITY nearr SDATA "[nearr ]"--/nearrow A: NE pointing arrow -->
|
||||
<!ENTITY nlArr SDATA "[nlArr ]"--/nLeftarrow A: not implied by -->
|
||||
<!ENTITY nlarr SDATA "[nlarr ]"--/nleftarrow A: not left arrow -->
|
||||
<!ENTITY nhArr SDATA "[nhArr ]"--/nLeftrightarrow A: not l&r dbl arr -->
|
||||
<!ENTITY nharr SDATA "[nharr ]"--/nleftrightarrow A: not l&r arrow -->
|
||||
<!ENTITY nrarr SDATA "[nrarr ]"--/nrightarrow A: not right arrow -->
|
||||
<!ENTITY nrArr SDATA "[nrArr ]"--/nRightarrow A: not implies -->
|
||||
<!ENTITY nwarr SDATA "[nwarr ]"--/nwarrow A: NW pointing arrow -->
|
||||
<!ENTITY olarr SDATA "[olarr ]"--/circlearrowleft A: l arr in circle -->
|
||||
<!ENTITY orarr SDATA "[orarr ]"--/circlearrowright A: r arr in circle -->
|
||||
<!ENTITY rAarr SDATA "[rAarr ]"--/Rrightarrow A: right triple arrow -->
|
||||
<!ENTITY Rarr SDATA "[Rarr ]"--/twoheadrightarrow A:-->
|
||||
<!ENTITY rarr2 SDATA "[rarr2 ]"--/rightrightarrows A: two rt arrows -->
|
||||
<!ENTITY rarrhk SDATA "[rarrhk]"--/hookrightarrow A: rt arrow-hooked -->
|
||||
<!ENTITY rarrlp SDATA "[rarrlp]"--/looparrowright A: rt arrow-looped -->
|
||||
<!ENTITY rarrtl SDATA "[rarrtl]"--/rightarrowtail A: rt arrow-tailed -->
|
||||
<!ENTITY rarrw SDATA "[rarrw ]"--/squigarrowright A: rt arrow-wavy -->
|
||||
<!ENTITY rhard SDATA "[rhard ]"--/rightharpoondown A: rt harpoon-down -->
|
||||
<!ENTITY rharu SDATA "[rharu ]"--/rightharpoonup A: rt harpoon-up -->
|
||||
<!ENTITY rsh SDATA "[rsh ]"--/Rsh A:-->
|
||||
<!ENTITY drarr SDATA "[drarr ]"--/searrow A: downward rt arrow -->
|
||||
<!ENTITY dlarr SDATA "[dlarr ]"--/swarrow A: downward l arrow -->
|
||||
<!ENTITY uArr SDATA "[uArr ]"--/Uparrow A: up dbl arrow -->
|
||||
<!ENTITY uarr2 SDATA "[uarr2 ]"--/upuparrows A: two up arrows -->
|
||||
<!ENTITY vArr SDATA "[vArr ]"--/Updownarrow A: up&down dbl arrow -->
|
||||
<!ENTITY varr SDATA "[varr ]"--/updownarrow A: up&down arrow -->
|
||||
<!ENTITY uharl SDATA "[uharl ]"--/upleftharpoon A: up harpoon-left -->
|
||||
<!ENTITY uharr SDATA "[uharr ]"--/uprightharpoon A: up harp-r-->
|
||||
<!ENTITY xlArr SDATA "[xlArr ]"--/Longleftarrow A: long l dbl arrow -->
|
||||
<!ENTITY xhArr SDATA "[xhArr ]"--/Longleftrightarrow A: long l&r dbl arr-->
|
||||
<!ENTITY xharr SDATA "[xharr ]"--/longleftrightarrow A: long l&r arr -->
|
||||
<!ENTITY xrArr SDATA "[xrArr ]"--/Longrightarrow A: long rt dbl arr -->
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
<!-- $XConsortium: iso-amsb.gml /main/2 1996/10/29 16:18:36 drk $ -->
|
||||
<!-- (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 % ISOamsb PUBLIC
|
||||
"ISO 8879-1986//ENTITIES Added Math Symbols: Binary Operators//EN">
|
||||
%ISOamsb;
|
||||
-->
|
||||
<!ENTITY amalg SDATA "[amalg ]"--/amalg B: amalgamation or coproduct-->
|
||||
<!ENTITY Barwed SDATA "[Barwed]"--/doublebarwedge B: log and, dbl bar-->
|
||||
<!ENTITY barwed SDATA "[barwed]"--/barwedge B: logical and, bar above-->
|
||||
<!ENTITY Cap SDATA "[Cap ]"--/Cap /doublecap B: dbl intersection-->
|
||||
<!ENTITY Cup SDATA "[Cup ]"--/Cup /doublecup B: dbl union-->
|
||||
<!ENTITY cuvee SDATA "[cuvee ]"--/curlyvee B: curly logical or-->
|
||||
<!ENTITY cuwed SDATA "[cuwed ]"--/curlywedge B: curly logical and-->
|
||||
<!ENTITY diam SDATA "[diam ]"--/diamond B: open diamond-->
|
||||
<!ENTITY divonx SDATA "[divonx]"--/divideontimes B: division on times-->
|
||||
<!ENTITY intcal SDATA "[intcal]"--/intercal B: intercal-->
|
||||
<!ENTITY lthree SDATA "[lthree]"--/leftthreetimes B:-->
|
||||
<!ENTITY ltimes SDATA "[ltimes]"--/ltimes B: times sign, left closed-->
|
||||
<!ENTITY minusb SDATA "[minusb]"--/boxminus B: minus sign in box-->
|
||||
<!ENTITY oast SDATA "[oast ]"--/circledast B: asterisk in circle-->
|
||||
<!ENTITY ocir SDATA "[ocir ]"--/circledcirc B: open dot in circle-->
|
||||
<!ENTITY odash SDATA "[odash ]"--/circleddash B: hyphen in circle-->
|
||||
<!ENTITY odot SDATA "[odot ]"--/odot B: middle dot in circle-->
|
||||
<!ENTITY ominus SDATA "[ominus]"--/ominus B: minus sign in circle-->
|
||||
<!ENTITY oplus SDATA "[oplus ]"--/oplus B: plus sign in circle-->
|
||||
<!ENTITY osol SDATA "[osol ]"--/oslash B: solidus in circle-->
|
||||
<!ENTITY otimes SDATA "[otimes]"--/otimes B: multiply sign in circle-->
|
||||
<!ENTITY plusb SDATA "[plusb ]"--/boxplus B: plus sign in box-->
|
||||
<!ENTITY plusdo SDATA "[plusdo]"--/dotplus B: plus sign, dot above-->
|
||||
<!ENTITY rthree SDATA "[rthree]"--/rightthreetimes B:-->
|
||||
<!ENTITY rtimes SDATA "[rtimes]"--/rtimes B: times sign, right closed-->
|
||||
<!ENTITY sdot SDATA "[sdot ]"--/cdot B: small middle dot-->
|
||||
<!ENTITY sdotb SDATA "[sdotb ]"--/dotsquare /boxdot B: small dot in box-->
|
||||
<!ENTITY setmn SDATA "[setmn ]"--/setminus B: reverse solidus-->
|
||||
<!ENTITY sqcap SDATA "[sqcap ]"--/sqcap B: square intersection-->
|
||||
<!ENTITY sqcup SDATA "[sqcup ]"--/sqcup B: square union-->
|
||||
<!ENTITY ssetmn SDATA "[ssetmn]"--/smallsetminus B: sm reverse solidus-->
|
||||
<!ENTITY sstarf SDATA "[sstarf]"--/star B: small star, filled-->
|
||||
<!ENTITY timesb SDATA "[timesb]"--/boxtimes B: multiply sign in box-->
|
||||
<!ENTITY top SDATA "[top ]"--/top B: inverted perpendicular-->
|
||||
<!ENTITY uplus SDATA "[uplus ]"--/uplus B: plus sign in union-->
|
||||
<!ENTITY wreath SDATA "[wreath]"--/wr B: wreath product-->
|
||||
<!ENTITY xcirc SDATA "[xcirc ]"--/bigcirc B: large circle-->
|
||||
<!ENTITY xdtri SDATA "[xdtri ]"--/bigtriangledown B: big dn tri, open-->
|
||||
<!ENTITY xutri SDATA "[xutri ]"--/bigtriangleup B: big up tri, open-->
|
||||
<!ENTITY coprod SDATA "[coprod]"--/coprod L: coproduct operator-->
|
||||
<!ENTITY prod SDATA "[prod ]"--/prod L: product operator-->
|
||||
<!ENTITY sum SDATA "[sum ]"--/sum L: summation operator-->
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
<!-- $XConsortium: iso-amsc.gml /main/2 1996/10/29 16:19:04 drk $ -->
|
||||
<!-- (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 % ISOamsc PUBLIC
|
||||
"ISO 8879-1986//ENTITIES Added Math Symbols: Delimiters//EN">
|
||||
%ISOamsc;
|
||||
-->
|
||||
<!ENTITY rceil SDATA "[rceil ]"--/rceil C: right ceiling-->
|
||||
<!ENTITY rfloor SDATA "[rfloor]"--/rfloor C: right floor-->
|
||||
<!ENTITY rpargt SDATA "[rpargt]"--/rightparengtr C: right paren, gt-->
|
||||
<!ENTITY urcorn SDATA "[urcorn]"--/urcorner C: upper right corner-->
|
||||
<!ENTITY drcorn SDATA "[drcorn]"--/lrcorner C: downward right corner-->
|
||||
<!ENTITY lceil SDATA "[lceil ]"--/lceil O: left ceiling-->
|
||||
<!ENTITY lfloor SDATA "[lfloor]"--/lfloor O: left floor-->
|
||||
<!ENTITY lpargt SDATA "[lpargt]"--/leftparengtr O: left parenthesis, gt-->
|
||||
<!ENTITY ulcorn SDATA "[ulcorn]"--/ulcorner O: upper left corner-->
|
||||
<!ENTITY dlcorn SDATA "[dlcorn]"--/llcorner O: downward left corner-->
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
<!-- $XConsortium: iso-amsn.gml /main/2 1996/10/29 16:19:28 drk $ -->
|
||||
<!-- (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 % ISOamsn PUBLIC
|
||||
"ISO 8879-1986//ENTITIES
|
||||
Added Math Symbols: Negated Relations//EN">
|
||||
%ISOamsn;
|
||||
-->
|
||||
<!ENTITY gnap SDATA "[gnap ]"--/gnapprox N: greater, not approximate-->
|
||||
<!ENTITY gne SDATA "[gne ]"--/gneq N: greater, not equals-->
|
||||
<!ENTITY gnE SDATA "[gnE ]"--/gneqq N: greater, not dbl equals-->
|
||||
<!ENTITY gnsim SDATA "[gnsim ]"--/gnsim N: greater, not similar-->
|
||||
<!ENTITY gvnE SDATA "[gvnE ]"--/gvertneqq N: gt, vert, not dbl eq-->
|
||||
<!ENTITY lnap SDATA "[lnap ]"--/lnapprox N: less, not approximate-->
|
||||
<!ENTITY lnE SDATA "[lnE ]"--/lneqq N: less, not double equals-->
|
||||
<!ENTITY lne SDATA "[lne ]"--/lneq N: less, not equals-->
|
||||
<!ENTITY lnsim SDATA "[lnsim ]"--/lnsim N: less, not similar-->
|
||||
<!ENTITY lvnE SDATA "[lvnE ]"--/lvertneqq N: less, vert, not dbl eq-->
|
||||
<!ENTITY nap SDATA "[nap ]"--/napprox N: not approximate-->
|
||||
<!ENTITY ncong SDATA "[ncong ]"--/ncong N: not congruent with-->
|
||||
<!ENTITY nequiv SDATA "[nequiv]"--/nequiv N: not identical with-->
|
||||
<!ENTITY ngE SDATA "[ngE ]"--/ngeqq N: not greater, dbl equals-->
|
||||
<!ENTITY nge SDATA "[nge ]"--/ngeq N: not greater-than-or-equal-->
|
||||
<!ENTITY nges SDATA "[nges ]"--/ngeqslant N: not gt-or-eq, slanted-->
|
||||
<!ENTITY ngt SDATA "[ngt ]"--/ngtr N: not greater-than-->
|
||||
<!ENTITY nle SDATA "[nle ]"--/nleq N: not less-than-or-equal-->
|
||||
<!ENTITY nlE SDATA "[nlE ]"--/nleqq N: not less, dbl equals-->
|
||||
<!ENTITY nles SDATA "[nles ]"--/nleqslant N: not less-or-eq, slant-->
|
||||
<!ENTITY nlt SDATA "[nlt ]"--/nless N: not less-than-->
|
||||
<!ENTITY nltri SDATA "[nltri ]"--/ntriangleleft N: not left triangle-->
|
||||
<!ENTITY nltrie SDATA "[nltrie]"--/ntrianglelefteq N: not l tri, eq-->
|
||||
<!ENTITY nmid SDATA "[nmid ]"--/nmid-->
|
||||
<!ENTITY npar SDATA "[npar ]"--/nparallel N: not parallel-->
|
||||
<!ENTITY npr SDATA "[npr ]"--/nprec N: not precedes-->
|
||||
<!ENTITY npre SDATA "[npre ]"--/npreceq N: not precedes, equals-->
|
||||
<!ENTITY nrtri SDATA "[nrtri ]"--/ntriangleright N: not rt triangle-->
|
||||
<!ENTITY nrtrie SDATA "[nrtrie]"--/ntrianglerighteq N: not r tri, eq-->
|
||||
<!ENTITY nsc SDATA "[nsc ]"--/nsucc N: not succeeds-->
|
||||
<!ENTITY nsce SDATA "[nsce ]"--/nsucceq N: not succeeds, equals-->
|
||||
<!ENTITY nsim SDATA "[nsim ]"--/nsim N: not similar-->
|
||||
<!ENTITY nsime SDATA "[nsime ]"--/nsimeq N: not similar, equals-->
|
||||
<!ENTITY nsmid SDATA "[nsmid ]"--/nshortmid-->
|
||||
<!ENTITY nspar SDATA "[nspar ]"--/nshortparallel N: not short par-->
|
||||
<!ENTITY nsub SDATA "[nsub ]"--/nsubset N: not subset-->
|
||||
<!ENTITY nsube SDATA "[nsube ]"--/nsubseteq N: not subset, equals-->
|
||||
<!ENTITY nsubE SDATA "[nsubE ]"--/nsubseteqq N: not subset, dbl eq-->
|
||||
<!ENTITY nsup SDATA "[nsup ]"--/nsupset N: not superset-->
|
||||
<!ENTITY nsupE SDATA "[nsupE ]"--/nsupseteqq N: not superset, dbl eq-->
|
||||
<!ENTITY nsupe SDATA "[nsupe ]"--/nsupseteq N: not superset, equals-->
|
||||
<!ENTITY nvdash SDATA "[nvdash]"--/nvdash N: not vertical, dash-->
|
||||
<!ENTITY nvDash SDATA "[nvDash]"--/nvDash N: not vertical, dbl dash-->
|
||||
<!ENTITY nVDash SDATA "[nVDash]"--/nVDash N: not dbl vert, dbl dash-->
|
||||
<!ENTITY nVdash SDATA "[nVdash]"--/nVdash N: not dbl vertical, dash-->
|
||||
<!ENTITY prnap SDATA "[prnap ]"--/precnapprox N: precedes, not approx-->
|
||||
<!ENTITY prnE SDATA "[prnE ]"--/precneqq N: precedes, not dbl eq-->
|
||||
<!ENTITY prnsim SDATA "[prnsim]"--/precnsim N: precedes, not similar-->
|
||||
<!ENTITY scnap SDATA "[scnap ]"--/succnapprox N: succeeds, not approx-->
|
||||
<!ENTITY scnE SDATA "[scnE ]"--/succneqq N: succeeds, not dbl eq-->
|
||||
<!ENTITY scnsim SDATA "[scnsim]"--/succnsim N: succeeds, not similar-->
|
||||
<!ENTITY subne SDATA "[subne ]"--/subsetneq N: subset, not equals-->
|
||||
<!ENTITY subnE SDATA "[subnE ]"--/subsetneqq N: subset, not dbl eq-->
|
||||
<!ENTITY supne SDATA "[supne ]"--/supsetneq N: superset, not equals-->
|
||||
<!ENTITY supnE SDATA "[supnE ]"--/supsetneqq N: superset, not dbl eq-->
|
||||
<!ENTITY vsubnE SDATA "[vsubnE]"--/subsetneqq N: subset not dbl eq, var-->
|
||||
<!ENTITY vsubne SDATA "[vsubne]"--/subsetneq N: subset, not eq, var-->
|
||||
<!ENTITY vsupne SDATA "[vsupne]"--/supsetneq N: superset, not eq, var-->
|
||||
<!ENTITY vsupnE SDATA "[vsupnE]"--/supsetneqq N: super not dbl eq, var-->
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
<!-- $XConsortium: iso-amso.gml /main/2 1996/10/29 16:19:54 drk $ -->
|
||||
<!-- (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 % ISOamso PUBLIC
|
||||
"ISO 8879-1986//ENTITIES Added Math Symbols: Ordinary//EN">
|
||||
%ISOamso;
|
||||
-->
|
||||
<!ENTITY ang SDATA "[ang ]"--/angle - angle-->
|
||||
<!ENTITY angmsd SDATA "[angmsd]"--/measuredangle - angle-measured-->
|
||||
<!ENTITY beth SDATA "[beth ]"--/beth - beth, Hebrew-->
|
||||
<!ENTITY bprime SDATA "[bprime]"--/backprime - reverse prime-->
|
||||
<!ENTITY comp SDATA "[comp ]"--/complement - complement sign-->
|
||||
<!ENTITY daleth SDATA "[daleth]"--/daleth - daleth, Hebrew-->
|
||||
<!ENTITY ell SDATA "[ell ]"--/ell - cursive small l-->
|
||||
<!ENTITY empty SDATA "[empty ]"--/emptyset /varnothing =small o, slash-->
|
||||
<!ENTITY gimel SDATA "[gimel ]"--/gimel - gimel, Hebrew-->
|
||||
<!ENTITY image SDATA "[image ]"--/Im - imaginary-->
|
||||
<!ENTITY inodot SDATA "[inodot]"--/imath =small i, no dot-->
|
||||
<!ENTITY jnodot SDATA "[jnodot]"--/jmath - small j, no dot-->
|
||||
<!ENTITY nexist SDATA "[nexist]"--/nexists - negated exists-->
|
||||
<!ENTITY oS SDATA "[oS ]"--/circledS - capital S in circle-->
|
||||
<!ENTITY planck SDATA "[planck]"--/hbar /hslash - Planck's over 2pi-->
|
||||
<!ENTITY real SDATA "[real ]"--/Re - real-->
|
||||
<!ENTITY sbsol SDATA "[sbsol ]"--/sbs - short reverse solidus-->
|
||||
<!ENTITY vprime SDATA "[vprime]"--/varprime - prime, variant-->
|
||||
<!ENTITY weierp SDATA "[weierp]"--/wp - Weierstrass p-->
|
||||
|
||||
@@ -0,0 +1,96 @@
|
||||
<!-- $XConsortium: iso-amsr.gml /main/2 1996/10/29 16:20:24 drk $ -->
|
||||
<!-- (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 % ISOamsr PUBLIC
|
||||
"ISO 8879-1986//ENTITIES Added Math Symbols: Relations//EN">
|
||||
%ISOamsr;
|
||||
-->
|
||||
<!ENTITY ape SDATA "[ape ]"--/approxeq R: approximate, equals-->
|
||||
<!ENTITY asymp SDATA "[asymp ]"--/asymp R: asymptotically equal to-->
|
||||
<!ENTITY bcong SDATA "[bcong ]"--/backcong R: reverse congruent-->
|
||||
<!ENTITY bepsi SDATA "[bepsi ]"--/backepsilon R: such that-->
|
||||
<!ENTITY bowtie SDATA "[bowtie]"--/bowtie R:-->
|
||||
<!ENTITY bsim SDATA "[bsim ]"--/backsim R: reverse similar-->
|
||||
<!ENTITY bsime SDATA "[bsime ]"--/backsimeq R: reverse similar, eq-->
|
||||
<!ENTITY bump SDATA "[bump ]"--/Bumpeq R: bumpy equals-->
|
||||
<!ENTITY bumpe SDATA "[bumpe ]"--/bumpeq R: bumpy equals, equals-->
|
||||
<!ENTITY cire SDATA "[cire ]"--/circeq R: circle, equals-->
|
||||
<!ENTITY colone SDATA "[colone]"--/coloneq R: colon, equals-->
|
||||
<!ENTITY cuepr SDATA "[cuepr ]"--/curlyeqprec R: curly eq, precedes-->
|
||||
<!ENTITY cuesc SDATA "[cuesc ]"--/curlyeqsucc R: curly eq, succeeds-->
|
||||
<!ENTITY cupre SDATA "[cupre ]"--/curlypreceq R: curly precedes, eq-->
|
||||
<!ENTITY dashv SDATA "[dashv ]"--/dashv R: dash, vertical-->
|
||||
<!ENTITY ecir SDATA "[ecir ]"--/eqcirc R: circle on equals sign-->
|
||||
<!ENTITY ecolon SDATA "[ecolon]"--/eqcolon R: equals, colon-->
|
||||
<!ENTITY eDot SDATA "[eDot ]"--/doteqdot /Doteq R: eq, even dots-->
|
||||
<!ENTITY esdot SDATA "[esdot ]"--/doteq R: equals, single dot above-->
|
||||
<!ENTITY efDot SDATA "[efDot ]"--/fallingdotseq R: eq, falling dots-->
|
||||
<!ENTITY egs SDATA "[egs ]"--/eqslantgtr R: equal-or-gtr, slanted-->
|
||||
<!ENTITY els SDATA "[els ]"--/eqslantless R: eq-or-less, slanted-->
|
||||
<!ENTITY erDot SDATA "[erDot ]"--/risingdotseq R: eq, rising dots-->
|
||||
<!ENTITY fork SDATA "[fork ]"--/pitchfork R: pitchfork-->
|
||||
<!ENTITY frown SDATA "[frown ]"--/frown R: down curve-->
|
||||
<!ENTITY gap SDATA "[gap ]"--/gtrapprox R: greater, approximate-->
|
||||
<!ENTITY gsdot SDATA "[gsdot ]"--/gtrdot R: greater than, single dot-->
|
||||
<!ENTITY gE SDATA "[gE ]"--/geqq R: greater, double equals-->
|
||||
<!ENTITY gel SDATA "[gel ]"--/gtreqless R: greater, equals, less-->
|
||||
<!ENTITY gEl SDATA "[gEl ]"--/gtreqqless R: gt, dbl equals, less-->
|
||||
<!ENTITY ges SDATA "[ges ]"--/geqslant R: gt-or-equal, slanted-->
|
||||
<!ENTITY Gg SDATA "[Gg ]"--/ggg /Gg /gggtr R: triple gtr-than-->
|
||||
<!ENTITY gl SDATA "[gl ]"--/gtrless R: greater, less-->
|
||||
<!ENTITY gsim SDATA "[gsim ]"--/gtrsim R: greater, similar-->
|
||||
<!ENTITY Gt SDATA "[Gt ]"--/gg R: dbl greater-than sign-->
|
||||
<!ENTITY lap SDATA "[lap ]"--/lessapprox R: less, approximate-->
|
||||
<!ENTITY ldot SDATA "[ldot ]"--/lessdot R: less than, with dot-->
|
||||
<!ENTITY lE SDATA "[lE ]"--/leqq R: less, double equals-->
|
||||
<!ENTITY lEg SDATA "[lEg ]"--/lesseqqgtr R: less, dbl eq, greater-->
|
||||
<!ENTITY leg SDATA "[leg ]"--/lesseqgtr R: less, eq, greater-->
|
||||
<!ENTITY les SDATA "[les ]"--/leqslant R: less-than-or-eq, slant-->
|
||||
<!ENTITY lg SDATA "[lg ]"--/lessgtr R: less, greater-->
|
||||
<!ENTITY Ll SDATA "[Ll ]"--/Ll /lll /llless R: triple less-than-->
|
||||
<!ENTITY lsim SDATA "[lsim ]"--/lesssim R: less, similar-->
|
||||
<!ENTITY Lt SDATA "[Lt ]"--/ll R: double less-than sign-->
|
||||
<!ENTITY ltrie SDATA "[ltrie ]"--/trianglelefteq R: left triangle, eq-->
|
||||
<!ENTITY mid SDATA "[mid ]"--/mid R:-->
|
||||
<!ENTITY models SDATA "[models]"--/models R:-->
|
||||
<!ENTITY pr SDATA "[pr ]"--/prec R: precedes-->
|
||||
<!ENTITY prap SDATA "[prap ]"--/precapprox R: precedes, approximate-->
|
||||
<!ENTITY pre SDATA "[pre ]"--/preceq R: precedes, equals-->
|
||||
<!ENTITY prsim SDATA "[prsim ]"--/precsim R: precedes, similar-->
|
||||
<!ENTITY rtrie SDATA "[rtrie ]"--/trianglerighteq R: right tri, eq-->
|
||||
<!ENTITY samalg SDATA "[samalg]"--/smallamalg R: small amalg-->
|
||||
<!ENTITY sc SDATA "[sc ]"--/succ R: succeeds-->
|
||||
<!ENTITY scap SDATA "[scap ]"--/succapprox R: succeeds, approximate-->
|
||||
<!ENTITY sccue SDATA "[sccue ]"--/succcurlyeq R: succeeds, curly eq-->
|
||||
<!ENTITY sce SDATA "[sce ]"--/succeq R: succeeds, equals-->
|
||||
<!ENTITY scsim SDATA "[scsim ]"--/succsim R: succeeds, similar-->
|
||||
<!ENTITY sfrown SDATA "[sfrown]"--/smallfrown R: small down curve-->
|
||||
<!ENTITY smid SDATA "[smid ]"--/shortmid R:-->
|
||||
<!ENTITY smile SDATA "[smile ]"--/smile R: up curve-->
|
||||
<!ENTITY spar SDATA "[spar ]"--/shortparallel R: short parallel-->
|
||||
<!ENTITY sqsub SDATA "[sqsub ]"--/sqsubset R: square subset-->
|
||||
<!ENTITY sqsube SDATA "[sqsube]"--/sqsubseteq R: square subset, equals-->
|
||||
<!ENTITY sqsup SDATA "[sqsup ]"--/sqsupset R: square superset-->
|
||||
<!ENTITY sqsupe SDATA "[sqsupe]"--/sqsupseteq R: square superset, eq-->
|
||||
<!ENTITY ssmile SDATA "[ssmile]"--/smallsmile R: small up curve-->
|
||||
<!ENTITY Sub SDATA "[Sub ]"--/Subset R: double subset-->
|
||||
<!ENTITY subE SDATA "[subE ]"--/subseteqq R: subset, dbl equals-->
|
||||
<!ENTITY Sup SDATA "[Sup ]"--/Supset R: dbl superset-->
|
||||
<!ENTITY supE SDATA "[supE ]"--/supseteqq R: superset, dbl equals-->
|
||||
<!ENTITY thkap SDATA "[thkap ]"--/thickapprox R: thick approximate-->
|
||||
<!ENTITY thksim SDATA "[thksim]"--/thicksim R: thick similar-->
|
||||
<!ENTITY trie SDATA "[trie ]"--/triangleq R: triangle, equals-->
|
||||
<!ENTITY twixt SDATA "[twixt ]"--/between R: between-->
|
||||
<!ENTITY vdash SDATA "[vdash ]"--/vdash R: vertical, dash-->
|
||||
<!ENTITY Vdash SDATA "[Vdash ]"--/Vdash R: dbl vertical, dash-->
|
||||
<!ENTITY vDash SDATA "[vDash ]"--/vDash R: vertical, dbl dash-->
|
||||
<!ENTITY veebar SDATA "[veebar]"--/veebar R: logical or, bar below-->
|
||||
<!ENTITY vltri SDATA "[vltri ]"--/vartriangleleft R: l tri, open, var-->
|
||||
<!ENTITY vprop SDATA "[vprop ]"--/varpropto R: proportional, variant-->
|
||||
<!ENTITY vrtri SDATA "[vrtri ]"--/vartriangleright R: r tri, open, var-->
|
||||
<!ENTITY Vvdash SDATA "[Vvdash]"--/Vvdash R: triple vertical, dash-->
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
<!-- $XConsortium: iso-box.gml /main/2 1996/10/29 16:20:44 drk $ -->
|
||||
<!-- (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 % ISObox PUBLIC
|
||||
"ISO 8879-1986//ENTITIES Box and Line Drawing//EN">
|
||||
%ISObox;
|
||||
-->
|
||||
<!-- All names are in the form: box1234, where:
|
||||
box = constants that identify a box drawing entity.
|
||||
1&2 = v, V, u, U, d, D, Ud, or uD, as follows:
|
||||
v = vertical line for full height.
|
||||
u = upper half of vertical line.
|
||||
d = downward (lower) half of vertical line.
|
||||
3&4 = h, H, l, L, r, R, Lr, or lR, as follows:
|
||||
h = horizontal line for full width.
|
||||
l = left half of horizontal line.
|
||||
r = right half of horizontal line.
|
||||
In all cases, an upper-case letter means a double or heavy line.
|
||||
-->
|
||||
<!ENTITY boxh SDATA "[boxh ]"--horizontal line -->
|
||||
<!ENTITY boxv SDATA "[boxv ]"--vertical line-->
|
||||
<!ENTITY boxur SDATA "[boxur ]"--upper right quadrant-->
|
||||
<!ENTITY boxul SDATA "[boxul ]"--upper left quadrant-->
|
||||
<!ENTITY boxdl SDATA "[boxdl ]"--lower left quadrant-->
|
||||
<!ENTITY boxdr SDATA "[boxdr ]"--lower right quadrant-->
|
||||
<!ENTITY boxvr SDATA "[boxvr ]"--upper and lower right quadrants-->
|
||||
<!ENTITY boxhu SDATA "[boxhu ]"--upper left and right quadrants-->
|
||||
<!ENTITY boxvl SDATA "[boxvl ]"--upper and lower left quadrants-->
|
||||
<!ENTITY boxhd SDATA "[boxhd ]"--lower left and right quadrants-->
|
||||
<!ENTITY boxvh SDATA "[boxvh ]"--all four quadrants-->
|
||||
<!ENTITY boxvR SDATA "[boxvR ]"--upper and lower right quadrants-->
|
||||
<!ENTITY boxhU SDATA "[boxhU ]"--upper left and right quadrants-->
|
||||
<!ENTITY boxvL SDATA "[boxvL ]"--upper and lower left quadrants-->
|
||||
<!ENTITY boxhD SDATA "[boxhD ]"--lower left and right quadrants-->
|
||||
<!ENTITY boxvH SDATA "[boxvH ]"--all four quadrants-->
|
||||
<!ENTITY boxH SDATA "[boxH ]"--horizontal line-->
|
||||
<!ENTITY boxV SDATA "[boxV ]"--vertical line-->
|
||||
<!ENTITY boxUR SDATA "[boxUR ]"--upper right quadrant-->
|
||||
<!ENTITY boxUL SDATA "[boxUL ]"--upper left quadrant-->
|
||||
<!ENTITY boxDL SDATA "[boxDL ]"--lower left quadrant-->
|
||||
<!ENTITY boxDR SDATA "[boxDR ]"--lower right quadrant-->
|
||||
<!ENTITY boxVR SDATA "[boxVR ]"--upper and lower right quadrants-->
|
||||
<!ENTITY boxHU SDATA "[boxHU ]"--upper left and right quadrants-->
|
||||
<!ENTITY boxVL SDATA "[boxVL ]"--upper and lower left quadrants-->
|
||||
<!ENTITY boxHD SDATA "[boxHD ]"--lower left and right quadrants-->
|
||||
<!ENTITY boxVH SDATA "[boxVH ]"--all four quadrants-->
|
||||
<!ENTITY boxVr SDATA "[boxVr ]"--upper and lower right quadrants-->
|
||||
<!ENTITY boxHu SDATA "[boxHu ]"--upper left and right quadrants-->
|
||||
<!ENTITY boxVl SDATA "[boxVl ]"--upper and lower left quadrants-->
|
||||
<!ENTITY boxHd SDATA "[boxHd ]"--lower left and right quadrants-->
|
||||
<!ENTITY boxVh SDATA "[boxVh ]"--all four quadrants-->
|
||||
<!ENTITY boxuR SDATA "[boxuR ]"--upper right quadrant-->
|
||||
<!ENTITY boxUl SDATA "[boxUl ]"--upper left quadrant-->
|
||||
<!ENTITY boxdL SDATA "[boxdL ]"--lower left quadrant-->
|
||||
<!ENTITY boxDr SDATA "[boxDr ]"--lower right quadrant-->
|
||||
<!ENTITY boxUr SDATA "[boxUr ]"--upper right quadrant-->
|
||||
<!ENTITY boxuL SDATA "[boxuL ]"--upper left quadrant-->
|
||||
<!ENTITY boxDl SDATA "[boxDl ]"--lower left quadrant-->
|
||||
<!ENTITY boxdR SDATA "[boxdR ]"--lower right quadrant-->
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
<!ENTITY % ISOamsa PUBLIC
|
||||
"ISO 8879:1986//ENTITIES Added Math Symbols: Arrow Relations//EN"
|
||||
>
|
||||
|
||||
<!ENTITY % ISOamsb PUBLIC
|
||||
"ISO 8879:1986//ENTITIES Added Math Symbols: Binary Operators//EN"
|
||||
>
|
||||
|
||||
<!ENTITY % ISOamsc PUBLIC
|
||||
"ISO 8879:1986//ENTITIES Added Math Symbols: Delimiters//EN"
|
||||
>
|
||||
|
||||
<!ENTITY % ISOamsn PUBLIC
|
||||
"ISO 8879:1986//ENTITIES Added Math Symbols: Negated Relations//EN"
|
||||
>
|
||||
|
||||
<!ENTITY % ISOamso PUBLIC
|
||||
"ISO 8879:1986//ENTITIES Added Math Symbols: Ordinary//EN"
|
||||
>
|
||||
|
||||
<!ENTITY % ISOamsr PUBLIC
|
||||
"ISO 8879:1986//ENTITIES Added Math Symbols: Relations//EN"
|
||||
>
|
||||
|
||||
<!ENTITY % ISObox PUBLIC
|
||||
"ISO 8879:1986//ENTITIES Box and Line Drawing//EN"
|
||||
>
|
||||
|
||||
<!ENTITY % ISOcyr1 PUBLIC
|
||||
"ISO 8879:1986//ENTITIES Russian Cyrillic//EN"
|
||||
>
|
||||
|
||||
<!ENTITY % ISOcyr2 PUBLIC
|
||||
"ISO 8879:1986//ENTITIES Non-Russian Cyrillic//EN"
|
||||
>
|
||||
|
||||
<!ENTITY % ISOdia PUBLIC
|
||||
"ISO 8879:1986//ENTITIES Diacritical Marks//EN"
|
||||
>
|
||||
|
||||
<!ENTITY % ISOgrk1 PUBLIC
|
||||
"ISO 8879:1986//ENTITIES Greek Letters//EN"
|
||||
>
|
||||
|
||||
<!ENTITY % ISOgrk2 PUBLIC
|
||||
"ISO 8879:1986//ENTITIES Monotoniko Greek//EN"
|
||||
>
|
||||
|
||||
<!ENTITY % ISOgrk3 PUBLIC
|
||||
"ISO 8879:1986//ENTITIES Greek Symbols//EN"
|
||||
>
|
||||
|
||||
<!ENTITY % ISOgrk4 PUBLIC
|
||||
"ISO 8879:1986//ENTITIES Alternative Greek Symbols//EN"
|
||||
>
|
||||
|
||||
<!ENTITY % ISOlat1 PUBLIC
|
||||
"ISO 8879:1986//ENTITIES Added Latin 1//EN"
|
||||
>
|
||||
|
||||
<!ENTITY % ISOlat2 PUBLIC
|
||||
"ISO 8879:1986//ENTITIES Added Latin 2//EN"
|
||||
>
|
||||
|
||||
<!ENTITY % ISOmfrk PUBLIC
|
||||
"ISO 9573-13:1991//ENTITIES Math Alphabets: Fraktur //EN"
|
||||
>
|
||||
|
||||
<!ENTITY % ISOmopf PUBLIC
|
||||
"ISO 9573-13:1991//ENTITIES Math Alphabets: Open Face //EN"
|
||||
>
|
||||
|
||||
<!ENTITY % ISOmscr PUBLIC
|
||||
"ISO 9573-13:1991//ENTITIES Math Alphabets: Script //EN"
|
||||
>
|
||||
|
||||
<!ENTITY % ISOnum PUBLIC
|
||||
"ISO 8879:1986//ENTITIES Numeric and Special Graphic//EN"
|
||||
>
|
||||
|
||||
<!ENTITY % ISOpub PUBLIC
|
||||
"ISO 8879:1986//ENTITIES Publishing//EN"
|
||||
>
|
||||
|
||||
<!ENTITY % ISOtech PUBLIC
|
||||
"ISO 8879:1986//ENTITIES General Technical//EN"
|
||||
>
|
||||
@@ -0,0 +1,79 @@
|
||||
<!-- $XConsortium: iso-cyr1.gml /main/2 1996/10/29 16:21:00 drk $ -->
|
||||
<!-- (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 % ISOcyr1 PUBLIC
|
||||
"ISO 8879-1986//ENTITIES Russian Cyrillic//EN">
|
||||
%ISOcyr1;
|
||||
-->
|
||||
<!ENTITY acy SDATA "[acy ]"--=small a, Cyrillic-->
|
||||
<!ENTITY Acy SDATA "[Acy ]"--=capital A, Cyrillic-->
|
||||
<!ENTITY bcy SDATA "[bcy ]"--=small be, Cyrillic-->
|
||||
<!ENTITY Bcy SDATA "[Bcy ]"--=capital BE, Cyrillic-->
|
||||
<!ENTITY vcy SDATA "[vcy ]"--=small ve, Cyrillic-->
|
||||
<!ENTITY Vcy SDATA "[Vcy ]"--=capital VE, Cyrillic-->
|
||||
<!ENTITY gcy SDATA "[gcy ]"--=small ghe, Cyrillic-->
|
||||
<!ENTITY Gcy SDATA "[Gcy ]"--=capital GHE, Cyrillic-->
|
||||
<!ENTITY dcy SDATA "[dcy ]"--=small de, Cyrillic-->
|
||||
<!ENTITY Dcy SDATA "[Dcy ]"--=capital DE, Cyrillic-->
|
||||
<!ENTITY iecy SDATA "[iecy ]"--=small ie, Cyrillic-->
|
||||
<!ENTITY IEcy SDATA "[IEcy ]"--=capital IE, Cyrillic-->
|
||||
<!ENTITY iocy SDATA "[iocy ]"--=small io, Russian-->
|
||||
<!ENTITY IOcy SDATA "[IOcy ]"--=capital IO, Russian-->
|
||||
<!ENTITY zhcy SDATA "[zhcy ]"--=small zhe, Cyrillic-->
|
||||
<!ENTITY ZHcy SDATA "[ZHcy ]"--=capital ZHE, Cyrillic-->
|
||||
<!ENTITY zcy SDATA "[zcy ]"--=small ze, Cyrillic-->
|
||||
<!ENTITY Zcy SDATA "[Zcy ]"--=capital ZE, Cyrillic-->
|
||||
<!ENTITY icy SDATA "[icy ]"--=small i, Cyrillic-->
|
||||
<!ENTITY Icy SDATA "[Icy ]"--=capital I, Cyrillic-->
|
||||
<!ENTITY jcy SDATA "[jcy ]"--=small short i, Cyrillic-->
|
||||
<!ENTITY Jcy SDATA "[Jcy ]"--=capital short I, Cyrillic-->
|
||||
<!ENTITY kcy SDATA "[kcy ]"--=small ka, Cyrillic-->
|
||||
<!ENTITY Kcy SDATA "[Kcy ]"--=capital KA, Cyrillic-->
|
||||
<!ENTITY lcy SDATA "[lcy ]"--=small el, Cyrillic-->
|
||||
<!ENTITY Lcy SDATA "[Lcy ]"--=capital EL, Cyrillic-->
|
||||
<!ENTITY mcy SDATA "[mcy ]"--=small em, Cyrillic-->
|
||||
<!ENTITY Mcy SDATA "[Mcy ]"--=capital EM, Cyrillic-->
|
||||
<!ENTITY ncy SDATA "[ncy ]"--=small en, Cyrillic-->
|
||||
<!ENTITY Ncy SDATA "[Ncy ]"--=capital EN, Cyrillic-->
|
||||
<!ENTITY ocy SDATA "[ocy ]"--=small o, Cyrillic-->
|
||||
<!ENTITY Ocy SDATA "[Ocy ]"--=capital O, Cyrillic-->
|
||||
<!ENTITY pcy SDATA "[pcy ]"--=small pe, Cyrillic-->
|
||||
<!ENTITY Pcy SDATA "[Pcy ]"--=capital PE, Cyrillic-->
|
||||
<!ENTITY rcy SDATA "[rcy ]"--=small er, Cyrillic-->
|
||||
<!ENTITY Rcy SDATA "[Rcy ]"--=capital ER, Cyrillic-->
|
||||
<!ENTITY scy SDATA "[scy ]"--=small es, Cyrillic-->
|
||||
<!ENTITY Scy SDATA "[Scy ]"--=capital ES, Cyrillic-->
|
||||
<!ENTITY tcy SDATA "[tcy ]"--=small te, Cyrillic-->
|
||||
<!ENTITY Tcy SDATA "[Tcy ]"--=capital TE, Cyrillic-->
|
||||
<!ENTITY ucy SDATA "[ucy ]"--=small u, Cyrillic-->
|
||||
<!ENTITY Ucy SDATA "[Ucy ]"--=capital U, Cyrillic-->
|
||||
<!ENTITY fcy SDATA "[fcy ]"--=small ef, Cyrillic-->
|
||||
<!ENTITY Fcy SDATA "[Fcy ]"--=capital EF, Cyrillic-->
|
||||
<!ENTITY khcy SDATA "[khcy ]"--=small ha, Cyrillic-->
|
||||
<!ENTITY KHcy SDATA "[KHcy ]"--=capital HA, Cyrillic-->
|
||||
<!ENTITY tscy SDATA "[tscy ]"--=small tse, Cyrillic-->
|
||||
<!ENTITY TScy SDATA "[TScy ]"--=capital TSE, Cyrillic-->
|
||||
<!ENTITY chcy SDATA "[chcy ]"--=small che, Cyrillic-->
|
||||
<!ENTITY CHcy SDATA "[CHcy ]"--=capital CHE, Cyrillic-->
|
||||
<!ENTITY shcy SDATA "[shcy ]"--=small sha, Cyrillic-->
|
||||
<!ENTITY SHcy SDATA "[SHcy ]"--=capital SHA, Cyrillic-->
|
||||
<!ENTITY shchcy SDATA "[shchcy]"--=small shcha, Cyrillic-->
|
||||
<!ENTITY SHCHcy SDATA "[SHCHcy]"--=capital SHCHA, Cyrillic-->
|
||||
<!ENTITY hardcy SDATA "[hardcy]"--=small hard sign, Cyrillic-->
|
||||
<!ENTITY HARDcy SDATA "[HARDcy]"--=capital HARD sign, Cyrillic-->
|
||||
<!ENTITY ycy SDATA "[ycy ]"--=small yeru, Cyrillic-->
|
||||
<!ENTITY Ycy SDATA "[Ycy ]"--=capital YERU, Cyrillic-->
|
||||
<!ENTITY softcy SDATA "[softcy]"--=small soft sign, Cyrillic-->
|
||||
<!ENTITY SOFTcy SDATA "[SOFTcy]"--=capital SOFT sign, Cyrillic-->
|
||||
<!ENTITY ecy SDATA "[ecy ]"--=small e, Cyrillic-->
|
||||
<!ENTITY Ecy SDATA "[Ecy ]"--=capital E, Cyrillic-->
|
||||
<!ENTITY yucy SDATA "[yucy ]"--=small yu, Cyrillic-->
|
||||
<!ENTITY YUcy SDATA "[YUcy ]"--=capital YU, Cyrillic-->
|
||||
<!ENTITY yacy SDATA "[yacy ]"--=small ya, Cyrillic-->
|
||||
<!ENTITY YAcy SDATA "[YAcy ]"--=capital YA, Cyrillic-->
|
||||
<!ENTITY numero SDATA "[numero]"--=numero sign-->
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
<!-- $XConsortium: iso-cyr2.gml /main/2 1996/10/29 16:21:14 drk $ -->
|
||||
<!-- (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 % ISOcyr2 PUBLIC
|
||||
"ISO 8879-1986//ENTITIES Non-Russian Cyrillic//EN">
|
||||
%ISOcyr2;
|
||||
-->
|
||||
<!ENTITY djcy SDATA "[djcy ]"--=small dje, Serbian-->
|
||||
<!ENTITY DJcy SDATA "[DJcy ]"--=capital DJE, Serbian-->
|
||||
<!ENTITY gjcy SDATA "[gjcy ]"--=small gje, Macedonian-->
|
||||
<!ENTITY GJcy SDATA "[GJcy ]"--=capital GJE Macedonian-->
|
||||
<!ENTITY jukcy SDATA "[jukcy ]"--=small je, Ukrainian-->
|
||||
<!ENTITY Jukcy SDATA "[Jukcy ]"--=capital JE, Ukrainian-->
|
||||
<!ENTITY dscy SDATA "[dscy ]"--=small dse, Macedonian-->
|
||||
<!ENTITY DScy SDATA "[DScy ]"--=capital DSE, Macedonian-->
|
||||
<!ENTITY iukcy SDATA "[iukcy ]"--=small i, Ukrainian-->
|
||||
<!ENTITY Iukcy SDATA "[Iukcy ]"--=capital I, Ukrainian-->
|
||||
<!ENTITY yicy SDATA "[yicy ]"--=small yi, Ukrainian-->
|
||||
<!ENTITY YIcy SDATA "[YIcy ]"--=capital YI, Ukrainian-->
|
||||
<!ENTITY jsercy SDATA "[jsercy]"--=small je, Serbian-->
|
||||
<!ENTITY Jsercy SDATA "[Jsercy]"--=capital JE, Serbian-->
|
||||
<!ENTITY ljcy SDATA "[ljcy ]"--=small lje, Serbian-->
|
||||
<!ENTITY LJcy SDATA "[LJcy ]"--=capital LJE, Serbian-->
|
||||
<!ENTITY njcy SDATA "[njcy ]"--=small nje, Serbian-->
|
||||
<!ENTITY NJcy SDATA "[NJcy ]"--=capital NJE, Serbian-->
|
||||
<!ENTITY tshcy SDATA "[tshcy ]"--=small tshe, Serbian-->
|
||||
<!ENTITY TSHcy SDATA "[TSHcy ]"--=capital TSHE, Serbian-->
|
||||
<!ENTITY kjcy SDATA "[kjcy ]"--=small kje Macedonian-->
|
||||
<!ENTITY KJcy SDATA "[KJcy ]"--=capital KJE, Macedonian-->
|
||||
<!ENTITY ubrcy SDATA "[ubrcy ]"--=small u, Byelorussian-->
|
||||
<!ENTITY Ubrcy SDATA "[Ubrcy ]"--=capital U, Byelorussian-->
|
||||
<!ENTITY dzcy SDATA "[dzcy ]"--=small dze, Serbian-->
|
||||
<!ENTITY DZcy SDATA "[DZcy ]"--=capital dze, Serbian-->
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
<!-- $XConsortium: iso-dia.gml /main/2 1996/10/29 16:21:27 drk $ -->
|
||||
<!-- (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">
|
||||
%ISOdia;
|
||||
-->
|
||||
<!ENTITY acute SDATA "[acute ]"--=acute accent-->
|
||||
<!ENTITY breve SDATA "[breve ]"--=breve-->
|
||||
<!ENTITY caron SDATA "[caron ]"--=caron-->
|
||||
<!ENTITY cedil SDATA "[cedil ]"--=cedilla-->
|
||||
<!ENTITY circ SDATA "[circ ]"--=circumflex accent-->
|
||||
<!ENTITY dblac SDATA "[dblac ]"--=double acute accent-->
|
||||
<!ENTITY die SDATA "[die ]"--=dieresis-->
|
||||
<!ENTITY dot SDATA "[dot ]"--=dot above-->
|
||||
<!ENTITY grave SDATA "[grave ]"--=grave accent-->
|
||||
<!ENTITY macr SDATA "[macr ]"--=macron-->
|
||||
<!ENTITY ogon SDATA "[ogon ]"--=ogonek-->
|
||||
<!ENTITY ring SDATA "[ring ]"--=ring-->
|
||||
<!ENTITY tilde SDATA "[tilde ]"--=tilde-->
|
||||
<!ENTITY uml SDATA "[uml ]"--=umlaut mark-->
|
||||
@@ -0,0 +1,61 @@
|
||||
<!-- $XConsortium: iso-grk1.gml /main/2 1996/10/29 16:21:48 drk $ -->
|
||||
<!-- (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 % ISOgrk1 PUBLIC
|
||||
"ISO 8879-1986//ENTITIES Greek Letters//EN">
|
||||
%ISOgrk1;
|
||||
-->
|
||||
<!ENTITY agr SDATA "[agr ]"--=small alpha, Greek-->
|
||||
<!ENTITY Agr SDATA "[Agr ]"--=capital Alpha, Greek-->
|
||||
<!ENTITY bgr SDATA "[bgr ]"--=small beta, Greek-->
|
||||
<!ENTITY Bgr SDATA "[Bgr ]"--=capital Beta, Greek-->
|
||||
<!ENTITY ggr SDATA "[ggr ]"--=small gamma, Greek-->
|
||||
<!ENTITY Ggr SDATA "[Ggr ]"--=capital Gamma, Greek-->
|
||||
<!ENTITY dgr SDATA "[dgr ]"--=small delta, Greek-->
|
||||
<!ENTITY Dgr SDATA "[Dgr ]"--=capital Delta, Greek-->
|
||||
<!ENTITY egr SDATA "[egr ]"--=small epsilon, Greek-->
|
||||
<!ENTITY Egr SDATA "[Egr ]"--=capital Epsilon, Greek-->
|
||||
<!ENTITY zgr SDATA "[zgr ]"--=small zeta, Greek-->
|
||||
<!ENTITY Zgr SDATA "[Zgr ]"--=capital Zeta, Greek-->
|
||||
<!ENTITY eegr SDATA "[eegr ]"--=small eta, Greek-->
|
||||
<!ENTITY EEgr SDATA "[EEgr ]"--=capital Eta, Greek-->
|
||||
<!ENTITY thgr SDATA "[thgr ]"--=small theta, Greek-->
|
||||
<!ENTITY THgr SDATA "[THgr ]"--=capital Theta, Greek-->
|
||||
<!ENTITY igr SDATA "[igr ]"--=small iota, Greek-->
|
||||
<!ENTITY Igr SDATA "[Igr ]"--=capital Iota, Greek-->
|
||||
<!ENTITY kgr SDATA "[kgr ]"--=small kappa, Greek-->
|
||||
<!ENTITY Kgr SDATA "[Kgr ]"--=capital Kappa, Greek-->
|
||||
<!ENTITY lgr SDATA "[lgr ]"--=small lambda, Greek-->
|
||||
<!ENTITY Lgr SDATA "[Lgr ]"--=capital Lambda, Greek-->
|
||||
<!ENTITY mgr SDATA "[mgr ]"--=small mu, Greek-->
|
||||
<!ENTITY Mgr SDATA "[Mgr ]"--=capital Mu, Greek-->
|
||||
<!ENTITY ngr SDATA "[ngr ]"--=small nu, Greek-->
|
||||
<!ENTITY Ngr SDATA "[Ngr ]"--=capital Nu, Greek-->
|
||||
<!ENTITY xgr SDATA "[xgr ]"--=small xi, Greek-->
|
||||
<!ENTITY Xgr SDATA "[Xgr ]"--=capital Xi, Greek-->
|
||||
<!ENTITY ogr SDATA "[ogr ]"--=small omicron, Greek-->
|
||||
<!ENTITY Ogr SDATA "[Ogr ]"--=capital Omicron, Greek-->
|
||||
<!ENTITY pgr SDATA "[pgr ]"--=small pi, Greek-->
|
||||
<!ENTITY Pgr SDATA "[Pgr ]"--=capital Pi, Greek-->
|
||||
<!ENTITY rgr SDATA "[rgr ]"--=small rho, Greek-->
|
||||
<!ENTITY Rgr SDATA "[Rgr ]"--=capital Rho, Greek-->
|
||||
<!ENTITY sgr SDATA "[sgr ]"--=small sigma, Greek-->
|
||||
<!ENTITY Sgr SDATA "[Sgr ]"--=capital Sigma, Greek-->
|
||||
<!ENTITY sfgr SDATA "[sfgr ]"--=final small sigma, Greek-->
|
||||
<!ENTITY tgr SDATA "[tgr ]"--=small tau, Greek-->
|
||||
<!ENTITY Tgr SDATA "[Tgr ]"--=capital Tau, Greek-->
|
||||
<!ENTITY ugr SDATA "[ugr ]"--=small upsilon, Greek-->
|
||||
<!ENTITY Ugr SDATA "[Ugr ]"--=capital Upsilon, Greek-->
|
||||
<!ENTITY phgr SDATA "[phgr ]"--=small phi, Greek-->
|
||||
<!ENTITY PHgr SDATA "[PHgr ]"--=capital Phi, Greek-->
|
||||
<!ENTITY khgr SDATA "[khgr ]"--=small chi, Greek-->
|
||||
<!ENTITY KHgr SDATA "[KHgr ]"--=capital Chi, Greek-->
|
||||
<!ENTITY psgr SDATA "[psgr ]"--=small psi, Greek-->
|
||||
<!ENTITY PSgr SDATA "[PSgr ]"--=capital Psi, Greek-->
|
||||
<!ENTITY ohgr SDATA "[ohgr ]"--=small omega, Greek-->
|
||||
<!ENTITY OHgr SDATA "[OHgr ]"--=capital Omega, Greek-->
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
<!-- $XConsortium: iso-grk2.gml /main/2 1996/10/29 16:22:03 drk $ -->
|
||||
<!-- (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 % ISOgrk2 PUBLIC
|
||||
"ISO 8879-1986//ENTITIES Monotoniko Greek//EN">
|
||||
%ISOgrk2;
|
||||
-->
|
||||
<!ENTITY aacgr SDATA "[aacgr ]"--=small alpha, accent, Greek-->
|
||||
<!ENTITY Aacgr SDATA "[Aacgr ]"--=capital Alpha, accent, Greek-->
|
||||
<!ENTITY eacgr SDATA "[eacgr ]"--=small epsilon, accent, Greek-->
|
||||
<!ENTITY Eacgr SDATA "[Eacgr ]"--=capital Epsilon, accent, Greek-->
|
||||
<!ENTITY eeacgr SDATA "[eeacgr]"--=small eta, accent, Greek-->
|
||||
<!ENTITY EEacgr SDATA "[EEacgr]"--=capital Eta, accent, Greek-->
|
||||
<!ENTITY idigr SDATA "[idigr ]"--=small iota, dieresis, Greek-->
|
||||
<!ENTITY Idigr SDATA "[Idigr ]"--=capital Iota, dieresis, Greek-->
|
||||
<!ENTITY iacgr SDATA "[iacgr ]"--=small iota, accent, Greek-->
|
||||
<!ENTITY Iacgr SDATA "[Iacgr ]"--=capital Iota, accent, Greek-->
|
||||
<!ENTITY idiagr SDATA "[idiagr]"--=small iota, dieresis, accent, Greek-->
|
||||
<!ENTITY oacgr SDATA "[oacgr ]"--=small omicron, accent, Greek-->
|
||||
<!ENTITY Oacgr SDATA "[Oacgr ]"--=capital Omicron, accent, Greek-->
|
||||
<!ENTITY udigr SDATA "[udigr ]"--=small upsilon, dieresis, Greek-->
|
||||
<!ENTITY Udigr SDATA "[Udigr ]"--=capital Upsilon, dieresis, Greek-->
|
||||
<!ENTITY uacgr SDATA "[uacgr ]"--=small upsilon, accent, Greek-->
|
||||
<!ENTITY Uacgr SDATA "[Uacgr ]"--=capital Upsilon, accent, Greek-->
|
||||
<!ENTITY udiagr SDATA "[udiagr]"--=small upsilon, dieresis, accent, Greek-->
|
||||
<!ENTITY ohacgr SDATA "[ohacgr]"--=small omega, accent, Greek-->
|
||||
<!ENTITY OHacgr SDATA "[OHacgr]"--=capital Omega, accent, Greek-->
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
<!-- $XConsortium: iso-grk3.gml /main/2 1996/10/29 16:22:14 drk $ -->
|
||||
<!-- (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 % ISOgrk3 PUBLIC
|
||||
"ISO 8879-1986//ENTITIES Greek Symbols//EN">
|
||||
%ISOgrk3;
|
||||
-->
|
||||
<!ENTITY alpha SDATA "[alpha ]"--=small alpha, Greek-->
|
||||
<!ENTITY beta SDATA "[beta ]"--=small beta, Greek-->
|
||||
<!ENTITY gamma SDATA "[gamma ]"--=small gamma, Greek-->
|
||||
<!ENTITY Gamma SDATA "[Gamma ]"--=capital Gamma, Greek-->
|
||||
<!ENTITY gammad SDATA "[gammad]"--/digamma-->
|
||||
<!ENTITY delta SDATA "[delta ]"--=small delta, Greek-->
|
||||
<!ENTITY Delta SDATA "[Delta ]"--=capital Delta, Greek-->
|
||||
<!ENTITY epsi SDATA "[epsi ]"--=small epsilon, Greek-->
|
||||
<!ENTITY epsiv SDATA "[epsiv ]"--/varepsilon-->
|
||||
<!ENTITY epsis SDATA "[epsis ]"--/straightepsilon-->
|
||||
<!ENTITY zeta SDATA "[zeta ]"--=small zeta, Greek-->
|
||||
<!ENTITY eta SDATA "[eta ]"--=small eta, Greek-->
|
||||
<!ENTITY thetas SDATA "[thetas]"--straight theta-->
|
||||
<!ENTITY Theta SDATA "[Theta ]"--=capital Theta, Greek-->
|
||||
<!ENTITY thetav SDATA "[thetav]"--/vartheta - curly or open theta-->
|
||||
<!ENTITY iota SDATA "[iota ]"--=small iota, Greek-->
|
||||
<!ENTITY kappa SDATA "[kappa ]"--=small kappa, Greek-->
|
||||
<!ENTITY kappav SDATA "[kappav]"--/varkappa-->
|
||||
<!ENTITY lambda SDATA "[lambda]"--=small lambda, Greek-->
|
||||
<!ENTITY Lambda SDATA "[Lambda]"--=capital Lambda, Greek-->
|
||||
<!ENTITY mu SDATA "[mu ]"--=small mu, Greek-->
|
||||
<!ENTITY nu SDATA "[nu ]"--=small nu, Greek-->
|
||||
<!ENTITY xi SDATA "[xi ]"--=small xi, Greek-->
|
||||
<!ENTITY Xi SDATA "[Xi ]"--=capital Xi, Greek-->
|
||||
<!ENTITY pi SDATA "[pi ]"--=small pi, Greek-->
|
||||
<!ENTITY piv SDATA "[piv ]"--/varpi-->
|
||||
<!ENTITY Pi SDATA "[Pi ]"--=capital Pi, Greek-->
|
||||
<!ENTITY rho SDATA "[rho ]"--=small rho, Greek-->
|
||||
<!ENTITY rhov SDATA "[rhov ]"--/varrho-->
|
||||
<!ENTITY sigma SDATA "[sigma ]"--=small sigma, Greek-->
|
||||
<!ENTITY Sigma SDATA "[Sigma ]"--=capital Sigma, Greek-->
|
||||
<!ENTITY sigmav SDATA "[sigmav]"--/varsigma-->
|
||||
<!ENTITY tau SDATA "[tau ]"--=small tau, Greek-->
|
||||
<!ENTITY upsi SDATA "[upsi ]"--=small upsilon, Greek-->
|
||||
<!ENTITY Upsi SDATA "[Upsi ]"--=capital Upsilon, Greek-->
|
||||
<!ENTITY phis SDATA "[phis ]"--/straightphi - straight phi-->
|
||||
<!ENTITY Phi SDATA "[Phi ]"--=capital Phi, Greek-->
|
||||
<!ENTITY phiv SDATA "[phiv ]"--/varphi - curly or open phi-->
|
||||
<!ENTITY chi SDATA "[chi ]"--=small chi, Greek-->
|
||||
<!ENTITY psi SDATA "[psi ]"--=small psi, Greek-->
|
||||
<!ENTITY Psi SDATA "[Psi ]"--=capital Psi, Greek-->
|
||||
<!ENTITY omega SDATA "[omega ]"--=small omega, Greek-->
|
||||
<!ENTITY Omega SDATA "[Omega ]"--=capital Omega, Greek-->
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
<!-- $XConsortium: iso-grk4.gml /main/2 1996/10/29 16:22:24 drk $ -->
|
||||
<!-- (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 % ISOgrk4 PUBLIC
|
||||
"ISO 8879-1986//ENTITIES Alternative Greek Symbols//EN">
|
||||
%ISOgrk4;
|
||||
-->
|
||||
<!ENTITY b.alpha SDATA "[b.alpha ]"--=small alpha, Greek-->
|
||||
<!ENTITY b.beta SDATA "[b.beta ]"--=small beta, Greek-->
|
||||
<!ENTITY b.gamma SDATA "[b.gamma ]"--=small gamma, Greek-->
|
||||
<!ENTITY b.Gamma SDATA "[b.Gamma ]"--=capital Gamma, Greek-->
|
||||
<!ENTITY b.gammad SDATA "[b.gammad]"--/digamma-->
|
||||
<!ENTITY b.delta SDATA "[b.delta ]"--=small delta, Greek-->
|
||||
<!ENTITY b.Delta SDATA "[b.Delta ]"--=capital Delta, Greek-->
|
||||
<!ENTITY b.epsi SDATA "[b.epsi ]"--=small epsilon, Greek-->
|
||||
<!ENTITY b.epsiv SDATA "[b.epsiv ]"--/varepsilon-->
|
||||
<!ENTITY b.epsis SDATA "[b.epsis ]"--/straightepsilon-->
|
||||
<!ENTITY b.zeta SDATA "[b.zeta ]"--=small zeta, Greek-->
|
||||
<!ENTITY b.eta SDATA "[b.eta ]"--=small eta, Greek-->
|
||||
<!ENTITY b.thetas SDATA "[b.thetas]"--straight theta-->
|
||||
<!ENTITY b.Theta SDATA "[b.Theta ]"--=capital Theta, Greek-->
|
||||
<!ENTITY b.thetav SDATA "[b.thetav]"--/vartheta - curly or open theta-->
|
||||
<!ENTITY b.iota SDATA "[b.iota ]"--=small iota, Greek-->
|
||||
<!ENTITY b.kappa SDATA "[b.kappa ]"--=small kappa, Greek-->
|
||||
<!ENTITY b.kappav SDATA "[b.kappav]"--/varkappa-->
|
||||
<!ENTITY b.lambda SDATA "[b.lambda]"--=small lambda, Greek-->
|
||||
<!ENTITY b.Lambda SDATA "[b.Lambda]"--=capital Lambda, Greek-->
|
||||
<!ENTITY b.mu SDATA "[b.mu ]"--=small mu, Greek-->
|
||||
<!ENTITY b.nu SDATA "[b.nu ]"--=small nu, Greek-->
|
||||
<!ENTITY b.xi SDATA "[b.xi ]"--=small xi, Greek-->
|
||||
<!ENTITY b.Xi SDATA "[b.Xi ]"--=capital Xi, Greek-->
|
||||
<!ENTITY b.pi SDATA "[b.pi ]"--=small pi, Greek-->
|
||||
<!ENTITY b.Pi SDATA "[b.Pi ]"--=capital Pi, Greek-->
|
||||
<!ENTITY b.piv SDATA "[b.piv ]"--/varpi-->
|
||||
<!ENTITY b.rho SDATA "[b.rho ]"--=small rho, Greek-->
|
||||
<!ENTITY b.rhov SDATA "[b.rhov ]"--/varrho-->
|
||||
<!ENTITY b.sigma SDATA "[b.sigma ]"--=small sigma, Greek-->
|
||||
<!ENTITY b.Sigma SDATA "[b.Sigma ]"--=capital Sigma, Greek-->
|
||||
<!ENTITY b.sigmav SDATA "[b.sigmav]"--/varsigma-->
|
||||
<!ENTITY b.tau SDATA "[b.tau ]"--=small tau, Greek-->
|
||||
<!ENTITY b.upsi SDATA "[b.upsi ]"--=small upsilon, Greek-->
|
||||
<!ENTITY b.Upsi SDATA "[b.Upsi ]"--=capital Upsilon, Greek-->
|
||||
<!ENTITY b.phis SDATA "[b.phis ]"--/straightphi - straight phi-->
|
||||
<!ENTITY b.Phi SDATA "[b.Phi ]"--=capital Phi, Greek-->
|
||||
<!ENTITY b.phiv SDATA "[b.phiv ]"--/varphi - curly or open phi-->
|
||||
<!ENTITY b.chi SDATA "[b.chi ]"--=small chi, Greek-->
|
||||
<!ENTITY b.psi SDATA "[b.psi ]"--=small psi, Greek-->
|
||||
<!ENTITY b.Psi SDATA "[b.Psi ]"--=capital Psi, Greek-->
|
||||
<!ENTITY b.omega SDATA "[b.omega ]"--=small omega, Greek-->
|
||||
<!ENTITY b.Omega SDATA "[b.Omega ]"--=capital Omega, Greek-->
|
||||
@@ -0,0 +1,74 @@
|
||||
<!-- $XConsortium: iso-lat1.gml /main/2 1996/10/29 16:22:35 drk $ -->
|
||||
<!-- (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 % ISOlat1 PUBLIC
|
||||
"ISO 8879-1986//ENTITIES Added Latin 1//EN">
|
||||
%ISOlat1;
|
||||
-->
|
||||
|
||||
<!ENTITY Aacute CDATA "Á"--=capital A, acute accent-->
|
||||
<!ENTITY aacute CDATA "á"--=small a, acute accent-->
|
||||
<!ENTITY Acirc CDATA "Â"--=capital A, circumflex accent-->
|
||||
<!ENTITY acirc CDATA "â"--=small a, circumflex accent-->
|
||||
<!ENTITY AElig CDATA "Æ"--=capital AE diphthong (ligature)-->
|
||||
<!ENTITY aelig CDATA "æ"--=small ae diphthong (ligature)-->
|
||||
<!ENTITY Agrave CDATA "À"--=capital A, grave accent-->
|
||||
<!ENTITY agrave CDATA "à"--=small a, grave accent-->
|
||||
<!ENTITY Aring CDATA "Å"--=capital A, ring-->
|
||||
<!ENTITY aring CDATA "å"--=small a, ring-->
|
||||
<!ENTITY Atilde CDATA "Ã"--=capital A, tilde-->
|
||||
<!ENTITY atilde CDATA "ã"--=small a, tilde-->
|
||||
<!ENTITY Auml CDATA "Ä"--=capital A, dieresis or umlaut mark-->
|
||||
<!ENTITY auml CDATA "ä"--=small a, dieresis or umlaut mark-->
|
||||
<!ENTITY Ccedil CDATA "Ç"--=capital C, cedilla-->
|
||||
<!ENTITY ccedil CDATA "ç"--=small c, cedilla-->
|
||||
<!ENTITY Eacute CDATA "É"--=capital E, acute accent-->
|
||||
<!ENTITY eacute CDATA "é"--=small e, acute accent-->
|
||||
<!ENTITY Ecirc CDATA "Ê"--=capital E, circumflex accent-->
|
||||
<!ENTITY ecirc CDATA "ê"--=small e, circumflex accent-->
|
||||
<!ENTITY Egrave CDATA "È"--=capital E, grave accent-->
|
||||
<!ENTITY egrave CDATA "è"--=small e, grave accent-->
|
||||
<!ENTITY ETH CDATA "Ð"--=capital Eth, Icelandic-->
|
||||
<!ENTITY eth CDATA "ð"--=small eth, Icelandic-->
|
||||
<!ENTITY Euml CDATA "Ë"--=capital E, dieresis or umlaut mark-->
|
||||
<!ENTITY euml CDATA "ë"--=small e, dieresis or umlaut mark-->
|
||||
<!ENTITY Iacute CDATA "Í"--=capital I, acute accent-->
|
||||
<!ENTITY iacute CDATA "í"--=small i, acute accent-->
|
||||
<!ENTITY Icirc CDATA "Î"--=capital I, circumflex accent-->
|
||||
<!ENTITY icirc CDATA "î"--=small i, circumflex accent-->
|
||||
<!ENTITY Igrave CDATA "Ì"--=capital I, grave accent-->
|
||||
<!ENTITY igrave CDATA "ì"--=small i, grave accent-->
|
||||
<!ENTITY Iuml CDATA "Ï"--=capital I, dieresis or umlaut mark-->
|
||||
<!ENTITY iuml CDATA "ï"--=small i, dieresis or umlaut mark-->
|
||||
<!ENTITY Ntilde CDATA "Ñ"--=capital N, tilde-->
|
||||
<!ENTITY ntilde CDATA "ñ"--=small n, tilde-->
|
||||
<!ENTITY Oacute CDATA "Ó"--=capital O, acute accent-->
|
||||
<!ENTITY oacute CDATA "ó"--=small o, acute accent-->
|
||||
<!ENTITY Ocirc CDATA "Ô"--=capital O, circumflex accent-->
|
||||
<!ENTITY ocirc CDATA "ô"--=small o, circumflex accent-->
|
||||
<!ENTITY Ograve CDATA "Ò"--=capital O, grave accent-->
|
||||
<!ENTITY ograve CDATA "ò"--=small o, grave accent-->
|
||||
<!ENTITY Oslash CDATA "Ø"--=capital O, slash-->
|
||||
<!ENTITY oslash CDATA "ø"--=small o, slash-->
|
||||
<!ENTITY Otilde CDATA "Õ"--=capital O, tilde-->
|
||||
<!ENTITY otilde CDATA "õ"--=small o, tilde-->
|
||||
<!ENTITY Ouml CDATA "Ö"--=capital O, dieresis or umlaut mark-->
|
||||
<!ENTITY ouml CDATA "ö"--=small o, dieresis or umlaut mark-->
|
||||
<!ENTITY szlig CDATA "ß"--=small sharp s, German (sz ligature)-->
|
||||
<!ENTITY THORN CDATA "Þ"--=capital THORN, Icelandic-->
|
||||
<!ENTITY thorn CDATA "þ"--=small thorn, Icelandic-->
|
||||
<!ENTITY Uacute CDATA "Ú"--=capital U, acute accent-->
|
||||
<!ENTITY uacute CDATA "ú"--=small u, acute accent-->
|
||||
<!ENTITY Ucirc CDATA "Û"--=capital U, circumflex accent-->
|
||||
<!ENTITY ucirc CDATA "û"--=small u, circumflex accent-->
|
||||
<!ENTITY Ugrave CDATA "Ù"--=capital U, grave accent-->
|
||||
<!ENTITY ugrave CDATA "ù"--=small u, grave accent-->
|
||||
<!ENTITY Uuml CDATA "Ü"--=capital U, dieresis or umlaut mark-->
|
||||
<!ENTITY uuml CDATA "ü"--=small u, dieresis or umlaut mark-->
|
||||
<!ENTITY Yacute CDATA "Ý"--=capital Y, acute accent-->
|
||||
<!ENTITY yacute CDATA "ý"--=small y, acute accent-->
|
||||
<!ENTITY yuml CDATA "ÿ"--=small y, dieresis or umlaut mark-->
|
||||
@@ -0,0 +1,133 @@
|
||||
<!-- $XConsortium: iso-lat2.gml /main/2 1996/10/29 16:22:45 drk $ -->
|
||||
<!-- (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 % ISOlat2 PUBLIC
|
||||
"ISO 8879-1986//ENTITIES Added Latin 2//EN">
|
||||
%ISOlat2;
|
||||
-->
|
||||
<!ENTITY abreve SDATA "[abreve]"--=small a, breve-->
|
||||
<!ENTITY Abreve SDATA "[Abreve]"--=capital A, breve-->
|
||||
<!ENTITY amacr SDATA "[amacr ]"--=small a, macron-->
|
||||
<!ENTITY Amacr SDATA "[Amacr ]"--=capital A, macron-->
|
||||
<!ENTITY aogon SDATA "[aogon ]"--=small a, ogonek-->
|
||||
<!ENTITY Aogon SDATA "[Aogon ]"--=capital A, ogonek-->
|
||||
<!ENTITY cacute SDATA "[cacute]"--=small c, acute accent-->
|
||||
<!ENTITY Cacute SDATA "[Cacute]"--=capital C, acute accent-->
|
||||
<!ENTITY ccaron SDATA "[ccaron]"--=small c, caron-->
|
||||
<!ENTITY Ccaron SDATA "[Ccaron]"--=capital C, caron-->
|
||||
<!ENTITY ccirc SDATA "[ccirc ]"--=small c, circumflex accent-->
|
||||
<!ENTITY Ccirc SDATA "[Ccirc ]"--=capital C, circumflex accent-->
|
||||
<!ENTITY cdot SDATA "[cdot ]"--=small c, dot above-->
|
||||
<!ENTITY Cdot SDATA "[Cdot ]"--=capital C, dot above-->
|
||||
<!ENTITY dcaron SDATA "[dcaron]"--=small d, caron-->
|
||||
<!ENTITY Dcaron SDATA "[Dcaron]"--=capital D, caron-->
|
||||
<!ENTITY dstrok SDATA "[dstrok]"--=small d, stroke-->
|
||||
<!ENTITY Dstrok SDATA "[Dstrok]"--=capital D, stroke-->
|
||||
<!ENTITY ecaron SDATA "[ecaron]"--=small e, caron-->
|
||||
<!ENTITY Ecaron SDATA "[Ecaron]"--=capital E, caron-->
|
||||
<!ENTITY edot SDATA "[edot ]"--=small e, dot above-->
|
||||
<!ENTITY Edot SDATA "[Edot ]"--=capital E, dot above-->
|
||||
<!ENTITY emacr SDATA "[emacr ]"--=small e, macron-->
|
||||
<!ENTITY Emacr SDATA "[Emacr ]"--=capital E, macron-->
|
||||
<!ENTITY eogon SDATA "[eogon ]"--=small e, ogonek-->
|
||||
<!ENTITY Eogon SDATA "[Eogon ]"--=capital E, ogonek-->
|
||||
<!ENTITY gacute SDATA "[gacute]"--=small g, acute accent-->
|
||||
<!ENTITY gbreve SDATA "[gbreve]"--=small g, breve-->
|
||||
<!ENTITY Gbreve SDATA "[Gbreve]"--=capital G, breve-->
|
||||
<!ENTITY Gcedil SDATA "[Gcedil]"--=capital G, cedilla-->
|
||||
<!ENTITY gcirc SDATA "[gcirc ]"--=small g, circumflex accent-->
|
||||
<!ENTITY Gcirc SDATA "[Gcirc ]"--=capital G, circumflex accent-->
|
||||
<!ENTITY gdot SDATA "[gdot ]"--=small g, dot above-->
|
||||
<!ENTITY Gdot SDATA "[Gdot ]"--=capital G, dot above-->
|
||||
<!ENTITY hcirc SDATA "[hcirc ]"--=small h, circumflex accent-->
|
||||
<!ENTITY Hcirc SDATA "[Hcirc ]"--=capital H, circumflex accent-->
|
||||
<!ENTITY hstrok SDATA "[hstrok]"--=small h, stroke-->
|
||||
<!ENTITY Hstrok SDATA "[Hstrok]"--=capital H, stroke-->
|
||||
<!ENTITY Idot SDATA "[Idot ]"--=capital I, dot above-->
|
||||
<!ENTITY Imacr SDATA "[Imacr ]"--=capital I, macron-->
|
||||
<!ENTITY imacr SDATA "[imacr ]"--=small i, macron-->
|
||||
<!ENTITY ijlig SDATA "[ijlig ]"--=small ij ligature-->
|
||||
<!ENTITY IJlig SDATA "[IJlig ]"--=capital IJ ligature-->
|
||||
<!ENTITY inodot SDATA "[inodot]"--=small i without dot-->
|
||||
<!ENTITY iogon SDATA "[iogon ]"--=small i, ogonek-->
|
||||
<!ENTITY Iogon SDATA "[Iogon ]"--=capital I, ogonek-->
|
||||
<!ENTITY itilde SDATA "[itilde]"--=small i, tilde-->
|
||||
<!ENTITY Itilde SDATA "[Itilde]"--=capital I, tilde-->
|
||||
<!ENTITY jcirc SDATA "[jcirc ]"--=small j, circumflex accent-->
|
||||
<!ENTITY Jcirc SDATA "[Jcirc ]"--=capital J, circumflex accent-->
|
||||
<!ENTITY kcedil SDATA "[kcedil]"--=small k, cedilla-->
|
||||
<!ENTITY Kcedil SDATA "[Kcedil]"--=capital K, cedilla-->
|
||||
<!ENTITY kgreen SDATA "[kgreen]"--=small k, Greenlandic-->
|
||||
<!ENTITY lacute SDATA "[lacute]"--=small l, acute accent-->
|
||||
<!ENTITY Lacute SDATA "[Lacute]"--=capital L, acute accent-->
|
||||
<!ENTITY lcaron SDATA "[lcaron]"--=small l, caron-->
|
||||
<!ENTITY Lcaron SDATA "[Lcaron]"--=capital L, caron-->
|
||||
<!ENTITY lcedil SDATA "[lcedil]"--=small l, cedilla-->
|
||||
<!ENTITY Lcedil SDATA "[Lcedil]"--=capital L, cedilla-->
|
||||
<!ENTITY lmidot SDATA "[lmidot]"--=small l, middle dot-->
|
||||
<!ENTITY Lmidot SDATA "[Lmidot]"--=capital L, middle dot-->
|
||||
<!ENTITY lstrok SDATA "[lstrok]"--=small l, stroke-->
|
||||
<!ENTITY Lstrok SDATA "[Lstrok]"--=capital L, stroke-->
|
||||
<!ENTITY nacute SDATA "[nacute]"--=small n, acute accent-->
|
||||
<!ENTITY Nacute SDATA "[Nacute]"--=capital N, acute accent-->
|
||||
<!ENTITY eng SDATA "[eng ]"--=small eng, Lapp-->
|
||||
<!ENTITY ENG SDATA "[ENG ]"--=capital ENG, Lapp-->
|
||||
<!ENTITY napos SDATA "[napos ]"--=small n, apostrophe-->
|
||||
<!ENTITY ncaron SDATA "[ncaron]"--=small n, caron-->
|
||||
<!ENTITY Ncaron SDATA "[Ncaron]"--=capital N, caron-->
|
||||
<!ENTITY ncedil SDATA "[ncedil]"--=small n, cedilla-->
|
||||
<!ENTITY Ncedil SDATA "[Ncedil]"--=capital N, cedilla-->
|
||||
<!ENTITY odblac SDATA "[odblac]"--=small o, double acute accent-->
|
||||
<!ENTITY Odblac SDATA "[Odblac]"--=capital O, double acute accent-->
|
||||
<!ENTITY Omacr SDATA "[Omacr ]"--=capital O, macron-->
|
||||
<!ENTITY omacr SDATA "[omacr ]"--=small o, macron-->
|
||||
<!ENTITY oelig SDATA "[oelig ]"--=small oe ligature-->
|
||||
<!ENTITY OElig SDATA "[OElig ]"--=capital OE ligature-->
|
||||
<!ENTITY racute SDATA "[racute]"--=small r, acute accent-->
|
||||
<!ENTITY Racute SDATA "[Racute]"--=capital R, acute accent-->
|
||||
<!ENTITY rcaron SDATA "[rcaron]"--=small r, caron-->
|
||||
<!ENTITY Rcaron SDATA "[Rcaron]"--=capital R, caron-->
|
||||
<!ENTITY rcedil SDATA "[rcedil]"--=small r, cedilla-->
|
||||
<!ENTITY Rcedil SDATA "[Rcedil]"--=capital R, cedilla-->
|
||||
<!ENTITY sacute SDATA "[sacute]"--=small s, acute accent-->
|
||||
<!ENTITY Sacute SDATA "[Sacute]"--=capital S, acute accent-->
|
||||
<!ENTITY scaron SDATA "[scaron]"--=small s, caron-->
|
||||
<!ENTITY Scaron SDATA "[Scaron]"--=capital S, caron-->
|
||||
<!ENTITY scedil SDATA "[scedil]"--=small s, cedilla-->
|
||||
<!ENTITY Scedil SDATA "[Scedil]"--=capital S, cedilla-->
|
||||
<!ENTITY scirc SDATA "[scirc ]"--=small s, circumflex accent-->
|
||||
<!ENTITY Scirc SDATA "[Scirc ]"--=capital S, circumflex accent-->
|
||||
<!ENTITY tcaron SDATA "[tcaron]"--=small t, caron-->
|
||||
<!ENTITY Tcaron SDATA "[Tcaron]"--=capital T, caron-->
|
||||
<!ENTITY tcedil SDATA "[tcedil]"--=small t, cedilla-->
|
||||
<!ENTITY Tcedil SDATA "[Tcedil]"--=capital T, cedilla-->
|
||||
<!ENTITY tstrok SDATA "[tstrok]"--=small t, stroke-->
|
||||
<!ENTITY Tstrok SDATA "[Tstrok]"--=capital T, stroke-->
|
||||
<!ENTITY ubreve SDATA "[ubreve]"--=small u, breve-->
|
||||
<!ENTITY Ubreve SDATA "[Ubreve]"--=capital U, breve-->
|
||||
<!ENTITY udblac SDATA "[udblac]"--=small u, double acute accent-->
|
||||
<!ENTITY Udblac SDATA "[Udblac]"--=capital U, double acute accent-->
|
||||
<!ENTITY umacr SDATA "[umacr ]"--=small u, macron-->
|
||||
<!ENTITY Umacr SDATA "[Umacr ]"--=capital U, macron-->
|
||||
<!ENTITY uogon SDATA "[uogon ]"--=small u, ogonek-->
|
||||
<!ENTITY Uogon SDATA "[Uogon ]"--=capital U, ogonek-->
|
||||
<!ENTITY uring SDATA "[uring ]"--=small u, ring-->
|
||||
<!ENTITY Uring SDATA "[Uring ]"--=capital U, ring-->
|
||||
<!ENTITY utilde SDATA "[utilde]"--=small u, tilde-->
|
||||
<!ENTITY Utilde SDATA "[Utilde]"--=capital U, tilde-->
|
||||
<!ENTITY wcirc SDATA "[wcirc ]"--=small w, circumflex accent-->
|
||||
<!ENTITY Wcirc SDATA "[Wcirc ]"--=capital W, circumflex accent-->
|
||||
<!ENTITY ycirc SDATA "[ycirc ]"--=small y, circumflex accent-->
|
||||
<!ENTITY Ycirc SDATA "[Ycirc ]"--=capital Y, circumflex accent-->
|
||||
<!ENTITY Yuml CDATA "Ý"--=capital Y, dieresis or umlaut mark-->
|
||||
<!ENTITY zacute SDATA "[zacute]"--=small z, acute accent-->
|
||||
<!ENTITY Zacute SDATA "[Zacute]"--=capital Z, acute accent-->
|
||||
<!ENTITY zcaron SDATA "[zcaron]"--=small z, caron-->
|
||||
<!ENTITY Zcaron SDATA "[Zcaron]"--=capital Z, caron-->
|
||||
<!ENTITY zdot SDATA "[zdot ]"--=small z, dot above-->
|
||||
<!ENTITY Zdot SDATA "[Zdot ]"--=capital Z, dot above-->
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
<!-- $XConsortium: iso-mfrk.gml /main/2 1996/10/29 16:22:56 drk $ -->
|
||||
<!-- (C) International Organization for Standardization 1991
|
||||
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 % ISOMFRK PUBLIC
|
||||
"ISO 9573-13:1991//ENTITIES Math Alphabets: Fraktur //EN">
|
||||
%ISOMFRK;
|
||||
-->
|
||||
<!ENTITY afr SDATA "[afr ]" --/frak a, lower case a-->
|
||||
<!ENTITY Afr SDATA "[Afr ]" --/frak A, upper case a-->
|
||||
<!ENTITY bfr SDATA "[bfr ]" --/frak b, lower case b-->
|
||||
<!ENTITY Bfr SDATA "[Bfr ]" --/frak B, upper case b-->
|
||||
<!ENTITY cfr SDATA "[cfr ]" --/frak c, lower case c-->
|
||||
<!ENTITY Cfr SDATA "[Cfr ]" --/frak C, upper case c-->
|
||||
<!ENTITY dfr SDATA "[dfr ]" --/frak d, lower case d-->
|
||||
<!ENTITY Dfr SDATA "[Dfr ]" --/frak D, upper case d-->
|
||||
<!ENTITY efr SDATA "[efr ]" --/frak e, lower case e-->
|
||||
<!ENTITY Efr SDATA "[Efr ]" --/frak E, upper case e-->
|
||||
<!ENTITY ffr SDATA "[ffr ]" --/frak f, lower case f-->
|
||||
<!ENTITY Ffr SDATA "[Ffr ]" --/frak F, upper case f-->
|
||||
<!ENTITY gfr SDATA "[gfr ]" --/frak g, lower case g-->
|
||||
<!ENTITY Gfr SDATA "[Gfr ]" --/frak G, upper case g-->
|
||||
<!ENTITY hfr SDATA "[hfr ]" --/frak h, lower case h-->
|
||||
<!ENTITY Hfr SDATA "[Hfr ]" --/frak H, upper case h-->
|
||||
<!ENTITY ifr SDATA "[ifr ]" --/frak i, lower case i-->
|
||||
<!ENTITY Ifr SDATA "[Ifr ]" --/frak I, upper case i-->
|
||||
<!ENTITY jfr SDATA "[jfr ]" --/frak j, lower case j-->
|
||||
<!ENTITY Jfr SDATA "[Jfr ]" --/frak J, upper case j-->
|
||||
<!ENTITY kfr SDATA "[kfr ]" --/frak k, lower case k-->
|
||||
<!ENTITY Kfr SDATA "[Kfr ]" --/frak K, upper case k-->
|
||||
<!ENTITY lfr SDATA "[lfr ]" --/frak l, lower case l-->
|
||||
<!ENTITY Lfr SDATA "[Lfr ]" --/frak L, upper case l-->
|
||||
<!ENTITY mfr SDATA "[mfr ]" --/frak m, lower case m-->
|
||||
<!ENTITY Mfr SDATA "[Mfr ]" --/frak M, upper case m-->
|
||||
<!ENTITY nfr SDATA "[nfr ]" --/frak n, lower case n-->
|
||||
<!ENTITY Nfr SDATA "[Nfr ]" --/frak N, upper case n-->
|
||||
<!ENTITY ofr SDATA "[ofr ]" --/frak o, lower case o-->
|
||||
<!ENTITY Ofr SDATA "[Ofr ]" --/frak O, upper case o-->
|
||||
<!ENTITY pfr SDATA "[pfr ]" --/frak p, lower case p-->
|
||||
<!ENTITY Pfr SDATA "[Pfr ]" --/frak P, upper case p-->
|
||||
<!ENTITY qfr SDATA "[qfr ]" --/frak q, lower case q-->
|
||||
<!ENTITY Qfr SDATA "[Qfr ]" --/frak Q, upper case q-->
|
||||
<!ENTITY rfr SDATA "[rfr ]" --/frak r, lower case r-->
|
||||
<!ENTITY Rfr SDATA "[Rfr ]" --/frak R, upper case r-->
|
||||
<!ENTITY sfr SDATA "[sfr ]" --/frak s, lower case s-->
|
||||
<!ENTITY Sfr SDATA "[Sfr ]" --/frak S, upper case s-->
|
||||
<!ENTITY tfr SDATA "[tfr ]" --/frak t, lower case t-->
|
||||
<!ENTITY Tfr SDATA "[Tfr ]" --/frak T, upper case t-->
|
||||
<!ENTITY ufr SDATA "[ufr ]" --/frak u, lower case u-->
|
||||
<!ENTITY Ufr SDATA "[Ufr ]" --/frak U, upper case u-->
|
||||
<!ENTITY vfr SDATA "[vfr ]" --/frak v, lower case v-->
|
||||
<!ENTITY Vfr SDATA "[Vfr ]" --/frak V, upper case v-->
|
||||
<!ENTITY wfr SDATA "[wfr ]" --/frak w, lower case w-->
|
||||
<!ENTITY Wfr SDATA "[Wfr ]" --/frak W, upper case w-->
|
||||
<!ENTITY xfr SDATA "[xfr ]" --/frak x, lower case x-->
|
||||
<!ENTITY Xfr SDATA "[Xfr ]" --/frak X, upper case x-->
|
||||
<!ENTITY yfr SDATA "[yfr ]" --/frak y, lower case y-->
|
||||
<!ENTITY Yfr SDATA "[Yfr ]" --/frak Y, upper case y-->
|
||||
<!ENTITY zfr SDATA "[zfr ]" --/frak z, lower case z-->
|
||||
<!ENTITY Zfr SDATA "[Zfr ]" --/frak Z, upper case z-->
|
||||
@@ -0,0 +1,37 @@
|
||||
<!-- $XConsortium: iso-mopf.gml /main/2 1996/10/29 16:23:08 drk $ -->
|
||||
<!-- (C) International Organization for Standardization 1991
|
||||
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 % ISOMOPF PUBLIC
|
||||
"ISO 9573-13:1991//ENTITIES Math Alphabets: Open Face //EN">
|
||||
%ISOMOPF;
|
||||
-->
|
||||
<!ENTITY Aopf SDATA "[Aopf ]" --/Bbb A, open face A-->
|
||||
<!ENTITY Bopf SDATA "[Bopf ]" --/Bbb B, open face B-->
|
||||
<!ENTITY Copf SDATA "[Copf ]" --/Bbb C, open face C-->
|
||||
<!ENTITY Dopf SDATA "[Dopf ]" --/Bbb D, open face D-->
|
||||
<!ENTITY Eopf SDATA "[Eopf ]" --/Bbb E, open face E-->
|
||||
<!ENTITY Fopf SDATA "[Fopf ]" --/Bbb F, open face F-->
|
||||
<!ENTITY Gopf SDATA "[Gopf ]" --/Bbb G, open face G-->
|
||||
<!ENTITY Hopf SDATA "[Hopf ]" --/Bbb H, open face H-->
|
||||
<!ENTITY Iopf SDATA "[Iopf ]" --/Bbb I, open face I-->
|
||||
<!ENTITY Jopf SDATA "[Jopf ]" --/Bbb J, open face J-->
|
||||
<!ENTITY Kopf SDATA "[Kopf ]" --/Bbb K, open face K-->
|
||||
<!ENTITY Lopf SDATA "[Lopf ]" --/Bbb L, open face L-->
|
||||
<!ENTITY Mopf SDATA "[Mopf ]" --/Bbb M, open face M-->
|
||||
<!ENTITY Nopf SDATA "[Nopf ]" --/Bbb N, open face N-->
|
||||
<!ENTITY Oopf SDATA "[Oopf ]" --/Bbb O, open face O-->
|
||||
<!ENTITY Popf SDATA "[Popf ]" --/Bbb P, open face P-->
|
||||
<!ENTITY Qopf SDATA "[Qopf ]" --/Bbb Q, open face Q-->
|
||||
<!ENTITY Ropf SDATA "[Ropf ]" --/Bbb R, open face R-->
|
||||
<!ENTITY Sopf SDATA "[Sopf ]" --/Bbb S, open face S-->
|
||||
<!ENTITY Topf SDATA "[Topf ]" --/Bbb T, open face T-->
|
||||
<!ENTITY Uopf SDATA "[Uopf ]" --/Bbb U, open face U-->
|
||||
<!ENTITY Vopf SDATA "[Vopf ]" --/Bbb V, open face V-->
|
||||
<!ENTITY Wopf SDATA "[Wopf ]" --/Bbb W, open face W-->
|
||||
<!ENTITY Xopf SDATA "[Xopf ]" --/Bbb X, open face X-->
|
||||
<!ENTITY Yopf SDATA "[Yopf ]" --/Bbb Y, open face Y-->
|
||||
<!ENTITY Zopf SDATA "[Zopf ]" --/Bbb Z, open face Z-->
|
||||
@@ -0,0 +1,63 @@
|
||||
<!-- $XConsortium: iso-mscr.gml /main/2 1996/10/29 16:23:25 drk $ -->
|
||||
<!-- (C) International Organization for Standardization 1991
|
||||
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 % ISOMSCR PUBLIC
|
||||
"ISO 9573-13:1991//ENTITIES Math Alphabets: Script //EN">
|
||||
%ISOMSCR;
|
||||
-->
|
||||
<!ENTITY ascr SDATA "[ascr ]" --/scr a, script letter a-->
|
||||
<!ENTITY Ascr SDATA "[Ascr ]" --/scr A, script letter A-->
|
||||
<!ENTITY bscr SDATA "[bscr ]" --/scr b, script letter b-->
|
||||
<!ENTITY Bscr SDATA "[Bscr ]" --/scr B, script letter B-->
|
||||
<!ENTITY cscr SDATA "[cscr ]" --/scr c, script letter c-->
|
||||
<!ENTITY Cscr SDATA "[Cscr ]" --/scr C, script letter C-->
|
||||
<!ENTITY dscr SDATA "[dscr ]" --/scr d, script letter d-->
|
||||
<!ENTITY Dscr SDATA "[Dscr ]" --/scr D, script letter D-->
|
||||
<!ENTITY escr SDATA "[escr ]" --/scr e, script letter e-->
|
||||
<!ENTITY Escr SDATA "[Escr ]" --/scr E, script letter E-->
|
||||
<!ENTITY fscr SDATA "[fscr ]" --/scr f, script letter f-->
|
||||
<!ENTITY Fscr SDATA "[Fscr ]" --/scr F, script letter F-->
|
||||
<!ENTITY gscr SDATA "[gscr ]" --/scr g, script letter g-->
|
||||
<!ENTITY Gscr SDATA "[Gscr ]" --/scr G, script letter G-->
|
||||
<!ENTITY hscr SDATA "[hscr ]" --/scr h, script letter h-->
|
||||
<!ENTITY Hscr SDATA "[Hscr ]" --/scr H, script letter H-->
|
||||
<!ENTITY iscr SDATA "[iscr ]" --/scr i, script letter i-->
|
||||
<!ENTITY Iscr SDATA "[Iscr ]" --/scr I, script letter I-->
|
||||
<!ENTITY jscr SDATA "[jscr ]" --/scr j, script letter j-->
|
||||
<!ENTITY Jscr SDATA "[Jscr ]" --/scr J, script letter J-->
|
||||
<!ENTITY kscr SDATA "[kscr ]" --/scr k, script letter k-->
|
||||
<!ENTITY Kscr SDATA "[Kscr ]" --/scr K, script letter K-->
|
||||
<!ENTITY lscr SDATA "[lscr ]" --/scr l, script letter l-->
|
||||
<!ENTITY Lscr SDATA "[Lscr ]" --/scr L, script letter L-->
|
||||
<!ENTITY mscr SDATA "[mscr ]" --/scr m, script letter m-->
|
||||
<!ENTITY Mscr SDATA "[Mscr ]" --/scr M, script letter M-->
|
||||
<!ENTITY nscr SDATA "[nscr ]" --/scr n, script letter n-->
|
||||
<!ENTITY Nscr SDATA "[Nscr ]" --/scr N, script letter N-->
|
||||
<!ENTITY oscr SDATA "[oscr ]" --/scr o, script letter o-->
|
||||
<!ENTITY Oscr SDATA "[Oscr ]" --/scr O, script letter O-->
|
||||
<!ENTITY pscr SDATA "[pscr ]" --/scr p, script letter p-->
|
||||
<!ENTITY Pscr SDATA "[Pscr ]" --/scr P, script letter P-->
|
||||
<!ENTITY qscr SDATA "[qscr ]" --/scr q, script letter q-->
|
||||
<!ENTITY Qscr SDATA "[Qscr ]" --/scr Q, script letter Q-->
|
||||
<!ENTITY rscr SDATA "[rscr ]" --/scr r, script letter r-->
|
||||
<!ENTITY Rscr SDATA "[Rscr ]" --/scr R, script letter R-->
|
||||
<!ENTITY sscr SDATA "[sscr ]" --/scr s, script letter s-->
|
||||
<!ENTITY Sscr SDATA "[Sscr ]" --/scr S, script letter S-->
|
||||
<!ENTITY tscr SDATA "[tscr ]" --/scr t, script letter t-->
|
||||
<!ENTITY Tscr SDATA "[Tscr ]" --/scr T, script letter T-->
|
||||
<!ENTITY uscr SDATA "[uscr ]" --/scr u, script letter u-->
|
||||
<!ENTITY Uscr SDATA "[Uscr ]" --/scr U, script letter U-->
|
||||
<!ENTITY vscr SDATA "[vscr ]" --/scr v, script letter v-->
|
||||
<!ENTITY Vscr SDATA "[Vscr ]" --/scr V, script letter V-->
|
||||
<!ENTITY wscr SDATA "[wscr ]" --/scr w, script letter w-->
|
||||
<!ENTITY Wscr SDATA "[Wscr ]" --/scr W, script letter W-->
|
||||
<!ENTITY xscr SDATA "[xscr ]" --/scr x, script letter x-->
|
||||
<!ENTITY Xscr SDATA "[Xscr ]" --/scr X, script letter X-->
|
||||
<!ENTITY yscr SDATA "[yscr ]" --/scr y, script letter y-->
|
||||
<!ENTITY Yscr SDATA "[Yscr ]" --/scr Y, script letter Y-->
|
||||
<!ENTITY zscr SDATA "[zscr ]" --/scr z, script letter z-->
|
||||
<!ENTITY Zscr SDATA "[Zscr ]" --/scr Z, script letter Z-->
|
||||
@@ -0,0 +1,88 @@
|
||||
<!-- $XConsortium: iso-num.gml /main/2 1996/10/29 16:23:40 drk $ -->
|
||||
<!-- (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 % ISOnum PUBLIC
|
||||
"ISO 8879-1986//ENTITIES Numeric and Special Graphic//EN">
|
||||
%ISOnum;
|
||||
-->
|
||||
<!ENTITY amp CDATA "&"--=ampersand-->
|
||||
<!ENTITY apos CDATA "'"--=apostrophe-->
|
||||
<!ENTITY ast CDATA "*"--/ast B: =asterisk-->
|
||||
<!ENTITY brvbar CDATA "|"--=broken (vertical) bar-->
|
||||
<!ENTITY bsol CDATA "\"--/backslash =reverse solidus-->
|
||||
<!ENTITY cent CDATA "¢"--=cent sign-->
|
||||
<!ENTITY colon CDATA ":"--/colon P:-->
|
||||
<!ENTITY comma CDATA ","--P: =comma-->
|
||||
<!ENTITY commat CDATA "@"--=commercial at-->
|
||||
<!ENTITY copy CDATA "©"--=copyright sign-->
|
||||
<!ENTITY curren CDATA "¤"--=general currency sign-->
|
||||
<!ENTITY darr SDATA "[darr ]"--/downarrow A: =downward arrow-->
|
||||
<!ENTITY deg CDATA "°"--=degree sign-->
|
||||
<!ENTITY divide CDATA "÷"--/div B: =divide sign-->
|
||||
<!ENTITY dollar CDATA "$"--=dollar sign-->
|
||||
<!ENTITY equals CDATA "="--=equals sign R:-->
|
||||
<!ENTITY excl CDATA "!"--=exclamation mark-->
|
||||
<!ENTITY frac12 CDATA "½"--=fraction one-half-->
|
||||
<!ENTITY frac14 CDATA "¼"--=fraction one-quarter-->
|
||||
<!ENTITY frac18 SDATA "[frac18]"--=fraction one-eighth-->
|
||||
<!ENTITY frac34 CDATA "¾"--=fraction three-quarters-->
|
||||
<!ENTITY frac38 SDATA "[frac38]"--=fraction three-eighths-->
|
||||
<!ENTITY frac58 SDATA "[frac58]"--=fraction five-eighths-->
|
||||
<!ENTITY frac78 SDATA "[frac78]"--=fraction seven-eighths-->
|
||||
<!ENTITY gt CDATA ">"--=greater-than sign R:-->
|
||||
<!ENTITY half CDATA "½"--=fraction one-half-->
|
||||
<!ENTITY horbar SDATA "[horbar]"--=horizontal bar-->
|
||||
<!ENTITY hyphen CDATA "-"--=hyphen-->
|
||||
<!ENTITY iexcl CDATA "¡"--=inverted exclamation mark-->
|
||||
<!ENTITY iquest CDATA "¿"--=inverted question mark-->
|
||||
<!ENTITY laquo CDATA "«"--=angle quotation mark, left-->
|
||||
<!ENTITY larr SDATA "[larr ]"--/leftarrow /gets A: =leftward arrow-->
|
||||
<!ENTITY lcub CDATA "{"--/lbrace O: =left curly bracket-->
|
||||
<!ENTITY ldquo CDATA """--=double quotation mark, left-->
|
||||
<!ENTITY lowbar SDATA "[lowbar]"--=low line-->
|
||||
<!ENTITY lpar CDATA "("--O: =left parenthesis-->
|
||||
<!ENTITY lsqb CDATA "["--/lbrack O: =left square bracket-->
|
||||
<!ENTITY lsquo CDATA "`"--=single quotation mark, left-->
|
||||
<!ENTITY lt CDATA "<"--=less-than sign R:-->
|
||||
<!ENTITY micro CDATA "µ"--=micro sign-->
|
||||
<!ENTITY middot CDATA "·"--/centerdot B: =middle dot-->
|
||||
<!ENTITY nbsp CDATA " " --=no break (required) space-->
|
||||
<!ENTITY not CDATA "¬"--/neg /lnot =not sign-->
|
||||
<!ENTITY num CDATA "#"--=number sign-->
|
||||
<!ENTITY ohm SDATA "[ohm ]"--=ohm sign-->
|
||||
<!ENTITY ordf CDATA "ª"--=ordinal indicator, feminine-->
|
||||
<!ENTITY ordm CDATA "º"--=ordinal indicator, masculine-->
|
||||
<!ENTITY para CDATA "¶"--=pilcrow (paragraph sign)-->
|
||||
<!ENTITY percnt CDATA "%"--=percent sign-->
|
||||
<!ENTITY period CDATA "."--=full stop, period-->
|
||||
<!ENTITY plus CDATA "+"--=plus sign B:-- >
|
||||
<!ENTITY plusmn CDATA "±"--/pm B: =plus-or-minus sign-->
|
||||
<!ENTITY pound CDATA "£"--=pound sign-->
|
||||
<!ENTITY quest CDATA "?"--=question mark-->
|
||||
<!ENTITY quot CDATA "'"--=quotation mark-->
|
||||
<!ENTITY raquo CDATA "»"--=angle quotation mark, right-->
|
||||
<!ENTITY rarr SDATA "[rarr ]"--/rightarrow /to A: =rightward arrow-->
|
||||
<!ENTITY rcub CDATA "}"--/rbrace C: =right curly bracket-->
|
||||
<!ENTITY rdquo CDATA """--=double quotation mark, right-->
|
||||
<!ENTITY reg CDATA "®"--/circledR =registered sign-->
|
||||
<!ENTITY rpar CDATA ")"--C: =right parenthesis-->
|
||||
<!ENTITY rsqb CDATA "]"--/rbrack C: =right square bracket-->
|
||||
<!ENTITY rsquo CDATA "'"--=single quotation mark, right-->
|
||||
<!ENTITY sect CDATA "§"--=section sign-->
|
||||
<!ENTITY semi CDATA ";"--=semicolon P:-->
|
||||
<!ENTITY shy SDATA "[shy ]"--=soft hyphen-->
|
||||
<!ENTITY sol CDATA "/"--=solidus-->
|
||||
<!ENTITY sung SDATA "[sung ]"--=music note (sung text sign)-->
|
||||
<!ENTITY sup1 CDATA "¹"--=superscript one-->
|
||||
<!ENTITY sup2 CDATA "²"--=superscript two-->
|
||||
<!ENTITY sup3 CDATA "³"--=superscript three-->
|
||||
<!ENTITY times CDATA "×"--/times B: =multiply sign-->
|
||||
<!ENTITY trade CDATA "(TM)"--=trade mark sign-->
|
||||
<!ENTITY uarr SDATA "[uarr ]"--/uparrow A: =upward arrow-->
|
||||
<!ENTITY verbar CDATA "|"--/vert =vertical bar-->
|
||||
<!ENTITY yen CDATA "¥"--/yen =yen sign-->
|
||||
|
||||
@@ -0,0 +1,96 @@
|
||||
<!-- $XConsortium: iso-pub.gml /main/2 1996/10/29 16:23:55 drk $ -->
|
||||
<!-- (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 % ISOpub PUBLIC
|
||||
"ISO 8879-1986//ENTITIES Publishing//EN">
|
||||
%ISOpub;
|
||||
-->
|
||||
<!ENTITY Dagger CDATA "[Dagger]"--/ddagger B: =double dagger-->
|
||||
<!ENTITY blank CDATA " "--=significant blank symbol-->
|
||||
<!ENTITY blk12 SDATA "[blk12 ]"--=50% shaded block-->
|
||||
<!ENTITY blk14 SDATA "[blk14 ]"--=25% shaded block-->
|
||||
<!ENTITY blk34 SDATA "[blk34 ]"--=75% shaded block-->
|
||||
<!ENTITY block SDATA "[block ]"--=full block-->
|
||||
<!ENTITY bull CDATA "·"--/bullet B: =round bullet, filled-->
|
||||
<!ENTITY caret SDATA "[caret ]"--=caret (insertion mark)-->
|
||||
<!ENTITY check SDATA "[check ]"--/checkmark =tick, check mark-->
|
||||
<!ENTITY cir SDATA "[cir ]"--/circ B: =circle, open-->
|
||||
<!ENTITY clubs SDATA "[clubs ]"--/clubsuit =club suit symbol-->
|
||||
<!ENTITY copysr SDATA "[copysr]"--=sound recording copyright sign-->
|
||||
<!ENTITY cross SDATA "[ballot]"--=ballot cross-->
|
||||
<!ENTITY dagger SDATA "[dagger]"--/dagger B: =dagger-->
|
||||
<!ENTITY dash CDATA "-"--=hyphen (true graphic)-->
|
||||
<!ENTITY diams SDATA "[diams ]"--/diamondsuit =diamond suit symbol-->
|
||||
<!ENTITY dlcrop SDATA "[dlcrop]"--downward left crop mark -->
|
||||
<!ENTITY drcrop SDATA "[drcrop]"--downward right crop mark -->
|
||||
<!ENTITY dtri SDATA "[dtri ]"--/triangledown =down triangle, open-->
|
||||
<!ENTITY dtrif SDATA "[dtrif ]"--/blacktriangledown =dn tri, filled-->
|
||||
<!ENTITY emsp CDATA " "--=em space-->
|
||||
<!ENTITY emsp13 CDATA " "--=1/3-em space-->
|
||||
<!ENTITY emsp14 CDATA " "--=1/4-em space-->
|
||||
<!ENTITY ensp CDATA " "--=en space (1/2-em)-->
|
||||
<!ENTITY female SDATA "[female]"--=female symbol-->
|
||||
<!ENTITY ffilig SDATA "[ffilig]"--small ffi ligature-->
|
||||
<!ENTITY fflig SDATA "[fflig ]"--small ff ligature-->
|
||||
<!ENTITY ffllig SDATA "[ffllig]"--small ffl ligature-->
|
||||
<!ENTITY filig SDATA "[filig ]"--small fi ligature-->
|
||||
<!ENTITY fjlig SDATA "[fjlig ]"--small fj ligature-->
|
||||
<!ENTITY flat SDATA "[flat ]"--/flat =musical flat-->
|
||||
<!ENTITY fllig SDATA "[fllig ]"--small fl ligature-->
|
||||
<!ENTITY frac13 SDATA "[frac13]"--=fraction one-third-->
|
||||
<!ENTITY frac15 SDATA "[frac15]"--=fraction one-fifth-->
|
||||
<!ENTITY frac16 SDATA "[frac16]"--=fraction one-sixth-->
|
||||
<!ENTITY frac23 SDATA "[frac23]"--=fraction two-thirds-->
|
||||
<!ENTITY frac25 SDATA "[frac25]"--=fraction two-fifths-->
|
||||
<!ENTITY frac35 SDATA "[frac35]"--=fraction three-fifths-->
|
||||
<!ENTITY frac45 SDATA "[frac45]"--=fraction four-fifths-->
|
||||
<!ENTITY frac56 SDATA "[frac56]"--=fraction five-sixths-->
|
||||
<!ENTITY hairsp CDATA ""--=hair space-->
|
||||
<!ENTITY hearts SDATA "[hearts]"--/heartsuit =heart suit symbol-->
|
||||
<!ENTITY hellip CDATA "..."--=ellipsis (horizontal)-->
|
||||
<!ENTITY hybull SDATA "[hybull]"--rectangle, filled (hyphen bullet)-->
|
||||
<!ENTITY incare SDATA "[incare]"--=in-care-of symbol-->
|
||||
<!ENTITY ldquor SDATA "[ldquor]"--=rising dbl quote, left (low)-->
|
||||
<!ENTITY lhblk SDATA "[lhblk ]"--=lower half block-->
|
||||
<!ENTITY loz SDATA "[loz ]"--/lozenge - lozenge or total mark-->
|
||||
<!ENTITY lozf SDATA "[lozf ]"--/blacklozenge - lozenge, filled-->
|
||||
<!ENTITY lsquor CDATA ","--=rising single quote, left (low)-->
|
||||
<!ENTITY ltri SDATA "[ltri ]"--/triangleleft B: l triangle, open-->
|
||||
<!ENTITY ltrif SDATA "[ltrif ]"--/blacktriangleleft R: =l tri, filled-->
|
||||
<!ENTITY male SDATA "[male ]"--=male symbol-->
|
||||
<!ENTITY malt SDATA "[malt ]"--/maltese =maltese cross-->
|
||||
<!ENTITY marker SDATA "[marker]"--=histogram marker-->
|
||||
<!ENTITY mdash CDATA "--"--=em dash-->
|
||||
<!ENTITY mldr SDATA "[mldr ]"--em leader-->
|
||||
<!ENTITY natur SDATA "[natur ]"--/natural - music natural-->
|
||||
<!ENTITY ndash CDATA "-"--=en dash-->
|
||||
<!ENTITY nldr SDATA "[nldr ]"--=double baseline dot (en leader)-->
|
||||
<!ENTITY numsp CDATA " "--=digit space (width of a number)-->
|
||||
<!ENTITY phone SDATA "[phone ]"--=telephone symbol-->
|
||||
<!ENTITY puncsp CDATA " "--=punctuation space (width of comma)-->
|
||||
<!ENTITY rdquor SDATA "[rdquor]"--rising dbl quote, right (high)-->
|
||||
<!ENTITY rect SDATA "[rect ]"--=rectangle, open-->
|
||||
<!ENTITY rsquor SDATA "[rsquor]"--rising single quote, right (high)-->
|
||||
<!ENTITY rtri SDATA "[rtri ]"--/triangleright B: r triangle, open-->
|
||||
<!ENTITY rtrif SDATA "[rtrif ]"--/blacktriangleright R: =r tri, filled-->
|
||||
<!ENTITY rx SDATA "[rx ]"--pharmaceutical prescription (Rx)-->
|
||||
<!ENTITY sext SDATA "[sext ]"--sextile (6-pointed star)-->
|
||||
<!ENTITY sharp SDATA "[sharp ]"--/sharp =musical sharp-->
|
||||
<!ENTITY spades SDATA "[spades]"--/spadesuit =spades suit symbol-->
|
||||
<!ENTITY squ SDATA "[squ ]"--=square, open-->
|
||||
<!ENTITY squf SDATA "[squf ]"--/blacksquare =sq bullet, filled-->
|
||||
<!ENTITY star SDATA "[star ]"--=star, open-->
|
||||
<!ENTITY starf SDATA "[starf ]"--/bigstar - star, filled-->
|
||||
<!ENTITY target SDATA "[target]"--register mark or target-->
|
||||
<!ENTITY telrec SDATA "[telrec]"--=telephone recorder symbol-->
|
||||
<!ENTITY thinsp CDATA ""--=thin space (1/6-em)-->
|
||||
<!ENTITY uhblk SDATA "[uhblk ]"--=upper half block-->
|
||||
<!ENTITY ulcrop SDATA "[ulcrop]"--upward left crop mark -->
|
||||
<!ENTITY urcrop SDATA "[urcrop]"--upward right crop mark -->
|
||||
<!ENTITY utri SDATA "[utri ]"--/triangle =up triangle, open-->
|
||||
<!ENTITY utrif SDATA "[utrif ]"--/blacktriangle =up tri, filled-->
|
||||
<!ENTITY vellip SDATA "[vellip]"--vertical ellipsis-->
|
||||
@@ -0,0 +1,74 @@
|
||||
<!-- $XConsortium: iso-tech.gml /main/2 1996/10/29 16:24:09 drk $ -->
|
||||
<!-- (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 % ISOtech PUBLIC
|
||||
"ISO 8879-1986//ENTITIES General Technical//EN">
|
||||
%ISOtech;
|
||||
-->
|
||||
<!ENTITY Dot SDATA "[Dot ]"--=dieresis or umlaut mark-->
|
||||
<!ENTITY DotDot SDATA "[DotDot]"--four dots above-->
|
||||
<!ENTITY Prime SDATA "[Prime ]"--=double prime or second-->
|
||||
<!ENTITY Verbar SDATA "[Verbar]"--/Vert =dbl vertical bar-->
|
||||
<!ENTITY aleph SDATA "[aleph ]"--/aleph =aleph, Hebrew-->
|
||||
<!ENTITY and SDATA "[and ]"--/wedge /land B: =logical and-->
|
||||
<!ENTITY ang90 SDATA "[ang90 ]"--=right (90 degree) angle-->
|
||||
<!ENTITY angsph SDATA "[angsph]"--/sphericalangle =angle-spherical-->
|
||||
<!ENTITY angst SDATA "[angst ]"--Angstrom =capital A, ring-->
|
||||
<!ENTITY ap CDATA "~"--/approx R: =approximate-->
|
||||
<!ENTITY becaus SDATA "[becaus]"--/because R: =because-->
|
||||
<!ENTITY bernou SDATA "[bernou]"--Bernoulli function (script capital B)-->
|
||||
<!ENTITY bottom SDATA "[bottom]"--/bot B: =perpendicular-->
|
||||
<!ENTITY cap SDATA "[cap ]"--/cap B: =intersection-->
|
||||
<!ENTITY compfn SDATA "[compfn]"--B: composite function (small circle)-->
|
||||
<!ENTITY cong SDATA "[cong ]"--/cong R: =congruent with-->
|
||||
<!ENTITY conint SDATA "[conint]"--/oint L: =contour integral operator-->
|
||||
<!ENTITY cup SDATA "[cup ]"--/cup B: =union or logical sum-->
|
||||
<!ENTITY equiv SDATA "[equiv ]"--/equiv R: =identical with-->
|
||||
<!ENTITY exist SDATA "[exist ]"--/exists =at least one exists-->
|
||||
<!ENTITY fnof SDATA "[fnof ]"--=function of (italic small f)-->
|
||||
<!ENTITY forall SDATA "[forall]"--/forall =for all-->
|
||||
<!ENTITY ge SDATA "[ge ]"--/geq /ge R: =greater-than-or-equal-->
|
||||
<!ENTITY hamilt SDATA "[hamilt]"--Hamiltonian (script capital H)-->
|
||||
<!ENTITY iff SDATA "[iff ]"--/iff =if and only if-->
|
||||
<!ENTITY infin SDATA "[infin ]"--/infty =infinity-->
|
||||
<!ENTITY int SDATA "[int ]"--/int L: =integral operator-->
|
||||
<!ENTITY isin SDATA "[isin ]"--/in R: =set membership-->
|
||||
<!ENTITY lArr SDATA "[lArr ]"--/Leftarrow A: =is implied by-->
|
||||
<!ENTITY lagran SDATA "[lagran]"--Lagrangian (script capital L)-->
|
||||
<!ENTITY lang SDATA "[lang ]"--/langle O: =left angle bracket-->
|
||||
<!ENTITY le SDATA "[le ]"--/leq /le R: =less-than-or-equal-->
|
||||
<!ENTITY lowast SDATA "[lowast]"--low asterisk-->
|
||||
<!ENTITY minus CDATA "­"--B: =minus sign-->
|
||||
<!ENTITY mnplus SDATA "[mnplus]"--/mp B: =minus-or-plus sign-->
|
||||
<!ENTITY nabla SDATA "[nabla ]"--/nabla =del, Hamilton operator-->
|
||||
<!ENTITY ne SDATA "[ne ]"--/ne /neq R: =not equal-->
|
||||
<!ENTITY ni SDATA "[ni ]"--/ni /owns R: =contains-->
|
||||
<!ENTITY notin SDATA "[notin ]"--N: negated set membership-->
|
||||
<!ENTITY or SDATA "[or ]"--/vee /lor B: =logical or-->
|
||||
<!ENTITY order SDATA "[order ]"--order of (script small o)-->
|
||||
<!ENTITY par SDATA "[par ]"--/parallel R: =parallel-->
|
||||
<!ENTITY part SDATA "[part ]"--/partial =partial differential-->
|
||||
<!ENTITY permil SDATA "[permil]"--=per thousand-->
|
||||
<!ENTITY perp SDATA "[perp ]"--/perp R: =perpendicular-->
|
||||
<!ENTITY phmmat SDATA "[phmmat]"--physics M-matrix (script capital M)-->
|
||||
<!ENTITY prime CDATA "´"--/prime =prime or minute-->
|
||||
<!ENTITY prop SDATA "[prop ]"--/propto R: =is proportional to-->
|
||||
<!ENTITY rArr SDATA "[rArr ]"--/Rightarrow A: =implies-->
|
||||
<!ENTITY radic SDATA "[radic ]"--/surd =radical-->
|
||||
<!ENTITY rang SDATA "[rang ]"--/rangle C: =right angle bracket-->
|
||||
<!ENTITY sim SDATA "[sim ]"--/sim R: =similar-->
|
||||
<!ENTITY sime SDATA "[sime ]"--/simeq R: =similar, equals-->
|
||||
<!ENTITY square SDATA "[square]"--/square B: =square-->
|
||||
<!ENTITY sub SDATA "[sub ]"--/subset R: =subset or is implied by-->
|
||||
<!ENTITY sube SDATA "[sube ]"--/subseteq R: =subset, equals-->
|
||||
<!ENTITY sup SDATA "[sup ]"--/supset R: =superset or implies-->
|
||||
<!ENTITY supe SDATA "[supe ]"--/supseteq R: =superset, equals-->
|
||||
<!ENTITY tdot SDATA "[tdot ]"--three dots above-->
|
||||
<!ENTITY there4 SDATA "[there4]"--/therefore R: =therefore-->
|
||||
<!ENTITY tprime SDATA "[tprime]"--triple prime-->
|
||||
<!ENTITY wedgeq SDATA "[wedgeq]"--R: corresponds to (wedge, equals)-->
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
|
||||
<!--
|
||||
Do not remove this file.
|
||||
|
||||
This file is a placeholder, referenced by an entry in the
|
||||
toolkit's catalog. This file should not be removed or modified
|
||||
by users of the toolkit. Instead, users can place corresponding
|
||||
lines in optional local catalog(s) to point to a local stylesheet
|
||||
fragment. That might be done, for example, to pull different
|
||||
sets of language-specific entities into the stylesheet,
|
||||
|
||||
-->
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
<!DOCTYPE StyleSheet PUBLIC
|
||||
"-//Common Desktop Environment//DTD DtInfo Bookcase Description//EN" [
|
||||
|
||||
<!ENTITY % ISO-List PUBLIC
|
||||
"-//Common Desktop Environment//ENTITIES ISO Catalog//EN">
|
||||
%ISO-List;
|
||||
|
||||
%ISOamsa;
|
||||
%ISOamsb;
|
||||
%ISOamsn;
|
||||
%ISOamso;
|
||||
%ISOamsr;
|
||||
%ISOcyr1;
|
||||
%ISOdia;
|
||||
%ISOgrk1;
|
||||
%ISOgrk3;
|
||||
%ISOlat1;
|
||||
%ISOlat2;
|
||||
%ISOnum;
|
||||
%ISOpub;
|
||||
%ISOtech;
|
||||
]>
|
||||
|
||||
@@ -0,0 +1,70 @@
|
||||
<!-- $XConsortium: tei-arb.gml /main/2 1996/10/29 16:24:24 drk $ -->
|
||||
TEI has already done a set, filenamed TEIARB.ENTITIES, which
|
||||
I append. We can just add this to the set.
|
||||
|
||||
<!-- TEI entity set for Arabic -->
|
||||
<!-- Character entity set. Typical invocation:
|
||||
<!ENTITY % TEIarb PUBLIC
|
||||
"-//TEI TR1 W4:1992//ENTITIES Basic Arabic Letters//EN">
|
||||
%TEIarb;
|
||||
-->
|
||||
<!ENTITY hamzar SDATA "[hamzar ]" --Arabic letter Hamza-->
|
||||
<!ENTITY amadar SDATA "[amadar ]" --Arabic letter Alef with Madda above-->
|
||||
<!ENTITY ahmuar SDATA "[ahmuar ]" --Arabic letter Alef with Hamza above-->
|
||||
<!ENTITY whmuar SDATA "[whmuar ]" --Arabic letter Waw with Hamza above-->
|
||||
<!ENTITY ahmlar SDATA "[ahmlar ]" --Arabic letter Alef with Hamza below-->
|
||||
<!ENTITY yhmlar SDATA "[yhmlar ]" --Arabic letter Yeh with Hamza below-->
|
||||
<!ENTITY aar SDATA "[aar ]" --Arabic letter Alef-->
|
||||
<!ENTITY bar SDATA "[bar ]" --Arabic letter Beh-->
|
||||
<!ENTITY tmrbar SDATA "[tmrbar ]" --Arabic letter Teh Marbuta-->
|
||||
<!ENTITY tar SDATA "[tar ]" --Arabic letter Teh-->
|
||||
<!ENTITY thhar SDATA "[thhar ]" --Arabic letter Theh-->
|
||||
<!ENTITY jar SDATA "[jar ]" --Arabic letter Jeem-->
|
||||
<!ENTITY har SDATA "[har ]" --Arabic letter Hah-->
|
||||
<!ENTITY khar SDATA "[khar ]" --Arabic letter Khah-->
|
||||
<!ENTITY dar SDATA "[dar ]" --Arabic letter Dal-->
|
||||
<!ENTITY thlar SDATA "[thlar ]" --Arabic letter Thal-->
|
||||
<!ENTITY rar SDATA "[rar ]" --Arabic letter Reh-->
|
||||
<!ENTITY zar SDATA "[zar ]" --Arabic letter Zain-->
|
||||
<!ENTITY sar SDATA "[sar ]" --Arabic letter Seen-->
|
||||
<!ENTITY shar SDATA "[shar ]" --Arabic letter Sheen-->
|
||||
<!ENTITY sdar SDATA "[sdar ]" --Arabic letter Sad-->
|
||||
<!ENTITY ddar SDATA "[ddar ]" --Arabic letter Dad-->
|
||||
<!ENTITY taar SDATA "[taar ]" --Arabic letter Tah-->
|
||||
<!ENTITY zaar SDATA "[zaar ]" --Arabic letter Zah-->
|
||||
<!ENTITY ainar SDATA "[ainar ]" --Arabic letter Ain-->
|
||||
<!ENTITY ghnar SDATA "[ghnar ]" --Arabic letter Ghain-->
|
||||
<!ENTITY twlar SDATA "[twlar ]" --Arabic letter Tatweel-->
|
||||
<!ENTITY far SDATA "[far ]" --Arabic letter Feh-->
|
||||
<!ENTITY qar SDATA "[qar ]" --Arabic letter Qaf-->
|
||||
<!ENTITY kar SDATA "[kar ]" --Arabic letter Kaf-->
|
||||
<!ENTITY lar SDATA "[lar ]" --Arabic letter Lam-->
|
||||
<!ENTITY mar SDATA "[mar ]" --Arabic letter Meem-->
|
||||
<!ENTITY nar SDATA "[nar ]" --Arabic letter Noon-->
|
||||
<!ENTITY har SDATA "[har ]" --Arabic letter Heh-->
|
||||
<!ENTITY war SDATA "[war ]" --Arabic letter Waw-->
|
||||
<!ENTITY amksar SDATA "[amksar ]" --Arabic letter Alef Maksura-->
|
||||
<!ENTITY yar SDATA "[yar ]" --Arabic letter Yeh-->
|
||||
<!ENTITY fthnar SDATA "[fthnar ]" --Arabic letter Fathatan-->
|
||||
<!ENTITY dmtnar SDATA "[dmtnar ]" --Arabic letter Dammatan-->
|
||||
<!ENTITY kstnar SDATA "[kstnar ]" --Arabic letter Kasratan-->
|
||||
<!ENTITY fthaar SDATA "[fthaar ]" --Arabic letter Fatha-->
|
||||
<!ENTITY dmmaar SDATA "[dmmaar ]" --Arabic letter Damma-->
|
||||
<!ENTITY ksraar SDATA "[ksraar ]" --Arabic letter Kasra-->
|
||||
<!ENTITY shdaar SDATA "[shdaar ]" --Arabic letter Shadda-->
|
||||
<!ENTITY skunar SDATA "[skunar ]" --Arabic letter Sukun-->
|
||||
<!ENTITY zeroar SDATA "[zeroar ]" --Arabic-Indic digit Zero-->
|
||||
<!ENTITY onear SDATA "[onear ]" --Arabic-Indic digit One-->
|
||||
<!ENTITY twoar SDATA "[twoar ]" --Arabic-Indic digit Two-->
|
||||
<!ENTITY threar SDATA "[threar ]" --Arabic-Indic digit Three-->
|
||||
<!ENTITY fourar SDATA "[fourar ]" --Arabic-Indic digit Four-->
|
||||
<!ENTITY fivear SDATA "[fivear ]" --Arabic-Indic digit Five-->
|
||||
<!ENTITY sixar SDATA "[sixar ]" --Arabic-Indic digit Six-->
|
||||
<!ENTITY svenar SDATA "[svenar ]" --Arabic-Indic digit Seven-->
|
||||
<!ENTITY eitar SDATA "[eitar ]" --Arabic-Indic digit Eight-->
|
||||
<!ENTITY ninear SDATA "[ninear ]" --Arabic-Indic digit Nine-->
|
||||
|
||||
|
||||
--
|
||||
Regards, Terry
|
||||
|
||||
@@ -0,0 +1,375 @@
|
||||
<!-- $XConsortium: tei-ipa.gml /main/2 1996/10/29 16:24:40 drk $ -->
|
||||
Here's TEI's set; these might be useful in a glossary (or not!).
|
||||
For consideration only.
|
||||
|
||||
<!-- IPA entity setdrawn up by Harry Gaylord with assistance from John Esling
|
||||
and Alexandra Gaylord
|
||||
-->
|
||||
<!-- Character entity set. Typical invocation:
|
||||
<!ENTITY % TEIipa PUBLIC
|
||||
"-//TEI TR1 W4:1992//ENTITIES IPA symbols for interchange//EN">
|
||||
%TEIipa;
|
||||
-->
|
||||
|
||||
<!ENTITY IPA101 SDATA "[IPA101 ]"
|
||||
--IPA lower-case p, voiceless bilabial plosive-->
|
||||
<!ENTITY IPA102 SDATA "[IPA102 ]"
|
||||
--IPA lower-case b, voiced bilabial plosive-->
|
||||
<!ENTITY IPA103 SDATA "[IPA103 ]"
|
||||
--IPA lower-case t, voiceless dental or alveolar plosive-->
|
||||
<!ENTITY IPA104 SDATA "[IPA104 ]"
|
||||
--IPA lower-case d, voiced dental or alveolar plosive.-->
|
||||
<!ENTITY IPA105 SDATA "[IPA105 ]"
|
||||
--IPA Right-tail l.c. t, voiceless retroflex plosive-->
|
||||
<!ENTITY IPA106 SDATA "[IPA106 ]"
|
||||
--IPA Right-tail l.c. d, voiced retroflex plosive-->
|
||||
<!ENTITY IPA107 SDATA "[IPA107 ]"
|
||||
--IPA lower-case c, voiceless palatal plosive-->
|
||||
<!ENTITY IPA108 SDATA "[IPA108 ]"
|
||||
--IPA Barred Dotless l.c. j, voiced palatal plosive-->
|
||||
<!ENTITY IPA109 SDATA "[IPA109 ]"
|
||||
--IPA lower-case k, voiceless velar plosive-->
|
||||
<!ENTITY IPA110 SDATA "[IPA110 ]"
|
||||
--IPA lower-case g, voiced velar plosive-->
|
||||
<!ENTITY IPA111 SDATA "[IPA111 ]"
|
||||
--IPA lower-case q, voiceless uvular plosive-->
|
||||
<!ENTITY IPA112 SDATA "[IPA112 ]"
|
||||
--IPA Small Capital G, voiced uvular plosive-->
|
||||
<!ENTITY IPA113 SDATA "[IPA113 ]"
|
||||
--IPA Glottal Stop, glottal plosive-->
|
||||
<!ENTITY IPA114 SDATA "[IPA114 ]"
|
||||
--IPA lower-case m, voiced bilabial nasal-->
|
||||
<!ENTITY IPA115 SDATA "[IPA115 ]"
|
||||
--IPA Left-tail l.c. m (at right), voiced labiodental nasal-->
|
||||
<!ENTITY IPA116 SDATA "[IPA116 ]"
|
||||
--IPA lower-case n, voiced dental or alveolar nasal-->
|
||||
<!ENTITY IPA117 SDATA "[IPA117 ]"
|
||||
--IPA Right-tail l.c. n, voiced retroflex nasal-->
|
||||
<!ENTITY IPA118 SDATA "[IPA118 ]"
|
||||
--IPA Left-tail l.c. n (at left), voiced palatal nasal-->
|
||||
<!ENTITY IPA119 SDATA "[IPA119 ]"
|
||||
--IPA eng, voiced velar nasal-->
|
||||
<!ENTITY IPA120 SDATA "[IPA120 ]"
|
||||
--IPA Small Capital N, voiced uvular nasal-->
|
||||
<!ENTITY IPA121 SDATA "[IPA121 ]"
|
||||
--IPA Small Capital B, voiced bilabial trill-->
|
||||
<!ENTITY IPA122 SDATA "[IPA122 ]"
|
||||
--IPA lower-case r, voiced dental or alveolar trill-->
|
||||
<!ENTITY IPA123 SDATA "[IPA123 ]"
|
||||
--IPA Small Capital R, voiced uvular trill-->
|
||||
<!ENTITY IPA124 SDATA "[IPA124 ]"
|
||||
--IPA fish-hook l.c. r, voiced dental or alveolar tap-->
|
||||
<!ENTITY IPA125 SDATA "[IPA125 ]"
|
||||
--IPA Right-tail l.c. r, voiced retroflex flap-->
|
||||
<!ENTITY IPA126 SDATA "[IPA126 ]"
|
||||
--IPA phi, voiceless bilabial fricative-->
|
||||
<!ENTITY IPA127 SDATA "[IPA127 ]"
|
||||
--IPA beta, voiced bilabial fricative-->
|
||||
<!ENTITY IPA128 SDATA "[IPA128 ]"
|
||||
--IPA lower-case f, voiceless labiodental fricative-->
|
||||
<!ENTITY IPA129 SDATA "[IPA129 ]"
|
||||
--IPA lower-case v, voiced labiodental fricative-->
|
||||
<!ENTITY IPA130 SDATA "[IPA130 ]"
|
||||
--IPA theta, voiceless dental fricative-->
|
||||
<!ENTITY IPA131 SDATA "[IPA131 ]"
|
||||
--IPA eth, voiced dental fricative-->
|
||||
<!ENTITY IPA132 SDATA "[IPA132 ]"
|
||||
--IPA lower-case s, voiceless alveolar fricative-->
|
||||
<!ENTITY IPA133 SDATA "[IPA133 ]"
|
||||
--IPA lower-case z, voiced alveolar fricative-->
|
||||
<!ENTITY IPA134 SDATA "[IPA134 ]"
|
||||
--IPA esh, voiceless postalveolar fricative-->
|
||||
<!ENTITY IPA135 SDATA "[IPA135 ]"
|
||||
--IPA yogh, voiced postalveolar fricative-->
|
||||
<!ENTITY IPA136 SDATA "[IPA136 ]"
|
||||
--IPA Right-tail l.c. s (at left), voiceless retroflex fricative-->
|
||||
<!ENTITY IPA137 SDATA "[IPA137 ]"
|
||||
--IPA right-tail l.c. z, voiced retroflex fricative-->
|
||||
<!ENTITY IPA138 SDATA "[IPA138 ]"
|
||||
--IPA l.c. c cedilla, voiceless palatal fricative-->
|
||||
<!ENTITY IPA139 SDATA "[IPA139 ]"
|
||||
--IPA curly-tail l.c. j, voiced palatal fricative-->
|
||||
<!ENTITY IPA140 SDATA "[IPA140 ]"
|
||||
--IPA lower-case x, voiceless velar fricative-->
|
||||
<!ENTITY IPA141 SDATA "[IPA141 ]"
|
||||
--IPA gamma, voiced velar fricative-->
|
||||
<!ENTITY IPA142 SDATA "[IPA142 ]"
|
||||
--IPA chi, voiceless uvular fricative-->
|
||||
<!ENTITY IPA143 SDATA "[IPA143 ]"
|
||||
--IPA Inverted Small Capital R, voiced uvular fricative-->
|
||||
<!ENTITY IPA144 SDATA "[IPA144 ]"
|
||||
--IPA crossed l.c. h, voiceless pharyngeal fricative-->
|
||||
<!ENTITY IPA145 SDATA "[IPA145 ]"
|
||||
--IPA Reversed Glottal Stop, voiced pharyngeal fricative-->
|
||||
<!ENTITY IPA146 SDATA "[IPA146 ]"
|
||||
--IPA lower-case h, voiceless glottal fricative-->
|
||||
<!ENTITY IPA147 SDATA "[IPA147 ]"
|
||||
--IPA hooktop l.c. h, voiced glottal fricative-->
|
||||
<!ENTITY IPA148 SDATA "[IPA148 ]"
|
||||
--IPA belted l.c. l, voiceless dental or alveolar lateral fricative-->
|
||||
<!ENTITY IPA149 SDATA "[IPA149 ]"
|
||||
--IPA l.c. l-yogh Digraph, voiced dental or alveolar lateral fricative-->
|
||||
<!ENTITY IPA150 SDATA "[IPA150 ]"
|
||||
--IPA cursive l.c. v, voiced labiodental approximant-->
|
||||
<!ENTITY IPA151 SDATA "[IPA151 ]"
|
||||
--IPA turned l.c. r, voiced dental or alveolar approximant-->
|
||||
<!ENTITY IPA152 SDATA "[IPA152 ]"
|
||||
--IPA turned l.c. r, Right Tail, voiced retroflex approximant-->
|
||||
<!ENTITY IPA153 SDATA "[IPA153 ]"
|
||||
--IPA lower-case j, voiced palatal approximant-->
|
||||
<!ENTITY IPA154 SDATA "[IPA154 ]"
|
||||
--IPA turned l.c. m, Right Leg, voiced velar approximant-->
|
||||
<!ENTITY IPA155 SDATA "[IPA155 ]"
|
||||
--IPA lower-case l, voiced dental or alveolar lateral approximant-->
|
||||
<!ENTITY IPA156 SDATA "[IPA156 ]"
|
||||
--IPA right-tail l.c. l, voiced retroflex lateral approximant-->
|
||||
<!ENTITY IPA157 SDATA "[IPA157 ]"
|
||||
--IPA turned l.c. y, voiced palatal lateral approximant-->
|
||||
<!ENTITY IPA158 SDATA "[IPA158 ]"
|
||||
--IPA Small Capital L, voiced velar lateral approximant-->
|
||||
<!ENTITY IPA159 SDATA "[IPA159 ]"
|
||||
--IPA hooktop l.c. p, voiceless bilabial implosive-->
|
||||
<!ENTITY IPA160 SDATA "[IPA160 ]"
|
||||
--IPA hooktop l.c. b, voiced bilabial implosive-->
|
||||
<!ENTITY IPA161 SDATA "[IPA161 ]"
|
||||
--IPA hooktop l.c. t, voiceless dental or alveolar implosive-->
|
||||
<!ENTITY IPA162 SDATA "[IPA162 ]"
|
||||
--IPA hooktop l.c. d, voiced dental or alveolar implosive-->
|
||||
<!ENTITY IPA163 SDATA "[IPA163 ]"
|
||||
--IPA hooktop l.c. c, voiceless palatal implosive-->
|
||||
<!ENTITY IPA164 SDATA "[IPA164 ]"
|
||||
--IPA hooktop barred dotless l.c. j, voiced palatal implosive-->
|
||||
<!ENTITY IPA165 SDATA "[IPA165 ]"
|
||||
--IPA hooktop l.c. k, voiceless velar implosive-->
|
||||
<!ENTITY IPA166 SDATA "[IPA166 ]"
|
||||
--IPA hooktop l.c. g, voiced velar implosive-->
|
||||
<!ENTITY IPA167 SDATA "[IPA167 ]"
|
||||
--IPA hooktop l.c. q, voiceless uvular implosive-->
|
||||
<!ENTITY IPA168 SDATA "[IPA168 ]"
|
||||
--IPA Hooktop Small Capital G, voiced uvular implosive-->
|
||||
<!ENTITY IPA169 SDATA "[IPA169 ]"
|
||||
--IPA turned l.c. w, voiceless labial-velar fricative-->
|
||||
<!ENTITY IPA170 SDATA "[IPA170 ]"
|
||||
--IPA lower-case w, voiced labial-velar approximant-->
|
||||
<!ENTITY IPA171 SDATA "[IPA171 ]"
|
||||
--IPA turned l.c. h, voiced labial-palatal approximant-->
|
||||
<!ENTITY IPA172 SDATA "[IPA172 ]"
|
||||
--IPA Small Capital H, voiceless epiglottal fricative-->
|
||||
<!ENTITY IPA173 SDATA "[IPA173 ]"
|
||||
--IPA Barred Glottal Stop, voiced epiglottal plosive-->
|
||||
<!ENTITY IPA174 SDATA "[IPA174 ]"
|
||||
--IPA Barred Reversed Glottal Stop, voiced epiglottal fricative-->
|
||||
<!ENTITY IPA175 SDATA "[IPA175 ]"
|
||||
--IPA hooktop heng, simultaneous voiceless postalveolar and velar fricative -->
|
||||
<!ENTITY IPA176 SDATA "[IPA176 ]"
|
||||
--IPA Bulls Eye, bilabial click-->
|
||||
<!ENTITY IPA177 SDATA "[IPA177 ]"
|
||||
--IPA Pipe, dental click-->
|
||||
<!ENTITY IPA178 SDATA "[IPA178 ]"
|
||||
--IPA Exclamation Point, (post)alveolar click-->
|
||||
<!ENTITY IPA179 SDATA "[IPA179 ]"
|
||||
--IPA Double-barred Pipe, palatal click-->
|
||||
<!ENTITY IPA180 SDATA "[IPA180 ]"
|
||||
--IPA Double Pipe, alveolar lateral click-->
|
||||
<!ENTITY IPA181 SDATA "[IPA181 ]"
|
||||
--IPA turned long-leg l.c. r, voiced alveolar lateral flap-->
|
||||
<!ENTITY IPA182 SDATA "[IPA182 ]"
|
||||
--IPA curly-tail l.c. c, voiceless alveolo-palatal fricative-->
|
||||
<!ENTITY IPA183 SDATA "[IPA183 ]"
|
||||
--IPA curly-tail l.c. z, voiced alveolo-palatal fricative-->
|
||||
<!ENTITY IPA204 SDATA "[IPA204 ]"
|
||||
--IPA curly-tail esh, palatalized voiceless palato-alveolar central fricative
|
||||
-->
|
||||
<!ENTITY IPA205 SDATA "[IPA205 ]"
|
||||
--IPA curly-tail yogh, palatalized voiced palato-alveolar central fricative -->
|
||||
<!ENTITY IPA207 SDATA "[IPA207 ]"
|
||||
--IPA superscript s, (brief, faint, minor) voiceless alveolar fricative-->
|
||||
<!ENTITY IPA208 SDATA "[IPA208 ]"
|
||||
--IPA left-hook l.c. t, palatalized voiceless dental or alveolar plosive -->
|
||||
<!ENTITY IPA209 SDATA "[IPA209 ]"
|
||||
--IPA l.c. l with tilde, velarized voiced alveolar lateral approximant -->
|
||||
<!ENTITY IPA211 SDATA "[IPA211 ]"
|
||||
--IPA t-s digraph, voiceless alveolar affricate-->
|
||||
<!ENTITY IPA212 SDATA "[IPA212 ]"
|
||||
--IPA d-z digraph, voiced alveolar affricate-->
|
||||
<!ENTITY IPA213 SDATA "[IPA213 ]"
|
||||
--IPA t-esh digraph, voiceless postalveolar affricate -->
|
||||
<!ENTITY IPA214 SDATA "[IPA214 ]"
|
||||
--IPA d-yogh digraph, voiced postalveolar affricate-->
|
||||
<!ENTITY IPA215 SDATA "[IPA215 ]"
|
||||
--IPA t-curly-tail-c digraph, voiceless alveolo-palatal affricate-->
|
||||
<!ENTITY IPA216 SDATA "[IPA216 ]"
|
||||
--IPA d-curly-tail-z digraph, voiced alveolo-palatal affricate-->
|
||||
<!ENTITY IPA301 SDATA "[IPA301 ]"
|
||||
--IPA lower-case i, close front unrounded vowel-->
|
||||
<!ENTITY IPA302 SDATA "[IPA302 ]"
|
||||
--IPA lower-case e, close-mid front unrounded vowel-->
|
||||
<!ENTITY IPA303 SDATA "[IPA303 ]"
|
||||
--IPA epsilon, open-mid front unrounded vowel-->
|
||||
<!ENTITY IPA304 SDATA "[IPA304 ]"
|
||||
--IPA lower-case a, open front unrounded vowel-->
|
||||
<!ENTITY IPA305 SDATA "[IPA305 ]"
|
||||
--IPA cursive l.c. a, open back unrounded vowel-->
|
||||
<!ENTITY IPA306 SDATA "[IPA306 ]"
|
||||
--IPA open o, open-mid back rounded vowel-->
|
||||
<!ENTITY IPA307 SDATA "[IPA307 ]"
|
||||
--IPA lower-case o, close-mid back rounded vowel-->
|
||||
<!ENTITY IPA308 SDATA "[IPA308 ]"
|
||||
--IPA lower-case u, close back rounded vowel-->
|
||||
<!ENTITY IPA309 SDATA "[IPA309 ]"
|
||||
--IPA lower-case y, close front rounded vowel-->
|
||||
<!ENTITY IPA310 SDATA "[IPA310 ]"
|
||||
--IPA slashed l.c. o, close-mid front rounded vowel-->
|
||||
<!ENTITY IPA311 SDATA "[IPA311 ]"
|
||||
--IPA o-e digraph, open-mid front rounded vowel-->
|
||||
<!ENTITY IPA312 SDATA "[IPA312 ]"
|
||||
--IPA Small Capital O-E Digraph, open front rounded vowel-->
|
||||
<!ENTITY IPA313 SDATA "[IPA313 ]"
|
||||
--IPA turned cursive l.c. a, open back rounded vowel-->
|
||||
<!ENTITY IPA314 SDATA "[IPA314 ]"
|
||||
--IPA turned v, open-mid back unrounded vowel-->
|
||||
<!ENTITY IPA315 SDATA "[IPA315 ]"
|
||||
--IPA rams horns, close-mid back unrounded vowel-->
|
||||
<!ENTITY IPA316 SDATA "[IPA316 ]"
|
||||
--IPA turned l.c. m, close back unrounded vowel-->
|
||||
<!ENTITY IPA317 SDATA "[IPA317 ]"
|
||||
--IPA barred l.c. i, close central unrounded vowel-->
|
||||
<!ENTITY IPA318 SDATA "[IPA318 ]"
|
||||
--IPA barred l.c. u, close central rounded vowel-->
|
||||
<!ENTITY IPA319 SDATA "[IPA319 ]"
|
||||
--IPA Small Capital I, near-close near-front unrounded vowel-->
|
||||
<!ENTITY IPA320 SDATA "[IPA320 ]"
|
||||
--IPA Small Capital Y, near-close near-front rounded vowel-->
|
||||
<!ENTITY IPA321 SDATA "[IPA321 ]"
|
||||
--IPA upsilon, near-close near-back rounded vowel-->
|
||||
<!ENTITY IPA322 SDATA "[IPA322 ]"
|
||||
--IPA schwa, mid central unrounded vowel-->
|
||||
<!ENTITY IPA323 SDATA "[IPA323 ]"
|
||||
--IPA barred l.c. o, mid central rounded vowel-->
|
||||
<!ENTITY IPA324 SDATA "[IPA324 ]"
|
||||
--IPA turned l.c. a, near-open central unrounded vowel-->
|
||||
<!ENTITY IPA325 SDATA "[IPA325 ]"
|
||||
--IPA ash digraph, near-open front unrounded vowel-->
|
||||
<!ENTITY IPA326 SDATA "[IPA326 ]"
|
||||
--IPA reversed epsilon, additional mid central vowel-->
|
||||
<!ENTITY IPA327 SDATA "[IPA327 ]"
|
||||
--IPA right-hook schwa, r-coloured mid central vowel-->
|
||||
<!ENTITY IPA401 SDATA "[IPA401 ]"
|
||||
--IPA apostrophe, ejective stop-->
|
||||
<!ENTITY IPA402a SDATA "[IPA402a ]"
|
||||
--IPA under ring, voiceless-->
|
||||
<!ENTITY IPA402b SDATA "[IPA402b ]"
|
||||
--IPA over ring, voiceless-->
|
||||
<!ENTITY IPA403 SDATA "[IPA403 ]"
|
||||
--IPA subscript wedge, voiced-->
|
||||
<!ENTITY IPA404 SDATA "[IPA404 ]"
|
||||
--IPA superscript h, aspirated-->
|
||||
<!ENTITY IPA405 SDATA "[IPA405 ]"
|
||||
--IPA subscript umlaut, breathy voiced-->
|
||||
<!ENTITY IPA406 SDATA "[IPA406 ]"
|
||||
--IPA subscript tilde, creaky voiced-->
|
||||
<!ENTITY IPA407 SDATA "[IPA407 ]"
|
||||
--IPA subscript seagull, linguolabial-->
|
||||
<!ENTITY IPA408 SDATA "[IPA408 ]"
|
||||
--IPA subscript bridge, dental-->
|
||||
<!ENTITY IPA409 SDATA "[IPA409 ]"
|
||||
--IPA inverted subscript bridge, apical-->
|
||||
<!ENTITY IPA410 SDATA "[IPA410 ]"
|
||||
--IPA subscript square, laminal-->
|
||||
<!ENTITY IPA411 SDATA "[IPA411 ]"
|
||||
--IPA subscript right half-ring, more rounded-->
|
||||
<!ENTITY IPA412 SDATA "[IPA412 ]"
|
||||
--IPA subscript left half-ring, less rounded-->
|
||||
<!ENTITY IPA413 SDATA "[IPA413 ]"
|
||||
--IPA subscript plus, advanced-->
|
||||
<!ENTITY IPA414 SDATA "[IPA414 ]"
|
||||
--IPA under-bar, retracted-->
|
||||
<!ENTITY IPA415 SDATA "[IPA415 ]"
|
||||
--IPA umlaut, centralized-->
|
||||
<!ENTITY IPA416 SDATA "[IPA416 ]"
|
||||
--IPA over-cross, mid centralized-->
|
||||
<!ENTITY IPA417 SDATA "[IPA417 ]"
|
||||
--IPA advancing sign, advanced tongue root-->
|
||||
<!ENTITY IPA418 SDATA "[IPA418 ]"
|
||||
--IPA retracting sign, retracted tongue root-->
|
||||
<!ENTITY IPA419 SDATA "[IPA419 ]"
|
||||
--IPA right hook, rhoticity-->
|
||||
<!ENTITY IPA420 SDATA "[IPA420 ]"
|
||||
--IPA superscript w, labialized-->
|
||||
<!ENTITY IPA421 SDATA "[IPA421 ]"
|
||||
--IPA superscript j, palatalized-->
|
||||
<!ENTITY IPA422 SDATA "[IPA422 ]"
|
||||
--IPA superscript gamma, velarized-->
|
||||
<!ENTITY IPA423 SDATA "[IPA423 ]"
|
||||
--IPA superscript reversed glottal stop, pharyngealized-->
|
||||
<!ENTITY IPA424 SDATA "[IPA424 ]"
|
||||
--IPA superscript tilde, nasalized-->
|
||||
<!ENTITY IPA425 SDATA "[IPA425 ]"
|
||||
--IPA superscript n, nasal release-->
|
||||
<!ENTITY IPA426 SDATA "[IPA426 ]"
|
||||
--IPA superscript l, lateral release-->
|
||||
<!ENTITY IPA427 SDATA "[IPA427 ]"
|
||||
--IPA corner, no audible release-->
|
||||
<!ENTITY IPA428 SDATA "[IPA428 ]"
|
||||
--IPA superimposed tilde, velarized or pharyngealized-->
|
||||
<!ENTITY IPA429 SDATA "[IPA429 ]"
|
||||
--IPA raising sign, raised-->
|
||||
<!ENTITY IPA430 SDATA "[IPA430 ]"
|
||||
--IPA lowering sign, lowered-->
|
||||
<!ENTITY IPA431 SDATA "[IPA431 ]"
|
||||
--IPA syllabicity mark, syllabic-->
|
||||
<!ENTITY IPA432 SDATA "[IPA432 ]"
|
||||
--IPA subscript arch, non-syllabic-->
|
||||
<!ENTITY IPA433 SDATA "[IPA433 ]"
|
||||
--IPA top tie bar, joining tie bar-->
|
||||
<!ENTITY IPA501 SDATA "[IPA501 ]"
|
||||
--IPA vertical stroke (superior), primary stress-->
|
||||
<!ENTITY IPA502 SDATA "[IPA502 ]"
|
||||
--IPA vertical stroke (inferior), secondary stress-->
|
||||
<!ENTITY IPA503 SDATA "[IPA503 ]"
|
||||
--IPA length mark, long-->
|
||||
<!ENTITY IPA504 SDATA "[IPA504 ]"
|
||||
--IPA half-length mark, half-long-->
|
||||
<!ENTITY IPA505 SDATA "[IPA505 ]"
|
||||
--IPA breve, extra-short-->
|
||||
<!ENTITY IPA506 SDATA "[IPA506 ]"
|
||||
--IPA period, syllable break-->
|
||||
<!ENTITY IPA507 SDATA "[IPA507 ]"
|
||||
--IPA vertical line, minor (foot) group-->
|
||||
<!ENTITY IPA508 SDATA "[IPA508 ]"
|
||||
--IPA double vertical line, major (intonation) group-->
|
||||
<!ENTITY IPA509 SDATA "[IPA509 ]"
|
||||
--IPA bottom tie bar, linking (absence of a break)-->
|
||||
<!ENTITY IPA510 SDATA "[IPA510 ]"
|
||||
--IPA upward diagonal arrow, global rise-->
|
||||
<!ENTITY IPA511 SDATA "[IPA511 ]"
|
||||
--IPA downward diagonal arrow, global fall-->
|
||||
<!ENTITY IPA512 SDATA "[IPA512 ]"
|
||||
--IPA double acute accent (over), extra-high tone-->
|
||||
<!ENTITY IPA513 SDATA "[IPA513 ]"
|
||||
--IPA acute accent (over), high tone-->
|
||||
<!ENTITY IPA514 SDATA "[IPA514 ]"
|
||||
--IPA macron, mid tone-->
|
||||
<!ENTITY IPA515 SDATA "[IPA515 ]"
|
||||
--IPA grave accent (over), low tone-->
|
||||
<!ENTITY IPA516 SDATA "[IPA516 ]"
|
||||
--IPA double grave accent (over), extra-low tone-->
|
||||
<!ENTITY IPA517 SDATA "[IPA517 ]"
|
||||
--IPA down arrow, downstep tone-->
|
||||
<!ENTITY IPA518 SDATA "[IPA518 ]"
|
||||
--IPA up arrow, upstep tone-->
|
||||
<!ENTITY IPA524 SDATA "[IPA524 ]"
|
||||
--IPA Fall-rise Contour Tone -->
|
||||
<!ENTITY IPA525 SDATA "[IPA525 ]"
|
||||
--IPA Rise-fall Contour Tone -->
|
||||
<!ENTITY IPA526 SDATA "[IPA526 ]"
|
||||
--IPA Level-rise Contour Tone -->
|
||||
<!ENTITY IPA527 SDATA "[IPA527 ]"
|
||||
--IPA Fall-level Contour Tone -->
|
||||
<!ENTITY IPA528 SDATA "[IPA528 ]"
|
||||
--IPA Fall-rise-fall Contour Tone -->
|
||||
|
||||
|
||||
--
|
||||
Regards, Terry
|
||||
|
||||
13
cde/programs/dtinfo/dtinfogen/infolib/Imakefile
Normal file
13
cde/programs/dtinfo/dtinfogen/infolib/Imakefile
Normal file
@@ -0,0 +1,13 @@
|
||||
XCOMM $TOG: Imakefile /main/8 1998/08/10 15:55:36 mgreess $
|
||||
|
||||
#define IHaveSubdirs
|
||||
#define PassCDebugFlags 'CDEBUGFLAGS=$(CDEBUGFLAGS)' 'CXXDEBUGFLAGS=$(CXXDEBUGFLAGS)'
|
||||
|
||||
SUBDIRS=etc C.ISO-8859-1 ja_JP.EUC-JP
|
||||
|
||||
LinkFile(C,C.ISO-8859-1)
|
||||
|
||||
MakeSubdirs($(SUBDIRS))
|
||||
DependSubdirs($(SUBDIRS))
|
||||
NamedTargetSubdirs(install_buildtools,$(SUBDIRS),\
|
||||
install_buildtools,,install_buildtools)
|
||||
56
cde/programs/dtinfo/dtinfogen/infolib/etc/AttributeData.C
Normal file
56
cde/programs/dtinfo/dtinfogen/infolib/etc/AttributeData.C
Normal file
@@ -0,0 +1,56 @@
|
||||
/* $XConsortium: AttributeData.cc /main/2 1996/07/18 16:07:35 drk $ */
|
||||
/* exported interfaces */
|
||||
#include "AttributeData.h"
|
||||
|
||||
/* imported interfaces */
|
||||
#include "SGMLName.h"
|
||||
#include "Token.h"
|
||||
#include "Dispatch.h"
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
AttributeData::AttributeData( const Token &t,
|
||||
int attr_name,
|
||||
ActionType mode ):BaseData(t, mode)
|
||||
{
|
||||
|
||||
const char *str;
|
||||
if ( str = attribute_value( t, attr_name ) ) {
|
||||
data_complete = 1;
|
||||
ValueBuffer.writeStr( str );
|
||||
}
|
||||
else {
|
||||
data_avail = 0;
|
||||
}
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
const char *
|
||||
AttributeData::attribute_value( const Token &t, int attributeName )
|
||||
{
|
||||
const AttributeRec *tmp;
|
||||
int att_type;
|
||||
|
||||
tmp = t.LookupAttr( attributeName );
|
||||
if ( !tmp ) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
att_type = tmp->getAttrType();
|
||||
if ( att_type == SGMLName::ENTITY ) {
|
||||
SGMLDefn *sgml_defn = Dispatch::entity_ref( tmp->getAttrValueString() );
|
||||
if ( !sgml_defn ) {
|
||||
throw(Unexpected("no entity declaration for this entity"));
|
||||
}
|
||||
|
||||
/*
|
||||
* Use the file name
|
||||
*/
|
||||
|
||||
return ( sgml_defn->getFileName() );
|
||||
}
|
||||
else if ( att_type == SGMLName::CDATA ||
|
||||
att_type == SGMLName::TOKEN ){
|
||||
return ( tmp->getAttrValueString() );
|
||||
}
|
||||
}
|
||||
|
||||
23
cde/programs/dtinfo/dtinfogen/infolib/etc/AttributeData.h
Normal file
23
cde/programs/dtinfo/dtinfogen/infolib/etc/AttributeData.h
Normal file
@@ -0,0 +1,23 @@
|
||||
/* $XConsortium: AttributeData.h /main/2 1996/07/18 16:36:49 drk $ */
|
||||
#ifndef __attr_Data__
|
||||
#define __attr_Data__
|
||||
|
||||
#include "BaseDataCollect.h"
|
||||
|
||||
class Token;
|
||||
|
||||
class AttributeData : public BaseData {
|
||||
|
||||
friend class FirstOf;
|
||||
friend class OL_Data;
|
||||
friend class Concat;
|
||||
|
||||
private:
|
||||
const char *attribute_value( const Token &t, int attr_name );
|
||||
|
||||
protected:
|
||||
AttributeData( const Token &t, int attr_name, ActionType mode );
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
115
cde/programs/dtinfo/dtinfogen/infolib/etc/AttributeList.C
Normal file
115
cde/programs/dtinfo/dtinfogen/infolib/etc/AttributeList.C
Normal file
@@ -0,0 +1,115 @@
|
||||
/* $XConsortium: AttributeList.C /main/3 1996/08/21 15:45:57 drk $
|
||||
*
|
||||
* (c) Copyright 1996 Digital Equipment Corporation.
|
||||
* (c) Copyright 1996 Hewlett-Packard Company.
|
||||
* (c) Copyright 1996 International Business Machines Corp.
|
||||
* (c) Copyright 1996 Sun Microsystems, Inc.
|
||||
* (c) Copyright 1996 Novell, Inc.
|
||||
* (c) Copyright 1996 FUJITSU LIMITED.
|
||||
* (c) Copyright 1996 Hitachi.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <iostream.h>
|
||||
#include <assert.h>
|
||||
|
||||
#include "AttributeRec.h"
|
||||
#include "AttributeList.h"
|
||||
|
||||
// Debugging macro
|
||||
#ifdef DEBUG
|
||||
#define DBG(level) if ( dbgLevel >= level)
|
||||
#else
|
||||
#define DBG(level) if (0)
|
||||
#endif
|
||||
|
||||
static int dbgLevel;
|
||||
|
||||
//---------------------------------------------------------
|
||||
// ValList : Constructor
|
||||
|
||||
OL_AttributeList::OL_AttributeList()
|
||||
{
|
||||
|
||||
DBG(10) cerr << "(DEBUG) Invoking OL_AttributeList::OL_AttributeList()\n";
|
||||
|
||||
dbgLevel=-1;
|
||||
char *dbgStr;
|
||||
|
||||
head = NULL;
|
||||
tail = NULL;
|
||||
|
||||
dbgStr = getenv("OL_DEBUG");
|
||||
dbgLevel = ( dbgStr ? atoi(dbgStr):0);
|
||||
|
||||
}
|
||||
|
||||
//---------------------------------------------------------
|
||||
// OL_AttributeList::OL_AttributeList
|
||||
|
||||
OL_AttributeList::~OL_AttributeList()
|
||||
{
|
||||
AttributeRec *pt = head;
|
||||
|
||||
while ( pt ) {
|
||||
AttributeRec *tmp = pt;
|
||||
pt = pt->next;
|
||||
delete tmp;
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------
|
||||
// OL_AttributeList:lookup
|
||||
AttributeRec *OL_AttributeList::lookup( int attName ) const
|
||||
{
|
||||
|
||||
DBG(10) cerr << "(DEBUG) Invoking OL_AttributeList::lookup()\n";
|
||||
DBG(10) cerr << " with attName = " << attName << endl;
|
||||
|
||||
AttributeRec *pt = head;
|
||||
|
||||
while ( pt ) {
|
||||
|
||||
if ( pt->attName == attName ) {
|
||||
return ( pt );
|
||||
}
|
||||
|
||||
pt = pt->next;
|
||||
}
|
||||
|
||||
return ( NULL );
|
||||
|
||||
}
|
||||
|
||||
//---------------------------------------------------------
|
||||
// OL_AttributeList::add
|
||||
void OL_AttributeList::insert ( AttributeRec *entry )
|
||||
{
|
||||
|
||||
if ( !tail ) {
|
||||
head = tail = entry;
|
||||
}
|
||||
else {
|
||||
tail->next = entry;
|
||||
tail = entry;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//---------------------------------------------------------
|
||||
const AttributeRec *OL_AttributeList::GetFirstAttr() const
|
||||
{
|
||||
return( head );
|
||||
}
|
||||
|
||||
//---------------------------------------------------------
|
||||
const AttributeRec *
|
||||
OL_AttributeList::GetNextAttr( const AttributeRec *attRec) const
|
||||
{
|
||||
assert( attRec != NULL );
|
||||
return( attRec->next );
|
||||
}
|
||||
|
||||
|
||||
32
cde/programs/dtinfo/dtinfogen/infolib/etc/AttributeList.h
Normal file
32
cde/programs/dtinfo/dtinfogen/infolib/etc/AttributeList.h
Normal file
@@ -0,0 +1,32 @@
|
||||
/* $XConsortium: AttributeList.h /main/3 1996/08/21 15:46:01 drk $ */
|
||||
//---------------------------------------------------------
|
||||
// AttributeList.h
|
||||
|
||||
#ifndef ATT_LIST_HDR
|
||||
#define ATT_LIST_HDR
|
||||
|
||||
#include <stdio.h>
|
||||
#include "AttributeRec.h"
|
||||
|
||||
|
||||
class OL_AttributeList {
|
||||
|
||||
friend class Token;
|
||||
|
||||
protected:
|
||||
AttributeRec *head;
|
||||
AttributeRec *tail;
|
||||
|
||||
AttributeRec *lookup ( int ) const;
|
||||
void insert(AttributeRec * );
|
||||
|
||||
const AttributeRec *GetFirstAttr() const;
|
||||
const AttributeRec *GetNextAttr( const AttributeRec *) const;
|
||||
OL_AttributeList();
|
||||
~OL_AttributeList();
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
65
cde/programs/dtinfo/dtinfogen/infolib/etc/AttributeRec.C
Normal file
65
cde/programs/dtinfo/dtinfogen/infolib/etc/AttributeRec.C
Normal file
@@ -0,0 +1,65 @@
|
||||
/* $XConsortium: AttributeRec.cc /main/4 1996/07/18 16:08:22 drk $ */
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <iostream.h>
|
||||
#include <assert.h>
|
||||
|
||||
#include "SGMLDefn.h"
|
||||
#include "SGMLName.h"
|
||||
#include "AttributeRec.h"
|
||||
|
||||
#ifdef FISH_DEBUG
|
||||
#include <dbug.h>
|
||||
#endif
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
AttributeRec::AttributeRec( const char *name,
|
||||
const char *value,
|
||||
int type )
|
||||
{
|
||||
#ifdef FISH_DEBUG
|
||||
DBUG_PRINT("AttributeRec", ("name = %s\n"
|
||||
"value = %s\n"
|
||||
"type = %d", name, value, type));
|
||||
#endif
|
||||
|
||||
next=NULL;
|
||||
attName = SGMLName::intern( name );
|
||||
|
||||
switch(attType = type){
|
||||
case SGMLName::TOKEN:
|
||||
case SGMLName::NOTATION:
|
||||
case SGMLName::ENTITY:
|
||||
attValue = SGMLName::intern( value );
|
||||
attValueString = SGMLName::lookup(attValue);
|
||||
copy = NULL;
|
||||
#ifdef FISH_DEBUG
|
||||
DBUG_PRINT("AttributeRec", ("attValue after the intern: %d", attValue));
|
||||
#endif
|
||||
break;
|
||||
|
||||
case SGMLName::CDATA:
|
||||
attValue = -1;
|
||||
attValueString = copy = new char[ strlen(value) + 1 ];
|
||||
strcpy( copy, value );
|
||||
break;
|
||||
|
||||
default:
|
||||
abort();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
AttributeRec::~AttributeRec()
|
||||
{
|
||||
delete copy;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
int
|
||||
AttributeRec::getAttrName() const
|
||||
{
|
||||
return(attName);
|
||||
}
|
||||
|
||||
48
cde/programs/dtinfo/dtinfogen/infolib/etc/AttributeRec.h
Normal file
48
cde/programs/dtinfo/dtinfogen/infolib/etc/AttributeRec.h
Normal file
@@ -0,0 +1,48 @@
|
||||
/* $XConsortium: AttributeRec.h /main/3 1996/08/21 15:46:05 drk $ */
|
||||
|
||||
//----------------------------------------------
|
||||
// AttributeRec.h
|
||||
|
||||
#ifndef ATT_REC_HDR
|
||||
#define ATT_REC_HDR
|
||||
|
||||
#include "SGMLName.h"
|
||||
|
||||
class SGMLDefn;
|
||||
|
||||
class AttributeRec {
|
||||
|
||||
friend class OL_AttributeList;
|
||||
friend class Token;
|
||||
|
||||
private:
|
||||
|
||||
int attName;
|
||||
int attType;
|
||||
const char *attValueString;
|
||||
char *copy;
|
||||
int attValue;
|
||||
AttributeRec *next;
|
||||
|
||||
protected:
|
||||
AttributeRec( const char * name, const char *value,
|
||||
int type );
|
||||
~AttributeRec();
|
||||
|
||||
public:
|
||||
int getAttrName() const;
|
||||
|
||||
/* use this for CDATA attributes */
|
||||
const char *getAttrValueString() const { return(attValueString); }
|
||||
|
||||
/* use this for NAME, NOTATION, ENTITY attributes */
|
||||
int getAttValue() const { return(attValue); }
|
||||
|
||||
int getAttrType() const { return(attType); }
|
||||
|
||||
int operator== ( AttributeRec & s ) {
|
||||
return ( attName == s.attName );
|
||||
}
|
||||
};
|
||||
|
||||
#endif
|
||||
111
cde/programs/dtinfo/dtinfogen/infolib/etc/AttributeStore.C
Normal file
111
cde/programs/dtinfo/dtinfogen/infolib/etc/AttributeStore.C
Normal file
@@ -0,0 +1,111 @@
|
||||
/* $XConsortium: AttributeStore.C /main/3 1996/08/21 15:46:08 drk $ */
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <iostream.h>
|
||||
|
||||
#include "List.h"
|
||||
#include "AttributeRec.h"
|
||||
#include "AttributeStore.h"
|
||||
#include "HashBucketEntry.h"
|
||||
|
||||
// Debugging macro
|
||||
#ifdef DEBUG
|
||||
#define DBG(level) if ( dbgLevel >= level)
|
||||
#else
|
||||
#define DBG(level) if (0)
|
||||
#endif
|
||||
|
||||
//---------------------------------------------------------
|
||||
// AttributeStore : Constructor
|
||||
|
||||
AttributeStore::AttributeStore( int sz ):NumBuckets(sz)
|
||||
{
|
||||
|
||||
char *dbgStr;
|
||||
dbgStr = getenv("OL_DEBUG");
|
||||
dbgLevel = ( dbgStr ? atoi(dbgStr):0);
|
||||
|
||||
HashTable = new HashBucketEntry * [ NumBuckets ];
|
||||
if ( !HashTable ) {
|
||||
cerr << "(ERROR) Unable to allocate memory for HashTable\n";
|
||||
exit(1);
|
||||
}
|
||||
|
||||
for ( int i=0; i < sz; i++) {
|
||||
HashTable[i] = NULL;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//---------------------------------------------------------
|
||||
// AttributeStore : Destructor
|
||||
|
||||
AttributeStore::~AttributeStore()
|
||||
{
|
||||
for ( int i=0; i < NumBuckets; i++ ) {
|
||||
delete HashTable[i];
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------
|
||||
// AttributeStore::hash()
|
||||
int AttributeStore::hash( char *HashKeyStr )
|
||||
{
|
||||
DBG(10) cerr << "(DEBUG) Invoking hash function with HashKeyStr = "
|
||||
<< HashKeyStr << endl;
|
||||
|
||||
int sum=0;
|
||||
|
||||
// This is a simple hash function
|
||||
for ( char *ptr=HashKeyStr; *ptr; ptr++ ) {
|
||||
sum += *ptr;
|
||||
}
|
||||
|
||||
sum = sum % NumBuckets;
|
||||
|
||||
DBG(10) cerr << "(DEBUG) returning value for hash function = "
|
||||
<< sum << endl;
|
||||
return ( sum );
|
||||
}
|
||||
|
||||
|
||||
//---------------------------------------------------------
|
||||
// AttributeStore::lookup
|
||||
char *AttributeStore::lookup( Token *ThisToken, char *aName )
|
||||
{
|
||||
int HashValue;
|
||||
AttributeRec *aRecPtr;
|
||||
|
||||
HashValue=hash( aName );
|
||||
aRecPtr = HashTable[ HashValue ]->lookup( aName );
|
||||
|
||||
return ( aRecPtr->GetAttributeValue( ThisToken ) );
|
||||
}
|
||||
|
||||
//---------------------------------------------------------
|
||||
// AttributeStore::add
|
||||
|
||||
int AttributeStore::insert ( AttributeRec *att )
|
||||
{
|
||||
|
||||
int HashValue;
|
||||
HashBucketEntry *BucketEntry;
|
||||
|
||||
HashValue = hash ( att->name );
|
||||
|
||||
BucketEntry = HashTable [ HashValue ];
|
||||
|
||||
if ( BucketEntry->lookup ( att->name ) ) {
|
||||
return(0);
|
||||
}
|
||||
else {
|
||||
BucketEntry->insert( att );
|
||||
return(1);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
34
cde/programs/dtinfo/dtinfogen/infolib/etc/AttributeStore.h
Normal file
34
cde/programs/dtinfo/dtinfogen/infolib/etc/AttributeStore.h
Normal file
@@ -0,0 +1,34 @@
|
||||
/* $XConsortium: AttributeStore.h /main/2 1996/07/18 16:38:25 drk $ */
|
||||
//---------------------------------------------------------
|
||||
// AttributeSore.h
|
||||
|
||||
|
||||
#ifndef ATT_STORE
|
||||
#define ATT_STORE
|
||||
|
||||
#include "AttributeRec.h"
|
||||
|
||||
class AttributeStore {
|
||||
private:
|
||||
AttributeRec *head;
|
||||
AttributeRec *current;
|
||||
|
||||
public:
|
||||
char *lookup ( char * );
|
||||
int add ( AttributeRec * );
|
||||
AttributeRec *getNext() {
|
||||
AttributeRec *ptr;
|
||||
if ( current ) {
|
||||
ptr = current;
|
||||
current = current->next;
|
||||
return (ptr );
|
||||
}
|
||||
else {
|
||||
return ( NULL );
|
||||
}
|
||||
}
|
||||
AttributeStore();
|
||||
~AttributeStore();
|
||||
};
|
||||
|
||||
#endif
|
||||
242
cde/programs/dtinfo/dtinfogen/infolib/etc/AusText.C
Normal file
242
cde/programs/dtinfo/dtinfogen/infolib/etc/AusText.C
Normal file
@@ -0,0 +1,242 @@
|
||||
/* $XConsortium: AusText.C /main/3 1996/09/10 16:04:23 cde-hal $
|
||||
*
|
||||
* (c) Copyright 1996 Digital Equipment Corporation.
|
||||
* (c) Copyright 1996 Hewlett-Packard Company.
|
||||
* (c) Copyright 1996 International Business Machines Corp.
|
||||
* (c) Copyright 1996 Sun Microsystems, Inc.
|
||||
* (c) Copyright 1996 Novell, Inc.
|
||||
* (c) Copyright 1996 FUJITSU LIMITED.
|
||||
* (c) Copyright 1996 Hitachi.
|
||||
*/
|
||||
|
||||
/* imported interfaces */
|
||||
#include "OL-Data.h"
|
||||
#include "Task.h"
|
||||
#include "FlexBuffer.h"
|
||||
#include "Token.h"
|
||||
#include "OLAF.h"
|
||||
#include "BookCaseDB.h"
|
||||
#include "BookTasks.h"
|
||||
#include "NodeData.h"
|
||||
#include "NodeTask.h"
|
||||
#include "GraphicsTask.h"
|
||||
#include "BookTasks.h"
|
||||
#include "Dispatch.h"
|
||||
#include "SGMLName.h"
|
||||
#include "DataRepository.h"
|
||||
#include "AusTextStorage.h"
|
||||
|
||||
/* exported interfaces */
|
||||
#include "AusText.h"
|
||||
|
||||
const unsigned char WORD_SEP = ' ';
|
||||
|
||||
// charater strings
|
||||
const int OLIAS_SCOPE_TITLE = OLAF::Title;
|
||||
const int OLIAS_SCOPE_EXAMPLE = OLAF::Example;
|
||||
const int OLIAS_SCOPE_INDEX = OLAF::Index;
|
||||
const int OLIAS_SCOPE_TABLE = OLAF::Table;
|
||||
const int OLIAS_SCOPE_GRAPHIC = OLAF::Graphic;
|
||||
|
||||
//-----------------------------------------------------------------------
|
||||
AusText::AusText(NodeData *f_node, const Token &t):SearchEngine(f_node, t)
|
||||
{
|
||||
store = new DataRepository;
|
||||
f_search_store = NULL;
|
||||
|
||||
// NOTE: We need to activate default zone here because AusText::markup
|
||||
// is not being called for the top element in the section.
|
||||
// Do not forget to deactivate it on the other end!
|
||||
store->ActivateZone ( DataRepository::Default, t.level() );
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------
|
||||
AusText::~AusText()
|
||||
{
|
||||
store->deActivateZone ( f_base );
|
||||
|
||||
if ( store ) { delete store; }
|
||||
if ( f_search_store ) { delete f_search_store; }
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------
|
||||
void
|
||||
AusText::write_start_tag ( const Token &t)
|
||||
{
|
||||
|
||||
const AttributeRec *a;
|
||||
|
||||
int level = t.level();
|
||||
|
||||
if ( a = t.LookupAttr( OLAF::OL_scope ) ) {
|
||||
|
||||
switch ( a->getAttValue() ) {
|
||||
|
||||
case OLIAS_SCOPE_EXAMPLE :
|
||||
store->ActivateZone( DataRepository::Example, level );
|
||||
break;
|
||||
|
||||
case OLIAS_SCOPE_GRAPHIC :
|
||||
store->ActivateZone( DataRepository::Graphic, level );
|
||||
break;
|
||||
|
||||
case OLIAS_SCOPE_INDEX :
|
||||
store->ActivateZone( DataRepository::Index, level );
|
||||
break;
|
||||
|
||||
case OLIAS_SCOPE_TABLE :
|
||||
store->ActivateZone( DataRepository::Table, level );
|
||||
break;
|
||||
|
||||
case OLIAS_SCOPE_TITLE :
|
||||
store->ActivateZone( DataRepository::Head, level );
|
||||
break;
|
||||
|
||||
default : throw(Unexpected("Not a valid zone"));
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
#if 0
|
||||
else {
|
||||
store->ActivateZone ( DataRepository::Default, level );
|
||||
}
|
||||
#endif
|
||||
|
||||
store->put( WORD_SEP );
|
||||
|
||||
}
|
||||
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
void
|
||||
AusText::write_end_tag( const Token & t)
|
||||
{
|
||||
store->deActivateZone( t.level() );
|
||||
store->put( WORD_SEP );
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
void
|
||||
AusText::write_terms( FlexBuffer *termsbuf )
|
||||
{
|
||||
int bufsize = termsbuf->GetSize();
|
||||
const char *buffer = termsbuf->GetBuffer();
|
||||
|
||||
store->write( buffer, bufsize );
|
||||
termsBuffer = termsbuf;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
void
|
||||
AusText::write_buffer()
|
||||
{
|
||||
BookCaseTask *f_bc = f_parent->node()->book()->bookcase();
|
||||
const char *BookCaseName = f_bc->bookcasename();
|
||||
const char *pathname = f_bc->database()->path();
|
||||
|
||||
f_search_store = new AusTextStore( pathname, BookCaseName );
|
||||
assert(f_search_store != NULL);
|
||||
|
||||
const char *book_short_title = f_parent->node()->book()->book_short_title();
|
||||
const char *book_id = f_parent->node()->book()->locator();
|
||||
const char *nodelocator = f_parent->node()->locator();
|
||||
const char *node_title = f_parent->node()->title();
|
||||
|
||||
f_search_store->insert(book_short_title,
|
||||
book_id,
|
||||
nodelocator,
|
||||
node_title,
|
||||
store
|
||||
);
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------
|
||||
void
|
||||
AusText::markup( const Token & t )
|
||||
{
|
||||
if ( f_base > 0 ) {
|
||||
|
||||
ComplexTask::markup(t);
|
||||
|
||||
if ( t.type() == START ) {
|
||||
|
||||
|
||||
if ( Dispatch::OutsideIgnoreScope() ) {
|
||||
if ( t.LookupAttr( OLAF::OL_Graphic ) ) {
|
||||
CollectObject = t.level();
|
||||
|
||||
f_graphics = new GraphicsTask ( this, t );
|
||||
assert ( f_graphics != NULL );
|
||||
addSubTask( f_graphics );
|
||||
|
||||
}
|
||||
|
||||
#if TABLES
|
||||
else if( t.LookupAttr( OLAF::OL_Table ) ) {
|
||||
CollectObject = t.level();
|
||||
addSubTask(new SearchableTableTask(this, t));
|
||||
}
|
||||
#endif
|
||||
|
||||
write_start_tag ( t );
|
||||
|
||||
}
|
||||
}
|
||||
else if ( t.type() == END ) {
|
||||
|
||||
if ( Dispatch::OutsideIgnoreScope() ) {
|
||||
if ( CollectObject >= 0 ) {
|
||||
|
||||
if ( CollectObject == t.level() ) {
|
||||
|
||||
CollectObject = -1;
|
||||
|
||||
if ( f_graphics ) {
|
||||
if ( f_graphics->HasSearchTerms() ) {
|
||||
hasTerms = 1;
|
||||
FlexBuffer *buf = (FlexBuffer *)f_graphics->GetTerms();
|
||||
write_terms ( buf );
|
||||
}
|
||||
KILLSUBTASK( f_graphics );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
write_end_tag( t );
|
||||
|
||||
if ( f_base == t.level() ) {
|
||||
f_base = -1;
|
||||
write_buffer();
|
||||
}
|
||||
} /* OutsideIgnoreScope */
|
||||
|
||||
} /* if ( t.type() == END ) */
|
||||
|
||||
} /* if ( f_base > 0 ) */
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
void
|
||||
AusText::data ( const char *str, size_t sz )
|
||||
{
|
||||
|
||||
if ( f_base > 0 ) {
|
||||
ComplexTask::data( str, sz );
|
||||
|
||||
if ( Dispatch::OutsideIgnoreScope() ) {
|
||||
|
||||
/* @@ for tables, this isn't quite right... */
|
||||
if ( CollectObject < 0 ) {
|
||||
|
||||
|
||||
if ( sz == 0 ) { return; }
|
||||
store->write( str, sz );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
36
cde/programs/dtinfo/dtinfogen/infolib/etc/AusText.h
Normal file
36
cde/programs/dtinfo/dtinfogen/infolib/etc/AusText.h
Normal file
@@ -0,0 +1,36 @@
|
||||
/* $XConsortium: AusText.h /main/2 1996/07/18 16:38:54 drk $ */
|
||||
// AusText.h - Specific implementation for AusText search engine
|
||||
|
||||
#ifndef AUSTEXT_HEADER
|
||||
#define AUSTEXT_HEADER
|
||||
|
||||
#include "SearchEng.h"
|
||||
|
||||
class Token;
|
||||
class AusTextStore;
|
||||
class NodeData;
|
||||
class DataRepository;
|
||||
|
||||
class AusText : public SearchEngine {
|
||||
|
||||
private:
|
||||
DataRepository *store;
|
||||
AusTextStore *f_search_store;
|
||||
|
||||
protected:
|
||||
void write_start_tag ( const Token &);
|
||||
void write_end_tag ( const Token & );
|
||||
void write_terms ( FlexBuffer *termsbuf );
|
||||
void write_buffer();
|
||||
|
||||
public:
|
||||
void markup( const Token & );
|
||||
void data( const char *, size_t );
|
||||
|
||||
public:
|
||||
AusText(NodeData *, const Token &);
|
||||
~AusText();
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
343
cde/programs/dtinfo/dtinfogen/infolib/etc/AusTextStorage.C
Normal file
343
cde/programs/dtinfo/dtinfogen/infolib/etc/AusTextStorage.C
Normal file
@@ -0,0 +1,343 @@
|
||||
/* $XConsortium: AusTextStorage.cc /main/5 1996/07/23 18:08:29 cde-hal $
|
||||
*
|
||||
* (c) Copyright 1996 Digital Equipment Corporation.
|
||||
* (c) Copyright 1996 Hewlett-Packard Company.
|
||||
* (c) Copyright 1996 International Business Machines Corp.
|
||||
* (c) Copyright 1996 Sun Microsystems, Inc.
|
||||
* (c) Copyright 1996 Novell, Inc.
|
||||
* (c) Copyright 1996 FUJITSU LIMITED.
|
||||
* (c) Copyright 1996 Hitachi.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stddef.h>
|
||||
#include <errno.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <assert.h>
|
||||
#include <stream.h>
|
||||
|
||||
/* imported interfaces */
|
||||
#include <misc/unique_id.h>
|
||||
#include "FlexBuffer.h"
|
||||
#include "Task.h"
|
||||
#include "DataBase.h"
|
||||
#include "DataRepository.h"
|
||||
|
||||
/* exported interfaces */
|
||||
#include "AusTextStorage.h"
|
||||
|
||||
#ifdef DTSR_USE_CNTR_L
|
||||
const char CNTR_L = '\014'; /* This is for ascii system only */
|
||||
#endif
|
||||
|
||||
// If NodeParser ever gets setup to run on all bookcases at one time, we
|
||||
// will need a reset() function for this member.
|
||||
unsigned long AusTextStore::f_recordcount = 0;
|
||||
|
||||
#ifdef DTSR_LIKES_FGETS
|
||||
const int LINE_SIZE = 80; /* this is the line size allowed for data in
|
||||
* the *.fzk file
|
||||
*/
|
||||
|
||||
/* Most of the non-alphanumeric character in ascii code set */
|
||||
const char *DELIMITER_SET = "\t\n !@#$%^&*()_-=+\\|~[]{};:,.<>/?";
|
||||
|
||||
enum EucCodeSet {
|
||||
CodeSetInv = -1,
|
||||
CodeSet0 = 0,
|
||||
CodeSet1 = 1,
|
||||
CodeSet2 = 2,
|
||||
CodeSet3 = 3
|
||||
};
|
||||
|
||||
/*
|
||||
* charcspn determines if ch is found in the set
|
||||
* returns 1 if so, 0 if otherwise
|
||||
*/
|
||||
/*
|
||||
* @@ charset is expensive, alternative approach is to use a
|
||||
* static array
|
||||
* static char char_tab[] = { 0, 0, 0, 1,...... }
|
||||
* where 1 indicates the character is in the delimiter character set
|
||||
* however, this might not be portable for character set other than
|
||||
* ascii , so this has to be done carefully
|
||||
* If the format of the fzk is changed, all this will no longer be
|
||||
* required. So, I am not going to do anything at this point
|
||||
*/
|
||||
|
||||
//-----------------------------------------------------------------
|
||||
static int charset ( const char ch, const char *set)
|
||||
{
|
||||
for ( const char *ptr = set;
|
||||
*ptr != '\0';
|
||||
ptr++ ) {
|
||||
if ( ch == *ptr ) return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* getline returns the no. of bytes that should be read as a line.
|
||||
* Normally it should read line_size, but if there is a token that
|
||||
* spans 2 lines, getline need to determine the line size such that
|
||||
* at the end of the line, no token should be spanning the next line.
|
||||
*/
|
||||
/*
|
||||
* start_ptr is the start of the buffer and end_ptr is the end of the buffer
|
||||
* it is similar to fread except that end_ptr is supplied as the bounding
|
||||
* condition as opposed to the EOF in fread. Besides, no actual character
|
||||
* is read , only the number of characters that should be read as a line.
|
||||
*/
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
static unsigned int DefaultGetLine ( const char *start_ptr,
|
||||
const char *end_ptr,
|
||||
int line_size )
|
||||
{
|
||||
if ( start_ptr > end_ptr ) { return 0; }
|
||||
|
||||
if ( start_ptr + line_size - 1 <= end_ptr ) { // not @ the end yet
|
||||
/*
|
||||
* FIrst see if there is a token that spans multiple lines
|
||||
*/
|
||||
const char *ptr = start_ptr + line_size - 1;
|
||||
if ( ptr == end_ptr ) { return line_size; }
|
||||
|
||||
if ( charset( *(ptr+1), DELIMITER_SET ) || charset ( *ptr, DELIMITER_SET ) ) {
|
||||
return ( line_size );
|
||||
}
|
||||
|
||||
/* That means found a token that spans 2 lines */
|
||||
/* So now loop back until *ptr is not in DELIMITER_SET */
|
||||
const char *new_end_ptr;
|
||||
for ( new_end_ptr = ptr;
|
||||
new_end_ptr > start_ptr && !charset( *new_end_ptr , DELIMITER_SET );
|
||||
new_end_ptr-- );
|
||||
|
||||
return( new_end_ptr - start_ptr + 1 );
|
||||
|
||||
}
|
||||
else {
|
||||
// last chunk of line
|
||||
return ( end_ptr - start_ptr + 1 );
|
||||
}
|
||||
}
|
||||
|
||||
inline EucCodeSet JpEucCodeSet(const unsigned char* text)
|
||||
{
|
||||
EucCodeSet codeset;
|
||||
|
||||
if (text == NULL)
|
||||
codeset = CodeSetInv;
|
||||
else if (*text < 0x80)
|
||||
codeset = CodeSet0;
|
||||
else if (*text == 0x8E)
|
||||
codeset = CodeSet2;
|
||||
else if (*text == 0x8F)
|
||||
codeset = CodeSet3;
|
||||
else {
|
||||
assert( *text > 0xA0 && *text < 0xFF);
|
||||
codeset = CodeSet1;
|
||||
}
|
||||
|
||||
return codeset;
|
||||
}
|
||||
|
||||
static unsigned int JpGetLine ( const char *start_ptr,
|
||||
const char *end_ptr,
|
||||
int line_size )
|
||||
{
|
||||
if (start_ptr > end_ptr)
|
||||
return 0;
|
||||
|
||||
if (end_ptr - start_ptr + 1 <= line_size)
|
||||
return (end_ptr - start_ptr + 1);
|
||||
|
||||
// reference limit
|
||||
const char* limit = start_ptr + line_size;
|
||||
|
||||
EucCodeSet codeset = JpEucCodeSet((const unsigned char*)start_ptr);
|
||||
|
||||
int len;
|
||||
const char* p;
|
||||
|
||||
for (p = start_ptr; p < limit; p += len) {
|
||||
|
||||
if (JpEucCodeSet((const unsigned char*)p) != codeset)
|
||||
break;
|
||||
|
||||
if (codeset == CodeSet0)
|
||||
len = 1;
|
||||
else if ((codeset == CodeSet1) || (codeset == CodeSet2))
|
||||
len = 2;
|
||||
else if (codeset == CodeSet3)
|
||||
len = 3;
|
||||
else
|
||||
len = 0;
|
||||
|
||||
if ((len == 0) || (p + len - 1 > end_ptr))
|
||||
break;
|
||||
}
|
||||
|
||||
return (p - start_ptr);
|
||||
}
|
||||
#endif // DTSR_LIKES_FGETS
|
||||
|
||||
//-----------------------------------------------------------------------
|
||||
static int isdir(const char* filename)
|
||||
{
|
||||
int ret = 0;
|
||||
struct stat sb;
|
||||
|
||||
if(stat(filename, &sb) == 0){
|
||||
if(S_ISDIR(sb.st_mode)){
|
||||
ret = 1;
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------
|
||||
static void makedir(const char *path) /* throw(PosixError) */
|
||||
{
|
||||
if(mkdir((char*)path, 0775) != 0){
|
||||
throw(PosixError(errno, path));
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------
|
||||
AusTextStore::AusTextStore( const char *path, const char *name )
|
||||
{
|
||||
if ( !isdir(path) ) {
|
||||
makedir(path);
|
||||
}
|
||||
|
||||
austext_path = new char [ strlen(path) + 1 + strlen("dtsearch") + 1 ];
|
||||
/*
|
||||
* throw(ResourceExhausted)
|
||||
*
|
||||
*/
|
||||
assert ( austext_path != NULL );
|
||||
|
||||
sprintf( austext_path, "%s/dtsearch", path );
|
||||
|
||||
if ( !isdir(austext_path) ) {
|
||||
makedir(austext_path);
|
||||
}
|
||||
|
||||
char *fzk = form("%s/%s.fzk", austext_path, name );
|
||||
|
||||
/* Use append instead because this fzk file is going to be appended
|
||||
* all the time
|
||||
*/
|
||||
|
||||
afp = fopen ( fzk, "a" );
|
||||
if ( !afp ) {
|
||||
throw(PosixError(errno, form("unable to open fzk file %s\n", fzk) ) );
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------
|
||||
void
|
||||
AusTextStore::insert( const char *BookShortTitle,
|
||||
const char *BookID,
|
||||
const char *SectionID,
|
||||
const char *SectionTitle,
|
||||
DataRepository *store
|
||||
)
|
||||
{
|
||||
|
||||
/* write the abstract and record stuff in the fzk file */
|
||||
if ( afp ) {
|
||||
|
||||
f_recordcount++;
|
||||
/* Record type ie for all the zone content */
|
||||
FlexBuffer **table = store->tabbuf();
|
||||
for ( int pos=store->Default;
|
||||
pos < store->Total;
|
||||
pos++ ) {
|
||||
|
||||
if ( table[pos] ) {
|
||||
|
||||
if ( table[pos]->GetSize() > 0 ) {
|
||||
|
||||
fprintf(afp, " 0,2\n");
|
||||
|
||||
/* abstract includes SectionID\tBookShortTitle\tSectionTitle */
|
||||
fprintf(afp, "ABSTRACT: %s\t%s\t%s\n", SectionID,
|
||||
BookShortTitle,
|
||||
SectionTitle );
|
||||
|
||||
// first the record type
|
||||
// The following was unique, but there is a limit to the size of
|
||||
// the key, so let's just use a simple counter.
|
||||
// fprintf(afp, "%s%s%s\n", store->get_zone_name(pos), BookID, SectionID);
|
||||
fprintf(afp, "%s%d\n", store->get_zone_name(pos), f_recordcount);
|
||||
|
||||
fprintf(afp, "0/0/0~0:0\n"); // null date
|
||||
|
||||
// Now the actual buffer
|
||||
const char *start_ptr = table[pos]->GetBuffer();
|
||||
const char *end_ptr = start_ptr + table[pos]->GetSize() - 1;
|
||||
|
||||
#ifdef DTSR_LIKES_FGETS
|
||||
unsigned int (*getline)(const char *, const char *, int);
|
||||
|
||||
const char* lang = getenv("LANG");
|
||||
if (lang && !strncmp(lang, "ja", strlen("ja")))
|
||||
getline = JpGetLine;
|
||||
else
|
||||
getline = DefaultGetLine;
|
||||
|
||||
int num_byte;
|
||||
while ( num_byte = getline(start_ptr, end_ptr, LINE_SIZE) ) {
|
||||
if ( !fwrite(start_ptr, num_byte, 1, afp ) )
|
||||
{
|
||||
throw(PosixError(errno, "unable to write to fzk file\n" ) );
|
||||
}
|
||||
fputc('\n', afp );
|
||||
|
||||
start_ptr += num_byte;
|
||||
}
|
||||
|
||||
// for current section and book level scopes, place the book and
|
||||
// section ids into the indexed data.
|
||||
fprintf(afp, "\n%s\n%s\n", BookID, SectionID);
|
||||
#else
|
||||
char *ptr = (char*)start_ptr;
|
||||
for (; ptr <= end_ptr; ptr++) {
|
||||
if (*ptr == '\n')
|
||||
*ptr = ' ';
|
||||
}
|
||||
|
||||
if (fwrite(start_ptr, table[pos]->GetSize(), 1, afp) == 0)
|
||||
throw(PosixError(errno, "unable to write to fzk file\n"));
|
||||
|
||||
// for current section and book level scopes, place the book and
|
||||
// section ids into the indexed data.
|
||||
fprintf(afp, "\t%s\t%s", BookID, SectionID);
|
||||
#endif
|
||||
|
||||
#ifdef DTSR_USE_CNTR_L
|
||||
// Then the ^L character at the end
|
||||
fprintf(afp, "\n%c\n", CNTR_L );
|
||||
#else
|
||||
fprintf(afp, "\n");
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------
|
||||
AusTextStore::~AusTextStore()
|
||||
{
|
||||
if ( afp ) { fclose(afp); }
|
||||
if ( austext_path ) { delete [] austext_path; }
|
||||
}
|
||||
|
||||
|
||||
37
cde/programs/dtinfo/dtinfogen/infolib/etc/AusTextStorage.h
Normal file
37
cde/programs/dtinfo/dtinfogen/infolib/etc/AusTextStorage.h
Normal file
@@ -0,0 +1,37 @@
|
||||
/* $XConsortium: AusTextStorage.h /main/3 1996/07/18 16:39:21 drk $ */
|
||||
|
||||
#ifndef AUSTEXT_STOR_HDR
|
||||
#define AUSTEXT_STOR_HDR
|
||||
|
||||
class DataRepository;
|
||||
|
||||
class AusTextStore {
|
||||
private:
|
||||
FILE *afp;
|
||||
char *austext_path;
|
||||
static unsigned long f_recordcount;
|
||||
|
||||
public:
|
||||
|
||||
AusTextStore( const char *BookCasePath, const char *BookCaseName );
|
||||
/*
|
||||
* insert ( "This Book Case Name", 2,
|
||||
* "XmyLcfhalklkoop",
|
||||
* "This is the text that the indexing machine will see",
|
||||
* 51 );
|
||||
*
|
||||
*/
|
||||
|
||||
void insert( const char *BookShortTitle,
|
||||
const char *BookID,
|
||||
const char *SectionID,
|
||||
const char *SectionTitle,
|
||||
DataRepository *store
|
||||
);
|
||||
~AusTextStore();
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
28
cde/programs/dtinfo/dtinfogen/infolib/etc/BTCollectable.C
Normal file
28
cde/programs/dtinfo/dtinfogen/infolib/etc/BTCollectable.C
Normal file
@@ -0,0 +1,28 @@
|
||||
/* $XConsortium: BTCollectable.cc /main/2 1996/07/18 16:09:37 drk $ */
|
||||
#include <string.h>
|
||||
|
||||
// exported interfaces
|
||||
#include "BTCollectable.h"
|
||||
|
||||
//--------------------------------------------------------------------
|
||||
BTCollectable::BTCollectable():f_name(0), line_num(0), value(0)
|
||||
{
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------
|
||||
BTCollectable::BTCollectable(
|
||||
const char *filename, int line_no, const char *val
|
||||
)
|
||||
{
|
||||
|
||||
f_name = strdup( filename );
|
||||
line_num = line_no;
|
||||
value = strdup( val );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------
|
||||
BTCollectable::~BTCollectable()
|
||||
{
|
||||
delete f_name;
|
||||
delete value;
|
||||
}
|
||||
26
cde/programs/dtinfo/dtinfogen/infolib/etc/BTCollectable.h
Normal file
26
cde/programs/dtinfo/dtinfogen/infolib/etc/BTCollectable.h
Normal file
@@ -0,0 +1,26 @@
|
||||
/* $XConsortium: BTCollectable.h /main/2 1996/07/18 16:39:46 drk $ */
|
||||
|
||||
#ifndef BT_COLLECT
|
||||
#define BT_COLLECT
|
||||
|
||||
class BTCollectable
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
BTCollectable();
|
||||
BTCollectable( const char *filename, int line_no, const char *val=NULL );
|
||||
~BTCollectable();
|
||||
|
||||
char *filename() { return(f_name); }
|
||||
int linenum() { return(line_num); }
|
||||
char *get_value() { return( value ); }
|
||||
|
||||
private:
|
||||
char *f_name;
|
||||
int line_num;
|
||||
char *value;
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
42
cde/programs/dtinfo/dtinfogen/infolib/etc/BaseDataCollect.h
Normal file
42
cde/programs/dtinfo/dtinfogen/infolib/etc/BaseDataCollect.h
Normal file
@@ -0,0 +1,42 @@
|
||||
/* $XConsortium: BaseDataCollect.h /main/2 1996/07/18 16:40:12 drk $ */
|
||||
#ifndef __BaseDataCollect_h
|
||||
#define __BaseDataCollect_h
|
||||
|
||||
#include "Task.h"
|
||||
#include "Token.h"
|
||||
#include "FlexBuffer.h"
|
||||
|
||||
enum ActionType {
|
||||
DEFAULT_ACTION=0,
|
||||
IGNORE_ON=1,
|
||||
REMOVE_SPACES=2,
|
||||
GENERATE_ID=4
|
||||
};
|
||||
|
||||
class BaseData : public ComplexTask {
|
||||
|
||||
protected:
|
||||
int f_base;
|
||||
FlexBuffer ValueBuffer;
|
||||
int data_avail;
|
||||
int data_complete;
|
||||
int ignore_status;
|
||||
|
||||
protected:
|
||||
BaseData( const Token &t, ActionType istat) {
|
||||
f_base = t.level();
|
||||
data_avail = 1;
|
||||
data_complete = 0;
|
||||
ignore_status = istat & IGNORE_ON;
|
||||
}
|
||||
|
||||
public:
|
||||
int ContentIsEmpty() { return ( ValueBuffer.GetSize() == 0 ); }
|
||||
const char *content() { return( ValueBuffer.GetBuffer() ); }
|
||||
int content_size() { return( ValueBuffer.GetSize() ); }
|
||||
int DataWillBeAvailable() { return( data_avail ); }
|
||||
int DataIsComplete() { return( data_complete ); }
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
81
cde/programs/dtinfo/dtinfogen/infolib/etc/BookCaseDB.C
Normal file
81
cde/programs/dtinfo/dtinfogen/infolib/etc/BookCaseDB.C
Normal file
@@ -0,0 +1,81 @@
|
||||
/* $XConsortium: BookCaseDB.C /main/4 1996/10/26 18:17:13 cde-hal $ */
|
||||
|
||||
#include "BookCaseDB.h"
|
||||
|
||||
#include <assert.h>
|
||||
|
||||
/*--------------------------------------------------------------------
|
||||
*
|
||||
* The BookCase is represented as a database (a directory) containing
|
||||
* several tables (files).
|
||||
*
|
||||
* As the tables are shared by many tasks within the bookcase task,
|
||||
* they are accessed through the bookcase, and created here...
|
||||
*
|
||||
*--------------------------------------------------------------------*/
|
||||
|
||||
/* This will be placed in a global .h file eventually */
|
||||
#define LINK_CODE 1333
|
||||
|
||||
|
||||
BookCaseDB::BookCaseDB(const char *dir)
|
||||
: DB(dir)
|
||||
{
|
||||
for(int i = 0; i < TableQty; i++){
|
||||
f_tables[i] = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//--------------------------------------------------------------------
|
||||
|
||||
struct Schema{
|
||||
int id;
|
||||
const char *name;
|
||||
int code;
|
||||
int cols;
|
||||
};
|
||||
|
||||
#define ARRAY_SIZE(x) (sizeof(x)/sizeof(x[0]))
|
||||
|
||||
//--------------------------------------------------------------------
|
||||
DBTable*
|
||||
BookCaseDB::table(int tid, int a)
|
||||
{
|
||||
static Schema schema[] = {
|
||||
{ BookMeta, "BookMeta", DOC_CODE, 6 },
|
||||
{ NodeMeta, "NodeMeta", NODE_CODE, 8 },
|
||||
{ NodeSGML, "NodeSGML", SGML_CONTENT_CODE, 3 },
|
||||
{ Link, "Link", LINK_CODE, 3 },
|
||||
{ Locator, "Locator", LOCATOR_CODE, 5 },
|
||||
{ TOCTree, "ContentsTree", TOC_CODE, 5 },
|
||||
{ TOCPath, "ContentsPath", DLP_CODE, 4 },
|
||||
{ Graphics, "Graphics", GRAPHIC_CODE, 7 },
|
||||
{ StyleSheet, "StyleSheet", NODE_CODE, 3 },
|
||||
{ XRef, "XRef", XREF_CODE, 4 },
|
||||
};
|
||||
|
||||
assert(tid >= 0 && tid < TableQty);
|
||||
assert(schema[tid].id == tid); /* just be sure the code doesn't get out
|
||||
* of sync.
|
||||
*/
|
||||
if(!f_tables[tid]){
|
||||
f_tables[tid] = DB::table(schema[tid].name,
|
||||
schema[tid].code,
|
||||
schema[tid].cols,
|
||||
a);
|
||||
}
|
||||
|
||||
return f_tables[tid];
|
||||
}
|
||||
|
||||
BookCaseDB::~BookCaseDB()
|
||||
{
|
||||
for( int i = 0; i < TableQty; i++ ) {
|
||||
if ( f_tables[i] ) {
|
||||
delete f_tables[i]; f_tables[i] = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
32
cde/programs/dtinfo/dtinfogen/infolib/etc/BookCaseDB.h
Normal file
32
cde/programs/dtinfo/dtinfogen/infolib/etc/BookCaseDB.h
Normal file
@@ -0,0 +1,32 @@
|
||||
/* $XConsortium: BookCaseDB.h /main/3 1996/09/23 22:23:30 cde-hal $ -*- c++ -*- */
|
||||
|
||||
#ifndef __BookCaseDB_h
|
||||
#define __BookCaseDB_h
|
||||
|
||||
#include "DataBase.h"
|
||||
|
||||
class BookCaseDB : public DB{
|
||||
public:
|
||||
BookCaseDB(const char *dir);
|
||||
~BookCaseDB();
|
||||
|
||||
/*
|
||||
* Enumeration of tables...
|
||||
*/
|
||||
typedef enum {
|
||||
BookMeta,
|
||||
NodeMeta, NodeSGML, Link, Locator,
|
||||
TOCTree, TOCPath,
|
||||
Graphics,
|
||||
StyleSheet,
|
||||
XRef,
|
||||
TableQty
|
||||
}TableID;
|
||||
|
||||
DBTable *table(int, int access = DB::CREATE);
|
||||
|
||||
DBTable *f_tables[TableQty];
|
||||
};
|
||||
|
||||
|
||||
#endif /* __BookCaseDB_h */
|
||||
652
cde/programs/dtinfo/dtinfogen/infolib/etc/BookTasks.C
Normal file
652
cde/programs/dtinfo/dtinfogen/infolib/etc/BookTasks.C
Normal file
@@ -0,0 +1,652 @@
|
||||
/* $XConsortium: BookTasks.cc /main/5 1996/05/29 12:36:58 rcs $
|
||||
*
|
||||
* (c) Copyright 1996 Digital Equipment Corporation.
|
||||
* (c) Copyright 1996 Hewlett-Packard Company.
|
||||
* (c) Copyright 1996 International Business Machines Corp.
|
||||
* (c) Copyright 1996 Sun Microsystems, Inc.
|
||||
* (c) Copyright 1996 Novell, Inc.
|
||||
* (c) Copyright 1996 FUJITSU LIMITED.
|
||||
* (c) Copyright 1996 Hitachi.
|
||||
*/
|
||||
|
||||
|
||||
#include <stream.h>
|
||||
|
||||
/* import... */
|
||||
#include <assert.h>
|
||||
#include <string.h>
|
||||
#include "Dispatch.h"
|
||||
#include "Token.h"
|
||||
#include "OLAF.h"
|
||||
#include "NodeTask.h"
|
||||
#include "TOCTask.h"
|
||||
#include "BookCaseDB.h"
|
||||
#include "OL-Data.h"
|
||||
#include "StringList.h"
|
||||
#include "StyleTask.h"
|
||||
|
||||
/* export... */
|
||||
#include "BookTasks.h"
|
||||
|
||||
#ifdef LICENSE_MANAGEMENT
|
||||
#include "cryptlib/lterms.h"
|
||||
#endif
|
||||
|
||||
#ifdef FISH_DEBUG
|
||||
#include "dbug.h" /* ala Fred Fish's dbug package from uunet */
|
||||
#endif
|
||||
|
||||
const int A_FEATURE = OLAF::Feature;
|
||||
const int A_VEN_CODE = OLAF::VenCode;
|
||||
const int A_VERSION = OLAF::Version;
|
||||
const int A_GROUPING = OLAF::Grouping;
|
||||
const int A_DEMO_TERMS = OLAF::DemoTerms;
|
||||
const int A_DEFAULT_SECTION = OLAF::DefaultSection;
|
||||
|
||||
/***********************************
|
||||
*
|
||||
* BookCaseTask
|
||||
*
|
||||
***********************************/
|
||||
|
||||
BookCaseTask::BookCaseTask(const char *infolib)
|
||||
{
|
||||
library = new char[strlen(infolib)+1];
|
||||
strcpy(library, infolib);
|
||||
|
||||
f_base = -1;
|
||||
|
||||
bookCaseName = NULL;
|
||||
bookCaseDesc = NULL;
|
||||
|
||||
f_db = NULL;
|
||||
|
||||
if ( !Dispatch::RunTocGenOnly() ) {
|
||||
style = new StyleTaskDB(this);
|
||||
addSubTask(style);
|
||||
}
|
||||
|
||||
book = new BookTask(this);
|
||||
addSubTask(book);
|
||||
|
||||
f_style = NULL;
|
||||
}
|
||||
|
||||
|
||||
//--------------------------------------------------------------------
|
||||
BookCaseDB*
|
||||
BookCaseTask::database()
|
||||
{
|
||||
if(!f_db){
|
||||
f_db = new BookCaseDB(library);
|
||||
}
|
||||
|
||||
return f_db;
|
||||
}
|
||||
|
||||
|
||||
//--------------------------------------------------------------------
|
||||
DBTable *
|
||||
BookCaseTask::table(int tid)
|
||||
{
|
||||
return database()->table(tid);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------
|
||||
const char *
|
||||
BookCaseTask::bookcasename()
|
||||
{
|
||||
if ( !bookCaseName ) {
|
||||
throw(Unexpected("BookCase name not available yet."));
|
||||
}
|
||||
|
||||
return ( bookCaseName->content() );
|
||||
}
|
||||
|
||||
/*
|
||||
//--------------------------------------------------------------------
|
||||
void
|
||||
BookCaseTask::write_full_text_record( const char *str,
|
||||
int sz,
|
||||
const char *nodelocator,
|
||||
const char *node_title
|
||||
)
|
||||
{
|
||||
const char *BookCaseName = bookcasename();
|
||||
|
||||
if ( !f_search_storage ) {
|
||||
const char *pathname = database()->path();
|
||||
|
||||
f_search_storage = new FulcrumStore( pathname , BookCaseName);
|
||||
assert ( f_search_storage );
|
||||
}
|
||||
|
||||
const int BookNum = book->sequencenum();
|
||||
const char *BookShortTitle = book->book_short_title();
|
||||
|
||||
f_search_storage->insert( BookCaseName,
|
||||
BookNum,
|
||||
BookShortTitle,
|
||||
nodelocator,
|
||||
node_title,
|
||||
str,
|
||||
sz );
|
||||
}
|
||||
*/
|
||||
/*
|
||||
//--------------------------------------------------------------------
|
||||
void
|
||||
BookCaseTask::write_full_text_record(DataRepository *store,
|
||||
const char *nodelocator,
|
||||
const char *node_title
|
||||
)
|
||||
{
|
||||
|
||||
const char *BookCaseName = bookcasename();
|
||||
|
||||
if ( !f_search_storage ) {
|
||||
const char *pathname = database()->path();
|
||||
f_search_storage = new AusTextStore( pathname, BookCaseName );
|
||||
assert( f_search_storage );
|
||||
}
|
||||
|
||||
const char *BookShortTitle = book->book_short_title();
|
||||
f_search_storage->insert( BookShortTitle,
|
||||
nodelocator,
|
||||
node_title,
|
||||
store
|
||||
);
|
||||
}
|
||||
|
||||
*/
|
||||
|
||||
//--------------------------------------------------------------------
|
||||
void BookCaseTask::markup(const Token &t)
|
||||
{
|
||||
ComplexTask::markup(t);
|
||||
|
||||
if (t.type() == START){
|
||||
|
||||
if(t.olaf() == OLAF::Bookcase){
|
||||
if(f_base >= 0){
|
||||
throw(Unexpected("second (illegal) BookCase element found"));
|
||||
}
|
||||
|
||||
f_base = t.level();
|
||||
}
|
||||
|
||||
if(f_base >= 0){
|
||||
switch(t.olaf()){
|
||||
|
||||
case OLAF::BcName:
|
||||
if(bookCaseName){
|
||||
throw(Unexpected("second (illegal) bookcase name element found"));
|
||||
}
|
||||
|
||||
bookCaseName = new OL_Data(t, OLAF::OL_data);
|
||||
addSubTask(bookCaseName);
|
||||
break;
|
||||
|
||||
case OLAF::BcDesc:
|
||||
if(bookCaseDesc){
|
||||
throw(Unexpected("second (illegal) bookcase description element found"));
|
||||
}
|
||||
|
||||
bookCaseDesc = new OL_Data(t, OLAF::OL_data);
|
||||
addSubTask(bookCaseDesc);
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
if(!f_style && t.LookupAttr(OLAF::OL_style)){
|
||||
OL_Data *tmp_style = new OL_Data(t, OLAF::OL_style);
|
||||
if ( tmp_style->DataWillBeAvailable() ) {
|
||||
f_style = tmp_style;
|
||||
addSubTask(f_style);
|
||||
}
|
||||
else {
|
||||
delete tmp_style;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
else if(t.type() == END){
|
||||
|
||||
if(t.level() == f_base){
|
||||
const char *name;
|
||||
const char *desc;
|
||||
|
||||
if(bookCaseName){
|
||||
name = bookCaseName->content();
|
||||
}else{
|
||||
throw(Unexpected("No bookcase name element in Bookcase element."));
|
||||
}
|
||||
|
||||
if(bookCaseDesc){
|
||||
desc = bookCaseDesc->content();
|
||||
}else{
|
||||
desc = "";
|
||||
}
|
||||
|
||||
printf("BookCase name: `%s' desc: `%s'\n", name, desc);
|
||||
}
|
||||
|
||||
/* @# warn if no bookcase ever found? */
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
const char *
|
||||
BookCaseTask::styleName()
|
||||
{
|
||||
const char *ret;
|
||||
|
||||
if ( Dispatch::RunTocGenOnly() ) {
|
||||
return("");
|
||||
}
|
||||
|
||||
if(!f_style) {
|
||||
throw(Unexpected ("No style architectural form defined for bookcase."));
|
||||
}
|
||||
|
||||
ret = f_style->content();
|
||||
|
||||
#ifdef FISH_DEBUG
|
||||
DBUG_PRINT("Style", ("bookcase style is: %s", ret));
|
||||
#endif
|
||||
|
||||
if(!style->exist(ret)){
|
||||
#ifdef FISH_DEBUG
|
||||
DBUG_PRINT("Error", ("style `%s' not found", ret));
|
||||
#endif
|
||||
Token::signalError(Token::User, Token::Fatal, NULL, 0,
|
||||
"An undeclared style sheet name `%s' was found in the bookcase specification.\n", ret);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
/*****************
|
||||
*
|
||||
* BookTask
|
||||
*
|
||||
*****************/
|
||||
|
||||
BookTask::BookTask(BookCaseTask *bc)
|
||||
{
|
||||
f_base = 0;
|
||||
f_seq_no = 1;
|
||||
|
||||
f_toc = NULL;
|
||||
f_bookcase = bc;
|
||||
|
||||
tocLocator = NULL;
|
||||
|
||||
shortTitle = NULL;
|
||||
title = NULL;
|
||||
|
||||
tabName = NULL;
|
||||
tabLocator = NULL;
|
||||
|
||||
tabNames = new StringList();
|
||||
tabLocators = new StringList();
|
||||
tabLines = new StringList();
|
||||
tabFiles = new StringList();
|
||||
|
||||
f_node = new NodeTask(this, NULL);
|
||||
addSubTask(f_node);
|
||||
|
||||
f_style = NULL;
|
||||
|
||||
e_string = NULL;
|
||||
e_len = 0;
|
||||
}
|
||||
|
||||
|
||||
BookTask::~BookTask()
|
||||
{
|
||||
KILLSUBTASK(f_node);
|
||||
|
||||
delete tabLocators;
|
||||
|
||||
KILLSUBTASK(title);
|
||||
KILLSUBTASK(shortTitle);
|
||||
KILLSUBTASK(tabName);
|
||||
KILLSUBTASK(tabLocator);
|
||||
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------
|
||||
void
|
||||
BookTask::encrypt( const Token &t )
|
||||
{
|
||||
/*
|
||||
* Grab all the strings that are required by the encryption API
|
||||
*/
|
||||
|
||||
char buf[ 256 ];
|
||||
|
||||
#ifdef LICENSE_MANAGEMENT
|
||||
LTerms lt;
|
||||
|
||||
char *a_val;
|
||||
|
||||
for ( const AttributeRec *arec = t.GetFirstAttr();
|
||||
arec;
|
||||
arec = t.GetNextAttr( arec ) ) {
|
||||
|
||||
a_val = ( char * )arec->getAttrValueString();
|
||||
|
||||
#ifdef FISH_DEBUG
|
||||
DBUG_PRINT("BookTasks", ("access attribute value %s", a_val) );
|
||||
#endif
|
||||
|
||||
switch ( arec->getAttrName() ) {
|
||||
|
||||
case A_FEATURE :
|
||||
|
||||
if ( lt.add_feature( a_val ) != 0 ) {
|
||||
throw(Unexpected("invalid access feature syntax"));
|
||||
}
|
||||
break;
|
||||
|
||||
case A_VEN_CODE :
|
||||
if ( lt.add_ven_code( a_val ) != 0 ) {
|
||||
throw(Unexpected("invalid access ven_code syntax") );
|
||||
}
|
||||
break;
|
||||
|
||||
case A_VERSION :
|
||||
if ( lt.add_version( a_val ) != 0 ) {
|
||||
throw(Unexpected("invalid access version syntax"));
|
||||
}
|
||||
break;
|
||||
|
||||
case A_GROUPING :
|
||||
if ( lt.add_grouping( a_val ) != 0 ) {
|
||||
throw(Unexpected("invalid access grouping syntax"));
|
||||
}
|
||||
break;
|
||||
|
||||
case A_DEMO_TERMS :
|
||||
|
||||
if ( lt.add_demo_terms( a_val ) != 0 ) {
|
||||
throw(Unexpected("invalid access demo_terms syntax"));
|
||||
}
|
||||
break;
|
||||
|
||||
case A_DEFAULT_SECTION :
|
||||
|
||||
if ( lt.add_noaccess_locator( a_val ) != 0 ) {
|
||||
throw(Unexpected("invalid default section ID syntax"));
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if ( lt.pack( buf, 256 ) ) {
|
||||
throw(Unexpected("Unable to pack the string for encryption"));
|
||||
}
|
||||
|
||||
int len = 256;
|
||||
if ( e_terms( <, buf, len ) ) {
|
||||
throw(Unexpected("Unable to encrypt string for access control"));
|
||||
}
|
||||
#else
|
||||
int len = 256;
|
||||
(void) memset(buf, '\0', len);
|
||||
#endif
|
||||
|
||||
e_string = (char *)malloc(len);
|
||||
(void)memcpy(e_string, buf, len); // Cannot use strdup - embedded NULs
|
||||
e_len = len;
|
||||
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
void BookTask::markup(const Token &t)
|
||||
{
|
||||
ComplexTask::markup(t);
|
||||
|
||||
if(t.type() == START){
|
||||
|
||||
if(t.olaf() == OLAF::Book){
|
||||
if(f_base > 0){
|
||||
throw(Unexpected("illegal nested BOOK architectural form"));
|
||||
}
|
||||
|
||||
f_base = t.level();
|
||||
}
|
||||
|
||||
if(f_base >= 0){
|
||||
switch(t.olaf()){
|
||||
case OLAF::BkSTitle:
|
||||
if(shortTitle){
|
||||
throw(Unexpected("BkSTitle already found"));
|
||||
}
|
||||
|
||||
shortTitle = new OL_Data(t, OLAF::OL_data);
|
||||
addSubTask(shortTitle);
|
||||
break;
|
||||
|
||||
case OLAF::BkTitle:
|
||||
if(title){
|
||||
throw(Unexpected("BkTitle already found"));
|
||||
}
|
||||
|
||||
title = new OL_Data(t, OLAF::OL_data);
|
||||
addSubTask(title);
|
||||
break;
|
||||
|
||||
case OLAF::Tab:
|
||||
if(tabName){
|
||||
tabNames->append(tabName->content());
|
||||
tabLocators->append(tabLocator->content());
|
||||
tabLines->append( form("%d", tabLocator->line_no()) );
|
||||
tabFiles->append( tabLocator->filename() );
|
||||
|
||||
KILLSUBTASK(tabName);
|
||||
KILLSUBTASK(tabLocator);
|
||||
}
|
||||
|
||||
tabName = new OL_Data(t, OLAF::OL_data);
|
||||
tabLocator = new OL_Data(t, OLAF::OL_idref, REMOVE_SPACES);
|
||||
addSubTask(tabName);
|
||||
addSubTask(tabLocator);
|
||||
break;
|
||||
|
||||
case OLAF::BookAccess:
|
||||
encrypt( t );
|
||||
break;
|
||||
}
|
||||
|
||||
if ( t.LookupAttr( OLAF::OL_ToC ) ) {
|
||||
if ( f_toc ) {
|
||||
throw(Unexpected("An illegal TOC was found.\n"));
|
||||
}
|
||||
|
||||
f_toc = new TOCTask(t, this);
|
||||
addSubTask(f_toc);
|
||||
}
|
||||
|
||||
if(f_base >= 0 && !f_style && t.LookupAttr(OLAF::OL_style)){
|
||||
OL_Data *tmp_style = new OL_Data(t, OLAF::OL_style);
|
||||
if ( tmp_style->DataWillBeAvailable() ) {
|
||||
f_style = tmp_style;
|
||||
addSubTask(f_style);
|
||||
}
|
||||
else {
|
||||
delete tmp_style;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
else if(t.type() == END){
|
||||
if(t.level() == f_base){ /* found end of book... write out CCF data */
|
||||
if ( !Dispatch::RunTocGenOnly() ) {
|
||||
write_record();
|
||||
}
|
||||
|
||||
reset();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
void BookTask::write_record(void)
|
||||
{
|
||||
StringList tablines;
|
||||
|
||||
/* finish any pending tab */
|
||||
if(tabName){
|
||||
tabNames->append(tabName->content());
|
||||
tabLocators->append(tabLocator->content());
|
||||
tabLines->append( form("%d", tabLocator->line_no()) );
|
||||
tabFiles->append(tabLocator->filename());
|
||||
}
|
||||
|
||||
for(int i = 0; i < tabNames->qty(); i++){
|
||||
const char *name = tabNames->item(i);
|
||||
const char *loc = tabLocators->item(i);
|
||||
const char *line = tabLines->item(i);
|
||||
const char *file = tabFiles->item(i);
|
||||
|
||||
char *p = new char [strlen(name) + 1 + strlen(loc) + 1
|
||||
+ strlen(line) + 1 + strlen(file) + 1];
|
||||
|
||||
sprintf(p, "%s\t%s\t%s\t%s", name, loc, line, file);
|
||||
tablines.append(p);
|
||||
|
||||
delete p;
|
||||
}
|
||||
|
||||
const char *bk_title;
|
||||
|
||||
if(title){
|
||||
bk_title = title->content();
|
||||
}else{
|
||||
throw(Unexpected("Required Title form missing from Book"));
|
||||
}
|
||||
|
||||
const char *bk_stitle = bk_title;
|
||||
|
||||
if ( shortTitle ) {
|
||||
bk_stitle = shortTitle->content();
|
||||
}
|
||||
|
||||
DBTable *tbl = bookcase()->table(BookCaseDB::BookMeta);
|
||||
|
||||
tbl->insert(STRING_CODE, locator(),
|
||||
STRING_CODE, bk_stitle,
|
||||
STRING_CODE, bk_title,
|
||||
INTEGER_CODE, f_seq_no,
|
||||
SHORT_LIST_CODE, tablines.qty(), STRING_CODE, tablines.array(),
|
||||
-STRING_CODE, e_string , e_len,
|
||||
NULL);
|
||||
|
||||
#ifdef FISH_DEBUG
|
||||
DBUG_PRINT("Book", ("Book... title: `%s' short title: `%s'\n",
|
||||
bk_title,
|
||||
bk_stitle));
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
void BookTask::reset()
|
||||
{
|
||||
KILLSUBTASK(shortTitle);
|
||||
KILLSUBTASK(title);
|
||||
KILLSUBTASK(f_toc);
|
||||
KILLSUBTASK(f_style);
|
||||
|
||||
delete tabNames; tabNames = new StringList();
|
||||
delete tabLocators; tabLocators = new StringList();
|
||||
|
||||
tabName = tabLocator = NULL;
|
||||
|
||||
delete tabLines; tabLines = new StringList();
|
||||
delete tabFiles; tabFiles = new StringList();
|
||||
|
||||
delete tocLocator; tocLocator = NULL;
|
||||
|
||||
|
||||
f_seq_no ++;
|
||||
f_base = 0;
|
||||
|
||||
}
|
||||
|
||||
|
||||
const char *BookTask::locator()
|
||||
{
|
||||
|
||||
if ( Dispatch::RunTocGenOnly() ) {
|
||||
return ("");
|
||||
}
|
||||
|
||||
if(!tocLocator){
|
||||
/* this is the first time anybody asked for the book's locator...
|
||||
* it must be the TOC node asking for the book locator, which
|
||||
* is the TOC node locator!
|
||||
*/
|
||||
const char *l = f_node->locator();
|
||||
tocLocator = new char[strlen(l) + 1];
|
||||
strcpy(tocLocator, l);
|
||||
}
|
||||
|
||||
return tocLocator;
|
||||
}
|
||||
|
||||
|
||||
const char *
|
||||
BookTask::styleName()
|
||||
{
|
||||
if ( Dispatch::RunTocGenOnly() ) {
|
||||
return("");
|
||||
}
|
||||
|
||||
const char *ret;
|
||||
if(f_style){
|
||||
ret = f_style->content();
|
||||
|
||||
if(f_bookcase->styleTask()->exist(ret)){
|
||||
#ifdef FISH_DEBUG
|
||||
DBUG_PRINT("Style", ("book style is: %s", ret));
|
||||
#endif
|
||||
}else{
|
||||
Token::signalError(Token::User, Token::Continuable, NULL, 0,
|
||||
"no such style `%s'\n", ret);
|
||||
ret = f_bookcase->styleName();
|
||||
}
|
||||
}else{
|
||||
ret = f_bookcase->styleName();
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
const char *
|
||||
BookTask::book_title()
|
||||
{
|
||||
if ( !title ) {
|
||||
throw(Unexpected("Book title is not available yet"));
|
||||
}
|
||||
|
||||
return( title->content() );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
const char *
|
||||
BookTask::book_short_title()
|
||||
{
|
||||
if ( !shortTitle ) {
|
||||
return( book_title() );
|
||||
}
|
||||
|
||||
return( shortTitle->content() );
|
||||
}
|
||||
|
||||
113
cde/programs/dtinfo/dtinfogen/infolib/etc/BookTasks.h
Normal file
113
cde/programs/dtinfo/dtinfogen/infolib/etc/BookTasks.h
Normal file
@@ -0,0 +1,113 @@
|
||||
/* $XConsortium: BookTasks.h /main/3 1996/07/18 15:15:19 drk $ */
|
||||
|
||||
#ifndef __BookTasks_h
|
||||
#define __BookTasks_h
|
||||
|
||||
#include "Task.h"
|
||||
|
||||
class BookTask;
|
||||
class NodeTask;
|
||||
class StyleTask;
|
||||
class OL_Data;
|
||||
class DBTable;
|
||||
class DB;
|
||||
class SearchStorage;
|
||||
|
||||
class BookCaseDB;
|
||||
|
||||
class BookCaseTask : public ComplexTask{
|
||||
public:
|
||||
BookCaseTask(const char* infolib);
|
||||
|
||||
void markup(const Token&);
|
||||
|
||||
BookCaseDB *database(); /* throw(Unexpected) */
|
||||
DBTable *table(int); /* throw(Unexpected) */
|
||||
const char *bookcasename(); /* throw(Unexpected) */
|
||||
void write_full_text_record( const char *str,
|
||||
int sz,
|
||||
const char *nodelocator,
|
||||
const char *node_title
|
||||
);
|
||||
|
||||
const char *styleName(); /* throw(Unexpected) */
|
||||
|
||||
StyleTask *styleTask() { return style; };
|
||||
|
||||
private:
|
||||
char *library;
|
||||
int f_base;
|
||||
|
||||
BookCaseDB *f_db;
|
||||
StyleTask *style;
|
||||
BookTask *book;
|
||||
SearchStorage *f_search_storage;
|
||||
|
||||
OL_Data *bookCaseName;
|
||||
OL_Data *bookCaseDesc;
|
||||
|
||||
OL_Data *f_style;
|
||||
};
|
||||
|
||||
|
||||
class BookTask : public ComplexTask{
|
||||
public:
|
||||
|
||||
BookTask(BookCaseTask *);
|
||||
~BookTask();
|
||||
|
||||
void reset(void);
|
||||
|
||||
void markup(const Token&);
|
||||
|
||||
BookCaseTask *bookcase() { return f_bookcase; };
|
||||
int sequencenum() const { return f_seq_no; }
|
||||
|
||||
const char *locator(); /* Locator for this book, i.e.
|
||||
* for the TOC node for this book
|
||||
*/
|
||||
|
||||
const char *styleName(); /* throw(Unexpected) */
|
||||
const char *book_short_title(); /* throw(Unexpected) */
|
||||
const char *book_title(); /* throw(Unexpected) */
|
||||
|
||||
protected:
|
||||
void write_record(void);
|
||||
|
||||
private:
|
||||
int f_base; /* tag nesting level of <BOOK> elt */
|
||||
|
||||
int f_seq_no; /* fulltext index document sequence number */
|
||||
|
||||
BookCaseTask *f_bookcase; /* 'parent' bookcase object */
|
||||
|
||||
OL_Data *shortTitle; /* short title collection task */
|
||||
OL_Data *title; /* title collection task */
|
||||
|
||||
char *tocLocator; /* locator of TOC node */
|
||||
|
||||
OL_Data *tabName;
|
||||
OL_Data *tabLocator;
|
||||
|
||||
class StringList *tabNames;
|
||||
class StringList *tabLocators;
|
||||
class StringList *tabLines;
|
||||
class StringList *tabFiles;
|
||||
|
||||
NodeTask *f_node;
|
||||
|
||||
Task *f_toc;
|
||||
|
||||
OL_Data *f_style;
|
||||
|
||||
void encrypt( const Token & );
|
||||
char *e_string; /*
|
||||
* The encrypted string that is associated
|
||||
* with the access permission for this book
|
||||
*/
|
||||
int e_len;
|
||||
};
|
||||
|
||||
|
||||
#endif /* __BookTasks_h */
|
||||
|
||||
63
cde/programs/dtinfo/dtinfogen/infolib/etc/ConcatTask.C
Normal file
63
cde/programs/dtinfo/dtinfogen/infolib/etc/ConcatTask.C
Normal file
@@ -0,0 +1,63 @@
|
||||
/* $XConsortium: ConcatTask.C /main/3 1996/08/21 15:46:12 drk $ */
|
||||
/* exported interfaces */
|
||||
#include "ConcatTask.h"
|
||||
|
||||
/* imported interfaces */
|
||||
#include "Expression.h"
|
||||
#include "ExprList.h"
|
||||
#include "Token.h"
|
||||
#include "AttributeData.h"
|
||||
#include "Content.h"
|
||||
#include "FirstOf.h"
|
||||
#include "GenericId.h"
|
||||
#include "Literal.h"
|
||||
|
||||
Concat::Concat( const Token &t,
|
||||
ExprList *elist,
|
||||
ActionType mode):OL_Data(t, mode)
|
||||
{
|
||||
|
||||
for ( OL_Expression *eptr = elist->first();
|
||||
eptr;
|
||||
eptr = elist->next(eptr) ) {
|
||||
switch ( eptr->type() ) {
|
||||
|
||||
case REFERENCE:
|
||||
addSubTask( new AttributeData( t, eptr->name(), mode ));
|
||||
break;
|
||||
|
||||
case CONTENT:
|
||||
addSubTask( new Content(t,mode) );
|
||||
break;
|
||||
|
||||
case CONCAT:
|
||||
addSubTask( new Concat( t,
|
||||
(ExprList *)eptr->data_list(),
|
||||
mode) );
|
||||
break;
|
||||
|
||||
case FIRSTOF:
|
||||
addSubTask( new FirstOf( t,
|
||||
(ExprList *)eptr->data_list(),
|
||||
mode) );
|
||||
break;
|
||||
|
||||
case GENERIC_ID:
|
||||
addSubTask( new GenericId( t,
|
||||
eptr->name(),
|
||||
mode) );
|
||||
break;
|
||||
|
||||
case LITERAL:
|
||||
addSubTask( new Literal( t,
|
||||
( const char *)eptr->data_list(),
|
||||
mode) );
|
||||
break;
|
||||
|
||||
default:
|
||||
abort();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
23
cde/programs/dtinfo/dtinfogen/infolib/etc/ConcatTask.h
Normal file
23
cde/programs/dtinfo/dtinfogen/infolib/etc/ConcatTask.h
Normal file
@@ -0,0 +1,23 @@
|
||||
/* $XConsortium: ConcatTask.h /main/2 1996/07/18 16:40:43 drk $ */
|
||||
#ifndef __Concat_h__
|
||||
#define __Concat_h__
|
||||
|
||||
#include "Task.h"
|
||||
#include "OL-Data.h"
|
||||
|
||||
class ExprList;
|
||||
class Token;
|
||||
|
||||
class Concat : public OL_Data {
|
||||
|
||||
friend class FirstOf;
|
||||
friend class OL_Data;
|
||||
|
||||
protected:
|
||||
Concat( const Token &t, ExprList *elist, ActionType mode );
|
||||
void markup( const Token &t ) { OL_Data::markup(t); }
|
||||
void data( const char *str, size_t sz ) { OL_Data::data(str, sz); }
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
55
cde/programs/dtinfo/dtinfogen/infolib/etc/Content.C
Normal file
55
cde/programs/dtinfo/dtinfogen/infolib/etc/Content.C
Normal file
@@ -0,0 +1,55 @@
|
||||
/* $XConsortium: Content.cc /main/2 1996/07/18 16:10:34 drk $ */
|
||||
|
||||
/* exported interfaces */
|
||||
#include "Content.h"
|
||||
|
||||
/* imported interfaces */
|
||||
#include "Dispatch.h"
|
||||
#include "OL-Data.h"
|
||||
#include "Token.h"
|
||||
#include "SGMLName.h"
|
||||
|
||||
void
|
||||
Content::markup( const Token &t )
|
||||
{
|
||||
|
||||
if ( ignore_status && !Dispatch::OutsideIgnoreScope() ) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ( f_base > 0 ) {
|
||||
|
||||
if ( t.type() == END ) {
|
||||
if ( f_base == t.level() ) {
|
||||
f_base = -1;
|
||||
data_complete=1;
|
||||
}
|
||||
}
|
||||
else if ( t.type() == EXTERNAL_ENTITY ) {
|
||||
data_avail = 1;
|
||||
ValueBuffer.writeStr( t.getEntityFileName() );
|
||||
}
|
||||
else if ( t.type() == INTERNAL_ENTITY ) {
|
||||
data_avail = 1;
|
||||
ValueBuffer.put( '&' );
|
||||
ValueBuffer.writeStr( SGMLName::lookup( t.getEntityName() ) );
|
||||
ValueBuffer.put( ';' );
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
Content::data( const char *str, size_t sz )
|
||||
{
|
||||
|
||||
if ( ignore_status && !Dispatch::OutsideIgnoreScope() ) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ( f_base > 0 ) {
|
||||
ValueBuffer.write ( str, sz );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
24
cde/programs/dtinfo/dtinfogen/infolib/etc/Content.h
Normal file
24
cde/programs/dtinfo/dtinfogen/infolib/etc/Content.h
Normal file
@@ -0,0 +1,24 @@
|
||||
/* $XConsortium: Content.h /main/2 1996/07/18 16:41:08 drk $ */
|
||||
#ifndef __Cont_h__
|
||||
#define __Cont_h__
|
||||
|
||||
#include "BaseDataCollect.h"
|
||||
|
||||
class Token;
|
||||
|
||||
class Content : public BaseData {
|
||||
|
||||
friend class FirstOf;
|
||||
friend class OL_Data;
|
||||
friend class Concat;
|
||||
|
||||
protected:
|
||||
Content( const Token &t , ActionType mode);
|
||||
void markup( const Token &t );
|
||||
void data( const char *str, size_t sz );
|
||||
};
|
||||
|
||||
inline
|
||||
Content::Content( const Token &t, ActionType mode ):BaseData(t, mode) {}
|
||||
|
||||
#endif
|
||||
34
cde/programs/dtinfo/dtinfogen/infolib/etc/ContentRec.h
Normal file
34
cde/programs/dtinfo/dtinfogen/infolib/etc/ContentRec.h
Normal file
@@ -0,0 +1,34 @@
|
||||
/* $XConsortium: ContentRec.h /main/2 1996/07/18 16:41:34 drk $ */
|
||||
#ifndef __CRec_hdr__
|
||||
#define __CRec_hdr__
|
||||
|
||||
#include "VarElementList.h"
|
||||
|
||||
class ContentRec {
|
||||
|
||||
friend class OL_Data;
|
||||
friend int ol_dataparse();
|
||||
friend class ContentType;
|
||||
|
||||
private:
|
||||
int data_type;
|
||||
int attr_name;
|
||||
VarElementList var_list;
|
||||
ContentRec *next;
|
||||
|
||||
public:
|
||||
void Init ( int dtype, int aname=0, VarElement *vList=0 );
|
||||
ContentRec() { attr_name = -1; data_type=-1, next = 0; }
|
||||
};
|
||||
|
||||
/*--------------------------------------------------------*/
|
||||
inline
|
||||
void
|
||||
ContentRec::Init( int dtype, int aname, VarElement *vlist )
|
||||
{
|
||||
data_type = dtype;
|
||||
attr_name = aname;
|
||||
var_list.insert ( vlist );
|
||||
}
|
||||
|
||||
#endif
|
||||
2513
cde/programs/dtinfo/dtinfogen/infolib/etc/ContentType.C
Normal file
2513
cde/programs/dtinfo/dtinfogen/infolib/etc/ContentType.C
Normal file
File diff suppressed because it is too large
Load Diff
28
cde/programs/dtinfo/dtinfogen/infolib/etc/ContentType.h
Normal file
28
cde/programs/dtinfo/dtinfogen/infolib/etc/ContentType.h
Normal file
@@ -0,0 +1,28 @@
|
||||
/* $XConsortium: ContentType.h /main/3 1996/08/21 15:46:16 drk $ */
|
||||
#ifndef __Content_Type_h__
|
||||
#define __Content_Type_h__
|
||||
|
||||
#include <assert.h>
|
||||
|
||||
class OL_Expression;
|
||||
|
||||
class ContentType {
|
||||
|
||||
friend class OL_Data;
|
||||
|
||||
private:
|
||||
OL_Expression *exprlist;
|
||||
|
||||
protected:
|
||||
void Parse( char *str );
|
||||
ContentType();
|
||||
~ContentType();
|
||||
|
||||
public:
|
||||
void init ( OL_Expression *elist ); // Construct a ExprList object
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
208
cde/programs/dtinfo/dtinfogen/infolib/etc/ContentType.l
Normal file
208
cde/programs/dtinfo/dtinfogen/infolib/etc/ContentType.l
Normal file
@@ -0,0 +1,208 @@
|
||||
%{
|
||||
/* $XConsortium: ContentType.l /main/2 1996/11/19 16:54:22 drk $ */
|
||||
|
||||
#include <iostream.h>
|
||||
#include <stream.h>
|
||||
#include <stdio.h>
|
||||
#include <memory.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <assert.h>
|
||||
|
||||
#include "Exceptions.hh"
|
||||
|
||||
#include "Task.h"
|
||||
#include "SGMLName.h"
|
||||
#include "ExprList.h"
|
||||
#include "Expression.h"
|
||||
#include "OL_DataExpr.tab.h"
|
||||
#include "ContentType.h"
|
||||
|
||||
/* CurrentContentPtr is used as the communication media between
|
||||
* yyparse and ContentType::Parse()
|
||||
*/
|
||||
|
||||
ContentType *CurrentContentPtr;
|
||||
|
||||
/*
|
||||
* Forward declaration for my_input
|
||||
*/
|
||||
static int my_input ( char *, int );
|
||||
extern int yyparse();
|
||||
|
||||
|
||||
#undef YY_INPUT
|
||||
#define YY_INPUT(b, r, ms ) ( r=my_input( ( char *)b,ms) )
|
||||
|
||||
static char *myinput;
|
||||
static char *myinputptr;
|
||||
static char *myinputlim;
|
||||
|
||||
// Debugging macro
|
||||
#ifdef DEBUG
|
||||
#define DBG(level) if ( dbgLevel >= level)
|
||||
#else
|
||||
#define DBG(level) if (0)
|
||||
#endif
|
||||
|
||||
static int dbgLevel = -1;
|
||||
|
||||
%}
|
||||
|
||||
%%
|
||||
|
||||
"@"[a-zA-Z0-9]+ {
|
||||
yylval.name = SGMLName::intern((const char *)yytext+1 ,1);
|
||||
return( Reference );
|
||||
}
|
||||
["][^"]*["] {
|
||||
if ( *(yytext + 1) != '"' ) {
|
||||
// get rid of the 2 quotes
|
||||
int len = strlen(( const char *)yytext)-2;
|
||||
char *lit_str = new char [ len + 1 ];
|
||||
strncpy ( lit_str,
|
||||
(const char *)yytext + 1,
|
||||
len );
|
||||
|
||||
*(lit_str + len) = '\0';
|
||||
yylval.string = lit_str;
|
||||
}
|
||||
else {
|
||||
yylval.string = 0;
|
||||
}
|
||||
|
||||
DBG(50) cerr << "(DEBUG) literal \"string\" = "
|
||||
<< yylval.string << endl;
|
||||
|
||||
return( Literal );
|
||||
}
|
||||
['][^']*['] {
|
||||
if ( *(yytext + 1) != '\'' ) {
|
||||
// get rid of the 2 quotes
|
||||
int len = strlen(( const char *)yytext)-2;
|
||||
char *lit_str = new char [ len + 1 ];
|
||||
strncpy ( lit_str,
|
||||
(const char *)yytext + 1,
|
||||
len );
|
||||
|
||||
*(lit_str + len) = '\0';
|
||||
yylval.string = lit_str;
|
||||
|
||||
}
|
||||
else {
|
||||
yylval.string = 0;
|
||||
}
|
||||
|
||||
DBG(50) cerr << "(DEBUG) literal 'string' = "
|
||||
<< yylval.string << endl;
|
||||
|
||||
return( Literal );
|
||||
}
|
||||
|
||||
[Aa][Tt][Tt][Rr] { return( Attr ); }
|
||||
[Cc][Oo][Nn][Cc][Aa][Tt] { return( Concat ); }
|
||||
[Ff][Ii][Rr][Ss][Tt][Oo][Ff] { return( FirstOf); }
|
||||
"#"[Cc][Oo][Nn][Tt][Ee][Nn][Tt] { return( Content ); }
|
||||
[^(,)\n\t ]+ {
|
||||
yylval.name = SGMLName::intern((const char *)yytext,1);
|
||||
DBG(10) cerr << "(DEBUG) matches"
|
||||
<< (char *)SGMLName::lookup(yylval.name)
|
||||
<< endl;
|
||||
return ( Id );
|
||||
}
|
||||
[(,)] {
|
||||
DBG(10) cerr << "(DEBUG) matches"
|
||||
<< (char *)yytext
|
||||
<< endl;
|
||||
return ( yytext[0] );
|
||||
}
|
||||
[\n\t ]+ ;
|
||||
. {
|
||||
throw(Unexpected(
|
||||
"Syntax error in value expression"));
|
||||
|
||||
}
|
||||
%%
|
||||
|
||||
static int
|
||||
my_input ( char *buf, int max_size )
|
||||
{
|
||||
|
||||
int remain = myinputlim - myinputptr;
|
||||
int n = ( max_size > remain ? remain : max_size );
|
||||
|
||||
if ( n > 0 ) {
|
||||
memcpy ( buf, myinputptr, n );
|
||||
myinputptr += n;
|
||||
}
|
||||
return n;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
void
|
||||
ol_dataerror(char *str)
|
||||
{
|
||||
throw(Unexpected(form("Syntax error in %s", myinput)));
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
ContentType::ContentType()
|
||||
{
|
||||
char *dbgStr;
|
||||
dbgStr = getenv ("OL_DEBUG");
|
||||
dbgLevel = ( dbgStr ? atoi ( dbgStr ) : 0 );
|
||||
exprlist = 0;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
ContentType::~ContentType()
|
||||
{
|
||||
|
||||
Expression *eptr = exprlist;
|
||||
while ( eptr ) {
|
||||
Expression *tmp = eptr;
|
||||
eptr = eptr->next;
|
||||
delete tmp;
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
void
|
||||
ContentType::Parse( char *str )
|
||||
{
|
||||
|
||||
DBG(10) cerr << "(DEBUG) ContentType::Parse() str = " << str << endl;
|
||||
|
||||
myinput = str;
|
||||
myinputptr = str;
|
||||
myinputlim = str + strlen(str);
|
||||
|
||||
CurrentContentPtr = this;
|
||||
|
||||
yyparse();
|
||||
|
||||
BEGIN INITIAL;
|
||||
yyrestart(NULL);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------
|
||||
void
|
||||
ContentType::init( Expression *expr )
|
||||
{
|
||||
assert(expr);
|
||||
if ( expr->next ) {
|
||||
|
||||
/*
|
||||
* The same as CONCAT
|
||||
*/
|
||||
ExprList *elist = new ExprList( expr );
|
||||
Expression *new_expr = new Expression ( CONCAT, -1, elist );
|
||||
assert(new_expr);
|
||||
|
||||
exprlist = new_expr;
|
||||
}
|
||||
else {
|
||||
exprlist = expr;
|
||||
}
|
||||
}
|
||||
|
||||
635
cde/programs/dtinfo/dtinfogen/infolib/etc/DataBase.C
Normal file
635
cde/programs/dtinfo/dtinfogen/infolib/etc/DataBase.C
Normal file
@@ -0,0 +1,635 @@
|
||||
/* $TOG: DataBase.C /main/5 1998/04/17 11:43:17 mgreess $
|
||||
*
|
||||
* (c) Copyright 1996 Digital Equipment Corporation.
|
||||
* (c) Copyright 1996 Hewlett-Packard Company.
|
||||
* (c) Copyright 1996 International Business Machines Corp.
|
||||
* (c) Copyright 1996 Sun Microsystems, Inc.
|
||||
* (c) Copyright 1996 Novell, Inc.
|
||||
* (c) Copyright 1996 FUJITSU LIMITED.
|
||||
* (c) Copyright 1996 Hitachi.
|
||||
*/
|
||||
|
||||
/* imported interfaces... */
|
||||
#include <string.h>
|
||||
#include <stdarg.h>
|
||||
#include <assert.h>
|
||||
#include <unistd.h>
|
||||
#include <errno.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/types.h>
|
||||
#include "StringList.h"
|
||||
#include "Token.h"
|
||||
|
||||
/* exported interfaces... */
|
||||
#include "DataBase.h"
|
||||
|
||||
|
||||
#define FRIENDLY_ASSERT(e) \
|
||||
if(!(e)) Token::signalError(Token::Internal, Token::Fatal, \
|
||||
__FILE__, __LINE__, \
|
||||
"assertion failed: " #e);
|
||||
|
||||
DB::DB(const char *name)
|
||||
{
|
||||
f_name = new char[strlen(name)+1];
|
||||
strcpy(f_name, name);
|
||||
}
|
||||
|
||||
|
||||
static int isdir(const char* filename)
|
||||
{
|
||||
int ret = 0;
|
||||
struct stat sb;
|
||||
|
||||
if(stat(filename, &sb) == 0){
|
||||
if(S_ISDIR(sb.st_mode)){
|
||||
ret = 1;
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
static void makedir(const char *path) /* throw(PosixError) */
|
||||
{
|
||||
if(mkdir((char*)path, DATABASE_DIRECTORY_MODE) != 0){
|
||||
throw(PosixError(errno, path));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
DBTable *DB::table(const char *tname, int scode, int cols,
|
||||
int access)
|
||||
/* throw(PosixError); */
|
||||
{
|
||||
DBTable *ret = 0; /* keep compiler happy */
|
||||
|
||||
switch(access){
|
||||
case CREATE:
|
||||
if(!isdir(f_name)){
|
||||
makedir(f_name);
|
||||
}
|
||||
|
||||
ret = new DBTable(this, scode, cols, tname);
|
||||
break;
|
||||
|
||||
case READ:
|
||||
ret = new DBTable(this, scode, cols, tname);
|
||||
ret->file(DB::READ);
|
||||
break;
|
||||
|
||||
default:
|
||||
abort();
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
|
||||
DBTable::DBTable(DB *database, int schema_code, int cols, const char *name)
|
||||
{
|
||||
f_database = database;
|
||||
f_schema_code = schema_code;
|
||||
f_cols = cols;
|
||||
|
||||
f_name = new char[strlen(name)+1];
|
||||
strcpy(f_name, name);
|
||||
|
||||
f_file = NULL;
|
||||
f_start = 0;
|
||||
}
|
||||
|
||||
|
||||
DBTable::~DBTable()
|
||||
{
|
||||
if(f_file && strcmp(f_name, DATABASE_STDIO) != 0) fclose(f_file);
|
||||
delete f_name;
|
||||
}
|
||||
|
||||
|
||||
FILE *
|
||||
DBTable::file(DB::Access access)
|
||||
{
|
||||
if(!f_file){
|
||||
if(strcmp(f_name, DATABASE_STDIO) == 0){
|
||||
|
||||
f_file = access == DB::CREATE ? stdout : stdin;
|
||||
|
||||
}else{
|
||||
|
||||
const char *p = f_database->path();
|
||||
char *path = new char[strlen(p) + 1 + strlen(f_name) + 1];
|
||||
sprintf(path, "%s/%s", p, f_name);
|
||||
|
||||
f_file = fopen(path, access == DB::CREATE ? "w" : "r");
|
||||
|
||||
if(!f_file){
|
||||
throw(PosixError(errno, path));
|
||||
}
|
||||
|
||||
delete path;
|
||||
}
|
||||
}
|
||||
|
||||
return f_file;
|
||||
}
|
||||
|
||||
|
||||
//----------------------------------------------------------
|
||||
void DBTable::insert(int typecode, ...)
|
||||
{
|
||||
FILE *out = file(DB::CREATE);
|
||||
va_list ap;
|
||||
|
||||
va_start(ap, typecode);
|
||||
|
||||
fprintf(out, "%d\n%d\n", f_schema_code, f_cols);
|
||||
|
||||
int cols_found = 0;
|
||||
|
||||
while(typecode != 0){
|
||||
switch(typecode){
|
||||
case STRING_CODE:
|
||||
{
|
||||
const char *str = va_arg(ap, const char*);
|
||||
fprintf(out, "%d\n%ld\t%s\n", STRING_CODE, (long)strlen(str), str);
|
||||
}
|
||||
break;
|
||||
|
||||
case -STRING_CODE:
|
||||
{
|
||||
const char *str = va_arg(ap, const char*);
|
||||
size_t len = va_arg(ap, size_t);
|
||||
fprintf(out, "%d\n%ld\t", STRING_CODE, (long)len );
|
||||
fwrite ( str, len, 1, out );
|
||||
fputc( '\n', out);
|
||||
}
|
||||
break;
|
||||
|
||||
case COMPRESSED_STRING_CODE:
|
||||
{
|
||||
const char *comp_agent = va_arg(ap, const char* );
|
||||
const char *str = va_arg(ap, const char* );
|
||||
|
||||
fprintf(out, "%d\n%s\n%ld\t%s\n", COMPRESSED_STRING_CODE,comp_agent,
|
||||
(long)strlen(str), str );
|
||||
}
|
||||
break;
|
||||
|
||||
case -COMPRESSED_STRING_CODE:
|
||||
{
|
||||
const char *comp_agent = va_arg(ap, const char* );
|
||||
const char *str = va_arg(ap, const char* );
|
||||
|
||||
size_t len = va_arg(ap, size_t );
|
||||
fprintf(out, "%d\n%s\n%ld\t", COMPRESSED_STRING_CODE,
|
||||
comp_agent,
|
||||
(long)len
|
||||
);
|
||||
|
||||
fwrite( str, len, 1, out );
|
||||
fputc('\n', out);
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
case OID_CODE:
|
||||
{
|
||||
const char *oid = va_arg(ap, const char*);
|
||||
fprintf(out, "%d\n%s\n", OID_CODE, oid);
|
||||
}
|
||||
break;
|
||||
|
||||
case INTEGER_CODE:
|
||||
{
|
||||
int x = va_arg(ap, int);
|
||||
fprintf(out, "%d\n%d\n", INTEGER_CODE, x);
|
||||
}
|
||||
break;
|
||||
|
||||
case SHORT_LIST_CODE:
|
||||
{
|
||||
int qty = va_arg(ap, int);
|
||||
int code = va_arg(ap, int);
|
||||
|
||||
fprintf(out, "%d\n#\n", SHORT_LIST_CODE);
|
||||
|
||||
switch(code){
|
||||
case INTEGER_CODE:
|
||||
{
|
||||
int *items = va_arg(ap, int*);
|
||||
|
||||
for(int i = 0; i < qty; i++){
|
||||
fprintf(out, "%d\n%d\n", code, items[i]);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case STRING_CODE:
|
||||
{
|
||||
const char **items = va_arg(ap, const char**);
|
||||
|
||||
for(int i = 0; i < qty; i++){
|
||||
fprintf(out, "%d\n%ld\t%s\n",
|
||||
code, (long)strlen(items[i]), items[i]);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case OID_CODE:
|
||||
{
|
||||
const char **items = va_arg(ap, const char**);
|
||||
|
||||
for(int i = 0; i < qty; i++){
|
||||
fprintf(out, "%d\n%s\n",
|
||||
code, items[i]);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
fprintf(stderr, "Internal error: unknown database type code: %d\n",
|
||||
code);
|
||||
abort();
|
||||
}
|
||||
|
||||
fprintf(out, "#\n");
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case OID_LIST_CODE:
|
||||
{
|
||||
int qty = va_arg(ap, int);
|
||||
|
||||
fprintf(out, "%d\n#\n", OID_LIST_CODE);
|
||||
|
||||
const char **items = va_arg(ap, const char**);
|
||||
|
||||
for(int i = 0; i < qty; i++){
|
||||
fprintf(out, "%s\n", items[i]);
|
||||
}
|
||||
|
||||
fprintf(out, "#\n");
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
fprintf(stderr, "Internal error: unknown database type code: %d\n",
|
||||
typecode);
|
||||
abort();
|
||||
}
|
||||
|
||||
cols_found++;
|
||||
|
||||
typecode = va_arg(ap, int);
|
||||
}
|
||||
|
||||
va_end(ap);
|
||||
|
||||
fflush(out); /* @# some routines are sloppy and don't
|
||||
* close their tables!
|
||||
*/
|
||||
|
||||
assert(cols_found == f_cols);
|
||||
}
|
||||
|
||||
|
||||
|
||||
//----------------------------------------------------------
|
||||
void DBTable::insert_untagged(int typecode, ...)
|
||||
{
|
||||
FILE *out = file(DB::CREATE);
|
||||
va_list ap;
|
||||
|
||||
va_start(ap, typecode);
|
||||
|
||||
fprintf(out, "%d\n", f_schema_code);
|
||||
|
||||
if(f_start){
|
||||
fprintf(out, "+");
|
||||
f_start = 0;
|
||||
}
|
||||
|
||||
int cols_found = 0;
|
||||
|
||||
while(typecode != 0){
|
||||
switch(typecode){
|
||||
case STRING_CODE:
|
||||
{
|
||||
const char *str = va_arg(ap, const char*);
|
||||
fprintf(out, "%ld\t%s\n", (long)strlen(str), str);
|
||||
}
|
||||
break;
|
||||
|
||||
case -STRING_CODE:
|
||||
{
|
||||
const char *str = va_arg(ap, const char*);
|
||||
size_t len = va_arg(ap, size_t);
|
||||
fprintf(out, "%ld\t", (long)len );
|
||||
fwrite ( str, len, 1, out );
|
||||
fputc( '\n', out);
|
||||
}
|
||||
break;
|
||||
|
||||
case OID_CODE:
|
||||
{
|
||||
const char *oid = va_arg(ap, const char*);
|
||||
fprintf(out, "%s\n", oid);
|
||||
}
|
||||
break;
|
||||
|
||||
case INTEGER_CODE:
|
||||
{
|
||||
int x = va_arg(ap, int);
|
||||
fprintf(out, "%d\n", x);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
fprintf(stderr, "Internal error: unknown database type code: %d\n",
|
||||
typecode);
|
||||
abort();
|
||||
}
|
||||
|
||||
cols_found++;
|
||||
|
||||
typecode = va_arg(ap, int);
|
||||
}
|
||||
|
||||
va_end(ap);
|
||||
|
||||
fflush(out); /* @# some routines are sloppy and don't
|
||||
* close their tables!
|
||||
*/
|
||||
|
||||
assert(cols_found == f_cols);
|
||||
}
|
||||
|
||||
|
||||
|
||||
//----------------------------------------------------------
|
||||
void DBTable::start_list()
|
||||
{
|
||||
this->f_start = 1;
|
||||
}
|
||||
|
||||
|
||||
//----------------------------------------------------------
|
||||
void DBTable::end_list()
|
||||
{
|
||||
fprintf(file(DB::CREATE), "-\n");
|
||||
f_start = 0;
|
||||
}
|
||||
|
||||
|
||||
//----------------------------------------------------------
|
||||
DBCursor::DBCursor(DBTable &t)
|
||||
{
|
||||
f_table = &t;
|
||||
f_start = -1;
|
||||
|
||||
f_fields = new StringList();
|
||||
f_list = NULL;
|
||||
}
|
||||
|
||||
|
||||
//----------------------------------------------------------
|
||||
DBCursor::~DBCursor()
|
||||
{
|
||||
|
||||
// this is for the last record
|
||||
delete f_fields;
|
||||
if ( f_list ) delete f_list;
|
||||
}
|
||||
|
||||
|
||||
//----------------------------------------------------------
|
||||
|
||||
void DBCursor::string_field(FILE *fp, char **out, int *lenOut)
|
||||
{
|
||||
int len = 0;
|
||||
int io;
|
||||
|
||||
/* fscanf is wierd, so we do it ourselves... */
|
||||
while(isdigit(io = fgetc(fp))){
|
||||
len = len * 10 + (io - '0');
|
||||
}
|
||||
FRIENDLY_ASSERT(io == '\t');
|
||||
|
||||
char *str = new char[len + 1];
|
||||
io = fread(str, sizeof(str[0]), len+1, fp); /* read \n also */
|
||||
|
||||
FRIENDLY_ASSERT(io == len+1);
|
||||
|
||||
str[len] = 0; /* replace \n with 0 (just in case...) */
|
||||
|
||||
if(out){
|
||||
f_fields->add(str);
|
||||
*out = str;
|
||||
|
||||
if(lenOut) *lenOut = len;
|
||||
}else{
|
||||
delete str;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void DBCursor::int_field(FILE *fp, int *out)
|
||||
{
|
||||
int an_int;
|
||||
int io;
|
||||
|
||||
io = fscanf(fp, "%d\n", &an_int);
|
||||
|
||||
FRIENDLY_ASSERT(io == 1);
|
||||
|
||||
if(out) *out = an_int;
|
||||
}
|
||||
|
||||
|
||||
void DBCursor::short_list(FILE *fp, int *qout, int ltype, void *out)
|
||||
{
|
||||
int c;
|
||||
|
||||
c = fgetc(fp);
|
||||
FRIENDLY_ASSERT(c == '#');
|
||||
|
||||
c = fgetc(fp);
|
||||
FRIENDLY_ASSERT(c == '\n');
|
||||
|
||||
switch(ltype){
|
||||
case STRING_CODE:
|
||||
{
|
||||
typedef const char** ccpp;
|
||||
ccpp *cpout = (ccpp*)out;
|
||||
|
||||
assert(f_list == NULL); /* only one SHORT_LIST per record supported */
|
||||
f_list = new StringList;
|
||||
|
||||
while((c = fgetc(fp)) != '#'){
|
||||
char *item;
|
||||
int ftype;
|
||||
|
||||
ungetc(c, fp);
|
||||
fscanf(fp, "%d\n", &ftype);
|
||||
FRIENDLY_ASSERT(ftype == STRING_CODE);
|
||||
|
||||
string_field(fp, &item, NULL);
|
||||
f_list->append(item);
|
||||
}
|
||||
|
||||
*cpout = f_list->array();
|
||||
*qout = f_list->qty();
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
abort(); /* only strings supported */
|
||||
}
|
||||
|
||||
c = fgetc(fp);
|
||||
|
||||
FRIENDLY_ASSERT(c == '\n');
|
||||
}
|
||||
|
||||
|
||||
int DBCursor::next(int typeCode, ...)
|
||||
{
|
||||
int ret = 1;
|
||||
FILE *fp = f_table->file(DB::READ);
|
||||
int io;
|
||||
int recordClass;
|
||||
|
||||
if(f_start < 0){ /* on first call to next(), reset the file */
|
||||
rewind(fp);
|
||||
}
|
||||
|
||||
f_start = ftell(fp);
|
||||
io = fscanf(fp, "%d\n", &recordClass); /* get record code */
|
||||
|
||||
if(io != EOF){ /* got any data? */
|
||||
|
||||
FRIENDLY_ASSERT(io == 1);
|
||||
|
||||
// clean up previous fields first if they exist
|
||||
f_fields->reset();
|
||||
delete f_list; f_list = NULL;
|
||||
|
||||
va_list ap;
|
||||
va_start(ap, typeCode);
|
||||
|
||||
int fieldQty;
|
||||
|
||||
io = fscanf(fp, "%d\n", &fieldQty); /* get field count */
|
||||
FRIENDLY_ASSERT(io == 1);
|
||||
|
||||
/* iterate over fields in the input stream... */
|
||||
while(fieldQty--){
|
||||
int fieldCode;
|
||||
|
||||
io = fscanf(fp, "%d\n", &fieldCode); /* get field type */
|
||||
FRIENDLY_ASSERT(io == 1);
|
||||
|
||||
assert(typeCode); /* make sure caller didn't give too few args */
|
||||
|
||||
switch(fieldCode){
|
||||
case STRING_CODE:
|
||||
{
|
||||
char **data = NULL;
|
||||
int *len = NULL;
|
||||
|
||||
if (fieldCode == typeCode || (fieldCode + typeCode) == 0) {
|
||||
data = va_arg(ap, char**);
|
||||
|
||||
if (fieldCode != typeCode) {
|
||||
len = va_arg(ap, int*);
|
||||
}
|
||||
}
|
||||
|
||||
string_field(fp, data, len);
|
||||
}
|
||||
break;
|
||||
|
||||
case INTEGER_CODE:
|
||||
int_field(fp, fieldCode == typeCode ? va_arg(ap, int*) : 0);
|
||||
break;
|
||||
|
||||
case SHORT_LIST_CODE:
|
||||
{
|
||||
int *qout = va_arg(ap, int *);
|
||||
int ltype = va_arg(ap, int);
|
||||
void *out = va_arg(ap, void*);
|
||||
short_list(fp, qout, ltype, out);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
abort();
|
||||
}
|
||||
|
||||
typeCode = va_arg(ap, int);
|
||||
}
|
||||
|
||||
assert(typeCode == 0); /* check for end marker */
|
||||
|
||||
va_end(ap);
|
||||
|
||||
}else{
|
||||
ret = 0; /* EOF found... no record */
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
void DBCursor::undoNext()
|
||||
{
|
||||
FILE *fp = f_table->file(DB::READ);
|
||||
|
||||
if(f_start >= 0){
|
||||
if(fseek(fp, f_start, 0) < 0){
|
||||
throw(PosixError(errno, f_table->name()));
|
||||
}
|
||||
}else{
|
||||
abort(); /* @# throw("no next to undo!") */
|
||||
}
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------
|
||||
void DBCursor::local_rewind()
|
||||
{
|
||||
f_start = -1;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------
|
||||
int DBCursor::tell()
|
||||
{
|
||||
if ( f_start == -1 ) {
|
||||
return(0);
|
||||
}
|
||||
else {
|
||||
return f_start;
|
||||
}
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------
|
||||
void DBCursor::seekToRec( int pos )
|
||||
{
|
||||
FILE *fp = f_table->file(DB::READ);
|
||||
if ( pos >= 0 ){
|
||||
if (fseek(fp, pos, 0) < 0 ) {
|
||||
throw(PosixError(errno, f_table->name()));
|
||||
}
|
||||
}
|
||||
else{
|
||||
abort();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
162
cde/programs/dtinfo/dtinfogen/infolib/etc/DataBase.h
Normal file
162
cde/programs/dtinfo/dtinfogen/infolib/etc/DataBase.h
Normal file
@@ -0,0 +1,162 @@
|
||||
/* $XConsortium: DataBase.h /main/6 1996/10/26 18:17:26 cde-hal $ -*- c++ -*- */
|
||||
|
||||
#ifndef __DataBase_h
|
||||
#define __DataBase_h
|
||||
|
||||
#include "Exceptions.hh"
|
||||
#include "object/c_codes.h" /* mmdb codes */
|
||||
#include "oliasdb/olias_consts.h"
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
class PosixError : public Exception{
|
||||
|
||||
public:
|
||||
|
||||
enum { MAXMSG = 200 };
|
||||
|
||||
PosixError(int error_no, const char *msg)
|
||||
{ f_errno = error_no; strncpy(f_msg, msg, MAXMSG+1); };
|
||||
|
||||
const char *msg(void) const { return f_msg; };
|
||||
int error_no(void) const { return f_errno; };
|
||||
|
||||
DECLARE_EXCEPTION(PosixError, Exception);
|
||||
|
||||
private:
|
||||
char f_msg[MAXMSG+1];
|
||||
int f_errno;
|
||||
};
|
||||
|
||||
|
||||
#define DATABASE_DIRECTORY_MODE 0775
|
||||
|
||||
#define DATABASE_STDIO "-"
|
||||
|
||||
class DBTable;
|
||||
|
||||
class DB{
|
||||
public:
|
||||
/*
|
||||
* USE: const char *dir = "/some/dir/for/all/the/tables";
|
||||
* DB *db = DB(dir);
|
||||
* assert(strcmp(db->path(), dir) == 0);
|
||||
*/
|
||||
DB(const char *name); /* a directory, for now */
|
||||
~DB() { if ( f_name ) delete f_name; }
|
||||
const char *path(void) { return f_name; };
|
||||
|
||||
|
||||
typedef enum { READ, CREATE
|
||||
#if DB_UPDATE
|
||||
, UPDATE
|
||||
#endif
|
||||
} Access;
|
||||
|
||||
/*
|
||||
* USE: DBTable *t = db->table("NodeMeta", NODE_CODE, 4, CREATE);
|
||||
* where NODE_CODE is an MMDB object code, and 4
|
||||
* is the number of "columns" in the table, i.e. the
|
||||
* number of items you're going to pass to each call to
|
||||
* insert()
|
||||
*
|
||||
* CREATE creates a file named "NodeMeta" in db's directory.
|
||||
* READ opens a file named "NodeMeta" in db's directory.
|
||||
*/
|
||||
DBTable *table(const char *name,
|
||||
int schema_code, int cols,
|
||||
int a = READ); /* throw PosixError */
|
||||
|
||||
|
||||
private:
|
||||
char *f_name;
|
||||
|
||||
};
|
||||
|
||||
#define BT_NUM_DOC_FIELDS 6
|
||||
#define BT_NUM_LOCATOR_FIELDS 3
|
||||
#define BT_NUM_GRAPHIC_FIELDS 6
|
||||
#define BT_NUM_STYLESHEET_FIELDS 3
|
||||
#define BT_NUM_OLIAS_NODE_FIELDS 7
|
||||
|
||||
class DBTable{
|
||||
friend class DB;
|
||||
friend class DBCursor;
|
||||
|
||||
public:
|
||||
|
||||
~DBTable();
|
||||
|
||||
/*
|
||||
* USE: int intlist = 4;
|
||||
* table->insert(INTEGER_CODE, 4,
|
||||
* STRING_CODE, "xyz",
|
||||
* -STRING_CODE, "abcd", 4,
|
||||
* SHORT_LIST_CODE, 1, INTEGER_CODE, &intlist,
|
||||
* NULL);
|
||||
*/
|
||||
void insert(int typecode, ...);
|
||||
|
||||
void insert_untagged(int typecode, ...);
|
||||
|
||||
const char *name() { return f_name; };
|
||||
|
||||
void start_list();
|
||||
void end_list();
|
||||
|
||||
protected:
|
||||
DBTable(DB* database, int schema_code, int cols, const char *name);
|
||||
|
||||
FILE *file(DB::Access);
|
||||
|
||||
private:
|
||||
FILE *f_file;
|
||||
DB *f_database;
|
||||
int f_schema_code;
|
||||
int f_cols;
|
||||
char *f_name;
|
||||
int f_start; /* at start of linked list */
|
||||
};
|
||||
|
||||
|
||||
class DBCursor{
|
||||
public:
|
||||
DBCursor(DBTable &t);
|
||||
~DBCursor();
|
||||
|
||||
/*
|
||||
* USE: DBTable t(...);
|
||||
* DBCurcor c(t);
|
||||
* const char *f1;
|
||||
* int f2
|
||||
*
|
||||
* while(c.next(STRING_CODE, &f1,
|
||||
* INTEGER_CODE, &f2,
|
||||
* NULL)){
|
||||
* ...use f1, f2...
|
||||
* }
|
||||
*/
|
||||
int next(int code, ...);
|
||||
|
||||
void undoNext(); /* seek back to the beginning of the last record read
|
||||
* throw(PosixError) on unseekable device
|
||||
*/
|
||||
void local_rewind(); /* restart at the beginning of the table file */
|
||||
int tell(); /* current position of the file */
|
||||
void seekToRec( int pos ); /* seek directly to pos */
|
||||
|
||||
protected:
|
||||
void string_field(FILE *, char **, int *);
|
||||
void int_field(FILE *, int *);
|
||||
void short_list(FILE *, int *, int, void*);
|
||||
|
||||
private:
|
||||
DBTable *f_table;
|
||||
class StringList *f_fields;
|
||||
class StringList *f_list;
|
||||
long f_start;
|
||||
};
|
||||
|
||||
|
||||
#endif /* __DataBase_h */
|
||||
105
cde/programs/dtinfo/dtinfogen/infolib/etc/DataRepository.C
Normal file
105
cde/programs/dtinfo/dtinfogen/infolib/etc/DataRepository.C
Normal file
@@ -0,0 +1,105 @@
|
||||
/* $XConsortium: DataRepository.C /main/3 1996/08/21 15:46:21 drk $ */
|
||||
|
||||
#include "dti_cc/CC_Stack.h"
|
||||
#include "dti_cc/CC_Slist.h"
|
||||
|
||||
/* Imported Interfaces */
|
||||
#include "Task.h"
|
||||
#include "FlexBuffer.h"
|
||||
|
||||
#include "DataRepository.h"
|
||||
|
||||
|
||||
//-------------Initializer for the zone_name mapping ----------------
|
||||
static char *zone_name[] = {
|
||||
"D",
|
||||
"H",
|
||||
"G",
|
||||
"E",
|
||||
"I",
|
||||
"T"
|
||||
};
|
||||
|
||||
|
||||
//------------------------------------------------------------------
|
||||
DataRepository::DataRepository()
|
||||
{
|
||||
for ( int i = 0; i < Total; i++ ) {
|
||||
table[i] = NULL;
|
||||
}
|
||||
zone_stack = new Stack<Rec>;
|
||||
current_buf = NULL;
|
||||
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------
|
||||
DataRepository::~DataRepository()
|
||||
{
|
||||
delete zone_stack;
|
||||
|
||||
// destroy the table
|
||||
for ( int i = 0; i < Total; i++ ) {
|
||||
delete table[i];
|
||||
}
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------
|
||||
void
|
||||
DataRepository::ActivateZone( int zt, int level )
|
||||
{
|
||||
if ( !table[zt] ) {
|
||||
table[zt] = new FlexBuffer;
|
||||
}
|
||||
|
||||
// prepare a buffer to be written
|
||||
Rec rec( level, table[zt] );
|
||||
zone_stack->push ( rec );
|
||||
current_buf = table[zt];
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------
|
||||
void
|
||||
DataRepository::deActivateZone( int level )
|
||||
{
|
||||
if ( zone_stack->empty() ) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ( zone_stack->top().level != level ) {
|
||||
return;
|
||||
}
|
||||
|
||||
Rec ZoneRec = zone_stack->pop();
|
||||
|
||||
// update the current_buf
|
||||
if ( !zone_stack->empty() ) {
|
||||
current_buf = zone_stack->top().Buf;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------
|
||||
void
|
||||
DataRepository::put(char ch)
|
||||
{
|
||||
if ( current_buf ) {
|
||||
current_buf->put( ch );
|
||||
}
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------
|
||||
void
|
||||
DataRepository::write( const char *str, size_t n )
|
||||
{
|
||||
current_buf->write( str, n );
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
const char *
|
||||
DataRepository::get_zone_name( int zt )
|
||||
{
|
||||
if ( zt >= Total ) {
|
||||
return NULL;
|
||||
}
|
||||
return ( zone_name[zt] );
|
||||
}
|
||||
73
cde/programs/dtinfo/dtinfogen/infolib/etc/DataRepository.h
Normal file
73
cde/programs/dtinfo/dtinfogen/infolib/etc/DataRepository.h
Normal file
@@ -0,0 +1,73 @@
|
||||
/* $XConsortium: DataRepository.h /main/2 1996/07/18 16:42:32 drk $ */
|
||||
// DataRepository.h -- used to store all the full-text content
|
||||
|
||||
#ifndef DataRP_HEADER
|
||||
#define DataRP_HEADER
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
/* Forward declaration */
|
||||
class FlexBuffer;
|
||||
template <class T> class Stack;
|
||||
template <class T> class CC_TPtrSlist;
|
||||
|
||||
class Rec {
|
||||
friend class DataRepository;
|
||||
private:
|
||||
int level;
|
||||
FlexBuffer *Buf;
|
||||
|
||||
public:
|
||||
Rec(int l, FlexBuffer *buf):level(l),Buf(buf){}
|
||||
Rec():level(-1),Buf(NULL){}
|
||||
Rec( const Rec &t ) {
|
||||
if ( this != &t ) {
|
||||
this->level = t.level;
|
||||
this->Buf = t.Buf;
|
||||
}
|
||||
}
|
||||
Rec & operator=( Rec &t ) {
|
||||
if ( this != &t ) {
|
||||
this->level = t.level;
|
||||
this->Buf = t.Buf;
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
class DataRepository {
|
||||
|
||||
public:
|
||||
|
||||
typedef enum
|
||||
{ Default=0, Head, Graphic, Example, Index, Table, Total} ZoneType;
|
||||
|
||||
private:
|
||||
FlexBuffer *table[Total]; // zone buffer
|
||||
Stack<Rec> *zone_stack;
|
||||
FlexBuffer *current_buf;
|
||||
|
||||
public:
|
||||
|
||||
DataRepository();
|
||||
~DataRepository();
|
||||
|
||||
void ActivateZone( int zone_type, int level ); // throw Exception
|
||||
void deActivateZone( int level ); // throw Exception
|
||||
|
||||
void put( char );
|
||||
void write ( const char *, size_t );
|
||||
|
||||
FlexBuffer **tabbuf() { return ( table ); }
|
||||
const char *get_zone_name( int zone_type );
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
45
cde/programs/dtinfo/dtinfogen/infolib/etc/DataTask.C
Normal file
45
cde/programs/dtinfo/dtinfogen/infolib/etc/DataTask.C
Normal file
@@ -0,0 +1,45 @@
|
||||
/* $XConsortium: DataTask.C /main/3 1996/08/21 15:46:25 drk $ */
|
||||
|
||||
/* exported interfaces... */
|
||||
#include "DataTask.h"
|
||||
|
||||
/* imported interfaces... */
|
||||
#include "Token.h"
|
||||
|
||||
DataTask::DataTask(const Token&) : buf()
|
||||
{
|
||||
level = 1;
|
||||
}
|
||||
|
||||
void DataTask::markup(const Token &t)
|
||||
{
|
||||
switch(t.type()){
|
||||
case START:
|
||||
/*
|
||||
* be careful not to start collecting again after the relavent
|
||||
* element is done!
|
||||
*/
|
||||
if(level > 0) level++;
|
||||
|
||||
break;
|
||||
|
||||
case END:
|
||||
if(level > 0) level--;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void DataTask::data(const char *chars, size_t len)
|
||||
{
|
||||
if(level > 0){
|
||||
buf.write(chars, len);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
const char * DataTask::content(size_t *len)
|
||||
{
|
||||
if(len) *len = buf.GetSize();
|
||||
|
||||
return buf.GetBuffer();
|
||||
}
|
||||
40
cde/programs/dtinfo/dtinfogen/infolib/etc/DataTask.h
Normal file
40
cde/programs/dtinfo/dtinfogen/infolib/etc/DataTask.h
Normal file
@@ -0,0 +1,40 @@
|
||||
/* $XConsortium: DataTask.h /main/2 1996/07/18 16:42:57 drk $ */
|
||||
/* $Id: DataTask.h /main/2 1996/07/18 16:42:57 drk $ */
|
||||
|
||||
#ifndef __DataTask_h
|
||||
#define __DataTask_h
|
||||
|
||||
#include <stddef.h>
|
||||
#include "Task.h"
|
||||
#include "FlexBuffer.h"
|
||||
|
||||
class DataTask : public Task{
|
||||
/*
|
||||
* A DataTask collects all the data for an element.
|
||||
*
|
||||
* USE:
|
||||
* if(t.type() == START && t.attrMatch(OLAF::OLIAS, OLAF::Title)){
|
||||
* titleTask = addSubTask(new DataTask());
|
||||
*
|
||||
* ... (more markup(), data() calls) ...
|
||||
*
|
||||
* const char *title = titleTask.content()
|
||||
*/
|
||||
public:
|
||||
|
||||
DataTask(const Token& t);
|
||||
|
||||
virtual void markup(const Token& t) /* throw(Unexpected) */;
|
||||
|
||||
virtual void data(const char *chars,
|
||||
size_t len) /* throw(ResourcesExhausted) */;
|
||||
|
||||
const char *content(size_t *length_return = NULL);
|
||||
|
||||
private:
|
||||
int level; /* how far nested are we? */
|
||||
FlexBuffer buf;
|
||||
};
|
||||
|
||||
|
||||
#endif /* __DataTask_h */
|
||||
193
cde/programs/dtinfo/dtinfogen/infolib/etc/Dispatch.C
Normal file
193
cde/programs/dtinfo/dtinfogen/infolib/etc/Dispatch.C
Normal file
@@ -0,0 +1,193 @@
|
||||
/* $XConsortium: Dispatch.cc /main/2 1996/06/11 16:49:03 cde-hal $
|
||||
*
|
||||
* (c) Copyright 1996 Digital Equipment Corporation.
|
||||
* (c) Copyright 1996 Hewlett-Packard Company.
|
||||
* (c) Copyright 1996 International Business Machines Corp.
|
||||
* (c) Copyright 1996 Sun Microsystems, Inc.
|
||||
* (c) Copyright 1996 Novell, Inc.
|
||||
* (c) Copyright 1996 FUJITSU LIMITED.
|
||||
* (c) Copyright 1996 Hitachi.
|
||||
*/
|
||||
|
||||
/* exported interfaces... */
|
||||
#include "Dispatch.h"
|
||||
|
||||
/* imported interfaces... */
|
||||
#include <assert.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "SGMLName.h"
|
||||
#include "EntityScope.h"
|
||||
#include "Token.h"
|
||||
#include "FlexBuffer.h"
|
||||
#include "SGMLDefn.h"
|
||||
#include "SearchPath.h"
|
||||
|
||||
#include "OLAF.h"
|
||||
|
||||
Task *Dispatch::TaskObject = NULL;
|
||||
Stack<int> *Dispatch::IgnoreStack = NULL;
|
||||
int Dispatch::level = 0;
|
||||
static EntityScope entity_stack;
|
||||
Token* Dispatch::tok = new Token();
|
||||
|
||||
char* Dispatch::f_file = NULL;
|
||||
int Dispatch::f_line = 0;
|
||||
|
||||
const char *Dispatch::tmpdir = NULL;
|
||||
const char *Dispatch::srcdir = NULL;
|
||||
SearchPath *Dispatch::search_path_table = NULL;
|
||||
|
||||
int Dispatch::tocgen_only = 0;
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
void
|
||||
Dispatch::token(TOKEN_TYPE tokType, unsigned char *Name )
|
||||
{
|
||||
|
||||
tok->setFileLine(f_file, f_line);
|
||||
|
||||
switch(tokType){
|
||||
case START:
|
||||
level++;
|
||||
tok->StoreStartTag( Name, level );
|
||||
|
||||
if ( tok->LookupAttr( OLAF::OL_Ignore )
|
||||
|| tok->LookupAttr( OLAF::OL_ShortTitle ) ) {
|
||||
IgnoreStack->push ( level );
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case END:
|
||||
tok->StoreEndTag ( Name, level );
|
||||
level--;
|
||||
break;
|
||||
|
||||
case INTERNAL_ENTITY:
|
||||
tok->StoreEntity( Name , INTERNAL_ENTITY);
|
||||
break;
|
||||
|
||||
case EXTERNAL_ENTITY:
|
||||
tok->StoreEntity( Name , EXTERNAL_ENTITY);
|
||||
|
||||
SGMLDefn *sgml_rec;
|
||||
sgml_rec = entity_stack.LookupEntity( SGMLName::intern((char*)Name) );
|
||||
|
||||
if(sgml_rec){
|
||||
tok->SetEntityValue( sgml_rec );
|
||||
}else{
|
||||
tok->reportError(Token::Internal, Token::Fatal,
|
||||
"Unable to find entity definition for %.50s", Name);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
TaskObject->markup( *tok );
|
||||
|
||||
if ( tokType == END ) {
|
||||
if ( !IgnoreStack->empty() ) {
|
||||
|
||||
int topelement = IgnoreStack->top();
|
||||
if ( topelement == tok->level() ) {
|
||||
topelement = IgnoreStack->pop();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
delete tok;
|
||||
tok = new Token();
|
||||
}
|
||||
|
||||
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
void Dispatch::setRoot( Task *t, Stack<int> *istack)
|
||||
{
|
||||
assert(TaskObject == NULL);
|
||||
TaskObject = t;
|
||||
|
||||
assert(IgnoreStack == NULL);
|
||||
IgnoreStack = istack;
|
||||
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
SGMLDefn *
|
||||
Dispatch::entity_ref( const char *ent_name )
|
||||
{
|
||||
int ent_num;
|
||||
ent_num = SGMLName::intern(ent_name);
|
||||
SGMLDefn *sgml_rec = entity_stack.LookupEntity( ent_num );
|
||||
return sgml_rec;
|
||||
}
|
||||
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
void
|
||||
Dispatch::entity_decl( SGMLDefn *defn )
|
||||
{
|
||||
EntityList *escope = entity_stack.GetTopEntities();
|
||||
|
||||
assert(escope != NULL);
|
||||
|
||||
/*
|
||||
* first clone up an SGMLDefn record for storage purposes
|
||||
*/
|
||||
|
||||
SGMLDefn *sgmlRec = new SGMLDefn();
|
||||
*sgmlRec = *defn;
|
||||
|
||||
escope->insert( sgmlRec );
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
void
|
||||
Dispatch::file(const char *f)
|
||||
{
|
||||
delete f_file;
|
||||
f_file = new char[strlen(f)+1];
|
||||
strcpy(f_file, f);
|
||||
|
||||
|
||||
/*
|
||||
* put directory of f_file into the search path also
|
||||
*/
|
||||
if(search_path_table){
|
||||
// perform dirname first
|
||||
char *dirname = strdup( f_file );
|
||||
char *p = strrchr( dirname, '/' );
|
||||
if ( p ) {
|
||||
*p = '\0';
|
||||
}
|
||||
else {
|
||||
strcpy( dirname,"." );
|
||||
}
|
||||
|
||||
search_path_table->replace_file_scope( dirname );
|
||||
delete dirname;
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
void
|
||||
Dispatch::subdoc_start()
|
||||
{
|
||||
EntityList *newrec = new EntityList();
|
||||
entity_stack.push ( newrec );
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
void
|
||||
Dispatch::subdoc_end()
|
||||
{
|
||||
EntityList *rec = entity_stack.pop();
|
||||
|
||||
if ( !rec ) {
|
||||
throw(Unexpected("SUBDOC end tag is not matched"));
|
||||
}
|
||||
|
||||
delete rec;
|
||||
|
||||
}
|
||||
76
cde/programs/dtinfo/dtinfogen/infolib/etc/Dispatch.h
Normal file
76
cde/programs/dtinfo/dtinfogen/infolib/etc/Dispatch.h
Normal file
@@ -0,0 +1,76 @@
|
||||
/* $XConsortium: Dispatch.h /main/3 1996/08/21 15:46:29 drk $ -*- c++ -*- */
|
||||
/* $XConsortium: Dispatch.h /main/3 1996/08/21 15:46:29 drk $ -*- c++ -*- */
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
// Dispatch Functions
|
||||
//---------------------------------------------------------------------
|
||||
|
||||
#ifndef DISPATCH_HEADER
|
||||
#define DISPATCH_HEADER
|
||||
|
||||
#include "Token.h"
|
||||
#include "Task.h"
|
||||
#include "FlexBuffer.h"
|
||||
#include "dti_cc/CC_Stack.h"
|
||||
|
||||
class SGMLDefn;
|
||||
class SearchPath;
|
||||
|
||||
class Dispatch {
|
||||
|
||||
friend int yylex();
|
||||
friend int main(int argc, char **argv);
|
||||
|
||||
protected:
|
||||
static Token *tok;
|
||||
static const char *tmpdir;
|
||||
static const char *srcdir;
|
||||
static SearchPath *search_path_table;
|
||||
static int tocgen_only;
|
||||
|
||||
static void token ( TOKEN_TYPE, unsigned char * );
|
||||
static void subdoc_start();
|
||||
static void subdoc_end();
|
||||
static void data ( FlexBuffer * );
|
||||
static void setRoot( Task *t, Stack<int> *istack);
|
||||
static void setTempDir ( const char *tmpdir );
|
||||
static void setSrcDir ( const char *srcdir );
|
||||
static void entity_decl( SGMLDefn *);
|
||||
|
||||
static void file(const char *);
|
||||
static void line(int l) { f_line = l; };
|
||||
static void newline() { f_line++; };
|
||||
|
||||
private:
|
||||
static Task *TaskObject;
|
||||
static int level;
|
||||
static Stack<int> *IgnoreStack;
|
||||
|
||||
static char *f_file;
|
||||
static int f_line;
|
||||
|
||||
public:
|
||||
static SGMLDefn *entity_ref ( const char *ename );
|
||||
static int OutsideIgnoreScope() { return IgnoreStack->empty(); }
|
||||
static int RunTocGenOnly() { return(tocgen_only); }
|
||||
#ifdef SC3
|
||||
static const char *GetTmpDir() { return( tmpdir ); }
|
||||
static const char *GetSrcDir() { return( srcdir ); }
|
||||
static SearchPath *GetSearchPath() { return ( search_path_table ); }
|
||||
#else
|
||||
static const char *GetTmpDir() { return( tmpdir ); }
|
||||
static const char *GetSrcDir() { return( srcdir ); }
|
||||
static SearchPath *GetSearchPath() { return ( search_path_table ); }
|
||||
#endif
|
||||
|
||||
};
|
||||
|
||||
inline
|
||||
void
|
||||
Dispatch::data( FlexBuffer *buf )
|
||||
{
|
||||
TaskObject->data( (const char *)( buf->GetBuffer() ),
|
||||
buf->GetSize() );
|
||||
}
|
||||
|
||||
#endif
|
||||
64
cde/programs/dtinfo/dtinfogen/infolib/etc/EntityList.C
Normal file
64
cde/programs/dtinfo/dtinfogen/infolib/etc/EntityList.C
Normal file
@@ -0,0 +1,64 @@
|
||||
/* $XConsortium: EntityList.cc /main/2 1996/07/18 16:11:54 drk $ */
|
||||
|
||||
/* exported interfaces */
|
||||
#include "EntityList.h"
|
||||
|
||||
/* imported interfaces */
|
||||
#include <stdio.h>
|
||||
#include "SGMLName.h"
|
||||
#include "SGMLDefn.h"
|
||||
|
||||
//---------------------------------------------------------
|
||||
EntityList::EntityList()
|
||||
{
|
||||
head = NULL;
|
||||
tail = NULL;
|
||||
next = NULL;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------
|
||||
EntityList::~EntityList()
|
||||
{
|
||||
SGMLDefn *pt = head;
|
||||
while ( pt ) {
|
||||
SGMLDefn *tmp = pt;
|
||||
pt = pt->next;
|
||||
delete tmp;
|
||||
}
|
||||
}
|
||||
//---------------------------------------------------------
|
||||
// EntityList:lookup
|
||||
SGMLDefn *
|
||||
EntityList::lookup(int ename ) const
|
||||
{
|
||||
|
||||
SGMLDefn *pt = head;
|
||||
|
||||
while ( pt ) {
|
||||
|
||||
if ( pt->getName() == ename ) {
|
||||
return ( pt );
|
||||
}
|
||||
|
||||
pt = pt->next;
|
||||
}
|
||||
|
||||
return ( NULL );
|
||||
|
||||
}
|
||||
|
||||
//---------------------------------------------------------
|
||||
// EntityList::add
|
||||
void
|
||||
EntityList::insert( SGMLDefn *entry )
|
||||
{
|
||||
|
||||
if ( !tail ) {
|
||||
head = tail = entry;
|
||||
}
|
||||
else {
|
||||
tail->next = entry;
|
||||
tail = entry;
|
||||
}
|
||||
|
||||
}
|
||||
29
cde/programs/dtinfo/dtinfogen/infolib/etc/EntityList.h
Normal file
29
cde/programs/dtinfo/dtinfogen/infolib/etc/EntityList.h
Normal file
@@ -0,0 +1,29 @@
|
||||
/* $XConsortium: EntityList.h /main/2 1996/07/18 16:43:25 drk $ */
|
||||
#ifndef ENT_LIST_HDR
|
||||
#define ENT_LIST_HDR
|
||||
|
||||
#include "SGMLDefn.h"
|
||||
|
||||
class EntityList {
|
||||
|
||||
friend class EntityScope;
|
||||
friend class Dispatch;
|
||||
|
||||
protected:
|
||||
SGMLDefn *head;
|
||||
SGMLDefn *tail;
|
||||
EntityList *next;
|
||||
|
||||
SGMLDefn *lookup( int ) const;
|
||||
void insert ( SGMLDefn * );
|
||||
|
||||
// SGMLDefn *GetFirstAttr() const;
|
||||
// SGMLDefn *GetNextAttr( const SGMLDefn *) const;
|
||||
|
||||
EntityList();
|
||||
~EntityList();
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
66
cde/programs/dtinfo/dtinfogen/infolib/etc/EntityScope.h
Normal file
66
cde/programs/dtinfo/dtinfogen/infolib/etc/EntityScope.h
Normal file
@@ -0,0 +1,66 @@
|
||||
/* $XConsortium: EntityScope.h /main/2 1996/07/18 16:43:47 drk $ */
|
||||
#ifndef ENT_SCOPE_HDR
|
||||
#define ENT_SCOPE_HDR
|
||||
|
||||
#include "EntityList.h"
|
||||
|
||||
class EntityScope {
|
||||
private:
|
||||
EntityList *currentEntityScope;
|
||||
|
||||
public:
|
||||
void push ( EntityList *escope ) {
|
||||
escope->next = currentEntityScope;
|
||||
currentEntityScope = escope;
|
||||
}
|
||||
|
||||
EntityList *pop();
|
||||
EntityList *GetTopEntities() const { return(currentEntityScope); }
|
||||
|
||||
SGMLDefn *LookupEntity( int ename );
|
||||
|
||||
/*
|
||||
* Constructor EntityScope creates a topmost entitylist
|
||||
* so the stack will contain an element after it is constructed
|
||||
*/
|
||||
|
||||
EntityScope() { currentEntityScope = new EntityList(); }
|
||||
~EntityScope();
|
||||
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------
|
||||
inline
|
||||
SGMLDefn *
|
||||
EntityScope::LookupEntity( int ename )
|
||||
{
|
||||
return ( currentEntityScope->lookup( ename ) );
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------
|
||||
inline
|
||||
EntityList *
|
||||
EntityScope::pop()
|
||||
{
|
||||
EntityList *ptr;
|
||||
|
||||
ptr = currentEntityScope;
|
||||
currentEntityScope = ptr->next;
|
||||
return ( ptr );
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------
|
||||
inline
|
||||
EntityScope::~EntityScope()
|
||||
{
|
||||
EntityList *pt = currentEntityScope;
|
||||
while( pt ) {
|
||||
EntityList *tmp = pt;
|
||||
pt = pt->next;
|
||||
delete tmp;
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
44
cde/programs/dtinfo/dtinfogen/infolib/etc/ExprList.C
Normal file
44
cde/programs/dtinfo/dtinfogen/infolib/etc/ExprList.C
Normal file
@@ -0,0 +1,44 @@
|
||||
/* $XConsortium: ExprList.C /main/3 1996/08/21 15:46:33 drk $ */
|
||||
/* imported interfaces */
|
||||
|
||||
/* exported interfaces */
|
||||
#include "Expression.h"
|
||||
#include "ExprList.h"
|
||||
|
||||
//------------------------------------------------------------------
|
||||
ExprList::ExprList()
|
||||
{
|
||||
head = 0;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------
|
||||
ExprList::ExprList( OL_Expression *elist )
|
||||
{
|
||||
head = elist;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------
|
||||
ExprList::~ExprList()
|
||||
{
|
||||
OL_Expression *ptr = head;
|
||||
while ( ptr ) {
|
||||
OL_Expression *tmp = ptr;
|
||||
ptr = ptr->next;
|
||||
delete tmp;
|
||||
}
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------
|
||||
OL_Expression *
|
||||
ExprList::first()
|
||||
{
|
||||
return ( head );
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------
|
||||
OL_Expression *
|
||||
ExprList::next( OL_Expression *ptr )
|
||||
{
|
||||
if ( ptr ) { return(ptr->next); }
|
||||
else { return 0; }
|
||||
}
|
||||
22
cde/programs/dtinfo/dtinfogen/infolib/etc/ExprList.h
Normal file
22
cde/programs/dtinfo/dtinfogen/infolib/etc/ExprList.h
Normal file
@@ -0,0 +1,22 @@
|
||||
/* $XConsortium: ExprList.h /main/3 1996/08/21 15:46:37 drk $ */
|
||||
#ifndef __ExprList__
|
||||
#define __ExprList__
|
||||
|
||||
class OL_Expression;
|
||||
|
||||
class ExprList {
|
||||
|
||||
private:
|
||||
OL_Expression *head;
|
||||
|
||||
public:
|
||||
ExprList();
|
||||
ExprList( OL_Expression *elist);
|
||||
~ExprList();
|
||||
|
||||
OL_Expression *first();
|
||||
OL_Expression *next( OL_Expression *elem );
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
20
cde/programs/dtinfo/dtinfogen/infolib/etc/Expression.C
Normal file
20
cde/programs/dtinfo/dtinfogen/infolib/etc/Expression.C
Normal file
@@ -0,0 +1,20 @@
|
||||
/* $XConsortium: Expression.C /main/3 1996/08/21 15:46:40 drk $ */
|
||||
/* imported interfaces */
|
||||
|
||||
#include "Expression.h"
|
||||
#include "ExprList.h"
|
||||
|
||||
OL_Expression::~OL_Expression()
|
||||
{
|
||||
/* This is a hack right now to eliminate the memory leak
|
||||
*/
|
||||
if ( data_type == CONCAT || data_type == FIRSTOF ) {
|
||||
ExprList *vlist = ( ExprList * )value_list;
|
||||
delete vlist;
|
||||
}
|
||||
else if ( data_type == LITERAL ) {
|
||||
char *vlist = (char *)value_list;
|
||||
delete vlist;
|
||||
}
|
||||
|
||||
}
|
||||
45
cde/programs/dtinfo/dtinfogen/infolib/etc/Expression.h
Normal file
45
cde/programs/dtinfo/dtinfogen/infolib/etc/Expression.h
Normal file
@@ -0,0 +1,45 @@
|
||||
/* $XConsortium: Expression.h /main/3 1996/08/21 15:46:44 drk $ */
|
||||
#ifndef __CRec_hdr__
|
||||
#define __CRec_hdr__
|
||||
|
||||
enum OL_DATA_TYPE {
|
||||
INVALID_OL_TYPE,
|
||||
CONTENT,
|
||||
CONCAT,
|
||||
FIRSTOF,
|
||||
GENERIC_ID,
|
||||
LITERAL,
|
||||
REFERENCE
|
||||
};
|
||||
|
||||
class OL_Expression {
|
||||
|
||||
friend class OL_Data;
|
||||
friend class FirstOf;
|
||||
friend class Concat;
|
||||
friend int ol_dataparse();
|
||||
friend class ContentType;
|
||||
friend class ExprList;
|
||||
|
||||
private:
|
||||
OL_DATA_TYPE data_type;
|
||||
int ename;
|
||||
void *value_list;
|
||||
OL_Expression *next;
|
||||
|
||||
public:
|
||||
OL_Expression( OL_DATA_TYPE dtype=INVALID_OL_TYPE,
|
||||
int dname=-1,
|
||||
void *vlist=0) {
|
||||
data_type = dtype; ename = dname; value_list = vlist; next = 0;
|
||||
}
|
||||
|
||||
~OL_Expression();
|
||||
|
||||
OL_DATA_TYPE type() const { return data_type; }
|
||||
int name() const { return ename; }
|
||||
void *data_list() const { return value_list; }
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
115
cde/programs/dtinfo/dtinfogen/infolib/etc/FirstOf.C
Normal file
115
cde/programs/dtinfo/dtinfogen/infolib/etc/FirstOf.C
Normal file
@@ -0,0 +1,115 @@
|
||||
/* $XConsortium: FirstOf.C /main/3 1996/08/21 15:46:47 drk $ */
|
||||
/* exported interfaces */
|
||||
#include "FirstOf.h"
|
||||
|
||||
/* imported interfaces */
|
||||
#include "Dispatch.h"
|
||||
#include "OLAF.h"
|
||||
#include "ExprList.h"
|
||||
#include "Expression.h"
|
||||
#include "Token.h"
|
||||
#include "OL-Data.h"
|
||||
#include "ConcatTask.h"
|
||||
#include "Content.h"
|
||||
#include "AttributeData.h"
|
||||
#include "GenericId.h"
|
||||
#include "Literal.h"
|
||||
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
FirstOf::FirstOf( const Token &t,
|
||||
ExprList *el,
|
||||
ActionType mode ):BaseData(t,mode)
|
||||
{
|
||||
f_base = t.level();
|
||||
|
||||
for ( OL_Expression *local_list = el->first();
|
||||
local_list;
|
||||
local_list = el->next(local_list) ) {
|
||||
|
||||
switch ( local_list->type() ) {
|
||||
|
||||
case CONTENT :
|
||||
addSubTask( new Content( t,mode) );
|
||||
break;
|
||||
|
||||
case CONCAT :
|
||||
addSubTask( new Concat ( t,
|
||||
(ExprList *) local_list->data_list(),
|
||||
mode) );
|
||||
break;
|
||||
|
||||
case FIRSTOF :
|
||||
addSubTask( new FirstOf( t,
|
||||
(ExprList *)local_list->data_list(),
|
||||
mode) );
|
||||
break;
|
||||
|
||||
case GENERIC_ID :
|
||||
addSubTask( new GenericId(t,
|
||||
local_list->name(),
|
||||
mode) );
|
||||
break;
|
||||
|
||||
case LITERAL :
|
||||
addSubTask( new Literal( t,
|
||||
(const char *)local_list->data_list(),
|
||||
mode) );
|
||||
break;
|
||||
|
||||
case REFERENCE :
|
||||
addSubTask( new AttributeData( t,
|
||||
local_list->name(),
|
||||
mode ));
|
||||
break;
|
||||
|
||||
default:
|
||||
abort();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------
|
||||
void
|
||||
FirstOf::markup( const Token &t )
|
||||
{
|
||||
|
||||
if ( ignore_status && !Dispatch::OutsideIgnoreScope() ) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ( f_base > 0 ) {
|
||||
|
||||
ComplexTask::markup( t );
|
||||
|
||||
if ( t.type() == END ) {
|
||||
|
||||
if ( t.level() == f_base ) {
|
||||
|
||||
data_complete = 1;
|
||||
|
||||
for ( int i = 0; i < ComplexTask::used; i++ ) {
|
||||
BaseData *task = ( BaseData *)ComplexTask::subtask(i);
|
||||
if ( task->DataIsComplete() ) {
|
||||
ValueBuffer.writeStr( task->content() );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
f_base = -1;
|
||||
ComplexTask::removeAllSubTasks();
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
27
cde/programs/dtinfo/dtinfogen/infolib/etc/FirstOf.h
Normal file
27
cde/programs/dtinfo/dtinfogen/infolib/etc/FirstOf.h
Normal file
@@ -0,0 +1,27 @@
|
||||
/* $XConsortium: FirstOf.h /main/3 1996/08/21 15:46:51 drk $ */
|
||||
#ifndef __FirstOfHdr__
|
||||
#define __FirstOfHdr__
|
||||
|
||||
#include "Task.h"
|
||||
#include "BaseDataCollect.h"
|
||||
|
||||
class Token;
|
||||
class OL_Expression;
|
||||
class ExprList;
|
||||
|
||||
class FirstOf : public BaseData {
|
||||
|
||||
friend class OL_Data;
|
||||
friend class Concat;
|
||||
|
||||
private:
|
||||
OL_Expression *elist;
|
||||
|
||||
protected:
|
||||
FirstOf( const Token &t, ExprList *el,ActionType mode );
|
||||
void markup( const Token &t );
|
||||
void data( const char *str, size_t sz ) { ComplexTask::data( str, sz ); }
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
73
cde/programs/dtinfo/dtinfogen/infolib/etc/FlexBuffer.C
Normal file
73
cde/programs/dtinfo/dtinfogen/infolib/etc/FlexBuffer.C
Normal file
@@ -0,0 +1,73 @@
|
||||
/* $XConsortium: FlexBuffer.cc /main/2 1996/07/18 16:13:49 drk $ */
|
||||
|
||||
#include <iostream.h>
|
||||
#include <memory.h>
|
||||
#include <string.h>
|
||||
#include "FlexBuffer.h"
|
||||
|
||||
//---------------------------------------------------------
|
||||
FlexBuffer::FlexBuffer()
|
||||
{
|
||||
HeadPtr = 0;
|
||||
maxSize = pos = 0;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------
|
||||
//FlexBuffer::~FlexBuffer()
|
||||
//{
|
||||
// delete HeadPtr;
|
||||
//}
|
||||
|
||||
//---------------------------------------------------------
|
||||
void
|
||||
FlexBuffer::grow(size_t needed)
|
||||
{
|
||||
if(needed + 1 > maxSize){
|
||||
char *born = new char[maxSize = needed * 3 / 2 + 10];
|
||||
|
||||
if(pos){
|
||||
memcpy(born, HeadPtr, pos);
|
||||
delete [] HeadPtr;
|
||||
}
|
||||
|
||||
HeadPtr = born;
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------
|
||||
void
|
||||
FlexBuffer::write(const char *d, size_t n)
|
||||
{
|
||||
grow(pos + n);
|
||||
memcpy(HeadPtr + pos, d, n);
|
||||
pos += n;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------
|
||||
void
|
||||
FlexBuffer::writeStr(const char *str )
|
||||
{
|
||||
int n = strlen(str);
|
||||
grow( pos + n );
|
||||
memcpy ( HeadPtr + pos, str, n );
|
||||
pos += n;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------
|
||||
FlexBuffer &
|
||||
FlexBuffer::operator+( FlexBuffer & fb )
|
||||
{
|
||||
|
||||
grow( pos + fb.GetSize() );
|
||||
memcpy(HeadPtr + pos , fb.HeadPtr, fb.GetSize() );
|
||||
pos += fb.GetSize();
|
||||
return ( *this );
|
||||
}
|
||||
|
||||
//---------------------------------------------------------
|
||||
ostream &
|
||||
operator<< ( ostream &os, FlexBuffer &fb )
|
||||
{
|
||||
os << fb.GetBuffer();
|
||||
return os;
|
||||
}
|
||||
43
cde/programs/dtinfo/dtinfogen/infolib/etc/FlexBuffer.h
Normal file
43
cde/programs/dtinfo/dtinfogen/infolib/etc/FlexBuffer.h
Normal file
@@ -0,0 +1,43 @@
|
||||
/* $XConsortium: FlexBuffer.h /main/2 1996/07/18 16:45:28 drk $ */
|
||||
#ifndef FLEX_BFR_HDR
|
||||
#define FLEX_BFR_HDR
|
||||
|
||||
#include <stddef.h>
|
||||
#include <iostream.h>
|
||||
|
||||
class FlexBuffer {
|
||||
|
||||
friend ostream &operator<< ( ostream &s, FlexBuffer &);
|
||||
|
||||
private:
|
||||
int pos;
|
||||
int maxSize;
|
||||
char *HeadPtr;
|
||||
|
||||
void grow(size_t);
|
||||
|
||||
public:
|
||||
void write( const char *ch, size_t n );
|
||||
void writeStr ( const char *ch );
|
||||
void put( char );
|
||||
|
||||
void reset() { pos = 0; };
|
||||
|
||||
int GetSize() { return( pos ); }
|
||||
const char *GetBuffer() { grow(pos); HeadPtr[pos] = 0; return(HeadPtr); }
|
||||
|
||||
FlexBuffer();
|
||||
~FlexBuffer() { delete [] HeadPtr; }
|
||||
|
||||
FlexBuffer &operator+ ( FlexBuffer & );
|
||||
|
||||
};
|
||||
|
||||
inline void FlexBuffer::put( char c )
|
||||
{
|
||||
grow( pos + 1 );
|
||||
*(HeadPtr + pos) = c;
|
||||
pos += 1;
|
||||
}
|
||||
|
||||
#endif
|
||||
95
cde/programs/dtinfo/dtinfogen/infolib/etc/GenericId.C
Normal file
95
cde/programs/dtinfo/dtinfogen/infolib/etc/GenericId.C
Normal file
@@ -0,0 +1,95 @@
|
||||
/* $XConsortium: GenericId.cc /main/5 1996/07/18 16:14:18 drk $ */
|
||||
|
||||
/* exported interfaces */
|
||||
#include "GenericId.h"
|
||||
|
||||
/* imported interfaces */
|
||||
#include "Dispatch.h"
|
||||
#include "SGMLName.h"
|
||||
#include "OLAF.h"
|
||||
#include "OL-Data.h"
|
||||
#include "Token.h"
|
||||
|
||||
#ifdef FISH_DEBUG
|
||||
#include "dbug.h"
|
||||
#endif
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
GenericId::GenericId( const Token &t,
|
||||
int name,
|
||||
ActionType mode ):BaseData(t,mode)
|
||||
{
|
||||
#ifdef FISH_DEBUG
|
||||
DBUG_PRINT("GenericId", (" name = %s", SGMLName::lookup(name)) );
|
||||
#endif
|
||||
giname = name;
|
||||
f_data = NULL;
|
||||
done = 0;
|
||||
f_base = -1;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
void
|
||||
GenericId::markup( const Token &t )
|
||||
{
|
||||
#ifdef FISH_DEBUG
|
||||
DBUG_PRINT( "GenericId", (" token t = %s",SGMLName::lookup(t.Gi()) ) );
|
||||
#endif
|
||||
|
||||
if ( ignore_status && !Dispatch::OutsideIgnoreScope() ) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ( f_data ) {
|
||||
f_data->markup( t );
|
||||
}
|
||||
|
||||
if ( t.type() == START ) {
|
||||
|
||||
/* first time we see the GI */
|
||||
if ( t.Gi() == giname && f_base < 0 && !done ) {
|
||||
|
||||
/* fork off the OL_Data class for this GI */
|
||||
f_data = new OL_Data ( t, OLAF::OL_data, (ActionType)ignore_status );
|
||||
assert ( f_data != NULL );
|
||||
|
||||
f_base = t.level();
|
||||
|
||||
}
|
||||
}
|
||||
else if ( t.type() == END ) {
|
||||
|
||||
if ( f_base == t.level() && !done ) {
|
||||
|
||||
if ( data_complete = f_data->DataIsComplete() ) {
|
||||
ValueBuffer.writeStr( f_data->content() );
|
||||
}
|
||||
|
||||
delete f_data; f_data = NULL;
|
||||
|
||||
done = 1;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
void
|
||||
GenericId::data( const char *str, size_t sz )
|
||||
{
|
||||
if ( ignore_status && !Dispatch::OutsideIgnoreScope() ) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ( f_base > 0 ) {
|
||||
if ( f_data ) {
|
||||
f_data->data( str, sz );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
29
cde/programs/dtinfo/dtinfogen/infolib/etc/GenericId.h
Normal file
29
cde/programs/dtinfo/dtinfogen/infolib/etc/GenericId.h
Normal file
@@ -0,0 +1,29 @@
|
||||
/* $XConsortium: GenericId.h /main/2 1996/07/18 16:45:48 drk $ */
|
||||
#ifndef __gen_Id__
|
||||
#define __gen_Id__
|
||||
|
||||
#include "BaseDataCollect.h"
|
||||
|
||||
class Token;
|
||||
class OL_Data;
|
||||
|
||||
class GenericId : public BaseData {
|
||||
|
||||
friend class FirstOf;
|
||||
friend class OL_Data;
|
||||
friend class Concat;
|
||||
|
||||
private:
|
||||
int giname;
|
||||
int done;
|
||||
OL_Data *f_data;
|
||||
|
||||
protected:
|
||||
GenericId( const Token &t, int giname,ActionType mode);
|
||||
void markup( const Token &t );
|
||||
void data( const char *str, size_t sz );
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif
|
||||
287
cde/programs/dtinfo/dtinfogen/infolib/etc/GraphicsTask.C
Normal file
287
cde/programs/dtinfo/dtinfogen/infolib/etc/GraphicsTask.C
Normal file
@@ -0,0 +1,287 @@
|
||||
/* $XConsortium: GraphicsTask.cc /main/8 1996/08/14 16:59:38 rcs $ */
|
||||
#include <assert.h>
|
||||
#include <stream.h>
|
||||
#include <iostream.h>
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <netinet/in.h>
|
||||
|
||||
#include "GraphicsTask.h"
|
||||
#include "Dispatch.h"
|
||||
#include "FlexBuffer.h"
|
||||
#include "OLAF.h"
|
||||
#include "OL-Data.h"
|
||||
#include "Token.h"
|
||||
#include "SearchEng.h"
|
||||
#include "BookTasks.h"
|
||||
#include "NodeData.h"
|
||||
#include "NodeTask.h"
|
||||
#include "DataBase.h"
|
||||
#include "BookCaseDB.h"
|
||||
#ifndef DtinfoClient
|
||||
#include "PostScript.h"
|
||||
#endif
|
||||
#include "SearchPath.h"
|
||||
#include "utility/funcs.h"
|
||||
|
||||
#include <X11/XWDFile.h>
|
||||
|
||||
GR_TYPE gtype;
|
||||
extern FILE *graphics_taskin;
|
||||
extern void get_type ();
|
||||
|
||||
const int GR_ENCODING_TEXT = 1;
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
GR_TYPE
|
||||
GraphicsTask::graphics_type( const char *gname )
|
||||
{
|
||||
|
||||
gtype = GR_TYPE_UNKNOWN;
|
||||
if ( !(graphics_taskin = fopen( gname, "r" )) ) {
|
||||
throw(PosixError( errno, form("cannot open graphics file %s\n", gname)));
|
||||
}
|
||||
|
||||
get_type();
|
||||
|
||||
if (gtype == GR_TYPE_UNKNOWN) {
|
||||
if ((strstr(gname, ".cgm") != NULL) ||
|
||||
(strstr(gname, ".CGM") != NULL))
|
||||
{
|
||||
gtype = GR_TYPE_CGM;
|
||||
}
|
||||
}
|
||||
|
||||
fclose(graphics_taskin);
|
||||
|
||||
// If the file is not cgm and if the lexer couldn't detect the graphics type,
|
||||
// see if the graphic is an XWD file.
|
||||
if (gtype == GR_TYPE_UNKNOWN) {
|
||||
// Create header container
|
||||
CARD32 header[sz_XWDheader];
|
||||
XWDFileHeader *hdrptr;
|
||||
FILE *fp;
|
||||
|
||||
if ( !(fp = fopen( gname, "r" )) ) {
|
||||
throw(PosixError( errno,
|
||||
form("cannot reopen graphics file %s\n", gname)));
|
||||
}
|
||||
|
||||
hdrptr = (XWDFileHeader *)header;
|
||||
// Initialize the structure
|
||||
for (CARD32 ndx = 0; ndx < sz_XWDheader; ndx++) {
|
||||
header[ndx] = (CARD32) 0;
|
||||
}
|
||||
|
||||
if ( fread( &header[0], sizeof(*hdrptr), 1, fp ) == 1 ) {
|
||||
|
||||
// Normal fields into host byte-order
|
||||
hdrptr->file_version = ntohl(hdrptr->file_version);
|
||||
hdrptr->header_size = ntohl(hdrptr->header_size);
|
||||
hdrptr->pixmap_width = ntohl(hdrptr->pixmap_width);
|
||||
hdrptr->pixmap_height = ntohl(hdrptr->pixmap_height);
|
||||
|
||||
// Check some of the structure members to confirm the file type.
|
||||
if ((hdrptr->file_version == XWD_FILE_VERSION) &&
|
||||
(hdrptr->header_size > 0) &&
|
||||
(hdrptr->pixmap_width > 0) &&
|
||||
(hdrptr->pixmap_height > 0)) {
|
||||
gtype = GR_TYPE_XWD;
|
||||
}
|
||||
}
|
||||
fclose( fp );
|
||||
}
|
||||
|
||||
return ( gtype );
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
GraphicsTask::GraphicsTask( SearchEngine *parent, const Token &t )
|
||||
{
|
||||
f_base = t.level();
|
||||
graphics_data = NULL;
|
||||
f_parent = parent;
|
||||
termsbuf = NULL;
|
||||
f_title = 0;
|
||||
|
||||
if ( Dispatch::OutsideIgnoreScope() ) {
|
||||
graphics_data = new OL_Data ( t, OLAF::OL_Graphic );
|
||||
addSubTask( graphics_data );
|
||||
|
||||
if ( t.LookupAttr( OLAF::OL_Title ) ) {
|
||||
f_title = new OL_Data(t, OLAF::OL_Title, IGNORE_ON );
|
||||
if ( !f_title->DataWillBeAvailable() ) {
|
||||
delete f_title;
|
||||
f_title = 0;
|
||||
}
|
||||
else {
|
||||
addSubTask(f_title);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
void
|
||||
GraphicsTask::markup( const Token &t )
|
||||
{
|
||||
if ( f_base > 0 ) {
|
||||
|
||||
ComplexTask::markup( t );
|
||||
|
||||
if ( t.type() == START && !f_title ) {
|
||||
|
||||
if ( t.LookupAttr( OLAF::OL_Title ) ) {
|
||||
f_title = new OL_Data(t, OLAF::OL_Title, IGNORE_ON );
|
||||
if ( !f_title->DataWillBeAvailable() ) {
|
||||
delete f_title;
|
||||
f_title = 0;
|
||||
}
|
||||
else {
|
||||
addSubTask(f_title);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( t.type() == END ) {
|
||||
|
||||
if ( Dispatch::OutsideIgnoreScope() ) {
|
||||
if ( f_base == t.level() ) {
|
||||
write_record( t );
|
||||
KILLSUBTASK( graphics_data );
|
||||
f_base = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
void
|
||||
GraphicsTask::write_record( const Token &t )
|
||||
{
|
||||
|
||||
|
||||
/*
|
||||
* It is up to the client of graphics_data to determine how to
|
||||
* interpret the content() , which will be treated as file name
|
||||
*/
|
||||
|
||||
SearchPath *spath = Dispatch::GetSearchPath();
|
||||
const char *file_name = graphics_data->content();
|
||||
const char *grFileName = spath->get_real_path( file_name );
|
||||
|
||||
const char *bounding_box = "0.0.0.0";
|
||||
GR_TYPE gr_type = GR_TYPE_UNKNOWN;
|
||||
|
||||
/*
|
||||
* assuming that grFileName is actually corresponding to the
|
||||
* final file where the graphical content is stored
|
||||
*/
|
||||
|
||||
FlexBuffer graphics_buffer;
|
||||
const char *size_info;
|
||||
int graphics_available=0;
|
||||
|
||||
|
||||
FILE *gp;
|
||||
|
||||
if ( grFileName ) {
|
||||
gp = fopen ( grFileName, "r" );
|
||||
if ( gp ) {
|
||||
|
||||
graphics_available=1;
|
||||
int c;
|
||||
while ( ( c=getc(gp) ) != EOF ) {
|
||||
graphics_buffer.put(c);
|
||||
}
|
||||
|
||||
fclose(gp);
|
||||
|
||||
|
||||
switch ( (gr_type = graphics_type( grFileName )) ) {
|
||||
|
||||
case GR_TYPE_UNKNOWN :
|
||||
{
|
||||
cerr << "(WARNING) Unsupported graphics type found in "
|
||||
<< grFileName << endl
|
||||
<< " It is included in file " << t.file() << endl
|
||||
<< " at line " << t.line() << endl;
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
case GR_TYPE_POSTSCRIPT :
|
||||
{
|
||||
#ifndef DtinfoClient
|
||||
PostScript *ps_store = new PostScript( grFileName );
|
||||
|
||||
bounding_box = ps_store->GetBoundingBox();
|
||||
if ( ps_store->HasSearchTerms() ) {
|
||||
termsbuf = ps_store->GetTermsBuffer();
|
||||
}
|
||||
|
||||
delete ps_store;
|
||||
#else
|
||||
cerr << "(WARNING) Unsupported PostScript graphic found in "
|
||||
<< grFileName << endl
|
||||
<< " It is included in file " << t.file() << endl
|
||||
<< " at line " << t.line() << endl;
|
||||
#endif
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
size_info = form("%d.%d.%s",
|
||||
gr_type,
|
||||
GR_ENCODING_TEXT,
|
||||
bounding_box );
|
||||
}
|
||||
}
|
||||
else {
|
||||
cerr << "(WARNING) graphical file = " << file_name << endl
|
||||
<< " included in file = " << t.file() << endl
|
||||
<< " at line = " << t.line() << endl
|
||||
<< " is not found, a zero length graphical data is used\n\n";
|
||||
|
||||
}
|
||||
|
||||
|
||||
/* dump the graphics record */
|
||||
NodeData *nodeData = f_parent->node_data();
|
||||
const char *gid = nodeData->graphics_id();
|
||||
BookTask *book = nodeData->node()->book();
|
||||
const char *bookLocator = book->locator();
|
||||
|
||||
DBTable *gtab = book->bookcase()->table(BookCaseDB::Graphics);
|
||||
|
||||
gtab->insert( STRING_CODE, bookLocator,
|
||||
STRING_CODE, gid,
|
||||
STRING_CODE, "",
|
||||
STRING_CODE, "v0",
|
||||
STRING_CODE, graphics_available?size_info : "0.0.0.0.0.0",
|
||||
-STRING_CODE, graphics_buffer.GetBuffer(),
|
||||
graphics_buffer.GetSize(),
|
||||
STRING_CODE, f_title?f_title->content():"",
|
||||
NULL);
|
||||
|
||||
/*
|
||||
if ( compress ) {
|
||||
gtab->insert(STRING_CODE, gid,
|
||||
STRING_CODE, "@@ graphcis name",
|
||||
STRING_CODE, "v0",
|
||||
STRING_CODE, "@@ type info",
|
||||
COMPRESSED_STRING_CODE, "@@ CompressedAgent",
|
||||
-STRING_CODE, graphics_buffer.GetBuffer(), graphics_buffer.GetBSize(),
|
||||
STRING_CODE, "@@ graphics title" );
|
||||
}
|
||||
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
|
||||
53
cde/programs/dtinfo/dtinfogen/infolib/etc/GraphicsTask.h
Normal file
53
cde/programs/dtinfo/dtinfogen/infolib/etc/GraphicsTask.h
Normal file
@@ -0,0 +1,53 @@
|
||||
/* $XConsortium: GraphicsTask.h /main/3 1996/07/18 16:46:09 drk $ */
|
||||
#ifndef GRAPHICS_TASK_HDR
|
||||
#define GRAPHICS_TASK_HDR
|
||||
|
||||
#include "Task.h"
|
||||
#include "FlexBuffer.h"
|
||||
|
||||
#include "oliasdb/olias_consts.h"
|
||||
|
||||
class Token;
|
||||
class SearchEngine;
|
||||
class OL_Data;
|
||||
|
||||
class GraphicsTask : public ComplexTask {
|
||||
|
||||
private:
|
||||
int f_base;
|
||||
SearchEngine *f_parent;
|
||||
const FlexBuffer *termsbuf;
|
||||
OL_Data *graphics_data;
|
||||
OL_Data *f_title;
|
||||
void write_record( const Token & );
|
||||
GR_TYPE graphics_type( const char * );
|
||||
|
||||
public:
|
||||
int IsDone() { return( f_base == -1 ); }
|
||||
int HasSearchTerms() const;
|
||||
const FlexBuffer *GetTerms() { return(termsbuf); }
|
||||
|
||||
public:
|
||||
void markup ( const Token & );
|
||||
GraphicsTask( SearchEngine *parent, const Token &t);
|
||||
|
||||
};
|
||||
|
||||
inline
|
||||
int
|
||||
GraphicsTask::HasSearchTerms() const
|
||||
{
|
||||
if ( !termsbuf ) {
|
||||
return 0;
|
||||
}
|
||||
else {
|
||||
FlexBuffer *tmpBuffer = ( FlexBuffer *)termsbuf;
|
||||
return( tmpBuffer->GetSize() );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
10
cde/programs/dtinfo/dtinfogen/infolib/etc/Handler.C
Normal file
10
cde/programs/dtinfo/dtinfogen/infolib/etc/Handler.C
Normal file
@@ -0,0 +1,10 @@
|
||||
/* $XConsortium: Handler.cc /main/2 1996/07/18 16:15:12 drk $ */
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
void FreeStoreException()
|
||||
{
|
||||
fprintf(stderr,"(ERROR) Memory exhausted\n");
|
||||
exit(1);
|
||||
}
|
||||
8
cde/programs/dtinfo/dtinfogen/infolib/etc/Handler.h
Normal file
8
cde/programs/dtinfo/dtinfogen/infolib/etc/Handler.h
Normal file
@@ -0,0 +1,8 @@
|
||||
/* $XConsortium: Handler.h /main/2 1996/07/18 16:46:29 drk $ */
|
||||
#ifndef __HandlerH__
|
||||
#define __HandlerH__
|
||||
|
||||
#include <new.h>
|
||||
extern void FreeStoreException();
|
||||
|
||||
#endif
|
||||
374
cde/programs/dtinfo/dtinfogen/infolib/etc/Imakefile
Normal file
374
cde/programs/dtinfo/dtinfogen/infolib/etc/Imakefile
Normal file
@@ -0,0 +1,374 @@
|
||||
XCOMM $TOG: Imakefile /main/27 1997/09/05 11:29:30 samborn $
|
||||
|
||||
DEPEND_DEFINES = $(CXXDEPENDINCLUDES)
|
||||
|
||||
#ifdef RegenParserFiles
|
||||
XCOMM lex flags
|
||||
LFLAGS=-Cf -L -8 -s
|
||||
YFLAGS=-d
|
||||
#endif
|
||||
#ifdef DoLicenseManagement
|
||||
LIC_FLAGS=-DLICENSE_MANAGEMENT
|
||||
LIC_INCLUDES=$(LICENSE_L_INCLUDES) $(LICENSE_F_INCLUDES)
|
||||
LIC_LIBS=$(LICENSE_L_LIBS)
|
||||
#endif
|
||||
|
||||
#ifdef UseRWClasses
|
||||
XCOMM make rogue into a defined item in site.def
|
||||
INCLUDES=-I/VOB/olias/control/rogue
|
||||
ROGUE_LIBS=$(RW_LIBDIR) $(RW_LIB)
|
||||
#endif
|
||||
|
||||
INCLUDES=$(MMDB_INCLUDES) $(EXCEPTIONS_INCLUDES) \
|
||||
$(MISC_INCLUDES) $(GLOBAL_INCLUDES) $(DBUG_INCLUDES) \
|
||||
$(COMMON_CLASS_INCLUDES) $(LIC_INCLUDES)
|
||||
|
||||
|
||||
|
||||
MMDB_DIR=../../../mmdb
|
||||
|
||||
#ifdef AIXArchitecture
|
||||
|
||||
API_OBJS = \
|
||||
$(MMDB_DIR)/api/base.o $(MMDB_DIR)/api/info_base.o \
|
||||
$(MMDB_DIR)/api/info_lib.o $(MMDB_DIR)/api/smart_ptr.o \
|
||||
$(MMDB_DIR)/api/transaction.o $(MMDB_DIR)/api/utility.o
|
||||
|
||||
BTREE_OBJS = \
|
||||
$(MMDB_DIR)/btree/mmdb_btree.o
|
||||
|
||||
#if !defined(AIXArchitecture)
|
||||
EXTRA_BTREE_BERKELEY_OBJS = $(MMDB_DIR)/btree_berkeley/memmove.o
|
||||
#endif
|
||||
|
||||
BTREE_BERKELEY_OBJS = \
|
||||
$(MMDB_DIR)/btree_berkeley/bt_close.o $(MMDB_DIR)/btree_berkeley/bt_conv.o \
|
||||
$(MMDB_DIR)/btree_berkeley/bt_debug.o $(MMDB_DIR)/btree_berkeley/bt_delete.o \
|
||||
$(MMDB_DIR)/btree_berkeley/bt_get.o $(MMDB_DIR)/btree_berkeley/bt_open.o \
|
||||
$(MMDB_DIR)/btree_berkeley/bt_overflow.o $(MMDB_DIR)/btree_berkeley/bt_page.o \
|
||||
$(MMDB_DIR)/btree_berkeley/bt_put.o $(MMDB_DIR)/btree_berkeley/bt_search.o \
|
||||
$(MMDB_DIR)/btree_berkeley/bt_seq.o $(MMDB_DIR)/btree_berkeley/bt_split.o \
|
||||
$(MMDB_DIR)/btree_berkeley/bt_stack.o $(MMDB_DIR)/btree_berkeley/bt_utils.o \
|
||||
$(MMDB_DIR)/btree_berkeley/mktemp.o $(MMDB_DIR)/btree_berkeley/realloc.o \
|
||||
$(MMDB_DIR)/btree_berkeley/snprintf.o $(EXTRA_BTREE_BERKELEY_OBJS) \
|
||||
$(MMDB_DIR)/btree_berkeley/mpool.o $(MMDB_DIR)/btree_berkeley/db.o
|
||||
|
||||
COMPRESSION_OBJS = \
|
||||
$(MMDB_DIR)/compression/abs_agent.o $(MMDB_DIR)/compression/zip.o \
|
||||
$(MMDB_DIR)/compression/huffman.o $(MMDB_DIR)/compression/trie.o \
|
||||
$(MMDB_DIR)/compression/code.o $(MMDB_DIR)/compression/lzss.o \
|
||||
$(MMDB_DIR)/compression/sgml.o $(MMDB_DIR)/compression/ps.o
|
||||
|
||||
DISKHASH_OBJS = \
|
||||
$(MMDB_DIR)/diskhash/disk_bucket.o $(MMDB_DIR)/diskhash/bucket_array.o \
|
||||
$(MMDB_DIR)/diskhash/disk_hash.o
|
||||
|
||||
DSTR_OBJS = \
|
||||
$(MMDB_DIR)/dstr/set.o $(MMDB_DIR)/dstr/bset.o \
|
||||
$(MMDB_DIR)/dstr/slist.o $(MMDB_DIR)/dstr/dlist_cell.o \
|
||||
$(MMDB_DIR)/dstr/dlist.o $(MMDB_DIR)/dstr/heap.o \
|
||||
$(MMDB_DIR)/dstr/void_ptr_array.o $(MMDB_DIR)/dstr/void_ptr_stack.o \
|
||||
$(MMDB_DIR)/dstr/memory_pool.o $(MMDB_DIR)/dstr/dstr_test.o \
|
||||
$(MMDB_DIR)/dstr/index_agent.o $(MMDB_DIR)/dstr/token_stack.o \
|
||||
$(MMDB_DIR)/dstr/slist_char_ptr_cell.o
|
||||
|
||||
DTI_EXCS_OBJS = \
|
||||
$(MMDB_DIR)/dti_excs/Jump_Environment.o $(MMDB_DIR)/dti_excs/Exceptions.o \
|
||||
$(MMDB_DIR)/dti_excs/Exception.o $(MMDB_DIR)/dti_excs/Destructable.o \
|
||||
$(MMDB_DIR)/dti_excs/terminate.o
|
||||
|
||||
DYNHASH_OBJS = \
|
||||
$(MMDB_DIR)/dynhash/data_t.o $(MMDB_DIR)/dynhash/imp_bucket.o \
|
||||
$(MMDB_DIR)/dynhash/imp_die.o
|
||||
|
||||
HMPHF_OBJS = \
|
||||
$(MMDB_DIR)/hmphf/buckets.o $(MMDB_DIR)/hmphf/mphf_funcs.o \
|
||||
$(MMDB_DIR)/hmphf/mphf_hash_table.o $(MMDB_DIR)/hmphf/params.o \
|
||||
$(MMDB_DIR)/hmphf/pattern.o $(MMDB_DIR)/hmphf/sorter.o
|
||||
|
||||
INDEX_OBJS = \
|
||||
$(MMDB_DIR)/index/btree_index.o $(MMDB_DIR)/index/dyn_disk_index.o \
|
||||
$(MMDB_DIR)/index/dyn_index.o $(MMDB_DIR)/index/dyn_memory_index.o \
|
||||
$(MMDB_DIR)/index/fast_mphf.o $(MMDB_DIR)/index/hash.o \
|
||||
$(MMDB_DIR)/index/index.o $(MMDB_DIR)/index/inv_lists.o \
|
||||
$(MMDB_DIR)/index/mphf_index.o
|
||||
|
||||
MGRS_OBJS = \
|
||||
$(MMDB_DIR)/mgrs/managers.o $(MMDB_DIR)/mgrs/misc.o \
|
||||
$(MMDB_DIR)/mgrs/query_mgr.o $(MMDB_DIR)/mgrs/template_mgr.o
|
||||
|
||||
MISC_OBJS = \
|
||||
$(MMDB_DIR)/misc/unique_id.o
|
||||
|
||||
OBJECT_OBJS = \
|
||||
$(MMDB_DIR)/object/composite.o $(MMDB_DIR)/object/compressed_pstring.o \
|
||||
$(MMDB_DIR)/object/cset.o $(MMDB_DIR)/object/dl_list.o \
|
||||
$(MMDB_DIR)/object/dl_list_cell.o $(MMDB_DIR)/object/handler.o \
|
||||
$(MMDB_DIR)/object/integer.o $(MMDB_DIR)/object/long_pstring.o \
|
||||
$(MMDB_DIR)/object/oid.o $(MMDB_DIR)/object/oid_list.o \
|
||||
$(MMDB_DIR)/object/oid_t.o $(MMDB_DIR)/object/primitive.o \
|
||||
$(MMDB_DIR)/object/pstring.o $(MMDB_DIR)/object/random_gen.o \
|
||||
$(MMDB_DIR)/object/root.o $(MMDB_DIR)/object/short_list.o \
|
||||
$(MMDB_DIR)/object/tuple.o
|
||||
|
||||
OLIASDB_OBJS = \
|
||||
$(MMDB_DIR)/oliasdb/asciiIn_filters.o $(MMDB_DIR)/oliasdb/collectionIterator.o \
|
||||
$(MMDB_DIR)/oliasdb/dlp_hd.o $(MMDB_DIR)/oliasdb/dlp_test.o \
|
||||
$(MMDB_DIR)/oliasdb/doc_hd.o $(MMDB_DIR)/oliasdb/doc_test.o \
|
||||
$(MMDB_DIR)/oliasdb/graphic_hd.o $(MMDB_DIR)/oliasdb/graphic_test.o \
|
||||
$(MMDB_DIR)/oliasdb/loc_test.o $(MMDB_DIR)/oliasdb/locator_hd.o \
|
||||
$(MMDB_DIR)/oliasdb/mark.o $(MMDB_DIR)/oliasdb/mark_base.o \
|
||||
$(MMDB_DIR)/oliasdb/mark_test.o $(MMDB_DIR)/oliasdb/mmdb.o \
|
||||
$(MMDB_DIR)/oliasdb/node_hd.o $(MMDB_DIR)/oliasdb/node_test.o \
|
||||
$(MMDB_DIR)/oliasdb/olias_funcs.o $(MMDB_DIR)/oliasdb/olias_test.o \
|
||||
$(MMDB_DIR)/oliasdb/stylesheet_hd.o $(MMDB_DIR)/oliasdb/stylesheet_test.o \
|
||||
$(MMDB_DIR)/oliasdb/toc_hd.o $(MMDB_DIR)/oliasdb/toc_test.o \
|
||||
$(MMDB_DIR)/oliasdb/user_base.o
|
||||
|
||||
SCHEMA_OBJS = \
|
||||
$(MMDB_DIR)/schema/desc.o $(MMDB_DIR)/schema/store_desc.o \
|
||||
$(MMDB_DIR)/schema/object_dict.o $(MMDB_DIR)/schema/stored_object_desc.o \
|
||||
$(MMDB_DIR)/schema/index_desc.o $(MMDB_DIR)/schema/inv_desc.o \
|
||||
$(MMDB_DIR)/schema/agent_desc.o $(MMDB_DIR)/schema/container_desc.o \
|
||||
$(MMDB_DIR)/schema/sheet.o $(MMDB_DIR)/schema/token.o
|
||||
|
||||
STORAGE_OBJS = \
|
||||
$(MMDB_DIR)/storage/abs_storage.o $(MMDB_DIR)/storage/chunks_index.o \
|
||||
$(MMDB_DIR)/storage/heap_comp_funcs.o $(MMDB_DIR)/storage/lru.o \
|
||||
$(MMDB_DIR)/storage/page.o $(MMDB_DIR)/storage/page_cache.o \
|
||||
$(MMDB_DIR)/storage/page_rep.o $(MMDB_DIR)/storage/page_storage.o \
|
||||
$(MMDB_DIR)/storage/rep_cell.o $(MMDB_DIR)/storage/rep_policy.o \
|
||||
$(MMDB_DIR)/storage/store_test.o $(MMDB_DIR)/storage/unixf_storage.o \
|
||||
$(MMDB_DIR)/storage/version.o $(MMDB_DIR)/storage/vm_storage.o
|
||||
|
||||
UTILITY_OBJS = \
|
||||
$(MMDB_DIR)/utility/funcs.o $(MMDB_DIR)/utility/ostring.o \
|
||||
$(MMDB_DIR)/utility/pm_random.o $(MMDB_DIR)/utility/atoi_pearson.o \
|
||||
$(MMDB_DIR)/utility/xtime.o $(MMDB_DIR)/utility/buffer.o \
|
||||
$(MMDB_DIR)/utility/atoi_larson.o $(MMDB_DIR)/utility/atomic_lock.o \
|
||||
$(MMDB_DIR)/utility/rw_lock.o $(MMDB_DIR)/utility/atoi_fast.o \
|
||||
$(MMDB_DIR)/utility/filter.o $(MMDB_DIR)/utility/mmdb_exception.o \
|
||||
$(MMDB_DIR)/utility/randomize.o
|
||||
|
||||
DTI_CC_OBJS = \
|
||||
$(MMDB_DIR)/dti_cc/CC_Listbase.o $(MMDB_DIR)/dti_cc/cc_exceptions.o \
|
||||
$(MMDB_DIR)/dti_cc/CC_String.o $(MMDB_DIR)/dti_cc/CC_Tokenizer.o \
|
||||
$(MMDB_DIR)/dti_cc/CC_Stack.o $(MMDB_DIR)/dti_cc/CC_Slist.o
|
||||
|
||||
#if defined(HPArchitecture) || !defined(CplusplusCompilerMajorVersion) || (CplusplusCompilerMajorVersion != 4)
|
||||
EXTRA_HARDCOPY_OBJS = $(MMDB_DIR)/HardCopy/TemplatesAutoNumber.o
|
||||
#endif
|
||||
|
||||
HARDCOPY_OBJS = \
|
||||
$(MMDB_DIR)/HardCopy/FPset.o $(MMDB_DIR)/HardCopy/HardCopyFP.o \
|
||||
$(MMDB_DIR)/HardCopy/autoNumber.o $(MMDB_DIR)/HardCopy/autoNumberFP.o \
|
||||
$(EXTRA_HARDCOPY_OBJS)
|
||||
|
||||
#if defined(HPArchitecture) || !defined(CplusplusCompilerMajorVersion) || (CplusplusCompilerMajorVersion != 4)
|
||||
EXTRA_STYLESHEET_OBJS = $(MMDB_DIR)/StyleSheet/SSTemplates.o
|
||||
#endif
|
||||
|
||||
STYLESHEET_OBJS = \
|
||||
$(MMDB_DIR)/StyleSheet/Attribute.o $(MMDB_DIR)/StyleSheet/AttributeList.o \
|
||||
$(MMDB_DIR)/StyleSheet/BitVector.o $(MMDB_DIR)/StyleSheet/DocParser.o \
|
||||
$(MMDB_DIR)/StyleSheet/Element.o $(MMDB_DIR)/StyleSheet/Expression.o \
|
||||
$(MMDB_DIR)/StyleSheet/Feature.o $(MMDB_DIR)/StyleSheet/FeatureDefDictionary.o \
|
||||
$(MMDB_DIR)/StyleSheet/FeatureSet.o $(MMDB_DIR)/StyleSheet/FeatureValue.o \
|
||||
$(MMDB_DIR)/StyleSheet/PathQualifier.o $(MMDB_DIR)/StyleSheet/PathTable.o \
|
||||
$(MMDB_DIR)/StyleSheet/Resolver.o $(MMDB_DIR)/StyleSheet/ResolverStack.o \
|
||||
$(MMDB_DIR)/StyleSheet/SSPath.o $(MMDB_DIR)/StyleSheet/StyleSheet.o \
|
||||
$(MMDB_DIR)/StyleSheet/StyleSheetExceptions.o \
|
||||
$(MMDB_DIR)/StyleSheet/SymTab.o $(MMDB_DIR)/StyleSheet/VariableTable.o \
|
||||
$(MMDB_DIR)/StyleSheet/defParser.o $(MMDB_DIR)/StyleSheet/defToken.o \
|
||||
$(MMDB_DIR)/StyleSheet/style.o $(MMDB_DIR)/StyleSheet/tokenStyle.o \
|
||||
$(MMDB_DIR)/StyleSheet/RendererHCV.o $(EXTRA_STYLESHEET_OBJS)
|
||||
|
||||
MMDB_OBJS = $(HARDCOPY_OBJS) $(STYLESHEET_OBJS) $(DTI_CC_OBJS)
|
||||
|
||||
ALL_MMDB_OBJS = $(API_OBJS) $(BTREE_OBJS) \
|
||||
$(BTREE_BERKELEY_OBJS) $(COMPRESSION_OBJS) \
|
||||
$(DISKHASH_OBJS) $(DSTR_OBJS) \
|
||||
$(DTI_EXCS_OBJS) $(DYNHASH_OBJS) \
|
||||
$(HMPHF_OBJS) $(INDEX_OBJS) \
|
||||
$(MGRS_OBJS) $(MISC_OBJS) \
|
||||
$(OBJECT_OBJS) $(OLIASDB_OBJS) \
|
||||
$(SCHEMA_OBJS) $(STORAGE_OBJS) \
|
||||
$(UTILITY_OBJS) $(MMDB_OBJS)
|
||||
#endif
|
||||
|
||||
#ifdef AIXArchitecture
|
||||
Libs = $(LINKLIBS) $(ALL_MMDB_OBJS) $(LIC_LIBS) $(DBUG_LIBS) $(DTSVCLIB) $(TTLIB) $(MATH_LIB)
|
||||
#else
|
||||
Libs = $(LINKLIBS) $(MMDB_LIBS) $(LIC_LIBS) $(DBUG_LIBS) $(MATH_LIB)
|
||||
#endif
|
||||
|
||||
#ifdef UseQSearch
|
||||
SEARCHENG=QSearch
|
||||
#else
|
||||
#ifdef UseDtSearch
|
||||
SEARCHENG=AusText
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef UseDtSearch
|
||||
SEARCH_SRCS=$(SEARCHENG).C $(SEARCHENG)Storage.C
|
||||
SEARCH_OBJS=$(SEARCHENG).o $(SEARCHENG)Storage.o
|
||||
#else
|
||||
SEARCH_OBJS=$(SEARCHENG)
|
||||
#endif
|
||||
|
||||
NORMAL_SRCS = \
|
||||
AttributeData.C \
|
||||
AttributeList.C \
|
||||
AttributeRec.C \
|
||||
BookCaseDB.C \
|
||||
BookTasks.C \
|
||||
BTCollectable.C \
|
||||
ConcatTask.C \
|
||||
Content.C \
|
||||
OL_DataExpr.C \
|
||||
ContentType.C \
|
||||
DataBase.C \
|
||||
DataTask.C \
|
||||
DataRepository.C \
|
||||
Dispatch.C \
|
||||
EntityList.C \
|
||||
Expression.C \
|
||||
ExprList.C \
|
||||
FirstOf.C \
|
||||
FlexBuffer.C \
|
||||
GenericId.C \
|
||||
gr_type.C \
|
||||
GraphicsTask.C \
|
||||
Handler.C \
|
||||
LcfTask.C \
|
||||
NodeData.C \
|
||||
NodeTask.C \
|
||||
OL-Data.C \
|
||||
OLAF.C \
|
||||
ReplaceIdIdref.C \
|
||||
SGMLDefn.C \
|
||||
SGMLName.C \
|
||||
SearchEng.C \
|
||||
SearchPath.C \
|
||||
SearchStorage.C \
|
||||
StringList.C \
|
||||
StyleTask.C \
|
||||
StyleTaskDB.C \
|
||||
StyleValidate.C \
|
||||
TOCTask.C \
|
||||
Task.C \
|
||||
Token.C \
|
||||
lex.C
|
||||
|
||||
NORMAL_OBJS = $(NORMAL_SRCS:.C=.o) $(SEARCH_OBJS)
|
||||
|
||||
SRCS=$(NORMAL_SRCS) $(SEARCH_SRCS)
|
||||
#ifndef DtinfoClient
|
||||
OBJS=$(NORMAL_OBJS) PostScript.o
|
||||
#else
|
||||
OBJS=$(NORMAL_OBJS)
|
||||
#endif
|
||||
|
||||
CMD_SRCS = NodeParser.C \
|
||||
NCFGen.C \
|
||||
MixedGen.C \
|
||||
RemoteId.C \
|
||||
StyleUpdate.C
|
||||
CMD_OBJS = $(CMD_SRCS:.C=.o)
|
||||
|
||||
XCOMM #######################################
|
||||
XCOMM Template handling
|
||||
XCOMM #######################################
|
||||
#if defined(SunArchitecture) && CplusplusCompilerMajorVersion > 3
|
||||
all::$(CMD_OBJS)
|
||||
SimpleLibraryT(OLAFParse,$(OBJS),$(LIBDIR))
|
||||
SimpleCPlusPlusProgram(NodeParser, NodeParser.o libOLAFParse.a libOLAFParseT.a,$(Libs))
|
||||
SimpleCPlusPlusProgram(NCFGen, NCFGen.o libOLAFParse.a libOLAFParseT.a,$(Libs) $(DTSVCLIB) $(TTLIB))
|
||||
SimpleCPlusPlusProgram(MixedGen, MixedGen.o RemoteId.o libOLAFParse.a libOLAFParseT.a,$(Libs) $(DTSVCLIB) $(TTLIB))
|
||||
SimpleCPlusPlusProgram(StyleUpdate, StyleUpdate.o libOLAFParse.a libOLAFParseT.a,$(Libs) $(DTSVCLIB) $(TTLIB))
|
||||
#else
|
||||
TEMPLATE_OBJS = TKTemplate.o
|
||||
RealLibrary(OLAFParse,$(OBJS),$(LIBDIR))
|
||||
SimpleCPlusPlusProgram(NodeParser, NodeParser.o $(TEMPLATE_OBJS) libOLAFParse.a,$(Libs))
|
||||
SimpleCPlusPlusProgram(NCFGen, NCFGen.o $(TEMPLATE_OBJS) libOLAFParse.a,$(Libs) $(DTSVCLIB) $(TTLIB))
|
||||
SimpleCPlusPlusProgram(MixedGen, MixedGen.o RemoteId.o $(TEMPLATE_OBJS) libOLAFParse.a,$(Libs) $(DTSVCLIB) $(TTLIB))
|
||||
SimpleCPlusPlusProgram(StyleUpdate, StyleUpdate.o $(TEMPLATE_OBJS) libOLAFParse.a,$(Libs) $(DTSVCLIB) $(TTLIB))
|
||||
#ifdef HPArchitecture
|
||||
SpecialCPlusPlusObjectRule($(TEMPLATE_OBJS),,+pti all_tmpls)
|
||||
#else
|
||||
#if defined(UXPArchitecture) || (defined(SunArchitecture) && CplusplusCompilerMajorVersion < 4)
|
||||
SpecialCPlusPlusObjectRule($(TEMPLATE_OBJS),,+Tall_tmpls)
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
XCOMM lex.C gr_type.C ReplaceIdIdref.C ContentType.C RemoteId.C
|
||||
XCOMM and OL_DataExpr.C are generated from flex and byacc files
|
||||
#ifdef RegenParserFiles
|
||||
SimpleCPlusPlusLexTarget(lex)
|
||||
LexTarget (gr_type,graphics_task)
|
||||
LexTarget (ReplaceIdIdref,nodedata)
|
||||
LexTarget (ContentType,ol_data)
|
||||
LexTarget (RemoteId,remote)
|
||||
YaccTarget(OL_DataExpr,ol_data)
|
||||
#else
|
||||
OL_DataExpr.o : OL_DataExpr.C
|
||||
CplusObjectCompile($(_NOOP_))
|
||||
ContentType.o : ContentType.C
|
||||
CplusObjectCompile($(_NOOP_))
|
||||
gr_type.o : gr_type.C
|
||||
CplusObjectCompile($(_NOOP_))
|
||||
ReplaceIdIdref.o : ReplaceIdIdref.C
|
||||
CplusObjectCompile($(_NOOP_))
|
||||
lex.o : lex.C
|
||||
CplusObjectCompile($(_NOOP_))
|
||||
RemoteId.o : RemoteId.C
|
||||
CplusObjectCompile($(_NOOP_))
|
||||
#endif
|
||||
|
||||
XCOMM This passes BookTasks.C the necessary flag to compile-in licensing
|
||||
SpecialCPlusPlusObjectRule(BookTasks.o,,$(LIC_FLAGS))
|
||||
|
||||
InstallBuildToolsBinary(NodeParser)
|
||||
InstallBuildToolsBinary(NCFGen)
|
||||
InstallBuildToolsBinary(MixedGen)
|
||||
InstallBuildToolsBinary(StyleUpdate)
|
||||
InstallBuildToolsScript(dtinfogen)
|
||||
InstallBuildToolsBinary(dtinfogen_worker)
|
||||
#ifndef DtinfoClient
|
||||
InstallMultipleDest(install_buildtools,psbox.ps,$(INSTALL_ETC_DIR))
|
||||
#endif
|
||||
|
||||
|
||||
XCOMM symlinks used by dtinfogen when run from the build tree
|
||||
|
||||
LinkSourceFile(hardcopy.feature.spec,$(CDELIBSRC)/DtMmdb/StyleSheet)
|
||||
LinkSourceFile(online.feature.spec,$(CDELIBSRC)/DtMmdb/StyleSheet)
|
||||
LinkSourceFile(mmdb.infolib.spec,$(CDELIBSRC)/DtMmdb/oliasdb)
|
||||
LinkSourceFile(dtsr,$(PROGRAMSRC))
|
||||
LinkFile(C.ISO-8859-1,$(PROGRAMSRC)/localized/C)
|
||||
LinkFile(de_DE.ISO-8859-1,$(PROGRAMSRC)/localized/de_DE.ISO8859-1)
|
||||
LinkFile(es_ES.ISO-8859-1,$(PROGRAMSRC)/localized/es_ES.ISO8859-1)
|
||||
LinkFile(fr_FR.ISO-8859-1,$(PROGRAMSRC)/localized/fr_FR.ISO8859-1)
|
||||
LinkFile(it_IT.ISO-8859-1,$(PROGRAMSRC)/localized/it_IT.ISO8859-1)
|
||||
LinkFile(ja_JP.EUC-JP,$(PROGRAMSRC)/localized/ja_JP.dt-eucJP)
|
||||
LinkFile(C,C.ISO-8859-1)
|
||||
|
||||
#if defined(SunArchitecture)
|
||||
SYS_LIBRARIES = -lgen
|
||||
#endif
|
||||
|
||||
DEPLIBS2 = $(DEPDTSVCLIB) $(DEPTTLIB) /* $(DEPXMLIB) $(DEPXTOOLLIB) $(DEPXLIB) */
|
||||
LOCAL_LIBRARIES2 = $(DTSVCLIB) $(TTLIB) $(XMLIB) $(XTOOLLIB) $(XLIB)
|
||||
|
||||
SRCS2 = dtinfogen_worker.c
|
||||
OBJS2 = dtinfogen_worker.o
|
||||
|
||||
AllTarget(dtinfogen_worker)
|
||||
ComplexProgramTarget_2(dtinfogen_worker,$(LOCAL_LIBRARIES2),NullParameter)
|
||||
|
||||
clean::
|
||||
RemoveFiles(dtinfogen_worker)
|
||||
|
||||
DependTarget3($(NORMAL_SRCS),$(CMD_SRCS),$(SRCS2))
|
||||
114
cde/programs/dtinfo/dtinfogen/infolib/etc/LcfTask.C
Normal file
114
cde/programs/dtinfo/dtinfogen/infolib/etc/LcfTask.C
Normal file
@@ -0,0 +1,114 @@
|
||||
/* $XConsortium: LcfTask.C /main/3 1996/10/26 18:17:58 cde-hal $
|
||||
*
|
||||
* (c) Copyright 1996 Digital Equipment Corporation.
|
||||
* (c) Copyright 1996 Hewlett-Packard Company.
|
||||
* (c) Copyright 1996 International Business Machines Corp.
|
||||
* (c) Copyright 1996 Sun Microsystems, Inc.
|
||||
* (c) Copyright 1996 Novell, Inc.
|
||||
* (c) Copyright 1996 FUJITSU LIMITED.
|
||||
* (c) Copyright 1996 Hitachi.
|
||||
*/
|
||||
|
||||
/* exported interfaces */
|
||||
#include "LcfTask.h"
|
||||
|
||||
/* imported interfaces */
|
||||
#include <assert.h>
|
||||
#include "Token.h"
|
||||
#include "NodeTask.h"
|
||||
#include "DataBase.h"
|
||||
#include "OL-Data.h"
|
||||
#include "OLAF.h"
|
||||
#include "BookTasks.h"
|
||||
#include "BookCaseDB.h"
|
||||
|
||||
//--------------------------------------------------------------------
|
||||
LcfTask::LcfTask( NodeTask *f_parent, const Token &t )
|
||||
{
|
||||
assert( f_parent != NULL );
|
||||
f_node = f_parent;
|
||||
f_base = t.level();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------
|
||||
void
|
||||
LcfTask::markup( const Token &t )
|
||||
{
|
||||
|
||||
ComplexTask::markup(t);
|
||||
|
||||
if ( t.type() == START ) {
|
||||
if ( t.LookupAttr( OLAF::OL_id ) ) {
|
||||
OL_Data *LocData = new OL_Data ( t, OLAF::OL_id, REMOVE_SPACES );
|
||||
|
||||
/*
|
||||
* Add subtask only if I know Data will be available
|
||||
*/
|
||||
|
||||
if ( LocData->DataWillBeAvailable() ) {
|
||||
addSubTask( LocData );
|
||||
|
||||
OL_Data *RefData = new OL_Data(t, OLAF::OL_XRefLabel, IGNORE_ON);
|
||||
addSubTask( RefData );
|
||||
}
|
||||
else { delete LocData; }
|
||||
}
|
||||
}
|
||||
else if ( t.type() == END ) {
|
||||
/* only write out all the locator if I am at the end f_node */
|
||||
if ( t.level() == f_base ) {
|
||||
write_record();
|
||||
reset();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------
|
||||
void
|
||||
LcfTask::reset()
|
||||
{
|
||||
ComplexTask::removeAllSubTasks();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------
|
||||
void
|
||||
LcfTask::write_record()
|
||||
{
|
||||
const char *NodeLocator = f_node->locator();
|
||||
#if 0
|
||||
for ( int i = 0; i < ComplexTask::used; i++ ) {
|
||||
OL_Data *task = (OL_Data * )subtask(i);
|
||||
if ( !task->ContentIsEmpty() ) {
|
||||
DBTable *tbl = f_node->book()->bookcase()->table(BookCaseDB::Locator);
|
||||
tbl->insert( STRING_CODE, task->content(),
|
||||
STRING_CODE, NodeLocator,
|
||||
STRING_CODE, task->filename(),
|
||||
INTEGER_CODE, task->line_no(),
|
||||
NULL);
|
||||
}
|
||||
}
|
||||
#else
|
||||
for ( int i = 0; i < ComplexTask::used; i+=2 ) {
|
||||
OL_Data* task = (OL_Data * )subtask(i);
|
||||
OL_Data* reftask = (OL_Data * )subtask(i+1);
|
||||
|
||||
if ( !task->ContentIsEmpty() ) {
|
||||
DBTable *tbl = f_node->book()->bookcase()->table(BookCaseDB::Locator);
|
||||
|
||||
const char* reflabel = "";
|
||||
if ( !reftask->ContentIsEmpty() ) {
|
||||
const char* content = reftask->content();
|
||||
if (strlen(content) < 256)
|
||||
reflabel = content;
|
||||
}
|
||||
|
||||
tbl->insert( STRING_CODE, task->content(),
|
||||
STRING_CODE, NodeLocator,
|
||||
STRING_CODE, reflabel,
|
||||
STRING_CODE, task->filename(),
|
||||
INTEGER_CODE, task->line_no(),
|
||||
NULL);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
27
cde/programs/dtinfo/dtinfogen/infolib/etc/LcfTask.h
Normal file
27
cde/programs/dtinfo/dtinfogen/infolib/etc/LcfTask.h
Normal file
@@ -0,0 +1,27 @@
|
||||
/* $XConsortium: LcfTask.h /main/2 1996/07/18 16:46:47 drk $ */
|
||||
#ifndef LCF_TASK_H
|
||||
#define LCF_TASK_H
|
||||
|
||||
#include "Task.h"
|
||||
|
||||
class NodeTask;
|
||||
|
||||
class LcfTask : public ComplexTask{
|
||||
friend class NodeTask;
|
||||
|
||||
public:
|
||||
LcfTask( NodeTask *f_parent , const Token &t );
|
||||
void markup(const Token& t);
|
||||
|
||||
protected:
|
||||
void reset();
|
||||
void write_record();
|
||||
|
||||
// void setNode(NodeTask *n) { f_node = n; }
|
||||
|
||||
private:
|
||||
NodeTask *f_node;
|
||||
int f_base;
|
||||
};
|
||||
|
||||
#endif /* LcfTask.h */
|
||||
32
cde/programs/dtinfo/dtinfogen/infolib/etc/Literal.h
Normal file
32
cde/programs/dtinfo/dtinfogen/infolib/etc/Literal.h
Normal file
@@ -0,0 +1,32 @@
|
||||
/* $XConsortium: Literal.h /main/2 1996/07/18 16:47:09 drk $ */
|
||||
#ifndef __Lithdr__
|
||||
#define __Lithdr__
|
||||
|
||||
#include "BaseDataCollect.h"
|
||||
#include "FlexBuffer.h"
|
||||
|
||||
class Token;
|
||||
|
||||
class Literal : public BaseData {
|
||||
|
||||
friend class FirstOf;
|
||||
friend class OL_Data;
|
||||
friend class Concat;
|
||||
|
||||
protected:
|
||||
Literal( const Token &t, const char *str, ActionType mode );
|
||||
};
|
||||
|
||||
inline
|
||||
Literal::Literal( const Token &t,
|
||||
const char *str,
|
||||
ActionType mode ):BaseData(t, mode)
|
||||
{
|
||||
data_complete = 1;
|
||||
if ( str ) {
|
||||
ValueBuffer.writeStr( str );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
1000
cde/programs/dtinfo/dtinfogen/infolib/etc/MixedGen.C
Normal file
1000
cde/programs/dtinfo/dtinfogen/infolib/etc/MixedGen.C
Normal file
File diff suppressed because it is too large
Load Diff
344
cde/programs/dtinfo/dtinfogen/infolib/etc/NCFGen.C
Normal file
344
cde/programs/dtinfo/dtinfogen/infolib/etc/NCFGen.C
Normal file
@@ -0,0 +1,344 @@
|
||||
/* $XConsortium: NCFGen.C /main/9 1996/08/21 15:47:02 drk $ */
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#if !defined(__uxp__) && !defined(USL)
|
||||
#include <strings.h>
|
||||
#endif
|
||||
#include <strstream.h>
|
||||
|
||||
#include "Exceptions.hh"
|
||||
#include "DataBase.h"
|
||||
#include "BookCaseDB.h"
|
||||
#include "Task.h"
|
||||
#include "Handler.h"
|
||||
#include "StyleValidate.h"
|
||||
#include "Token.h"
|
||||
|
||||
/* MMDB interfaces */
|
||||
#include "oliasdb/mmdb.h"
|
||||
#include "oliasdb/asciiIn_filters.h"
|
||||
#include "oliasdb/olias_consts.h"
|
||||
#include "oliasdb/stylesheet_hd.h"
|
||||
|
||||
|
||||
/* Hash table interfaces */
|
||||
#include "dti_cc/CC_String.h"
|
||||
#include "dti_cc/cc_hdict.h"
|
||||
#include "BTCollectable.h"
|
||||
|
||||
#ifdef FISH_DEBUG
|
||||
#include "dbug.h"
|
||||
#endif
|
||||
|
||||
#define SKIP_CODE -1
|
||||
static unsigned hash_func(const CC_String &str)
|
||||
{
|
||||
return str.hash();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
static void
|
||||
writeStyleSheets(BookCaseDB& db)
|
||||
{
|
||||
DBTable *out = db.DB::table(DATABASE_STDIO,
|
||||
STYLESHEET_CODE, BT_NUM_STYLESHEET_FIELDS,
|
||||
DB::CREATE);
|
||||
|
||||
DBTable *in = db.table(BookCaseDB::StyleSheet, DB::READ);
|
||||
DBCursor cursor(*in);
|
||||
|
||||
const char *name;
|
||||
const char *online;
|
||||
int len_o;
|
||||
const char *print;
|
||||
int len_p;
|
||||
|
||||
int statusO = 0;
|
||||
int statusP = 0;
|
||||
|
||||
|
||||
while(cursor.next(STRING_CODE, &name,
|
||||
-STRING_CODE, &online, &len_o,
|
||||
-STRING_CODE, &print, &len_p,
|
||||
NULL)){
|
||||
if( statusO=validate_stylesheet( online, len_o, ONLINE )){
|
||||
Token::signalError(Token::User, Token::Continuable, 0, 0,
|
||||
"Online style sheet for `%s' is invalid.", name);
|
||||
}
|
||||
|
||||
if( statusP=validate_stylesheet( print, len_p, PRINT )){
|
||||
Token::signalError(Token::User, Token::Continuable, 0, 0,
|
||||
"Print style sheet for `%s' is invalid.", name);
|
||||
}
|
||||
|
||||
if ( statusO || statusP ) {
|
||||
throw(Unexpected("Style sheet validation failed\n"));
|
||||
}
|
||||
|
||||
out->insert(STRING_CODE, name,
|
||||
-STRING_CODE, online, len_o,
|
||||
-STRING_CODE, print, len_p,
|
||||
NULL);
|
||||
}
|
||||
|
||||
delete out;
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
static void
|
||||
buildNCF(BookCaseDB& db, const char *base_name, int compressed)
|
||||
{
|
||||
DBTable *ncf = db.DB::table(DATABASE_STDIO,
|
||||
OLIAS_NODE_CODE, BT_NUM_OLIAS_NODE_FIELDS,
|
||||
DB::CREATE);
|
||||
|
||||
DBTable *nodeMeta = db.table(BookCaseDB::NodeMeta, DB::READ);
|
||||
DBCursor cursor(*nodeMeta);
|
||||
|
||||
|
||||
const char *bookLocator;
|
||||
const char *nodeLocator;
|
||||
const char *filename;
|
||||
int line_num;
|
||||
const char *title;
|
||||
const char *stitle;
|
||||
const char *style;
|
||||
int dupID = 0;
|
||||
|
||||
OLIAS_DB mmdb_handle;
|
||||
info_lib *mmdb =
|
||||
mmdb_handle.openInfoLib(getenv("MMDB_PATH"), (char*)base_name);
|
||||
info_base *base_ptr = mmdb->get_info_base(base_name);
|
||||
|
||||
const int BUFSIZE=30;
|
||||
|
||||
hashTable<CC_String,BTCollectable> node_dict(hash_func); // Hash table...
|
||||
|
||||
if ( compressed ) {
|
||||
|
||||
// 30 will be enough for now.
|
||||
const int COMPRESSED_AGENT_SIZE=30;
|
||||
|
||||
char comp_agent[COMPRESSED_AGENT_SIZE];
|
||||
|
||||
// was bzero before, but unable to find bzero on solaris
|
||||
for ( int i = 0; i < COMPRESSED_AGENT_SIZE; i++ ) {
|
||||
comp_agent[i] = 0;
|
||||
}
|
||||
|
||||
ostrstream str_buf( comp_agent,COMPRESSED_AGENT_SIZE);
|
||||
handler *x = (base_ptr->get_obj_dict()).get_handler(
|
||||
form("%s.%s", base_name, "sgml.dict"));
|
||||
x->its_oid().asciiOut(str_buf);
|
||||
|
||||
|
||||
while(cursor.next(STRING_CODE, &bookLocator,
|
||||
STRING_CODE, &nodeLocator,
|
||||
STRING_CODE, &filename,
|
||||
INTEGER_CODE, &line_num,
|
||||
SKIP_CODE, /* TOC num */
|
||||
STRING_CODE, &title,
|
||||
STRING_CODE, &stitle,
|
||||
STRING_CODE, &style,
|
||||
NULL)){
|
||||
|
||||
|
||||
CC_String *key = new CC_String(nodeLocator);
|
||||
|
||||
// check for duplicate node locator
|
||||
BTCollectable *val = node_dict.findValue( key );
|
||||
if ( val ) {
|
||||
delete key;
|
||||
dupID++;
|
||||
|
||||
cerr << "(ERROR) Duplicate section ID = " << nodeLocator << endl
|
||||
<< " found in file = " << filename << endl
|
||||
<< " at line = " << line_num << endl
|
||||
<< " is in conflict with " << endl
|
||||
<< " section ID = " << nodeLocator << endl
|
||||
<< " in file = " << val->filename() << endl
|
||||
<< " at line = " << val->linenum() << "\n\n";
|
||||
|
||||
|
||||
}
|
||||
else {
|
||||
|
||||
BTCollectable *val = new BTCollectable( filename,
|
||||
line_num,
|
||||
bookLocator);
|
||||
node_dict.insertKeyAndValue( key, val );
|
||||
|
||||
}
|
||||
|
||||
stylesheet_smart_ptr sheet(base_ptr, style);
|
||||
char oid_buf[BUFSIZE];
|
||||
ostrstream strout(oid_buf,BUFSIZE,ios::out);
|
||||
sheet.its_oid().asciiOut(strout);
|
||||
oid_buf[strout.pcount()] = NULL;
|
||||
|
||||
ncf->insert(STRING_CODE, nodeLocator,
|
||||
STRING_CODE, title,
|
||||
STRING_CODE, stitle,
|
||||
COMPRESSED_STRING_CODE, comp_agent, "",
|
||||
STRING_CODE, bookLocator,
|
||||
OID_CODE, "0.0", /* pointer to Book/CCF/DOC object */
|
||||
OID_CODE, oid_buf,
|
||||
NULL);
|
||||
}
|
||||
|
||||
}
|
||||
else {
|
||||
|
||||
while(cursor.next(STRING_CODE, &bookLocator,
|
||||
STRING_CODE, &nodeLocator,
|
||||
STRING_CODE, &filename,
|
||||
INTEGER_CODE, &line_num,
|
||||
SKIP_CODE, /* TOC num */
|
||||
STRING_CODE, &title,
|
||||
STRING_CODE, &stitle,
|
||||
STRING_CODE, &style,
|
||||
NULL)){
|
||||
|
||||
CC_String *key = new CC_String(nodeLocator);
|
||||
|
||||
// check for duplicate node locator
|
||||
BTCollectable *val = node_dict.findValue( key );
|
||||
if ( val ) {
|
||||
delete key;
|
||||
dupID++;
|
||||
|
||||
|
||||
cerr << "(ERROR) Duplicate section ID = " << nodeLocator << endl
|
||||
<< " found in file = " << filename << endl
|
||||
<< " at line = " << line_num << endl
|
||||
<< " is in conflict with " << endl
|
||||
<< " section ID = " << nodeLocator << endl
|
||||
<< " in file = " << val->filename() << endl
|
||||
<< " at line = " << val->linenum() << "\n\n";
|
||||
|
||||
}
|
||||
else {
|
||||
|
||||
BTCollectable *val = new BTCollectable( filename,
|
||||
line_num,
|
||||
bookLocator );
|
||||
node_dict.insertKeyAndValue( key , val );
|
||||
|
||||
}
|
||||
|
||||
|
||||
stylesheet_smart_ptr sheet(base_ptr, style);
|
||||
char oid_buf[BUFSIZE];
|
||||
ostrstream strout(oid_buf,BUFSIZE,ios::out);
|
||||
sheet.its_oid().asciiOut(strout);
|
||||
oid_buf[strout.pcount()] = NULL;
|
||||
|
||||
ncf->insert(STRING_CODE, nodeLocator,
|
||||
STRING_CODE, title,
|
||||
STRING_CODE, stitle,
|
||||
STRING_CODE, "",
|
||||
STRING_CODE, bookLocator,
|
||||
OID_CODE, "0.0", /* pointer to Book/CCF/DOC object */
|
||||
OID_CODE, oid_buf,
|
||||
NULL);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if ( dupID ) {
|
||||
throw(Unexpected(
|
||||
form("Number of duplicated section ID found = %d", dupID)
|
||||
));
|
||||
}
|
||||
|
||||
delete ncf;
|
||||
node_dict.clearAndDestroy();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
static void
|
||||
usage(const char *progname)
|
||||
{
|
||||
fprintf(stderr, "usage: %s [-compressed] [-load-style] <bookcasename> <bookcasedir>\n", progname);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------------
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
INIT_EXCEPTIONS();
|
||||
|
||||
set_new_handler( FreeStoreException );
|
||||
|
||||
int ret = 1;
|
||||
const char *progname = argv[0];
|
||||
int compressed = 0;
|
||||
int load_style_only = 0;
|
||||
|
||||
#ifdef FISH_DEBUG
|
||||
DBUG_PROCESS(argv[0]);
|
||||
if(getenv("FISH_DBUG")) DBUG_PUSH(getenv("FISH_DBUG"));
|
||||
#endif
|
||||
|
||||
argv++;
|
||||
argc--;
|
||||
|
||||
while(argc > 0 && argv[0][0] == '-'){
|
||||
const char *opt = argv[0];
|
||||
argv++;
|
||||
argc--;
|
||||
|
||||
if(strcmp(opt, "-compressed") == 0){
|
||||
compressed = 1;
|
||||
}
|
||||
else if ( strcmp(opt, "-load-style") == 0 ) {
|
||||
load_style_only = 1;
|
||||
}
|
||||
else {
|
||||
usage(progname);
|
||||
}
|
||||
}
|
||||
|
||||
if(argc == 2){
|
||||
const char *base_name = argv[0];
|
||||
const char *bookcaseDir = argv[1];
|
||||
|
||||
try{
|
||||
BookCaseDB db(bookcaseDir);
|
||||
|
||||
if ( load_style_only ) {
|
||||
writeStyleSheets(db);
|
||||
}
|
||||
else {
|
||||
buildNCF(db, base_name, compressed);
|
||||
}
|
||||
ret = 0;
|
||||
}
|
||||
|
||||
catch(PosixError&, pe){
|
||||
fprintf(stderr, "%s: error on %s: %s\n",
|
||||
progname, bookcaseDir, pe.msg());
|
||||
}
|
||||
|
||||
catch(Unexpected&, pe) {
|
||||
fprintf(stderr, "(ERROR) %s\n\n", pe.msg() );
|
||||
}
|
||||
|
||||
catch(mmdbException&, e) {
|
||||
cerr << e;
|
||||
}
|
||||
|
||||
catch_any() {
|
||||
fprintf(stderr, "*** Internal Error ***: unexpected exception\n");
|
||||
abort();
|
||||
}end_try;
|
||||
|
||||
}else{
|
||||
usage(progname);
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
436
cde/programs/dtinfo/dtinfogen/infolib/etc/NodeData.C
Normal file
436
cde/programs/dtinfo/dtinfogen/infolib/etc/NodeData.C
Normal file
@@ -0,0 +1,436 @@
|
||||
/* $XConsortium: NodeData.C /main/4 1996/09/24 16:55:25 cde-hal $
|
||||
*
|
||||
* (c) Copyright 1996 Digital Equipment Corporation.
|
||||
* (c) Copyright 1996 Hewlett-Packard Company.
|
||||
* (c) Copyright 1996 International Business Machines Corp.
|
||||
* (c) Copyright 1996 Sun Microsystems, Inc.
|
||||
* (c) Copyright 1996 Novell, Inc.
|
||||
* (c) Copyright 1996 FUJITSU LIMITED.
|
||||
* (c) Copyright 1996 Hitachi.
|
||||
*/
|
||||
|
||||
/* exported interfaces... */
|
||||
#include "NodeData.h"
|
||||
|
||||
/* imported interfaces... */
|
||||
#include <iostream.h>
|
||||
#include <stream.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <assert.h>
|
||||
|
||||
|
||||
#include "Token.h"
|
||||
#include "FlexBuffer.h"
|
||||
#include "NodeTask.h"
|
||||
#include "SearchEng.h"
|
||||
#include "OLAF.h"
|
||||
#include "SGMLName.h"
|
||||
#include "OL-Data.h"
|
||||
#include "BookTasks.h"
|
||||
#include "DataBase.h"
|
||||
#include "BookCaseDB.h"
|
||||
#include "GraphicsTask.h"
|
||||
#include "Dispatch.h"
|
||||
#ifdef UseQSearch
|
||||
#include "QSearch.h"
|
||||
#else
|
||||
#ifdef FULCRUM
|
||||
#include "Fulcrum.h"
|
||||
#else
|
||||
#ifdef DTSEARCH
|
||||
#include "AusText.h"
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// Debugging macro
|
||||
#ifdef DEBUG
|
||||
#define DBG(level) if ( dbgLevel >= level)
|
||||
#else
|
||||
#define DBG(level) if (0)
|
||||
#endif
|
||||
|
||||
static int dbgLevel=-1;
|
||||
|
||||
|
||||
extern void ReplaceIdIdRef( NodeData *, char *, int );
|
||||
|
||||
//----------------------------------------------------------------
|
||||
void
|
||||
replace_entity( FlexBuffer *buf , const char *str)
|
||||
{
|
||||
int len = strlen( str );
|
||||
int i;
|
||||
const char *ptr;
|
||||
|
||||
for ( i = 0, ptr = str;
|
||||
i < len;
|
||||
i++, ptr++ ) {
|
||||
switch ( *ptr )
|
||||
{
|
||||
case '\n':
|
||||
buf->writeStr("&lnfeed;");
|
||||
break;
|
||||
|
||||
case '&':
|
||||
buf->writeStr("&");
|
||||
break;
|
||||
|
||||
case '\240':
|
||||
buf->writeStr(" ");
|
||||
break;
|
||||
|
||||
case '<':
|
||||
buf->writeStr("<");
|
||||
break;
|
||||
|
||||
default:
|
||||
buf->put( *ptr );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//--------------------------------------------------------------------
|
||||
void
|
||||
NodeData::write_start_tag( const Token &t, FlexBuffer *buffer )
|
||||
{
|
||||
|
||||
const AttributeRec *LinkRec = t.LookupAttr( OLAF::OL_idref );
|
||||
const AttributeRec *IdRec = t.LookupAttr( OLAF::OL_id );
|
||||
const AttributeRec *XRefRec = t.LookupAttr( OLAF::OL_XRef );
|
||||
|
||||
const AttributeRec *GraphicExist = t.LookupAttr( OLAF::OL_Graphic );
|
||||
|
||||
if ( t.LookupAttr( OLAF::OL_Ignore ) ) {
|
||||
if ( IdRec ) {
|
||||
|
||||
buffer->writeStr("<%BOGUS><#><#OL-ID>");
|
||||
|
||||
char *str = form("%d", seq_no );
|
||||
buffer->writeStr( str );
|
||||
|
||||
buffer->writeStr( "</#OL-ID><#LAST>0</#LAST></#></%BOGUS>" );
|
||||
|
||||
seq_no++;
|
||||
addSubTask( new OL_Data ( t, OLAF::OL_id, REMOVE_SPACES ) );
|
||||
|
||||
return;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if ( Dispatch::OutsideIgnoreScope() ) {
|
||||
|
||||
/* write the start tag */
|
||||
char *str = form("<%s>", t.giName() );
|
||||
buffer->writeStr( str );
|
||||
|
||||
/* write out all the attribute name and value */
|
||||
// if ( t.GetFirstAttr() || LinkRec || IdRec || GraphicExist ) {
|
||||
// Always output the attribute tag container because we'll always have
|
||||
// position data.
|
||||
buffer->writeStr ( "<#>" );
|
||||
// }
|
||||
|
||||
for ( const AttributeRec *a = t.GetFirstAttr();
|
||||
a;
|
||||
a = t.GetNextAttr(a) ) {
|
||||
|
||||
/* write the start tag */
|
||||
|
||||
const char *attName = SGMLName::lookup( a->getAttrName() );
|
||||
|
||||
/* write the attribute start tag */
|
||||
char *start_tag = form("<%s>",attName);
|
||||
buffer->writeStr( start_tag );
|
||||
|
||||
/* write the attribute value */
|
||||
replace_entity ( buffer, a->getAttrValueString() );
|
||||
|
||||
/* write the attribute end tag */
|
||||
char *end_tag = form("</%s>", attName );
|
||||
buffer->writeStr( end_tag );
|
||||
|
||||
}
|
||||
|
||||
if ( LinkRec ) {
|
||||
char *str = form ( "<#OL-IDREF>%d</#OL-IDREF>", seq_no );
|
||||
buffer->writeStr(str);
|
||||
seq_no++;
|
||||
addSubTask( new OL_Data ( t, OLAF::OL_idref, REMOVE_SPACES ) );
|
||||
}
|
||||
|
||||
if ( GraphicExist ) {
|
||||
char *str = form("<#GRAPHIC>%d</#GRAPHIC>", seq_no );
|
||||
buffer->writeStr( str );
|
||||
seq_no++;
|
||||
current_graphics_id = new OL_Data(t, OLAF::OL_id, GENERATE_ID);
|
||||
addSubTask( current_graphics_id );
|
||||
}
|
||||
|
||||
if ( IdRec ) {
|
||||
char *str = form("<#OL-ID>%d</#OL-ID>", seq_no );
|
||||
buffer->writeStr( str );
|
||||
seq_no++;
|
||||
|
||||
addSubTask( new OL_Data ( t, OLAF::OL_id, REMOVE_SPACES ) );
|
||||
}
|
||||
|
||||
if ( XRefRec ) {
|
||||
char *str = form("<#OL-XREF>%d</#OL-XREF>", seq_no );
|
||||
buffer->writeStr( str );
|
||||
seq_no++;
|
||||
|
||||
addSubTask( new OL_Data ( t, OLAF::OL_XRef, REMOVE_SPACES ) );
|
||||
}
|
||||
|
||||
|
||||
if ( GraphicExist ) {
|
||||
/*
|
||||
* delay the writing of </#> until potential search terms are generated
|
||||
*/
|
||||
return;
|
||||
}
|
||||
|
||||
// if ( t.GetFirstAttr() || LinkRec || IdRec ) {
|
||||
buffer->writeStr("<#LAST>0</#LAST></#>");
|
||||
// }
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
static void
|
||||
write_end_tag( const Token &t, FlexBuffer *buffer)
|
||||
{
|
||||
|
||||
if ( Dispatch::OutsideIgnoreScope() ) {
|
||||
char *str = form("</%s>", t.giName() );
|
||||
buffer->writeStr( str );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
NodeData::NodeData( NodeTask *parent, const Token &t)
|
||||
{
|
||||
|
||||
char *dbgStr;
|
||||
dbgStr = getenv ( "OL_DEBUG");
|
||||
dbgLevel = ( dbgStr ? atoi(dbgStr) : 0 );
|
||||
|
||||
f_node = parent;
|
||||
f_base = t.level();
|
||||
CollectObject = -1;
|
||||
NodeBuffer = new FlexBuffer();
|
||||
DbBuffer = new FlexBuffer();
|
||||
seq_no = 0;
|
||||
|
||||
current_graphics_id = NULL;
|
||||
|
||||
/* f_search is managed explicitly */
|
||||
/* This probably has to be #ifdef FULCRUM */
|
||||
#ifdef FULCRUM
|
||||
f_search = new Fulcrum ( this, t );
|
||||
#else
|
||||
#ifdef UseQSearch
|
||||
f_search = new QSearch ( this, t );
|
||||
#else
|
||||
#ifdef DTSEARCH
|
||||
f_search = new AusText( this, t );
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
write_start_tag ( t, NodeBuffer );
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
NodeData::~NodeData()
|
||||
{
|
||||
assert(f_base < 0); /* for debugging NodeTask/NodeData interaction */
|
||||
|
||||
reset();
|
||||
|
||||
delete NodeBuffer;
|
||||
delete DbBuffer;
|
||||
}
|
||||
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
void
|
||||
NodeData::markup( const Token &t )
|
||||
{
|
||||
|
||||
if ( f_base > 0 ) {
|
||||
|
||||
ComplexTask::markup(t);
|
||||
if ( f_search ) {
|
||||
f_search->markup( t );
|
||||
}
|
||||
|
||||
if ( t.type() == START ) {
|
||||
|
||||
if ( CollectObject >= 0 ) {
|
||||
write_start_tag ( t, internal_buffer );
|
||||
}
|
||||
else {
|
||||
|
||||
if ( t.LookupAttr( OLAF::OL_Graphic ) ) {
|
||||
CollectObject = t.level();
|
||||
internal_buffer = new FlexBuffer();
|
||||
assert(internal_buffer != NULL);
|
||||
}
|
||||
|
||||
write_start_tag ( t, NodeBuffer );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
else if ( t.type() == END ) {
|
||||
|
||||
if ( Dispatch::OutsideIgnoreScope() ) {
|
||||
|
||||
if ( CollectObject >= 0 ) {
|
||||
|
||||
if ( t.level() == CollectObject ) {
|
||||
if ( f_search->HasSearchTerms() ) {
|
||||
FlexBuffer *buffer = (FlexBuffer *)
|
||||
f_search->DumpSearchTerms();
|
||||
|
||||
/*
|
||||
* write out the searchable terms in attribute format
|
||||
*/
|
||||
|
||||
NodeBuffer->writeStr("<#TERMS>");
|
||||
NodeBuffer->write ( buffer->GetBuffer(),
|
||||
buffer->GetSize() );
|
||||
NodeBuffer->writeStr("</#TERMS>");
|
||||
}
|
||||
|
||||
NodeBuffer->writeStr("<#LAST>0</#LAST></#>");
|
||||
|
||||
/* write out all the other data/tags that are found within the
|
||||
* graphic tags
|
||||
*/
|
||||
*NodeBuffer = *NodeBuffer + *internal_buffer;
|
||||
|
||||
write_end_tag ( t, NodeBuffer );
|
||||
|
||||
current_graphics_id = NULL;
|
||||
CollectObject = -1;
|
||||
delete internal_buffer;
|
||||
}
|
||||
else {
|
||||
write_end_tag ( t, internal_buffer );
|
||||
}
|
||||
}
|
||||
else { /* ie not collecting oject */
|
||||
write_end_tag( t , NodeBuffer);
|
||||
}
|
||||
|
||||
if ( f_base == t.level() ) {
|
||||
write_record();
|
||||
reset();
|
||||
}
|
||||
}
|
||||
} /* if ( t.type() == END ) */
|
||||
|
||||
} /* if ( f_base > 0 ) */
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
void
|
||||
NodeData::reset()
|
||||
{
|
||||
f_base = -1;
|
||||
|
||||
NodeBuffer->reset();
|
||||
DbBuffer->reset();
|
||||
|
||||
if ( f_search ) {
|
||||
delete f_search;
|
||||
f_search = NULL;
|
||||
}
|
||||
|
||||
ComplexTask::removeAllSubTasks();
|
||||
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
void
|
||||
NodeData::data ( const char *str, size_t t )
|
||||
{
|
||||
|
||||
if ( f_base > 0 ) {
|
||||
|
||||
ComplexTask::data( str, t );
|
||||
if ( f_search ) {
|
||||
f_search->data( str, t );
|
||||
}
|
||||
|
||||
if ( Dispatch::OutsideIgnoreScope() ) {
|
||||
if (CollectObject < 0) {
|
||||
replace_entity( NodeBuffer, str );
|
||||
}
|
||||
else {
|
||||
replace_entity( internal_buffer, str );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
void
|
||||
NodeData::write_record()
|
||||
{
|
||||
|
||||
DBG(20) printf("Node Before replacement is %s\n", NodeBuffer->GetBuffer());
|
||||
|
||||
ReplaceIdIdRef( this, (char *)NodeBuffer->GetBuffer(),
|
||||
NodeBuffer->GetSize() );
|
||||
/*
|
||||
* write out the whole record
|
||||
*/
|
||||
const char *TocLocator = f_node->book()->locator();
|
||||
const char *NodeLocator = f_node->locator();
|
||||
|
||||
DBTable *tbl = f_node->book()->bookcase()->table(BookCaseDB::NodeSGML);
|
||||
tbl->insert(STRING_CODE, TocLocator,
|
||||
STRING_CODE, NodeLocator,
|
||||
-STRING_CODE, DbBuffer->GetBuffer(), DbBuffer->GetSize(),
|
||||
NULL);
|
||||
|
||||
/*
|
||||
DBTable *ltab = f_node->book()->bookcase()->table(BookCaseDB::Link);
|
||||
for ( int i = 0; i < ComplexTask::used; i++ ) {
|
||||
OL_Data *Task = ( OL_Data * )ComplexTask::subtask(i);
|
||||
|
||||
ltab->insert( STRING_CODE, NodeLocator,
|
||||
INTEGER_CODE, StartingSeqNo + i,
|
||||
STRING_CODE, Task->content(),
|
||||
NULL
|
||||
);
|
||||
|
||||
}
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
const char *
|
||||
NodeData::graphics_id()
|
||||
{
|
||||
if ( !current_graphics_id ) {
|
||||
throw(Unexpected("Graphics ID not available"));
|
||||
}
|
||||
|
||||
if ( current_graphics_id->ContentIsEmpty() ) {
|
||||
throw(Unexpected("An ID could not be found for the graphical object"));
|
||||
}
|
||||
|
||||
return ( current_graphics_id->content() );
|
||||
}
|
||||
46
cde/programs/dtinfo/dtinfogen/infolib/etc/NodeData.h
Normal file
46
cde/programs/dtinfo/dtinfogen/infolib/etc/NodeData.h
Normal file
@@ -0,0 +1,46 @@
|
||||
/* $XConsortium: NodeData.h /main/2 1996/07/18 16:47:34 drk $ */
|
||||
// NodeData.h
|
||||
|
||||
#ifndef NODEDATA_HEADER
|
||||
#define NODEDATA_HEADER
|
||||
|
||||
#include "Task.h"
|
||||
|
||||
class Token;
|
||||
class FlexBuffer;
|
||||
class NodeTask;
|
||||
class SearchEngine;
|
||||
class OL_Data;
|
||||
|
||||
class NodeData : public ComplexTask {
|
||||
|
||||
friend int nodedatalex();
|
||||
|
||||
public:
|
||||
NodeData( NodeTask *, const Token & );
|
||||
~NodeData();
|
||||
void markup( const Token & );
|
||||
void data(const char *, size_t );
|
||||
NodeTask *node() const { return f_node; }
|
||||
const char *graphics_id();
|
||||
|
||||
protected:
|
||||
NodeTask *f_node;
|
||||
FlexBuffer *NodeBuffer;
|
||||
int CollectObject;
|
||||
int f_base;
|
||||
SearchEngine *f_search;
|
||||
void write_record();
|
||||
void reset();
|
||||
|
||||
private:
|
||||
|
||||
int seq_no;
|
||||
FlexBuffer *DbBuffer;
|
||||
FlexBuffer *internal_buffer;
|
||||
OL_Data *current_graphics_id;
|
||||
void write_start_tag( const Token &t, FlexBuffer *buf );
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
111
cde/programs/dtinfo/dtinfogen/infolib/etc/NodeParser.C
Normal file
111
cde/programs/dtinfo/dtinfogen/infolib/etc/NodeParser.C
Normal file
@@ -0,0 +1,111 @@
|
||||
/* $XConsortium: NodeParser.C /main/6 1996/08/21 15:47:06 drk $ */
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#include "dti_cc/CC_Stack.h"
|
||||
#include "Exceptions.hh"
|
||||
#include "DataBase.h"
|
||||
|
||||
#include "Dispatch.h"
|
||||
#include "SearchPath.h"
|
||||
|
||||
#include "Task.h"
|
||||
#include "BookTasks.h"
|
||||
#include "OLAF.h"
|
||||
|
||||
#ifdef FISH_DEBUG
|
||||
#include "dbug.h" /* Fred Fish's dbug.h */
|
||||
#endif
|
||||
#include "Handler.h"
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
INIT_EXCEPTIONS();
|
||||
|
||||
/* can't seem to get C++ initialization stuff to do this... */
|
||||
OLAF::init();
|
||||
|
||||
set_new_handler( FreeStoreException );
|
||||
|
||||
int ret = 1;
|
||||
|
||||
#ifdef FISH_DEBUG
|
||||
DBUG_PROCESS(argv[0]);
|
||||
if(getenv("FISH_DBUG")) DBUG_PUSH(getenv("FISH_DBUG"));
|
||||
#endif
|
||||
|
||||
if(argc == 4){
|
||||
|
||||
const char *toc_option = argv[1];
|
||||
const char *infolib = argv[2];
|
||||
const char *srcdir = argv[3];
|
||||
|
||||
|
||||
Dispatch::tmpdir = infolib;
|
||||
Dispatch::srcdir = srcdir;
|
||||
|
||||
if ( !strcmp(toc_option, "toc") ) {
|
||||
Dispatch::tocgen_only = 1;
|
||||
}
|
||||
else if ( !strcmp(toc_option, "all") ) {
|
||||
Dispatch::tocgen_only = 0;
|
||||
}
|
||||
else {
|
||||
fprintf(stderr, "usage: NodeParse [ tocgen_only | all ] <database-dir> <source-dir>\n");
|
||||
|
||||
exit(1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Add the . directory as a default if the file is not found in scrdir
|
||||
*/
|
||||
|
||||
SearchPath *sptable = new SearchPath( srcdir, ".", 0 );
|
||||
Dispatch::search_path_table = sptable;
|
||||
|
||||
Task *t = new BookCaseTask( infolib );
|
||||
Stack<int> *istack = new Stack<int>;
|
||||
|
||||
Dispatch::setRoot(t, istack);
|
||||
|
||||
try{
|
||||
extern int yylex();
|
||||
|
||||
yylex();
|
||||
|
||||
ret = 0;
|
||||
}
|
||||
catch(Unexpected&, u)
|
||||
{
|
||||
try {
|
||||
Dispatch::tok->reportError(Token::User, Token::Fatal,
|
||||
"markup error: %s", u.msg());
|
||||
}
|
||||
catch(ErrorReported&, e)
|
||||
{
|
||||
if ( e.f_severity == Token::Fatal ) {
|
||||
exit(1);
|
||||
}
|
||||
}end_try;
|
||||
}
|
||||
catch(PosixError&, pe)
|
||||
{
|
||||
fprintf(stderr, "(ERROR) %s\n", pe.msg() );
|
||||
exit(1);
|
||||
}
|
||||
catch(ErrorReported&, e)
|
||||
{
|
||||
if ( e.f_severity == Token::Fatal ) {
|
||||
exit(1);
|
||||
}
|
||||
}end_try;
|
||||
|
||||
}else{
|
||||
fprintf(stderr, "usage: NodeParse [ tocgen_only | all ] <database-dir> <source-dir>\n");
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user