milkfarm-onix 0.7.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. data/CHANGELOG +136 -0
  2. data/README.markdown +40 -0
  3. data/TODO +14 -0
  4. data/dtd/2.1r3/iso-amsa.ent +173 -0
  5. data/dtd/2.1r3/iso-amsb.ent +146 -0
  6. data/dtd/2.1r3/iso-amsc.ent +49 -0
  7. data/dtd/2.1r3/iso-amsn.ent +117 -0
  8. data/dtd/2.1r3/iso-amso.ent +77 -0
  9. data/dtd/2.1r3/iso-amsr.ent +205 -0
  10. data/dtd/2.1r3/iso-box.ent +67 -0
  11. data/dtd/2.1r3/iso-cyr1.ent +94 -0
  12. data/dtd/2.1r3/iso-cyr2.ent +53 -0
  13. data/dtd/2.1r3/iso-dia.ent +41 -0
  14. data/dtd/2.1r3/iso-grk3.ent +70 -0
  15. data/dtd/2.1r3/iso-lat1.ent +89 -0
  16. data/dtd/2.1r3/iso-lat2.ent +148 -0
  17. data/dtd/2.1r3/iso-mfrk.ent +79 -0
  18. data/dtd/2.1r3/iso-mopf.ent +53 -0
  19. data/dtd/2.1r3/iso-mscr.ent +79 -0
  20. data/dtd/2.1r3/iso-num.ent +103 -0
  21. data/dtd/2.1r3/iso-num.old.ent +103 -0
  22. data/dtd/2.1r3/iso-pub.ent +110 -0
  23. data/dtd/2.1r3/iso-tech.ent +183 -0
  24. data/dtd/2.1r3/onix-international.dtd +1012 -0
  25. data/dtd/2.1r3/onix-xhtml.elt +672 -0
  26. data/dtd/2.1r3/reference.elt +4758 -0
  27. data/dtd/2.1r3/xhtml-special.ent +79 -0
  28. data/dtd/2.1r3/xhtml-symbol.ent +242 -0
  29. data/lib/onix/addressee_identifier.rb +12 -0
  30. data/lib/onix/apa_product.rb +731 -0
  31. data/lib/onix/audience_range.rb +26 -0
  32. data/lib/onix/common.rb +26 -0
  33. data/lib/onix/contributor.rb +27 -0
  34. data/lib/onix/header.rb +46 -0
  35. data/lib/onix/imprint.rb +15 -0
  36. data/lib/onix/language.rb +14 -0
  37. data/lib/onix/lists/audience_code.rb +17 -0
  38. data/lib/onix/lists/country_code.rb +257 -0
  39. data/lib/onix/lists/language_code.rb +498 -0
  40. data/lib/onix/lists/language_role.rb +18 -0
  41. data/lib/onix/lists/notification_type.rb +19 -0
  42. data/lib/onix/lists/product_availability.rb +32 -0
  43. data/lib/onix/lists/product_form.rb +99 -0
  44. data/lib/onix/lists/product_form_detail.rb +157 -0
  45. data/lib/onix/market_representation.rb +19 -0
  46. data/lib/onix/measure.rb +14 -0
  47. data/lib/onix/media_file.rb +16 -0
  48. data/lib/onix/normaliser.rb +187 -0
  49. data/lib/onix/other_text.rb +17 -0
  50. data/lib/onix/price.rb +21 -0
  51. data/lib/onix/product.rb +73 -0
  52. data/lib/onix/product_identifier.rb +13 -0
  53. data/lib/onix/publisher.rb +16 -0
  54. data/lib/onix/reader.rb +187 -0
  55. data/lib/onix/sales_restriction.rb +12 -0
  56. data/lib/onix/sender_identifier.rb +14 -0
  57. data/lib/onix/series.rb +57 -0
  58. data/lib/onix/series_identifier.rb +13 -0
  59. data/lib/onix/simple_product.rb +47 -0
  60. data/lib/onix/sl_product.rb +131 -0
  61. data/lib/onix/stock.rb +15 -0
  62. data/lib/onix/subject.rb +16 -0
  63. data/lib/onix/supply_detail.rb +32 -0
  64. data/lib/onix/title.rb +17 -0
  65. data/lib/onix/website.rb +14 -0
  66. data/lib/onix/writer.rb +86 -0
  67. data/lib/onix.rb +114 -0
  68. data/spec/apa_product_spec.rb +59 -0
  69. data/spec/audience_range_spec.rb +46 -0
  70. data/spec/contributor_spec.rb +42 -0
  71. data/spec/header_spec.rb +123 -0
  72. data/spec/imprint_spec.rb +39 -0
  73. data/spec/language_spec.rb +42 -0
  74. data/spec/market_representation_spec.rb +41 -0
  75. data/spec/measure_spec.rb +43 -0
  76. data/spec/media_file_spec.rb +42 -0
  77. data/spec/normaliser_spec.rb +125 -0
  78. data/spec/other_text_spec.rb +40 -0
  79. data/spec/price_spec.rb +40 -0
  80. data/spec/product_identifier_spec.rb +40 -0
  81. data/spec/product_spec.rb +96 -0
  82. data/spec/publisher_spec.rb +38 -0
  83. data/spec/reader_spec.rb +131 -0
  84. data/spec/sales_restriction_spec.rb +35 -0
  85. data/spec/sender_identifier.rb +40 -0
  86. data/spec/series_identifier_spec.rb +38 -0
  87. data/spec/series_spec.rb +34 -0
  88. data/spec/sl_product_spec.rb +48 -0
  89. data/spec/stock_spec.rb +44 -0
  90. data/spec/subject_spec.rb +40 -0
  91. data/spec/supply_detail_spec.rb +53 -0
  92. data/spec/title_spec.rb +43 -0
  93. data/spec/website_spec.rb +41 -0
  94. data/spec/writer_spec.rb +81 -0
  95. data/support/entities.txt +1499 -0
  96. data/support/extract.rb +25 -0
  97. data/support/switch-onix-2.1-short-to-reference.xsl +23 -0
  98. data/support/switch-onix-tagnames-1.1.xsl +25 -0
  99. data/support/switch-onix-tagnames-2.0.xsl +37 -0
  100. metadata +209 -0
