metanorma-cli 1.3.7.3 → 1.3.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,43 @@
1
+ <csd-standard xmlns="http://riboseinc.com/isoxml">
2
+ <bibdata type="standard">
3
+ <title>CalConnect Index</title>
4
+ <relation type="partOf">
5
+ <bibdata type="standard">
6
+ <title>July 2004 CalConnect Interoperability Test Report V1.0</title>
7
+ <docidentifier>CD 0403</docidentifier>
8
+ <abstract></abstract>
9
+ </bibdata>
10
+ </relation>
11
+ <relation type="partOf">
12
+ <bibdata type="standard">
13
+ <title>Report on Roundtable I</title>
14
+ <docidentifier>CD 0404</docidentifier>
15
+ <abstract></abstract>
16
+ </bibdata>
17
+ </relation>
18
+ <relation type="partOf">
19
+ <bibdata type="standard">
20
+ <title>CalDAV Use Cases V1.0</title>
21
+ <docidentifier>CD 0507</docidentifier>
22
+ <abstract></abstract>
23
+ </bibdata>
24
+ </relation>
25
+ </bibdata>
26
+ <sections>
27
+ <clause id='d8ab6f15-4bd3-4c73-bf9b-a9f4a831769d'>
28
+ <title>CD 0403. July 2004 CalConnect Interoperability Test Report V1.0</title>
29
+ <p><link target='http://calconnect.org/pubdocs/CD0403%20July%202004%20CalConnect%20Interoperability%20Test%20Report%20V1.0.pdf'>HTML</link> |<link target='http://calconnect.org/pubdocs/CD0403%20July%202004%20CalConnect%20Interoperability%20Test%20Report%20V1.0.pdf'>PDF</link> |<link target='http://calconnect.org/pubdocs/CD0403%20July%202004%20CalConnect%20Interoperability%20Test%20Report%20V1.0.pdf'>XML</link> | <link target='/Users/nickn/Documents/Arbeit/upwork/ribose/relaton-server-csd/data/out/id/CD%200403.xml'>Relaton XML</link> </p>
30
+ <p align='right'>2004-07-30</p>
31
+ </clause>
32
+ <clause id='34598538-b007-40bd-ab99-655e974cb5a3'>
33
+ <title>CD 0404. Report on Roundtable I</title>
34
+ <p><link target='http://calconnect.org/pubdocs/roundtable1rpt.pdf'>HTML</link> |<link target='http://calconnect.org/pubdocs/roundtable1rpt.pdf'>PDF</link> |<link target='http://calconnect.org/pubdocs/roundtable1rpt.pdf'>XML</link> | <link target='/Users/nickn/Documents/Arbeit/upwork/ribose/relaton-server-csd/data/out/id/CD%200404.xml'>Relaton XML</link> </p>
35
+ <p align='right'>2004-09-25</p>
36
+ </clause>
37
+ <clause id='6de1b683-eddf-4d12-829f-b553fb223df0'>
38
+ <title>CD 0507. CalDAV Use Cases V1.0</title>
39
+ <p><link target='http://calconnect.org/pubdocs/CD0507%20CalDAV%20Use%20Cases%20V1.0.pdf'>HTML</link> |<link target='http://calconnect.org/pubdocs/CD0507%20CalDAV%20Use%20Cases%20V1.0.pdf'>PDF</link> |<link target='http://calconnect.org/pubdocs/CD0507%20CalDAV%20Use%20Cases%20V1.0.pdf'>XML</link> | <link target='/Users/nickn/Documents/Arbeit/upwork/ribose/relaton-server-csd/data/out/id/CD%200507.xml'>Relaton XML</link> </p>
40
+ <p align='right'>2005-09-26</p>
41
+ </clause>
42
+ </sections>
43
+ <csd-standard>
@@ -0,0 +1,178 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "optparse"
4
+ require "metanorma"
5
+ require "fileutils"
6
+ require "nokogiri"
7
+
8
+ registry = Metanorma::Registry.instance
9
+
10
+ supported_gem_paths = [
11
+ "asciidoctor-rfc",
12
+ "metanorma-iso",
13
+ "metanorma-gb",
14
+ "metanorma-csd",
15
+ "metanorma-csand",
16
+ "metanorma-m3d",
17
+ "metanorma-rsd",
18
+ "metanorma-acme",
19
+ "metanorma-standoc",
20
+ ]
21
+
22
+ puts "[metanorma] detecting backends:"
23
+ supported_gem_paths.each do |backend|
24
+ begin
25
+ puts backend
26
+ require backend
27
+ rescue LoadError
28
+ puts "[metanorma] backend #{backend} not present"
29
+ end
30
+ end
31
+ puts
32
+
33
+ options = {
34
+ format: :asciidoc
35
+ }
36
+ opt_parser = OptionParser.new do |opts|
37
+ opts.banner += " <file>"
38
+ opts.on(
39
+ '-t',
40
+ '--type TYPE',
41
+ "Type of standard to generate: #{registry.supported_backends.join(", ")}"
42
+ ) { |v| options[:type] = v.to_sym }
43
+
44
+ opts.on(
45
+ '-x',
46
+ '--extensions EXT1,EXT2,... | all',
47
+ Array,
48
+ "Type of extension to generate per type: #{registry.output_formats}\n"
49
+ ) { |v| options[:extension_keys] = v.map(&:to_sym) }
50
+
51
+ opts.on(
52
+ '-f',
53
+ '--format FORMAT',
54
+ 'Format of source file: asciidoc (current default, only format supported)'
55
+ ) { |v| options[:format] = v.to_sym }
56
+
57
+ opts.on(
58
+ '-r',
59
+ '--require LIBRARY',
60
+ 'Require LIBRARY prior to execution'
61
+ ) { |v|
62
+ options[:require] ||= []
63
+ options[:require] << v
64
+ }
65
+
66
+ opts.on(
67
+ '-v',
68
+ '--version',
69
+ "Print version of code (accompanied with -t)",
70
+ ) { options[:version] = true }
71
+
72
+ opts.on(
73
+ '-w',
74
+ '--wrapper',
75
+ 'Create wrapper folder for HTML output'
76
+ ) { options[:wrapper] = true }
77
+
78
+ opts.on(
79
+ '-d',
80
+ '--data-uri-image',
81
+ 'Encode HTML output images as data URIs'
82
+ ) { options[:datauriimage] = true }
83
+
84
+ opts.on(
85
+ '-R',
86
+ '--relaton FILENAME',
87
+ 'Export Relaton XML for document to nominated filename'
88
+ ) { |v| options[:relaton] = v }
89
+
90
+ opts.on_tail("-h", "--help", "Show this message") do
91
+ puts opts
92
+ exit
93
+ end
94
+
95
+ end
96
+
97
+ opt_parser.parse!(ARGV)
98
+
99
+ if options[:require]
100
+ options[:require].each do |r|
101
+ require r
102
+ end
103
+ end
104
+
105
+ if options[:version]
106
+ case options[:format]
107
+ when :asciidoc
108
+ processor = registry.find_processor(options[:type].to_sym)
109
+ puts processor.version
110
+ exit
111
+ end
112
+ end
113
+
114
+ options[:filename] = ARGV.pop
115
+
116
+ unless options[:type]
117
+ puts "[metanorma] Error: Please specify a standard type."
118
+ puts opt_parser.help
119
+ exit 0
120
+ end
121
+
122
+ unless registry.supported_backends.include? options[:type]
123
+ puts "[metanorma] Error: #{options[:type]} is not a supported standard type."
124
+ exit 0
125
+ end
126
+
127
+ unless options[:format] == :asciidoc
128
+ puts "[metanorma] Error: Only source file format currently supported is 'asciidoc'."
129
+ exit 0
130
+ end
131
+
132
+ unless options[:filename]
133
+ puts "[metanorma] Error: Need to specify a file to process."
134
+ exit 0
135
+ end
136
+
137
+ options[:extension_keys] = nil if options[:extension_keys] == [:all]
138
+
139
+ case options[:format]
140
+ when :asciidoc
141
+ processor = registry.find_processor(options[:type].to_sym)
142
+ options[:extension_keys] ||= processor.output_formats.inject([]) do |memo, (k, _)|
143
+ memo << k; memo
144
+ end
145
+ extensions = options[:extension_keys].inject([]) do |memo, e|
146
+ if processor.output_formats[e]
147
+ memo << e
148
+ else
149
+ warn "[metanorma] Error: #{e} format is not supported for this standard"
150
+ end
151
+ memo
152
+ end
153
+ exit 0 if extensions.empty?
154
+
155
+ file = File.read(options[:filename], encoding: "utf-8")
156
+ isodoc = processor.input_to_isodoc(file)
157
+ if options[:relaton]
158
+ xml = Nokogiri::XML(isodoc)
159
+ bibdata = xml.at("//xmlns:bibdata")
160
+ #docid = bibdata&.at("./xmlns:docidentifier")&.text || options[:filename]
161
+ #outname = docid.sub(/^\s+/, "").sub(/\s+$/, "").gsub(/\s+/, "-") + ".xml"
162
+ File.open(options[:relaton], "w:UTF-8") { |f| f.write bibdata.to_xml }
163
+ end
164
+ isodoc_options = processor.extract_options(file)
165
+ isodoc_options[:datauriimage] = true if options[:datauriimage]
166
+ extensions.each do |ext|
167
+ file_extension = processor.output_formats[ext]
168
+ outfilename = options[:filename].sub(/\.[^.]+$/, ".#{file_extension}")
169
+ processor.output(isodoc, outfilename, ext, isodoc_options)
170
+ if options[:wrapper] and /html$/.match file_extension
171
+ outfilename = outfilename.sub(/\.html$/, "")
172
+ FileUtils.mkdir_p outfilename
173
+ FileUtils.mv "#{outfilename}.html", outfilename
174
+ FileUtils.mv "#{outfilename}_images", outfilename
175
+ end
176
+ end
177
+ end
178
+
@@ -0,0 +1,61 @@
1
+ <!-- rfc2629-other.ent
2
+
3
+ Character entity set for RFC-2629 source xml documents.
4
+ There is no need to invoke this directly from
5
+ the source document itself; just invoke the DTD.
6
+
7
+ These are unknown to (X)HTML, so any converter to these
8
+ formats must either substitute these entities
9
+ or invoke this file from the output file.
10
+
11
+ Conversion to txt or nroff format will replace
12
+ these entities by the parenthesized text.
13
+
14
+ Typical invocation:
15
+ <!ENTITY % rfc2629-other
16
+ PUBLIC "-//IETF//ENTITIES Other for RFC 2629//EN"
17
+ "http://xml.resource.org/authoring/rfc2629-other.ent">
18
+ %rfc2629-other;
19
+ -->
20
+
21
+ <!-- Magical -->
22
+ <!-- rfc.number (automatically expanded to content
23
+ of number="..." attribute
24
+ of <rfc> element, or to "XXXX") -->
25
+
26
+ <!-- ASCII -->
27
+ <!ENTITY excl "&#33;"><!-- U+0021 EXCLAMATION MARK ("!") -->
28
+ <!ENTITY num "&#35;"><!-- U+0023 NUMBER SIGN ("#") -->
29
+ <!ENTITY dollar "&#36;"><!-- U+0024 DOLLAR SIGN ("$") -->
30
+ <!ENTITY percnt "&#37;"><!-- U+0025 PERCENT SIGN ("%") -->
31
+ <!ENTITY lpar "&#40;"><!-- U+0028 LEFT PARENTHESIS ("(") -->
32
+ <!ENTITY rpar "&#41;"><!-- U+0029 RIGHT PARENTHESIS (")") -->
33
+ <!ENTITY ast "&#42;"><!-- U+002A ASTERISK ("*") -->
34
+ <!ENTITY plus "&#43;"><!-- U+002B PLUS SIGN ("+") -->
35
+ <!ENTITY comma "&#44;"><!-- U+002C COMMA (",") -->
36
+ <!ENTITY hyphen "&#45;"><!-- U+002D HYPHEN-MINUS ("-") -->
37
+ <!ENTITY period "&#46;"><!-- U+002E FULL STOP (".") -->
38
+ <!ENTITY sol "&#47;"><!-- U+002F SOLIDUS ("/") -->
39
+ <!ENTITY colon "&#58;"><!-- U+003A COLON (":") -->
40
+ <!ENTITY semi "&#59;"><!-- U+003B SEMICOLON (";") -->
41
+ <!ENTITY equals "&#61;"><!-- U+003D EQUALS SIGN ("=") -->
42
+ <!ENTITY quest "&#63;"><!-- U+003F QUESTION MARK ("?") -->
43
+ <!ENTITY commat "&#64;"><!-- U+0040 COMMERCIAL AT ("@") -->
44
+ <!ENTITY lsqb "&#91;"><!-- U+005B LEFT SQUARE BRACKET ("[") -->
45
+ <!ENTITY bsol "&#92;"><!-- U+005C REVERSE SOLIDUS ("\\") -->
46
+ <!ENTITY rsqb "&#93;"><!-- U+005D RIGHT SQUARE BRACKET ("]") -->
47
+ <!ENTITY circ "&#94;"><!-- U+005E CIRCUMFLEX ACCENT ("^") -->
48
+ <!ENTITY lowbar "&#95;"><!-- U+005F LOW LINE ("_") -->
49
+ <!ENTITY grave "&#96;"><!-- U+0060 GRAVE ACCENT ("`") -->
50
+ <!ENTITY lcub "&#123;"><!-- U+007B LEFT CURLY BRACKET ("{") -->
51
+ <!ENTITY verbar "&#124;"><!-- U+007C VERTICAL LINE ("|") -->
52
+ <!ENTITY rcub "&#125;"><!-- U+007D RIGHT CURLY BRACKET ("}") -->
53
+
54
+ <!-- Useful Unicode -->
55
+ <!ENTITY Zcaron "&#381;"><!-- U+017D LATIN CAPITAL LETTER Z WITH CARON ("Z") -->
56
+ <!ENTITY zcaron "&#382;"><!-- U+017E LATIN SMALL LETTER Z WITH CARON ("z") -->
57
+ <!ENTITY dash "&#8208;"><!-- U+2010 HYPHEN ("-") -->
58
+ <!ENTITY nbhy "&#8209;"><!-- U+2011 NON-BREAKING HYPHEN (special "-") -->
59
+ <!ENTITY wj "&#8288;"><!-- U+2060 WORD JOINER (special "") -->
60
+
61
+ <!-- EOF -->
@@ -0,0 +1,165 @@
1
+ <!-- rfc2629-xhtml.ent
2
+
3
+ Character entity set for RFC-2629 source xml documents.
4
+ There is no need to invoke this directly from
5
+ the source document itself; just invoke the DTD.
6
+
7
+ These are known to (X)HTML, so any converter to these
8
+ formats can just leave them as is without having
9
+ to invoke this file from the output file.
10
+
11
+ Conversion to txt or nroff format will replace
12
+ these entities by the parenthesized text.
13
+
14
+ Typical invocation:
15
+ <!ENTITY % rfc2629-xhtml
16
+ PUBLIC "-//IETF//ENTITIES XHTML subset for RFC 2629//EN"
17
+ "http://xml.resource.org/authoring/rfc2629-xhtml.ent">
18
+ %rfc2629-xhtml;
19
+ -->
20
+
21
+ <!-- All of ISO Latin 1 -->
22
+ <!ENTITY nbsp "&#160;"><!-- U+00A0 NO-BREAK SPACE (special " ") -->
23
+ <!ENTITY iexcl "&#161;"><!-- U+00A1 INVERTED EXCLAMATION MARK ("!") -->
24
+ <!ENTITY cent "&#162;"><!-- U+00A2 CENT SIGN ("[cents]") -->
25
+ <!ENTITY pound "&#163;"><!-- U+00A3 POUND SIGN ("GBP") -->
26
+ <!ENTITY curren "&#164;"><!-- U+00A4 CURRENCY SIGN ("[currency units]") -->
27
+ <!ENTITY yen "&#165;"><!-- U+00A5 YEN SIGN ("JPY") -->
28
+ <!ENTITY brvbar "&#166;"><!-- U+00A6 BROKEN BAR ("|") -->
29
+ <!ENTITY sect "&#167;"><!-- U+00A7 SECTION SIGN ("S.") -->
30
+ <!ENTITY uml "&#168;"><!-- U+00A8 DIAERESIS ('"') -->
31
+ <!ENTITY copy "&#169;"><!-- U+00A9 COPYRIGHT SIGN ("(C)") -->
32
+ <!ENTITY ordf "&#170;"><!-- U+00AA FEMININE ORDINAL INDICATOR ("a") -->
33
+ <!ENTITY laquo "&#171;"><!-- U+00AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK ("<<") -->
34
+ <!ENTITY not "&#172;"><!-- U+00AC NOT SIGN ("[not]") -->
35
+ <!ENTITY shy "&#173;"><!-- U+00AD SOFT HYPHEN (ignored "") -->
36
+ <!ENTITY reg "&#174;"><!-- U+00AE REGISTERED SIGN ("(R)") -->
37
+ <!ENTITY macr "&#175;"><!-- U+00AF MACRON ("_") -->
38
+ <!ENTITY deg "&#176;"><!-- U+00B0 DEGREE SIGN ("o") -->
39
+ <!ENTITY plusmn "&#177;"><!-- U+00B1 PLUS-MINUS SIGN ("+/-") -->
40
+ <!ENTITY sup2 "&#178;"><!-- U+00B2 SUPERSCRIPT TWO ("^2") -->
41
+ <!ENTITY sup3 "&#179;"><!-- U+00B3 SUPERSCRIPT THREE ("^3") -->
42
+ <!ENTITY acute "&#180;"><!-- U+00B4 ACUTE ACCENT ("'") -->
43
+ <!ENTITY micro "&#181;"><!-- U+00B5 MICRO SIGN ("[micro]") -->
44
+ <!ENTITY para "&#182;"><!-- U+00B6 PILCROW SIGN ("P.") -->
45
+ <!ENTITY middot "&#183;"><!-- U+00B7 MIDDLE DOT (".") -->
46
+ <!ENTITY cedil "&#184;"><!-- U+00B8 CEDILLA (",") -->
47
+ <!ENTITY sup1 "&#185;"><!-- U+00B9 SUPERSCRIPT ONE ("^1") -->
48
+ <!ENTITY ordm "&#186;"><!-- U+00BA MASCULINE ORDINAL INDICATOR ("o") -->
49
+ <!ENTITY raquo "&#187;"><!-- U+00BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK (">>") -->
50
+ <!ENTITY frac14 "&#188;"><!-- U+00BC VULGAR FRACTION ONE QUARTER ("1/4") -->
51
+ <!ENTITY frac12 "&#189;"><!-- U+00BD VULGAR FRACTION ONE HALF ("1/2") -->
52
+ <!ENTITY frac34 "&#190;"><!-- U+00BE VULGAR FRACTION THREE QUARTERS ("3/4") -->
53
+ <!ENTITY iquest "&#191;"><!-- U+00BF INVERTED QUESTION MARK ("?") -->
54
+ <!ENTITY Agrave "&#192;"><!-- U+00C0 LATIN CAPITAL LETTER A WITH GRAVE ("A") -->
55
+ <!ENTITY Aacute "&#193;"><!-- U+00C1 LATIN CAPITAL LETTER A WITH ACUTE ("A") -->
56
+ <!ENTITY Acirc "&#194;"><!-- U+00C2 LATIN CAPITAL LETTER A WITH CIRCUMFLEX ("A") -->
57
+ <!ENTITY Atilde "&#195;"><!-- U+00C3 LATIN CAPITAL LETTER A WITH TILDE ("A") -->
58
+ <!ENTITY Auml "&#196;"><!-- U+00C4 LATIN CAPITAL LETTER A WITH DIAERESIS ("Ae") -->
59
+ <!ENTITY Aring "&#197;"><!-- U+00C5 LATIN CAPITAL LETTER A WITH RING ABOVE ("Ae") -->
60
+ <!ENTITY AElig "&#198;"><!-- U+00C6 LATIN CAPITAL LETTER AE ("AE") -->
61
+ <!ENTITY Ccedil "&#199;"><!-- U+00C7 LATIN CAPITAL LETTER C WITH CEDILLA ("C") -->
62
+ <!ENTITY Egrave "&#200;"><!-- U+00C8 LATIN CAPITAL LETTER E WITH GRAVE ("E") -->
63
+ <!ENTITY Eacute "&#201;"><!-- U+00C9 LATIN CAPITAL LETTER E WITH ACUTE ("E") -->
64
+ <!ENTITY Ecirc "&#202;"><!-- U+00CA LATIN CAPITAL LETTER E WITH CIRCUMFLEX ("E") -->
65
+ <!ENTITY Euml "&#203;"><!-- U+00CB LATIN CAPITAL LETTER E WITH DIAERESIS ("E") -->
66
+ <!ENTITY Igrave "&#204;"><!-- U+00CC LATIN CAPITAL LETTER I WITH GRAVE ("I") -->
67
+ <!ENTITY Iacute "&#205;"><!-- U+00CD LATIN CAPITAL LETTER I WITH ACUTE ("I") -->
68
+ <!ENTITY Icirc "&#206;"><!-- U+00CE LATIN CAPITAL LETTER I WITH CIRCUMFLEX ("I") -->
69
+ <!ENTITY Iuml "&#207;"><!-- U+00CF LATIN CAPITAL LETTER I WITH DIAERESIS ("I") -->
70
+ <!ENTITY ETH "&#208;"><!-- U+00D0 LATIN CAPITAL LETTER ETH ("[ETH]") -->
71
+ <!ENTITY Ntilde "&#209;"><!-- U+00D1 LATIN CAPITAL LETTER N WITH TILDE ("N") -->
72
+ <!ENTITY Ograve "&#210;"><!-- U+00D2 LATIN CAPITAL LETTER O WITH GRAVE ("O") -->
73
+ <!ENTITY Oacute "&#211;"><!-- U+00D3 LATIN CAPITAL LETTER O WITH ACUTE ("O") -->
74
+ <!ENTITY Ocirc "&#212;"><!-- U+00D4 LATIN CAPITAL LETTER O WITH CIRCUMFLEX ("O") -->
75
+ <!ENTITY Otilde "&#213;"><!-- U+00D5 LATIN CAPITAL LETTER O WITH TILDE ("O") -->
76
+ <!ENTITY Ouml "&#214;"><!-- U+00D6 LATIN CAPITAL LETTER O WITH DIAERESIS ("Oe") -->
77
+ <!ENTITY times "&#215;"><!-- U+00D7 MULTIPLICATION SIGN ("x") -->
78
+ <!ENTITY Oslash "&#216;"><!-- U+00D8 LATIN CAPITAL LETTER O WITH STROKE ("Oe") -->
79
+ <!ENTITY Ugrave "&#217;"><!-- U+00D9 LATIN CAPITAL LETTER U WITH GRAVE ("U") -->
80
+ <!ENTITY Uacute "&#218;"><!-- U+00DA LATIN CAPITAL LETTER U WITH ACUTE ("U") -->
81
+ <!ENTITY Ucirc "&#219;"><!-- U+00DB LATIN CAPITAL LETTER U WITH CIRCUMFLEX ("U") -->
82
+ <!ENTITY Uuml "&#220;"><!-- U+00DC LATIN CAPITAL LETTER U WITH DIAERESIS ("Ue") -->
83
+ <!ENTITY Yacute "&#221;"><!-- U+00DD LATIN CAPITAL LETTER Y WITH ACUTE ("Y") -->
84
+ <!ENTITY THORN "&#222;"><!-- U+00DE LATIN CAPITAL LETTER THORN ("[THORN]") -->
85
+ <!ENTITY szlig "&#223;"><!-- U+00DF LATIN SMALL LETTER SHARP S ("ss") -->
86
+ <!ENTITY agrave "&#224;"><!-- U+00E0 LATIN SMALL LETTER A WITH GRAVE ("a") -->
87
+ <!ENTITY aacute "&#225;"><!-- U+00E1 LATIN SMALL LETTER A WITH ACUTE ("a") -->
88
+ <!ENTITY acirc "&#226;"><!-- U+00E2 LATIN SMALL LETTER A WITH CIRCUMFLEX ("a") -->
89
+ <!ENTITY atilde "&#227;"><!-- U+00E3 LATIN SMALL LETTER A WITH TILDE ("a") -->
90
+ <!ENTITY auml "&#228;"><!-- U+00E4 LATIN SMALL LETTER A WITH DIAERESIS ("ae") -->
91
+ <!ENTITY aring "&#229;"><!-- U+00E5 LATIN SMALL LETTER A WITH RING ABOVE ("ae") -->
92
+ <!ENTITY aelig "&#230;"><!-- U+00E6 LATIN SMALL LETTER AE ("ae") -->
93
+ <!ENTITY ccedil "&#231;"><!-- U+00E7 LATIN SMALL LETTER C WITH CEDILLA ("c") -->
94
+ <!ENTITY egrave "&#232;"><!-- U+00E8 LATIN SMALL LETTER E WITH GRAVE ("e") -->
95
+ <!ENTITY eacute "&#233;"><!-- U+00E9 LATIN SMALL LETTER E WITH ACUTE ("e") -->
96
+ <!ENTITY ecirc "&#234;"><!-- U+00EA LATIN SMALL LETTER E WITH CIRCUMFLEX ("e") -->
97
+ <!ENTITY euml "&#235;"><!-- U+00EB LATIN SMALL LETTER E WITH DIAERESIS ("e") -->
98
+ <!ENTITY igrave "&#236;"><!-- U+00EC LATIN SMALL LETTER I WITH GRAVE ("i") -->
99
+ <!ENTITY iacute "&#237;"><!-- U+00ED LATIN SMALL LETTER I WITH ACUTE ("i") -->
100
+ <!ENTITY icirc "&#238;"><!-- U+00EE LATIN SMALL LETTER I WITH CIRCUMFLEX ("i") -->
101
+ <!ENTITY iuml "&#239;"><!-- U+00EF LATIN SMALL LETTER I WITH DIAERESIS ("i") -->
102
+ <!ENTITY eth "&#240;"><!-- U+00F0 LATIN SMALL LETTER ETH ("[eth]") -->
103
+ <!ENTITY ntilde "&#241;"><!-- U+00F1 LATIN SMALL LETTER N WITH TILDE ("n") -->
104
+ <!ENTITY ograve "&#242;"><!-- U+00F2 LATIN SMALL LETTER O WITH GRAVE ("o") -->
105
+ <!ENTITY oacute "&#243;"><!-- U+00F3 LATIN SMALL LETTER O WITH ACUTE ("o") -->
106
+ <!ENTITY ocirc "&#244;"><!-- U+00F4 LATIN SMALL LETTER O WITH CIRCUMFLEX ("o") -->
107
+ <!ENTITY otilde "&#245;"><!-- U+00F5 LATIN SMALL LETTER O WITH TILDE ("o") -->
108
+ <!ENTITY ouml "&#246;"><!-- U+00F6 LATIN SMALL LETTER O WITH DIAERESIS ("oe") -->
109
+ <!ENTITY divide "&#247;"><!-- U+00F7 DIVISION SIGN ("/") -->
110
+ <!ENTITY oslash "&#248;"><!-- U+00F8 LATIN SMALL LETTER O WITH STROKE ("oe") -->
111
+ <!ENTITY ugrave "&#249;"><!-- U+00F9 LATIN SMALL LETTER U WITH GRAVE ("u") -->
112
+ <!ENTITY uacute "&#250;"><!-- U+00FA LATIN SMALL LETTER U WITH ACUTE ("u") -->
113
+ <!ENTITY ucirc "&#251;"><!-- U+00FB LATIN SMALL LETTER U WITH CIRCUMFLEX ("u") -->
114
+ <!ENTITY uuml "&#252;"><!-- U+00FC LATIN SMALL LETTER U WITH DIAERESIS ("ue") -->
115
+ <!ENTITY yacute "&#253;"><!-- U+00FD LATIN SMALL LETTER Y WITH ACUTE ("y") -->
116
+ <!ENTITY thorn "&#254;"><!-- U+00FE LATIN SMALL LETTER THORN ("[thorn]") -->
117
+ <!ENTITY yuml "&#255;"><!-- U+00FF LATIN SMALL LETTER Y WITH DIAERESIS ("y") -->
118
+
119
+ <!-- Some of ISO Latin 9 and 10 -->
120
+ <!ENTITY OElig "&#338;"><!-- U+0152 LATIN CAPITAL LIGATURE OE ("OE") -->
121
+ <!ENTITY oelig "&#339;"><!-- U+0153 LATIN SMALL LIGATURE OE ("oe") -->
122
+ <!ENTITY Scaron "&#352;"><!-- U+0160 LATIN CAPITAL LETTER S WITH CARON ("S") -->
123
+ <!ENTITY scaron "&#353;"><!-- U+0161 LATIN SMALL LETTER S WITH CARON ("s") -->
124
+ <!ENTITY Yuml "&#376;"><!-- U+0178 LATIN CAPITAL LETTER Y WITH DIAERESIS ("Y") -->
125
+
126
+ <!-- Other Unicode (including some characters from the windows-1252 repertoire) -->
127
+ <!ENTITY fnof "&#402;"><!-- U+0192 LATIN SMALL LETTER F WITH HOOK ("f") -->
128
+ <!ENTITY tilde "&#732;"><!-- U+02DC SMALL TILDE ("~") -->
129
+ <!ENTITY ensp "&#8194;"><!-- U+2002 EN SPACE (" ") -->
130
+ <!ENTITY emsp "&#8195;"><!-- U+2003 EM SPACE (" ") -->
131
+ <!ENTITY thinsp "&#8201;"><!-- U+2009 THIN SPACE (" ") -->
132
+ <!ENTITY ndash "&#8211;"><!-- U+2013 EN DASH ("-") -->
133
+ <!ENTITY mdash "&#8212;"><!-- U+2014 EM DASH ("-\u002D") -->
134
+ <!ENTITY lsquo "&#8216;"><!-- U+2018 LEFT SINGLE QUOTATION MARK ("'") -->
135
+ <!ENTITY rsquo "&#8217;"><!-- U+2019 RIGHT SINGLE QUOTATION MARK ("'") -->
136
+ <!ENTITY sbquo "&#8218;"><!-- U+201A SINGLE LOW-9 QUOTATION MARK ("'") -->
137
+ <!ENTITY ldquo "&#8220;"><!-- U+201C LEFT DOUBLE QUOTATION MARK ('"') -->
138
+ <!ENTITY rdquo "&#8221;"><!-- U+201D RIGHT DOUBLE QUOTATION MARK ('"') -->
139
+ <!ENTITY bdquo "&#8222;"><!-- U+201E DOUBLE LOW-9 QUOTATION MARK ('"') -->
140
+ <!ENTITY dagger "&#8224;"><!-- U+2020 DAGGER ("*!*") -->
141
+ <!ENTITY Dagger "&#8225;"><!-- U+2021 DOUBLE DAGGER ("*!!*") -->
142
+ <!ENTITY bull "&#8226;"><!-- U+2022 BULLET ("o") -->
143
+ <!ENTITY hellip "&#8230;"><!-- U+2026 HORIZONTAL ELLIPSIS ("...") -->
144
+ <!ENTITY permil "&#8242;"><!-- U+2030 PER MILLE SIGN ("[/1000]") -->
145
+ <!ENTITY prime "&#8242;"><!-- U+2032 PRIME ("'") -->
146
+ <!ENTITY Prime "&#8243;"><!-- U+2033 DOUBLE PRIME ('"') -->
147
+ <!ENTITY lsaquo "&#8249;"><!-- U+2039 SINGLE LEFT-POINTING ANGLE QUOTATION MARK ("<") -->
148
+ <!ENTITY rsaquo "&#8250;"><!-- U+203A SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (">") -->
149
+ <!ENTITY frasl "&#8260;"><!-- U+2044 FRACTION SLASH ("/") -->
150
+ <!ENTITY euro "&#8364;"><!-- U+20AC EURO SIGN ("EUR") -->
151
+ <!ENTITY trade "&#8482;"><!-- U+2122 TRADE MARK SIGN ("[TM]") -->
152
+ <!ENTITY larr "&#8592;"><!-- U+2190 LEFTWARDS ARROW ("<-\u002D") -->
153
+ <!ENTITY rarr "&#8594;"><!-- U+2192 RIGHTWARDS ARROW ("\u002D->") -->
154
+ <!ENTITY harr "&#8596;"><!-- U+2194 LEFT RIGHT ARROW ("<->") -->
155
+ <!ENTITY lArr "&#8656;"><!-- U+21D0 LEFTWARDS DOUBLE ARROW ("<==") -->
156
+ <!ENTITY rArr "&#8658;"><!-- U+21D2 RIGHTWARDS DOUBLE ARROW ("==>") -->
157
+ <!ENTITY hArr "&#8660;"><!-- U+21D4 LEFT RIGHT DOUBLE ARROW ("<=>") -->
158
+ <!ENTITY minus "&#8722;"><!-- U+2212 MINUS SIGN ("-") -->
159
+ <!ENTITY lowast "&#8727;"><!-- U+2217 ASTERISK OPERATOR ("*") -->
160
+ <!ENTITY le "&#8804;"><!-- U+2264 LESS-THAN OR EQUAL TO ("<=") -->
161
+ <!ENTITY ge "&#8805;"><!-- U+2265 GREATER-THAN OR EQUAL TO (">=") -->
162
+ <!ENTITY lang "&#9001;"><!-- U+2329 LEFT-POINTING ANGLE BRACKET ("<") -->
163
+ <!ENTITY rang "&#9002;"><!-- U+232A RIGHT-POINTING ANGLE BRACKET (">") -->
164
+
165
+ <!-- EOF -->