data/CHANGELOG ADDED
@@ -0,0 +1,136 @@
1
+ v0.7.7 (1st October 2009)
2
+ - optimise sed usage in ONIX::Normaliser. *huge* speed improvement on
3
+ large files.
4
+
5
+ v0.7.6 (21st September 2009)
6
+ - provide access to the PackQuantity element
7
+
8
+ v0.7.5 (8th September 2009)
9
+ - Don't raise an exception on malformed dates when reading files
10
+
11
+ v0.7.4 (2nd September 2009)
12
+ - Expand ONIX::Normaliser
13
+ - strip control chars
14
+ - add encoding declaration to valid utf-8 files that aren't declared
15
+ as such
16
+
17
+ v0.7.3 (19th August 2009)
18
+ - Switch from java to xsltproc to convert short tag ONIX files
19
+ to reference tags
20
+
21
+ v0.7.2 (19th August 2009)
22
+ - Added ONIX::Normaliser class
23
+ - for normalising various ONIX files into a form that makes them easy
24
+ to process. Shouldn't be necesary to pre-process files like this, but
25
+ I'm sick of trying to wrestle the libxml ruby bindings
26
+
27
+ v0.7.1 (24th June 2009)
28
+ - Small tweak to ordering of elements in the Product group
29
+
30
+ v0.7.0 (17th June 2009)
31
+ - try using LibXML for reader again
32
+ - retrieving the ONIX version of the input file is currently disabled, as
33
+ that seems to be the source of our instability
34
+ - Various Ruby 1.9 compatability tweaks
35
+ - add source file coding declarations. All source files are UTF-8
36
+ - ONIX::Reader ensures all input data is converted to UTF-8
37
+ - the ROXML based objects seem to forget the encoding when they're marshalled,
38
+ so force string based attributes *back* to UTF-8
39
+
40
+ v0.6.7 (Unreleased)
41
+ - add some accessors to the Title composite
42
+
43
+ v0.6.6 (Unreleased)
44
+ - Forget the S on an element name
45
+
46
+ v0.6.5 (Unreleased)
47
+ - Ruby 1.9 compat
48
+
49
+ v0.6.4 (Unreleased)
50
+ - Add APAProduct#price
51
+
52
+ v0.6.3(Unreleased)
53
+ - Bump ROXML dependency to 2.5.3 to get libxml-ruby 1.1.3 compatibility
54
+
55
+ v0.6.2 (Unreleased)
56
+ - Fix a small typo in APAProduct
57
+
58
+ v0.6.1 (Unreleased)
59
+ - Stopped using LibXMLs Reader class as the basis for our reader.
60
+ - We were getting too many segfaults (even 1 is too many!)
61
+ - until we resolve it, reverted to manual string parsing
62
+ - This is a fairly major regression of functionality. For 99% of files
63
+ it won't matter, but for some corner cases it will. ie UTF-16 encoded
64
+ files
65
+ - Will also be noticeably slower
66
+ - Hopefully only a short term fix, until I work out what is going on with
67
+ libxml
68
+
69
+ v0.6.0 (18th March 2009)
70
+ - remove use of threads in ONIX::Reader
71
+ - a producer/consumer pattern was useful in the REXML stream parsing days, but
72
+ now LibXML's Reader binding provides a better alternative
73
+ - API left unchanged, this was all under the hood
74
+ - bump required ROXML version to 2.5.2
75
+
76
+ v0.5.1 (4th March 2009)
77
+ - Fix a single letter typo
78
+
79
+ v0.5 (2nd March 2009)
80
+ - Switch ROXML dependency from a patched version to vanilla
81
+ - Vanilla ROXML now has all the features we need
82
+ - This change should be transparent to ONIX gem users
83
+
84
+ v0.4.7 (9th December 2008)
85
+ - Contributor sub elements should match the order specified in the DTD
86
+
87
+ v0.4.6 (2nd December 2008)
88
+ - 2 new accessors on the contributor class - bio and corporate name
89
+
90
+ v0.4.5 (21st November 2008)
91
+ - APAProduct wrapper should generate valid MediaFile composites
92
+
93
+ v0.4.4 (19th November 2008)
94
+ - Added support for more elements from MarketRepresentation
95
+
96
+ v0.4.3 (11th November 2008)
97
+ - Added support for AgentName and MarketPublishingStatus
98
+
99
+ v0.4.2 (1st November 2008)
100
+ - Remove final remnants of REXML code
101
+ - Minor reordering of elements to match DTD
102
+
103
+ v0.4.1 (UNRELEASED)
104
+ - Added accessors to various product measurements. Height, weight, etc.
105
+ - Reduced time for an ONIX::Reader class to initialise
106
+
107
+ v0.4.0 (28th October 2008)
108
+ - Major rework: now based on ROXML instead of xml-mapping
109
+ - Mostly API Compatible
110
+ - StreamReader and StreamWriter renamed to Reader and Writer
111
+ - ROXML is based on libxml, so things should be significantly faster
112
+
113
+ v0.2.7 (Unreleased)
114
+ - Add line breaks after each product
115
+
116
+ v0.2.5 (Unreleased)
117
+ - Make PublishingStatus a two_digit_node
118
+
119
+ v0.2.4 (Unreleased)
120
+ - Initialise the media files array of a new product correctly
121
+
122
+ v0.2.3 (Unreleased)
123
+ - Switch a few more fields over to TwoDigitNodes
124
+ - Make the product availability field accessible from APAProduct
125
+
126
+ v0.2.2 (Unreleased)
127
+ - Add a new nodetype (DateNode) for YYYYMMDD fields
128
+
129
+ v0.2.1 (Unreleased)
130
+ - Add a new nodetype (TwoDigitNode) for two digit codes
131
+
132
+ v0.2.0 (16th July 2008)
133
+ - Add support for reading and storing subject codes (BIC, BISAC, etc)
134
+
135
+ v0.1.0 (12th June 2008)
136
+ - Initial Release
data/README.markdown ADDED
@@ -0,0 +1,40 @@
1
+ ## ONIX
2
+
3
+ The ONIX standard is a somewhat verbose XML format that is rapidly becoming the
4
+ industry standard for electronic data sharing in the book and publishing
5
+ industries.
6
+
7
+ This library provides a slim layer over the format and simplifies both reading
8
+ and writing ONIX files in your ruby applications.
9
+
10
+ This replaces the obsolete rbook-onix gem that was spectacular in its crapness.
11
+ Let us never speak of it again.
12
+
13
+ ## Installation
14
+
15
+ gem install onix
16
+
17
+ ## Usage
18
+
19
+ See files in the examples directory to get started quickly. For further reading
20
+ view the comments to the following classes:
21
+
22
+ * ONIX::Reader - For reading ONIX files
23
+ * ONIX::Writer - For writing ONIX files
24
+ * ONIX::Normaliser - For normalising ONIX files before reading them. Fixes encoding issues, etc
25
+
26
+ ## Licensing
27
+
28
+ This library is distributed under the terms of the MIT License. See the included file for
29
+ more detail.
30
+
31
+ ## Contributing
32
+
33
+ All suggestions and patches welcome, preferably via a git repository I can pull from.
34
+ To be honest, I'm not really expecting any, this is a niche library.
35
+
36
+ ## Further Reading
37
+
38
+ - The source: [http://github.com/yob/onix/tree/master](http://github.com/yob/onix/tree/master)
39
+ - Rubyforge project: [http://rubyforge.org/projects/rbook/](http://rubyforge.org/projects/rbook/)
40
+ - The official specs [http://www.editeur.org/onix.html](http://www.editeur.org/onix.html)
data/TODO ADDED
@@ -0,0 +1,14 @@
1
+ - finish adding support for all tags in a Product record
2
+ - contributor still needs some obscure tags added
3
+ - add a new node type for dates that should be in the form YYYYMMDD
4
+ - allow symbols to be used instead of numeric codes
5
+ - contribution type, id type, etc
6
+ - validations
7
+ - hard stuff from the spec
8
+ - 2 digit numbers, 8 digit dates, char limits on text fields
9
+ - code lists
10
+ - only values in code lists allowed in relevant fields
11
+ - regional requirements
12
+ - titlepage minimum set of tags
13
+ - APA (if different to titlepage)
14
+ - documentation
@@ -0,0 +1,173 @@
1
+
2
+ <!--
3
+ File isoamsa.ent produced by the XSL script mmldtd.xsl
4
+ from input data in unicode.xml.
5
+
6
+ Please report any errors to
7
+ David Carlisle <davidc@nag.co.uk>.
8
+
9
+ The numeric character values assigned to each entity
10
+ (should) match either official Unicode assignments
11
+ or assignments provisionally allocated by the
12
+ Unicode Consortium based on the characters in the `STIX'
13
+ propsal for mathematics. Note that these assignments
14
+ have not been ratified by the corresponding ISO
15
+ committee and thus should be considered liable to
16
+ change.
17
+
18
+ Entity names in this file are derived from files carrying the
19
+ following notice:
20
+
21
+ (C) International Organization for Standardization 1991
22
+ Permission to copy in any form is granted for use with
23
+ conforming SGML systems and applications as defined in
24
+ ISO 8879, provided this notice is included in all copies.
25
+
26
+ -->
27
+
28
+ <!ENTITY angzarr "&#x0237C;" ><!--angle with down zig-zag arrow -->
29
+ <!ENTITY cirmid "&#x02AEF;" ><!--circle, mid below -->
30
+ <!ENTITY cudarrl "&#x02938;" ><!--left, curved, down arrow -->
31
+ <!ENTITY cudarrr "&#x02935;" ><!--right, curved, down arrow -->
32
+ <!ENTITY cularr "&#x021B6;" ><!--/curvearrowleft A: left curved arrow -->
33
+ <!ENTITY cularrp "&#x0293D;" ><!--curved left arrow with plus -->
34
+ <!ENTITY curarr "&#x021B7;" ><!--/curvearrowright A: rt curved arrow -->
35
+ <!ENTITY curarrm "&#x0293C;" ><!--curved right arrow with minus -->
36
+ <!ENTITY dArr "&#x021D3;" ><!--/Downarrow A: down dbl arrow -->
37
+ <!ENTITY Darr "&#x021A1;" ><!--down two-headed arrow -->
38
+ <!ENTITY ddarr "&#x021CA;" ><!--/downdownarrows A: two down arrows -->
39
+ <!ENTITY DDotrahd "&#x02911;" ><!--right arrow with dotted stem -->
40
+ <!ENTITY dfisht "&#x0297F;" ><!--down fish tail -->
41
+ <!ENTITY dHar "&#x02965;" ><!--down harpoon-left, down harpoon-right -->
42
+ <!ENTITY dharl "&#x021C3;" ><!--/downharpoonleft A: dn harpoon-left -->
43
+ <!ENTITY dharr "&#x021C2;" ><!--/downharpoonright A: down harpoon-rt -->
44
+ <!ENTITY duarr "&#x021F5;" ><!--down arrow, up arrow -->
45
+ <!ENTITY duhar "&#x0296F;" ><!--down harp, up harp -->
46
+ <!ENTITY dzigrarr "&#x0F5A2;" ><!--right long zig-zag arrow -->
47
+ <!ENTITY erarr "&#x02971;" ><!--equal, right arrow below -->
48
+ <!ENTITY harr "&#x02194;" ><!--/leftrightarrow A: l&r arrow -->
49
+ <!ENTITY hArr "&#x021D4;" ><!--/Leftrightarrow A: l&r dbl arrow -->
50
+ <!ENTITY harrcir "&#x02948;" ><!--left and right arrow with a circle -->
51
+ <!ENTITY harrw "&#x021AD;" ><!--/leftrightsquigarrow A: l&r arr-wavy -->
52
+ <!ENTITY hoarr "&#x021FF;" ><!--horizontal open arrow -->
53
+ <!ENTITY imof "&#x022B7;" ><!--image of -->
54
+ <!ENTITY lAarr "&#x021DA;" ><!--/Lleftarrow A: left triple arrow -->
55
+ <!ENTITY Larr "&#x0219E;" ><!--/twoheadleftarrow A: -->
56
+ <!ENTITY larrbfs "&#x0291F;" ><!--left arrow-bar, filled square -->
57
+ <!ENTITY larrfs "&#x0291D;" ><!--left arrow, filled square -->
58
+ <!ENTITY larrhk "&#x021A9;" ><!--/hookleftarrow A: left arrow-hooked -->
59
+ <!ENTITY larrlp "&#x021AB;" ><!--/looparrowleft A: left arrow-looped -->
60
+ <!ENTITY larrpl "&#x02939;" ><!--left arrow, plus -->
61
+ <!ENTITY larrsim "&#x02973;" ><!--left arrow, similar -->
62
+ <!ENTITY larrtl "&#x021A2;" ><!--/leftarrowtail A: left arrow-tailed -->
63
+ <!ENTITY latail "&#x02919;" ><!--left arrow-tail -->
64
+ <!ENTITY lAtail "&#x0291B;" ><!--left double arrow-tail -->
65
+ <!ENTITY lbarr "&#x0290C;" ><!--left broken arrow -->
66
+ <!ENTITY lBarr "&#x0290E;" ><!--left doubly broken arrow -->
67
+ <!ENTITY ldca "&#x02936;" ><!--left down curved arrow -->
68
+ <!ENTITY ldrdhar "&#x02967;" ><!--left harpoon-down over right harpoon-down -->
69
+ <!ENTITY ldrushar "&#x0294B;" ><!--left-down-right-up harpoon -->
70
+ <!ENTITY ldsh "&#x021B2;" ><!--left down angled arrow -->
71
+ <!ENTITY lfisht "&#x0297C;" ><!--left fish tail -->
72
+ <!ENTITY lHar "&#x02962;" ><!--left harpoon-up over left harpoon-down -->
73
+ <!ENTITY lhard "&#x021BD;" ><!--/leftharpoondown A: l harpoon-down -->
74
+ <!ENTITY lharu "&#x021BC;" ><!--/leftharpoonup A: left harpoon-up -->
75
+ <!ENTITY lharul "&#x0296A;" ><!--left harpoon-up over long dash -->
76
+ <!ENTITY llarr "&#x021C7;" ><!--/leftleftarrows A: two left arrows -->
77
+ <!ENTITY llhard "&#x0296B;" ><!--left harpoon-down below long dash -->
78
+ <!ENTITY loarr "&#x021FD;" ><!--left open arrow -->
79
+ <!ENTITY lrarr "&#x021C6;" ><!--/leftrightarrows A: l arr over r arr -->
80
+ <!ENTITY lrhar "&#x021CB;" ><!--/leftrightharpoons A: l harp over r -->
81
+ <!ENTITY lrhard "&#x0296D;" ><!--right harpoon-down below long dash -->
82
+ <!ENTITY lsh "&#x021B0;" ><!--/Lsh A: -->
83
+ <!ENTITY lurdshar "&#x0294A;" ><!--left-up-right-down harpoon -->
84
+ <!ENTITY luruhar "&#x02966;" ><!--left harpoon-up over right harpoon-up -->
85
+ <!ENTITY map "&#x021A6;" ><!--/mapsto A: -->
86
+ <!ENTITY Map "&#x02905;" ><!--twoheaded mapsto -->
87
+ <!ENTITY midcir "&#x02AF0;" ><!--mid, circle below -->
88
+ <!ENTITY mumap "&#x022B8;" ><!--/multimap A: -->
89
+ <!ENTITY nearhk "&#x02924;" ><!--NE arrow-hooked -->
90
+ <!ENTITY nearr "&#x02197;" ><!--/nearrow A: NE pointing arrow -->
91
+ <!ENTITY neArr "&#x021D7;" ><!--NE pointing dbl arrow -->
92
+ <!ENTITY nesear "&#x02928;" ><!--/toea A: NE & SE arrows -->
93
+ <!ENTITY nharr "&#x021AE;" ><!--/nleftrightarrow A: not l&r arrow -->
94
+ <!ENTITY nhArr "&#x021CE;" ><!--/nLeftrightarrow A: not l&r dbl arr -->
95
+ <!ENTITY nlarr "&#x0219A;" ><!--/nleftarrow A: not left arrow -->
96
+ <!ENTITY nlArr "&#x021CD;" ><!--/nLeftarrow A: not implied by -->
97
+ <!ENTITY nrarr "&#x0219B;" ><!--/nrightarrow A: not right arrow -->
98
+ <!ENTITY nrArr "&#x021CF;" ><!--/nRightarrow A: not implies -->
99
+ <!ENTITY nrarrc "&#x02933;&#x00338;" ><!--not right arrow-curved -->
100
+ <!ENTITY nrarrw "&#x0219D;&#x00338;" ><!--not right arrow-wavy -->
101
+ <!ENTITY nvHarr "&#x021CE;" ><!--not, vert, left and right double arrow -->
102
+ <!ENTITY nvlArr "&#x021CD;" ><!--not, vert, left double arrow -->
103
+ <!ENTITY nvrArr "&#x021CF;" ><!--not, vert, right double arrow -->
104
+ <!ENTITY nwarhk "&#x02923;" ><!--NW arrow-hooked -->
105
+ <!ENTITY nwarr "&#x02196;" ><!--/nwarrow A: NW pointing arrow -->
106
+ <!ENTITY nwArr "&#x021D6;" ><!--NW pointing dbl arrow -->
107
+ <!ENTITY nwnear "&#x02927;" ><!--NW & NE arrows -->
108
+ <!ENTITY olarr "&#x021BA;" ><!--/circlearrowleft A: l arr in circle -->
109
+ <!ENTITY orarr "&#x021BB;" ><!--/circlearrowright A: r arr in circle -->
110
+ <!ENTITY origof "&#x022B6;" ><!--original of -->
111
+ <!ENTITY rAarr "&#x021DB;" ><!--/Rrightarrow A: right triple arrow -->
112
+ <!ENTITY Rarr "&#x021A0;" ><!--/twoheadrightarrow A: -->
113
+ <!ENTITY rarrap "&#x02975;" ><!--approximate, right arrow above -->
114
+ <!ENTITY rarrbfs "&#x02920;" ><!--right arrow-bar, filled square -->
115
+ <!ENTITY rarrc "&#x02933;" ><!--right arrow-curved -->
116
+ <!ENTITY rarrfs "&#x0291E;" ><!--right arrow, filled square -->
117
+ <!ENTITY rarrhk "&#x021AA;" ><!--/hookrightarrow A: rt arrow-hooked -->
118
+ <!ENTITY rarrlp "&#x021AC;" ><!--/looparrowright A: rt arrow-looped -->
119
+ <!ENTITY rarrpl "&#x02945;" ><!--right arrow, plus -->
120
+ <!ENTITY rarrsim "&#x02974;" ><!--right arrow, similar -->
121
+ <!ENTITY rarrtl "&#x021A3;" ><!--/rightarrowtail A: rt arrow-tailed -->
122
+ <!ENTITY Rarrtl "&#x02916;" ><!--right two-headed arrow with tail -->
123
+ <!ENTITY rarrw "&#x0219D;" ><!--/rightsquigarrow A: rt arrow-wavy -->
124
+ <!ENTITY ratail "&#x021A3;" ><!--right arrow-tail -->
125
+ <!ENTITY rAtail "&#x0291C;" ><!--right double arrow-tail -->
126
+ <!ENTITY rbarr "&#x0290D;" ><!--/bkarow A: right broken arrow -->
127
+ <!ENTITY rBarr "&#x0290F;" ><!--/dbkarow A: right doubly broken arrow -->
128
+ <!ENTITY RBarr "&#x02910;" ><!--/drbkarow A: twoheaded right broken arrow -->
129
+ <!ENTITY rdca "&#x02937;" ><!--right down curved arrow -->
130
+ <!ENTITY rdldhar "&#x02969;" ><!--right harpoon-down over left harpoon-down -->
131
+ <!ENTITY rdsh "&#x021B3;" ><!--right down angled arrow -->
132
+ <!ENTITY rfisht "&#x0297D;" ><!--right fish tail -->
133
+ <!ENTITY rHar "&#x02964;" ><!--right harpoon-up over right harpoon-down -->
134
+ <!ENTITY rhard "&#x021C1;" ><!--/rightharpoondown A: rt harpoon-down -->
135
+ <!ENTITY rharu "&#x021C0;" ><!--/rightharpoonup A: rt harpoon-up -->
136
+ <!ENTITY rharul "&#x0296C;" ><!--right harpoon-up over long dash -->
137
+ <!ENTITY rlarr "&#x021C4;" ><!--/rightleftarrows A: r arr over l arr -->
138
+ <!ENTITY rlhar "&#x021CC;" ><!--/rightleftharpoons A: r harp over l -->
139
+ <!ENTITY roarr "&#x021FE;" ><!--right open arrow -->
140
+ <!ENTITY rrarr "&#x021C9;" ><!--/rightrightarrows A: two rt arrows -->
141
+ <!ENTITY rsh "&#x021B1;" ><!--/Rsh A: -->
142
+ <!ENTITY ruluhar "&#x02968;" ><!--right harpoon-up over left harpoon-up -->
143
+ <!ENTITY searhk "&#x02925;" ><!--/hksearow A: SE arrow-hooken -->
144
+ <!ENTITY searr "&#x02198;" ><!--/searrow A: SE pointing arrow -->
145
+ <!ENTITY seArr "&#x021D8;" ><!--SE pointing dbl arrow -->
146
+ <!ENTITY seswar "&#x02929;" ><!--/tosa A: SE & SW arrows -->
147
+ <!ENTITY simrarr "&#x02972;" ><!--similar, right arrow below -->
148
+ <!ENTITY slarr "&#x02190;&#x0FE00;" ><!--short left arrow -->
149
+ <!ENTITY srarr "&#x02192;&#x0FE00;" ><!--short right arrow -->
150
+ <!ENTITY swarhk "&#x02926;" ><!--/hkswarow A: SW arrow-hooked -->
151
+ <!ENTITY swarr "&#x02199;" ><!--/swarrow A: SW pointing arrow -->
152
+ <!ENTITY swArr "&#x021D9;" ><!--SW pointing dbl arrow -->
153
+ <!ENTITY swnwar "&#x0292A;" ><!--SW & NW arrows -->
154
+ <!ENTITY uArr "&#x021D1;" ><!--/Uparrow A: up dbl arrow -->
155
+ <!ENTITY Uarr "&#x0219F;" ><!--up two-headed arrow -->
156
+ <!ENTITY Uarrocir "&#x02949;" ><!--up two-headed arrow above circle -->
157
+ <!ENTITY udarr "&#x021C5;" ><!--up arrow, down arrow -->
158
+ <!ENTITY udhar "&#x0296E;" ><!--up harp, down harp -->
159
+ <!ENTITY ufisht "&#x0297E;" ><!--up fish tail -->
160
+ <!ENTITY uHar "&#x02963;" ><!--up harpoon-left, up harpoon-right -->
161
+ <!ENTITY uharl "&#x021BF;" ><!--/upharpoonleft A: up harpoon-left -->
162
+ <!ENTITY uharr "&#x021BE;" ><!--/upharpoonright /restriction A: up harp-r -->
163
+ <!ENTITY uuarr "&#x021C8;" ><!--/upuparrows A: two up arrows -->
164
+ <!ENTITY varr "&#x02195;" ><!--/updownarrow A: up&down arrow -->
165
+ <!ENTITY vArr "&#x021D5;" ><!--/Updownarrow A: up&down dbl arrow -->
166
+ <!ENTITY xharr "&#x0F578;" ><!--/longleftrightarrow A: long l&r arr -->
167
+ <!ENTITY xhArr "&#x0F57B;" ><!--/Longleftrightarrow A: long l&r dbl arr -->
168
+ <!ENTITY xlarr "&#x0F576;" ><!--/longleftarrow A: long left arrow -->
169
+ <!ENTITY xlArr "&#x0F579;" ><!--/Longleftarrow A: long l dbl arrow -->
170
+ <!ENTITY xmap "&#x0F57D;" ><!--/longmapsto A: -->
171
+ <!ENTITY xrarr "&#x0F577;" ><!--/longrightarrow A: long right arrow -->
172
+ <!ENTITY xrArr "&#x0F57A;" ><!--/Longrightarrow A: long rt dbl arr -->
173
+ <!ENTITY zigrarr "&#x021DD;" ><!--right zig-zag arrow -->
@@ -0,0 +1,146 @@
1
+
2
+ <!--
3
+ File isoamsb.ent produced by the XSL script mmldtd.xsl
4
+ from input data in unicode.xml.
5
+
6
+ Please report any errors to
7
+ David Carlisle <davidc@nag.co.uk>.
8
+
9
+ The numeric character values assigned to each entity
10
+ (should) match either official Unicode assignments
11
+ or assignments provisionally allocated by the
12
+ Unicode Consortium based on the characters in the `STIX'
13
+ propsal for mathematics. Note that these assignments
14
+ have not been ratified by the corresponding ISO
15
+ committee and thus should be considered liable to
16
+ change.
17
+
18
+ Entity names in this file are derived from files carrying the
19
+ following notice:
20
+
21
+ (C) International Organization for Standardization 1991
22
+ Permission to copy in any form is granted for use with
23
+ conforming SGML systems and applications as defined in
24
+ ISO 8879, provided this notice is included in all copies.
25
+
26
+ -->
27
+
28
+ <!ENTITY ac "&#x0290F;" ><!--most positive -->
29
+ <!ENTITY acE "&#x029DB;" ><!--most positive, two lines below -->
30
+ <!ENTITY amalg "&#x02A3F;" ><!--/amalg B: amalgamation or coproduct -->
31
+ <!ENTITY barvee "&#x022BD;" ><!--bar, vee -->
32
+ <!ENTITY barwed "&#x022BC;" ><!--/barwedge B: logical and, bar above -->
33
+ <!ENTITY Barwed "&#x02306;" ><!--/doublebarwedge B: log and, dbl bar above -->
34
+ <!ENTITY bsolb "&#x029C5;" ><!--reverse solidus in square -->
35
+ <!ENTITY Cap "&#x022D2;" ><!--/Cap /doublecap B: dbl intersection -->
36
+ <!ENTITY capand "&#x02A44;" ><!--intersection, and -->
37
+ <!ENTITY capbrcup "&#x02A49;" ><!--intersection, bar, union -->
38
+ <!ENTITY capcap "&#x02A4B;" ><!--intersection, intersection, joined -->
39
+ <!ENTITY capcup "&#x02A47;" ><!--intersection above union -->
40
+ <!ENTITY capdot "&#x02A40;" ><!--intersection, with dot -->
41
+ <!ENTITY caps "&#x02229;&#x0FE00;" ><!--intersection, serifs -->
42
+ <!ENTITY ccaps "&#x02A4D;" ><!--closed intersection, serifs -->
43
+ <!ENTITY ccups "&#x02A4C;" ><!--closed union, serifs -->
44
+ <!ENTITY ccupssm "&#x02A50;" ><!--closed union, serifs, smash product -->
45
+ <!ENTITY coprod "&#x02210;" ><!--/coprod L: coproduct operator -->
46
+ <!ENTITY Cup "&#x022D3;" ><!--/Cup /doublecup B: dbl union -->
47
+ <!ENTITY cupbrcap "&#x02A48;" ><!--union, bar, intersection -->
48
+ <!ENTITY cupcap "&#x02A46;" ><!--union above intersection -->
49
+ <!ENTITY cupcup "&#x02A4A;" ><!--union, union, joined -->
50
+ <!ENTITY cupdot "&#x0228D;" ><!--union, with dot -->
51
+ <!ENTITY cupor "&#x02A45;" ><!--union, or -->
52
+ <!ENTITY cups "&#x0222A;&#x0FE00;" ><!--union, serifs -->
53
+ <!ENTITY cuvee "&#x022CE;" ><!--/curlyvee B: curly logical or -->
54
+ <!ENTITY cuwed "&#x022CF;" ><!--/curlywedge B: curly logical and -->
55
+ <!ENTITY dagger "&#x02020;" ><!--/dagger B: dagger relation -->
56
+ <!ENTITY Dagger "&#x02021;" ><!--/ddagger B: double dagger relation -->
57
+ <!ENTITY diam "&#x022C4;" ><!--/diamond B: open diamond -->
58
+ <!ENTITY divonx "&#x022C7;" ><!--/divideontimes B: division on times -->
59
+ <!ENTITY eplus "&#x02A71;" ><!--equal, plus -->
60
+ <!ENTITY hercon "&#x022B9;" ><!--hermitian conjugate matrix -->
61
+ <!ENTITY intcal "&#x022BA;" ><!--/intercal B: intercal -->
62
+ <!ENTITY iprod "&#x02A3C;" ><!--/intprod -->
63
+ <!ENTITY loplus "&#x02A2D;" ><!--plus sign in left half circle -->
64
+ <!ENTITY lotimes "&#x02A34;" ><!--multiply sign in left half circle -->
65
+ <!ENTITY lthree "&#x022CB;" ><!--/leftthreetimes B: -->
66
+ <!ENTITY ltimes "&#x022C9;" ><!--/ltimes B: times sign, left closed -->
67
+ <!ENTITY midast "&#x0002A;" ><!--/ast B: asterisk -->
68
+ <!ENTITY minusb "&#x0229F;" ><!--/boxminus B: minus sign in box -->
69
+ <!ENTITY minusd "&#x02238;" ><!--/dotminus B: minus sign, dot above -->
70
+ <!ENTITY minusdu "&#x02A2A;" ><!--minus sign, dot below -->
71
+ <!ENTITY ncap "&#x02A43;" ><!--bar, intersection -->
72
+ <!ENTITY ncup "&#x02A42;" ><!--bar, union -->
73
+ <!ENTITY oast "&#x0229B;" ><!--/circledast B: asterisk in circle -->
74
+ <!ENTITY ocir "&#x0229A;" ><!--/circledcirc B: small circle in circle -->
75
+ <!ENTITY odash "&#x0229D;" ><!--/circleddash B: hyphen in circle -->
76
+ <!ENTITY odiv "&#x02A38;" ><!--divide in circle -->
77
+ <!ENTITY odot "&#x02299;" ><!--/odot B: middle dot in circle -->
78
+ <!ENTITY odsold "&#x029BC;" ><!--dot, solidus, dot in circle -->
79
+ <!ENTITY ofcir "&#x029BF;" ><!--filled circle in circle -->
80
+ <!ENTITY ogt "&#x029C1;" ><!--greater-than in circle -->
81
+ <!ENTITY ohbar "&#x029B5;" ><!--circle with horizontal bar -->
82
+ <!ENTITY olcir "&#x029BE;" ><!--large circle in circle -->
83
+ <!ENTITY olt "&#x029C0;" ><!--less-than in circle -->
84
+ <!ENTITY omid "&#x029B6;" ><!--vertical bar in circle -->
85
+ <!ENTITY ominus "&#x02296;" ><!--/ominus B: minus sign in circle -->
86
+ <!ENTITY opar "&#x029B7;" ><!--parallel in circle -->
87
+ <!ENTITY operp "&#x029B9;" ><!--perpendicular in circle -->
88
+ <!ENTITY oplus "&#x02295;" ><!--/oplus B: plus sign in circle -->
89
+ <!ENTITY osol "&#x02298;" ><!--/oslash B: solidus in circle -->
90
+ <!ENTITY otimes "&#x02297;" ><!--/otimes B: multiply sign in circle -->
91
+ <!ENTITY Otimes "&#x02A37;" ><!--multiply sign in double circle -->
92
+ <!ENTITY otimesas "&#x02A36;" ><!--multiply sign in circle, circumflex accent -->
93
+ <!ENTITY ovbar "&#x0233D;" ><!--circle with vertical bar -->
94
+ <!ENTITY plusacir "&#x02A23;" ><!--plus, circumflex accent above -->
95
+ <!ENTITY plusb "&#x0229E;" ><!--/boxplus B: plus sign in box -->
96
+ <!ENTITY pluscir "&#x02A22;" ><!--plus, small circle above -->
97
+ <!ENTITY plusdo "&#x02214;" ><!--/dotplus B: plus sign, dot above -->
98
+ <!ENTITY plusdu "&#x02A25;" ><!--plus sign, dot below -->
99
+ <!ENTITY pluse "&#x02A72;" ><!--plus, equals -->
100
+ <!ENTITY plussim "&#x02A26;" ><!--plus, similar below -->
101
+ <!ENTITY plustwo "&#x02A27;" ><!--plus, two; Nim-addition -->
102
+ <!ENTITY prod "&#x0220F;" ><!--/prod L: product operator -->
103
+ <!ENTITY race "&#x029DA;" ><!--reverse most positive, line below -->
104
+ <!ENTITY roplus "&#x02A2E;" ><!--plus sign in right half circle -->
105
+ <!ENTITY rotimes "&#x02A35;" ><!--multiply sign in right half circle -->
106
+ <!ENTITY rthree "&#x022CC;" ><!--/rightthreetimes B: -->
107
+ <!ENTITY rtimes "&#x022CA;" ><!--/rtimes B: times sign, right closed -->
108
+ <!ENTITY sdot "&#x022C5;" ><!--/cdot B: small middle dot -->
109
+ <!ENTITY sdotb "&#x022A1;" ><!--/dotsquare /boxdot B: small dot in box -->
110
+ <!ENTITY setmn "&#x02216;" ><!--/setminus B: reverse solidus -->
111
+ <!ENTITY simplus "&#x02A24;" ><!--plus, similar above -->
112
+ <!ENTITY smashp "&#x02A33;" ><!--smash product -->
113
+ <!ENTITY solb "&#x029C4;" ><!--solidus in square -->
114
+ <!ENTITY sqcap "&#x02293;" ><!--/sqcap B: square intersection -->
115
+ <!ENTITY sqcaps "&#x02293;&#x0FE00;" ><!--square intersection, serifs -->
116
+ <!ENTITY sqcup "&#x02294;" ><!--/sqcup B: square union -->
117
+ <!ENTITY sqcups "&#x02294;&#x0FE00;" ><!--square union, serifs -->
118
+ <!ENTITY ssetmn "&#x02216;&#x0FE00;" ><!--/smallsetminus B: sm reverse solidus -->
119
+ <!ENTITY sstarf "&#x022C6;" ><!--/star B: small star, filled -->
120
+ <!ENTITY subdot "&#x02ABD;" ><!--subset, with dot -->
121
+ <!ENTITY sum "&#x02211;" ><!--/sum L: summation operator -->
122
+ <!ENTITY supdot "&#x02ABE;" ><!--superset, with dot -->
123
+ <!ENTITY timesb "&#x022A0;" ><!--/boxtimes B: multiply sign in box -->
124
+ <!ENTITY timesbar "&#x02A31;" ><!--multiply sign, bar below -->
125
+ <!ENTITY timesd "&#x02A30;" ><!--times, dot -->
126
+ <!ENTITY tridot "&#x025EC;" ><!--dot in triangle -->
127
+ <!ENTITY triminus "&#x02A3A;" ><!--minus in triangle -->
128
+ <!ENTITY triplus "&#x02A39;" ><!--plus in triangle -->
129
+ <!ENTITY trisb "&#x029CD;" ><!--triangle, serifs at bottom -->
130
+ <!ENTITY tritime "&#x02A3B;" ><!--multiply in triangle -->
131
+ <!ENTITY uplus "&#x0228E;" ><!--/uplus B: plus sign in union -->
132
+ <!ENTITY veebar "&#x022BB;" ><!--/veebar B: logical or, bar below -->
133
+ <!ENTITY wedbar "&#x02A5F;" ><!--wedge, bar below -->
134
+ <!ENTITY wreath "&#x02240;" ><!--/wr B: wreath product -->
135
+ <!ENTITY xcap "&#x022C2;" ><!--/bigcap L: intersection operator -->
136
+ <!ENTITY xcirc "&#x025EF;" ><!--/bigcirc B: large circle -->
137
+ <!ENTITY xcup "&#x022C3;" ><!--/bigcup L: union operator -->
138
+ <!ENTITY xdtri "&#x025BD;" ><!--/bigtriangledown B: big dn tri, open -->
139
+ <!ENTITY xodot "&#x02299;" ><!--/bigodot L: circle dot operator -->
140
+ <!ENTITY xoplus "&#x02295;" ><!--/bigoplus L: circle plus operator -->
141
+ <!ENTITY xotime "&#x02297;" ><!--/bigotimes L: circle times operator -->
142
+ <!ENTITY xsqcup "&#x02294;" ><!--/bigsqcup L: square union operator -->
143
+ <!ENTITY xuplus "&#x0228E;" ><!--/biguplus L: -->
144
+ <!ENTITY xutri "&#x025B3;" ><!--/bigtriangleup B: big up tri, open -->
145
+ <!ENTITY xvee "&#x022C1;" ><!--/bigvee L: logical and operator -->
146
+ <!ENTITY xwedge "&#x022C0;" ><!--/bigwedge L: logical or operator -->
@@ -0,0 +1,49 @@
1
+
2
+ <!--
3
+ File isoamsc.ent produced by the XSL script mmldtd.xsl
4
+ from input data in unicode.xml.
5
+
6
+ Please report any errors to
7
+ David Carlisle <davidc@nag.co.uk>.
8
+
9
+ The numeric character values assigned to each entity
10
+ (should) match either official Unicode assignments
11
+ or assignments provisionally allocated by the
12
+ Unicode Consortium based on the characters in the `STIX'
13
+ propsal for mathematics. Note that these assignments
14
+ have not been ratified by the corresponding ISO
15
+ committee and thus should be considered liable to
16
+ change.
17
+
18
+ Entity names in this file are derived from files carrying the
19
+ following notice:
20
+
21
+ (C) International Organization for Standardization 1991
22
+ Permission to copy in any form is granted for use with
23
+ conforming SGML systems and applications as defined in
24
+ ISO 8879, provided this notice is included in all copies.
25
+
26
+ -->
27
+
28
+ <!ENTITY dlcorn "&#x0231E;" ><!--/llcorner O: lower left corner -->
29
+ <!ENTITY drcorn "&#x0231F;" ><!--/lrcorner C: lower right corner -->
30
+ <!ENTITY gtlPar "&#x02995;" ><!--dbl left parenthesis, greater -->
31
+ <!ENTITY langd "&#x02991;" ><!--left angle, dot -->
32
+ <!ENTITY lbrke "&#x0298B;" ><!--left bracket, equal -->
33
+ <!ENTITY lbrksld "&#x0298F;" ><!--left bracket, solidus bottom corner -->
34
+ <!ENTITY lbrkslu "&#x0298D;" ><!--left bracket, solidus top corner -->
35
+ <!ENTITY lceil "&#x02308;" ><!--/lceil O: left ceiling -->
36
+ <!ENTITY lfloor "&#x0230A;" ><!--/lfloor O: left floor -->
37
+ <!ENTITY lmoust "&#x023B0;" ><!--/lmoustache -->
38
+ <!ENTITY lparlt "&#x02993;" ><!--O: left parenthesis, lt -->
39
+ <!ENTITY ltrPar "&#x02996;" ><!--dbl right parenthesis, less -->
40
+ <!ENTITY rangd "&#x02992;" ><!--right angle, dot -->
41
+ <!ENTITY rbrke "&#x0298C;" ><!--right bracket, equal -->
42
+ <!ENTITY rbrksld "&#x0298E;" ><!--right bracket, solidus bottom corner -->
43
+ <!ENTITY rbrkslu "&#x02990;" ><!--right bracket, solidus top corner -->
44
+ <!ENTITY rceil "&#x02309;" ><!--/rceil C: right ceiling -->
45
+ <!ENTITY rfloor "&#x0230B;" ><!--/rfloor C: right floor -->
46
+ <!ENTITY rmoust "&#x023B1;" ><!--/rmoustache -->
47
+ <!ENTITY rpargt "&#x02994;" ><!--C: right paren, gt -->
48
+ <!ENTITY ulcorn "&#x0231C;" ><!--/ulcorner O: upper left corner -->
49
+ <!ENTITY urcorn "&#x0231D;" ><!--/urcorner C: upper right corner -->