cacofonix-dtds 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (172) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +11 -0
  3. data/.rspec +3 -0
  4. data/.travis.yml +7 -0
  5. data/CHANGELOG.md +10 -0
  6. data/CODE_OF_CONDUCT.md +74 -0
  7. data/Gemfile +4 -0
  8. data/Gemfile.lock +35 -0
  9. data/LICENSE.txt +21 -0
  10. data/README.md +70 -0
  11. data/Rakefile +6 -0
  12. data/bin/console +14 -0
  13. data/bin/setup +8 -0
  14. data/cacofonix-dtds.gemspec +34 -0
  15. data/data/2.0/onix-international.dtd +625 -0
  16. data/data/2.0/onix-international.elt +3267 -0
  17. data/data/2.0/xhtml-lat1.ent +196 -0
  18. data/data/2.0/xhtml-special.ent +79 -0
  19. data/data/2.0/xhtml-symbol.ent +242 -0
  20. data/data/2.1r1/iso-amsa.ent +173 -0
  21. data/data/2.1r1/iso-amsb.ent +146 -0
  22. data/data/2.1r1/iso-amsc.ent +49 -0
  23. data/data/2.1r1/iso-amsn.ent +117 -0
  24. data/data/2.1r1/iso-amso.ent +77 -0
  25. data/data/2.1r1/iso-amsr.ent +205 -0
  26. data/data/2.1r1/iso-box.ent +67 -0
  27. data/data/2.1r1/iso-cyr1.ent +94 -0
  28. data/data/2.1r1/iso-cyr2.ent +53 -0
  29. data/data/2.1r1/iso-dia.ent +41 -0
  30. data/data/2.1r1/iso-grk3.ent +70 -0
  31. data/data/2.1r1/iso-lat1.ent +89 -0
  32. data/data/2.1r1/iso-lat2.ent +148 -0
  33. data/data/2.1r1/iso-mfrk.ent +79 -0
  34. data/data/2.1r1/iso-mopf.ent +53 -0
  35. data/data/2.1r1/iso-mscr.ent +79 -0
  36. data/data/2.1r1/iso-num.ent +103 -0
  37. data/data/2.1r1/iso-pub.ent +110 -0
  38. data/data/2.1r1/iso-tech.ent +183 -0
  39. data/data/2.1r1/onix-international.dtd +953 -0
  40. data/data/2.1r1/onix-xhtml.elt +672 -0
  41. data/data/2.1r1/reference.elt +4504 -0
  42. data/data/2.1r1/xhtml-special.ent +79 -0
  43. data/data/2.1r1/xhtml-symbol.ent +242 -0
  44. data/data/2.1r2/iso-amsa.ent +173 -0
  45. data/data/2.1r2/iso-amsb.ent +146 -0
  46. data/data/2.1r2/iso-amsc.ent +49 -0
  47. data/data/2.1r2/iso-amsn.ent +117 -0
  48. data/data/2.1r2/iso-amso.ent +77 -0
  49. data/data/2.1r2/iso-amsr.ent +205 -0
  50. data/data/2.1r2/iso-box.ent +67 -0
  51. data/data/2.1r2/iso-cyr1.ent +94 -0
  52. data/data/2.1r2/iso-cyr2.ent +53 -0
  53. data/data/2.1r2/iso-dia.ent +41 -0
  54. data/data/2.1r2/iso-grk3.ent +70 -0
  55. data/data/2.1r2/iso-lat1.ent +89 -0
  56. data/data/2.1r2/iso-lat2.ent +148 -0
  57. data/data/2.1r2/iso-mfrk.ent +79 -0
  58. data/data/2.1r2/iso-mopf.ent +53 -0
  59. data/data/2.1r2/iso-mscr.ent +79 -0
  60. data/data/2.1r2/iso-num.ent +103 -0
  61. data/data/2.1r2/iso-pub.ent +110 -0
  62. data/data/2.1r2/iso-tech.ent +183 -0
  63. data/data/2.1r2/onix-international.dtd +987 -0
  64. data/data/2.1r2/onix-xhtml.elt +672 -0
  65. data/data/2.1r2/reference.elt +4664 -0
  66. data/data/2.1r2/xhtml-special.ent +79 -0
  67. data/data/2.1r2/xhtml-symbol.ent +242 -0
  68. data/data/2.1r3/reference/iso-amsa.ent +173 -0
  69. data/data/2.1r3/reference/iso-amsb.ent +146 -0
  70. data/data/2.1r3/reference/iso-amsc.ent +49 -0
  71. data/data/2.1r3/reference/iso-amsn.ent +117 -0
  72. data/data/2.1r3/reference/iso-amso.ent +77 -0
  73. data/data/2.1r3/reference/iso-amsr.ent +205 -0
  74. data/data/2.1r3/reference/iso-box.ent +67 -0
  75. data/data/2.1r3/reference/iso-cyr1.ent +94 -0
  76. data/data/2.1r3/reference/iso-cyr2.ent +53 -0
  77. data/data/2.1r3/reference/iso-dia.ent +41 -0
  78. data/data/2.1r3/reference/iso-grk3.ent +70 -0
  79. data/data/2.1r3/reference/iso-lat1.ent +89 -0
  80. data/data/2.1r3/reference/iso-lat2.ent +148 -0
  81. data/data/2.1r3/reference/iso-mfrk.ent +79 -0
  82. data/data/2.1r3/reference/iso-mopf.ent +53 -0
  83. data/data/2.1r3/reference/iso-mscr.ent +79 -0
  84. data/data/2.1r3/reference/iso-num.ent +103 -0
  85. data/data/2.1r3/reference/iso-num.old.ent +103 -0
  86. data/data/2.1r3/reference/iso-pub.ent +110 -0
  87. data/data/2.1r3/reference/iso-tech.ent +183 -0
  88. data/data/2.1r3/reference/onix-international.dtd +1012 -0
  89. data/data/2.1r3/reference/onix-xhtml.elt +672 -0
  90. data/data/2.1r3/reference/reference.elt +4758 -0
  91. data/data/2.1r3/reference/xhtml-special.ent +79 -0
  92. data/data/2.1r3/reference/xhtml-symbol.ent +242 -0
  93. data/data/2.1r3/short/iso-amsa.ent +173 -0
  94. data/data/2.1r3/short/iso-amsb.ent +146 -0
  95. data/data/2.1r3/short/iso-amsc.ent +49 -0
  96. data/data/2.1r3/short/iso-amsn.ent +117 -0
  97. data/data/2.1r3/short/iso-amso.ent +77 -0
  98. data/data/2.1r3/short/iso-amsr.ent +205 -0
  99. data/data/2.1r3/short/iso-box.ent +67 -0
  100. data/data/2.1r3/short/iso-cyr1.ent +94 -0
  101. data/data/2.1r3/short/iso-cyr2.ent +53 -0
  102. data/data/2.1r3/short/iso-dia.ent +41 -0
  103. data/data/2.1r3/short/iso-grk3.ent +70 -0
  104. data/data/2.1r3/short/iso-lat1.ent +89 -0
  105. data/data/2.1r3/short/iso-lat2.ent +148 -0
  106. data/data/2.1r3/short/iso-mfrk.ent +79 -0
  107. data/data/2.1r3/short/iso-mopf.ent +53 -0
  108. data/data/2.1r3/short/iso-mscr.ent +79 -0
  109. data/data/2.1r3/short/iso-num.ent +103 -0
  110. data/data/2.1r3/short/iso-num.old.ent +103 -0
  111. data/data/2.1r3/short/iso-pub.ent +110 -0
  112. data/data/2.1r3/short/iso-tech.ent +183 -0
  113. data/data/2.1r3/short/onix-international.dtd +1013 -0
  114. data/data/2.1r3/short/onix-xhtml.elt +672 -0
  115. data/data/2.1r3/short/short.elt +4758 -0
  116. data/data/2.1r3/short/xhtml-special.ent +79 -0
  117. data/data/2.1r3/short/xhtml-symbol.ent +242 -0
  118. data/data/2.1r4/reference/iso-amsa.ent +173 -0
  119. data/data/2.1r4/reference/iso-amsb.ent +146 -0
  120. data/data/2.1r4/reference/iso-amsc.ent +49 -0
  121. data/data/2.1r4/reference/iso-amsn.ent +117 -0
  122. data/data/2.1r4/reference/iso-amso.ent +77 -0
  123. data/data/2.1r4/reference/iso-amsr.ent +205 -0
  124. data/data/2.1r4/reference/iso-box.ent +67 -0
  125. data/data/2.1r4/reference/iso-cyr1.ent +94 -0
  126. data/data/2.1r4/reference/iso-cyr2.ent +53 -0
  127. data/data/2.1r4/reference/iso-dia.ent +41 -0
  128. data/data/2.1r4/reference/iso-grk3.ent +70 -0
  129. data/data/2.1r4/reference/iso-lat1.ent +89 -0
  130. data/data/2.1r4/reference/iso-lat2.ent +148 -0
  131. data/data/2.1r4/reference/iso-mfrk.ent +79 -0
  132. data/data/2.1r4/reference/iso-mopf.ent +53 -0
  133. data/data/2.1r4/reference/iso-mscr.ent +79 -0
  134. data/data/2.1r4/reference/iso-num.ent +103 -0
  135. data/data/2.1r4/reference/iso-num.old.ent +103 -0
  136. data/data/2.1r4/reference/iso-pub.ent +110 -0
  137. data/data/2.1r4/reference/iso-tech.ent +183 -0
  138. data/data/2.1r4/reference/onix-international.dtd +1024 -0
  139. data/data/2.1r4/reference/onix-xhtml.elt +699 -0
  140. data/data/2.1r4/reference/reference.elt +4801 -0
  141. data/data/2.1r4/reference/xhtml-special.ent +79 -0
  142. data/data/2.1r4/reference/xhtml-symbol.ent +242 -0
  143. data/data/2.1r4/short/iso-amsa.ent +173 -0
  144. data/data/2.1r4/short/iso-amsb.ent +146 -0
  145. data/data/2.1r4/short/iso-amsc.ent +49 -0
  146. data/data/2.1r4/short/iso-amsn.ent +117 -0
  147. data/data/2.1r4/short/iso-amso.ent +77 -0
  148. data/data/2.1r4/short/iso-amsr.ent +205 -0
  149. data/data/2.1r4/short/iso-box.ent +67 -0
  150. data/data/2.1r4/short/iso-cyr1.ent +94 -0
  151. data/data/2.1r4/short/iso-cyr2.ent +53 -0
  152. data/data/2.1r4/short/iso-dia.ent +41 -0
  153. data/data/2.1r4/short/iso-grk3.ent +70 -0
  154. data/data/2.1r4/short/iso-lat1.ent +89 -0
  155. data/data/2.1r4/short/iso-lat2.ent +148 -0
  156. data/data/2.1r4/short/iso-mfrk.ent +79 -0
  157. data/data/2.1r4/short/iso-mopf.ent +53 -0
  158. data/data/2.1r4/short/iso-mscr.ent +79 -0
  159. data/data/2.1r4/short/iso-num.ent +103 -0
  160. data/data/2.1r4/short/iso-num.old.ent +103 -0
  161. data/data/2.1r4/short/iso-pub.ent +110 -0
  162. data/data/2.1r4/short/iso-tech.ent +183 -0
  163. data/data/2.1r4/short/onix-international.dtd +1025 -0
  164. data/data/2.1r4/short/onix-xhtml.elt +699 -0
  165. data/data/2.1r4/short/short.elt +4801 -0
  166. data/data/2.1r4/short/xhtml-special.ent +79 -0
  167. data/data/2.1r4/short/xhtml-symbol.ent +242 -0
  168. data/data/catalog.xml +25 -0
  169. data/lib/cacofonix-dtds.rb +3 -0
  170. data/lib/cacofonix/dtds.rb +25 -0
  171. data/lib/cacofonix/dtds/version.rb +7 -0
  172. metadata +258 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 150350717b17d64fab327a1c7b67e79eea6942514fe89e7b1308c647e25c95cf
4
+ data.tar.gz: 22178b44d26640a2b93ce299b69cc36d5a69a8a925262a3dc976d20ea472e478
5
+ SHA512:
6
+ metadata.gz: 03153d8ebe4c215d09caee6c3f1f3249bbc36406d4c11057307bb60a5ba439508549e16620cc6fb47ec3949ac7081b0bee38852854bf409ee3d4f9aecf3a01f9
7
+ data.tar.gz: aed0ee6de10a527ceec4c4a4946dc11c042614a73abf4cbc2c917276b17858645c2d6d52d516f6bfefda646a2862e75addedc7ad8e0d9dbb1627d676f410c6c5
@@ -0,0 +1,11 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /_yardoc/
4
+ /coverage/
5
+ /doc/
6
+ /pkg/
7
+ /spec/reports/
8
+ /tmp/
9
+
10
+ # rspec failure tracking
11
+ .rspec_status
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --format documentation
2
+ --color
3
+ --require spec_helper
@@ -0,0 +1,7 @@
1
+ ---
2
+ sudo: false
3
+ language: ruby
4
+ cache: bundler
5
+ rvm:
6
+ - 2.6.2
7
+ before_install: gem install bundler -v 2.0.2
@@ -0,0 +1,10 @@
1
+ # Changelog
2
+
3
+ ## [0.1.0] - 2019-07-04
4
+
5
+ ### Added
6
+
7
+ - Package ONIX 2.0 and 2.1 DTD files
8
+ - Package `catalog.xml` referencing these files
9
+ - Add `Cacofonix::DTDs.xml_catalog_path` to point to `catalog.xml` file location
10
+ - Add `Cacofonix::DTDs.apply_libxml_env!` to set XML_CATALOG_FILES ENV and ensure the catalog file is picked up when using a libxml-based XML library like Nokogiri
@@ -0,0 +1,74 @@
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ In the interest of fostering an open and welcoming environment, we as
6
+ contributors and maintainers pledge to making participation in our project and
7
+ our community a harassment-free experience for everyone, regardless of age, body
8
+ size, disability, ethnicity, gender identity and expression, level of experience,
9
+ nationality, personal appearance, race, religion, or sexual identity and
10
+ orientation.
11
+
12
+ ## Our Standards
13
+
14
+ Examples of behavior that contributes to creating a positive environment
15
+ include:
16
+
17
+ * Using welcoming and inclusive language
18
+ * Being respectful of differing viewpoints and experiences
19
+ * Gracefully accepting constructive criticism
20
+ * Focusing on what is best for the community
21
+ * Showing empathy towards other community members
22
+
23
+ Examples of unacceptable behavior by participants include:
24
+
25
+ * The use of sexualized language or imagery and unwelcome sexual attention or
26
+ advances
27
+ * Trolling, insulting/derogatory comments, and personal or political attacks
28
+ * Public or private harassment
29
+ * Publishing others' private information, such as a physical or electronic
30
+ address, without explicit permission
31
+ * Other conduct which could reasonably be considered inappropriate in a
32
+ professional setting
33
+
34
+ ## Our Responsibilities
35
+
36
+ Project maintainers are responsible for clarifying the standards of acceptable
37
+ behavior and are expected to take appropriate and fair corrective action in
38
+ response to any instances of unacceptable behavior.
39
+
40
+ Project maintainers have the right and responsibility to remove, edit, or
41
+ reject comments, commits, code, wiki edits, issues, and other contributions
42
+ that are not aligned to this Code of Conduct, or to ban temporarily or
43
+ permanently any contributor for other behaviors that they deem inappropriate,
44
+ threatening, offensive, or harmful.
45
+
46
+ ## Scope
47
+
48
+ This Code of Conduct applies both within project spaces and in public spaces
49
+ when an individual is representing the project or its community. Examples of
50
+ representing a project or community include using an official project e-mail
51
+ address, posting via an official social media account, or acting as an appointed
52
+ representative at an online or offline event. Representation of a project may be
53
+ further defined and clarified by project maintainers.
54
+
55
+ ## Enforcement
56
+
57
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
+ reported by contacting the project team at tim(at)icelab.com.au. All
59
+ complaints will be reviewed and investigated and will result in a response that
60
+ is deemed necessary and appropriate to the circumstances. The project team is
61
+ obligated to maintain confidentiality with regard to the reporter of an incident.
62
+ Further details of specific enforcement policies may be posted separately.
63
+
64
+ Project maintainers who do not follow or enforce the Code of Conduct in good
65
+ faith may face temporary or permanent repercussions as determined by other
66
+ members of the project's leadership.
67
+
68
+ ## Attribution
69
+
70
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71
+ available at [http://contributor-covenant.org/version/1/4][version]
72
+
73
+ [homepage]: http://contributor-covenant.org
74
+ [version]: http://contributor-covenant.org/version/1/4/
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "https://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in cacofonix-dtds.gemspec
4
+ gemspec
@@ -0,0 +1,35 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ cacofonix-dtds (0.1.0)
5
+
6
+ GEM
7
+ remote: https://rubygems.org/
8
+ specs:
9
+ diff-lcs (1.3)
10
+ rake (10.5.0)
11
+ rspec (3.8.0)
12
+ rspec-core (~> 3.8.0)
13
+ rspec-expectations (~> 3.8.0)
14
+ rspec-mocks (~> 3.8.0)
15
+ rspec-core (3.8.2)
16
+ rspec-support (~> 3.8.0)
17
+ rspec-expectations (3.8.4)
18
+ diff-lcs (>= 1.2.0, < 2.0)
19
+ rspec-support (~> 3.8.0)
20
+ rspec-mocks (3.8.1)
21
+ diff-lcs (>= 1.2.0, < 2.0)
22
+ rspec-support (~> 3.8.0)
23
+ rspec-support (3.8.2)
24
+
25
+ PLATFORMS
26
+ ruby
27
+
28
+ DEPENDENCIES
29
+ bundler (~> 2.0)
30
+ cacofonix-dtds!
31
+ rake (~> 10.0)
32
+ rspec (~> 3.0)
33
+
34
+ BUNDLED WITH
35
+ 2.0.2
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2019 Icelab
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,70 @@
1
+ # Cacofonix::DTDs
2
+
3
+ Cacofonix::DTDs provides an XML catalog for locally accessible ONIX 2.0 and 2.1 DTDs.
4
+
5
+ This is important in order to parse ONIX files correctly and reliably given that the original DTDs are no longer online.
6
+
7
+ This gem was published for use by [Cacofonix][cacofonix], a complete ONIX mapping gem. Cacofonix will use these DTDs automatically, no extra configuration required.
8
+
9
+ You can also use it directly with [Nokogiri][nokogiri] or any other libxml-based system. For this, see the installation and usage instructions below.
10
+
11
+ [cacofonix]: https://github.com/icelab/cacofonix
12
+ [nokogiri]: https://nokogiri.org
13
+
14
+ ## Installation
15
+
16
+ Add this line to your application's `Gemfile`:
17
+
18
+ ```ruby
19
+ gem "cacofonix-dtds"
20
+ ```
21
+
22
+ And then execute:
23
+
24
+ ```shell
25
+ $ bundle
26
+ ```
27
+
28
+ Or install it yourself as:
29
+
30
+ ```shell
31
+ $ gem install cacofonix-dtds
32
+ ```
33
+
34
+ ## Usage
35
+
36
+ To set the `XML_CATALOG_FILES` environment variable to the XML catalog file:
37
+
38
+ ```ruby
39
+ require "cacofonix/dtds"
40
+
41
+ Cacofonix::DTDs.apply_libxml_env!
42
+
43
+ # Do your nokogiri parsing here
44
+ ```
45
+
46
+ If you want to clean up your environment afterwards:
47
+
48
+ ```ruby
49
+ require "cacofonix/dtds"
50
+
51
+ env_value = nil
52
+
53
+ Cacofonix::DTDs.apply_libxml_env! { |previous_value| env_value = previous_value }
54
+
55
+ # Do your nokogiri parsing here
56
+
57
+ ENV[Cacofonix::DTDs.libxml_env_key] = env_value
58
+ ```
59
+
60
+ ## Contributing
61
+
62
+ Bug reports and pull requests are welcome [on GitHub](https://github.com/icelab/cacofonix-dtds). This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
63
+
64
+ ## License
65
+
66
+ The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
67
+
68
+ ## Code of Conduct
69
+
70
+ Everyone interacting in the Cacofonix::DTDs codebase, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/icelab/cacofonix-dtds/blob/master/CODE_OF_CONDUCT.md).
@@ -0,0 +1,6 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+
4
+ RSpec::Core::RakeTask.new(:spec)
5
+
6
+ task :default => :spec
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "cacofonix/dtds"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start(__FILE__)
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path("lib", __dir__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+ require "cacofonix/dtds/version"
6
+
7
+ Gem::Specification.new do |spec|
8
+ spec.name = "cacofonix-dtds"
9
+ spec.version = Cacofonix::DTDs::VERSION
10
+ spec.authors = ["Tim Riley"]
11
+ spec.email = ["tim@icelab.com.au"]
12
+
13
+ spec.summary = "XML catalog for locally accessible ONIX 2.0 and 2.1 DTDs"
14
+ spec.description = spec.summary
15
+ spec.homepage = "https://github.com/icelab/cacofonix-dtds"
16
+ spec.license = "MIT"
17
+
18
+ spec.metadata["homepage_uri"] = spec.homepage
19
+ spec.metadata["source_code_uri"] = spec.homepage
20
+ spec.metadata["changelog_uri"] = "https://github.com/icelab/cacofonix-dtds/blob/master/CHANGELOG.md"
21
+
22
+ # Specify which files should be added to the gem when it is released.
23
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
24
+ spec.files = Dir.chdir(File.expand_path("..", __FILE__)) do
25
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(spec)/}) }
26
+ end
27
+ spec.bindir = "exe"
28
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
29
+ spec.require_paths = ["lib"]
30
+
31
+ spec.add_development_dependency "bundler", "~> 2.0"
32
+ spec.add_development_dependency "rake", "~> 10.0"
33
+ spec.add_development_dependency "rspec", "~> 3.0"
34
+ end
@@ -0,0 +1,625 @@
1
+ <!--
2
+ **************************************************
3
+ * *
4
+ * ONIX INTERNATIONAL *
5
+ * *
6
+ * XML DTD *
7
+ * LOCAL TAG NAMES DEFINITION MODULE *
8
+ * *
9
+ * Original filename: ONIX-INTERNATIONAL.DTD *
10
+ * *
11
+ * Original author: Francis Cave *
12
+ * *
13
+ * Version 2.0 *
14
+ * Revision 00 *
15
+ * Status: PUBLIC *
16
+ * Release date: 2001-07-25 *
17
+ * *
18
+ * (c) 2000, 2001 EDItEUR *
19
+ * http://www.editeur.org/ *
20
+ * *
21
+ **************************************************
22
+
23
+
24
+
25
+ TERMS AND CONDITIONS OF USE
26
+
27
+ All ONIX International standards and documentation are copyright materials. If you use the ONIX International DTD, you will be deemed to have accepted these terms and conditions:
28
+
29
+ 1. You agree that you will not add to, delete from, amend, or copy for use outside of the ONIX International DTD, any part of the DTD except in those ways which are expressly described in ONIX documentation.
30
+
31
+ 2. You agree that if you wish to use supergroup "Z" which is provided for local extensions, you will in the first instance notify EDItEUR and allow EDItEUR to review and comment on your proposed use.
32
+
33
+ 3. You further agree that if, in the light of EDItEUR comments, you proceed to develop an application of supergroup "Z", you will provide EDItEUR with a copy of your extended ONIX International DTD, including any supporting documentation that is required to understand fully the nature and application of the extension, and EDItEUR will be free to make such use as it sees fit of any part of your application for the future development of ONIX International.
34
+
35
+ If you do not accept these terms, you must not use this DTD.
36
+
37
+
38
+
39
+ Full copies of the latest release of this DTD and all associated documentation are available from the EDItEUR web site, where may also be found details of how to contact EDItEUR for advice on the use of this DTD. The URL for the EDItEUR web site is:
40
+
41
+ http://www.editeur.org/
42
+
43
+
44
+
45
+ MODULE REVISION HISTORY (IN REVERSE CHRONOLOGICAL ORDER)
46
+
47
+ 2001-07-25: Major revision of Release 1.2.1 for Release 2.0
48
+
49
+ 1. New record-level elements added with verbose names "MainSeriesRecord" and "SubSeriesRecord".
50
+ 2. New composite element added with verbose name "ProductIdentifier".
51
+ 3. New composite element added with verbose name "ProductIdentifier", to contain
52
+ new data elements with verbose names "ProductIDType", "IDTypeName", and "IDValue".
53
+ 4. New data element added with verbose name "Barcode".
54
+ 5. New composite element added with verbose name "ProductClassification",
55
+ to contain new data elements with verbose names "ProductClassificationType" and
56
+ "ProductClassificationCode".
57
+ 6. New data elements added with verbose names "EpubType", "EpubTypeVersion",
58
+ "EpubTypeDescription", "EpubFormat", "EpubFormatVersion", "EpubFormatDescription",
59
+ "EpubSource", "EpubSourceVersion", "EpubSourceDescription" and "EpubTypeNote".
60
+ 7. New composite element added with verbose name "SeriesIdentifier", to contain new
61
+ data element with verbose name "SeriesIDType".
62
+ 8. New data element added with verbose name "SetItemTitle".
63
+ 9. Verbose name "ItemNumberWithinSeries" renamed "NumberWithinSeries".
64
+ 10. New composite element added to Group PR7 with verbose name "Title", to contain
65
+ new data elements with verbose names "TitleType", "AbbreviatedLength" and "TitleText".
66
+ 11. New composite element added to Group PR7 with verbose name "WorkIdentifier", to
67
+ contain new data element with verbose name "WorkIDType".
68
+ 12. Verbose name "ContributorSequenceNumber" renamed "SequenceNumber".
69
+ 13. New data element added with verbose name "LanguageCode".
70
+ 14. New data elements added with verbose names "PrefixToKey" and "SuffixToKey".
71
+ 15. New composite element added with verbose name "Name", to contain a new
72
+ data element with verbose name "PersonNameType".
73
+ 16. New data element added with verbose name "UnnamedPersons".
74
+ 17. New data element added with verbose name "EditionVersionNumber".
75
+ 18. New composite element added with verbose name "Language", to contain new data
76
+ elements with verbose names "LanguageRole" and "CountryCode".
77
+ 19. New data elements added with verbose names "PagesRoman" and "PagesArabic".
78
+ 20. New composite element added with verbose name "Illustrations", to contain new
79
+ data elements with verbose names "IllustrationType" and "Number".
80
+ 21. Verbose names "Rights" and "RightsTypeCode" renamed "SalesRights" and
81
+ "SalesRightsTypeCode" respectively.
82
+ 22. New data element added with verbose name "Dimensions".
83
+ 23. New data elements added with verbose names "TelephoneNumber", "FaxNumber" and
84
+ "EmailAddress".
85
+ 24. New data elements added with verbose names "ReturnsCodeType" and "ReturnsCode".
86
+ 25. New composite element added with verbose name "NewSupplier".
87
+ 26. New data element added with verbose name "DateFormat".
88
+ 27. New data elements added with verbose names "PriceQualifier" and
89
+ "PriceTypeDescription".
90
+ 28. New data element added with verbose name "MinimumOrderQuantity".
91
+ 29. New composite element added with verbose name "BatchBonus", to contain new data
92
+ elements with verbose names "BatchQuantity" and "FreeQuantity".
93
+ 30. Verbose name "DiscountGroupCode" renamed "BICDiscountGroupCode".
94
+ 31. New data elements added with verbose names "DiscountPercent" and "PriceStatus".
95
+ 32. New data element added with verbose name "SubordinateEntries".
96
+ 33. New composite element added with verbose name "ParentIdentifier".
97
+ 34. New data elements added with verbose names "LevelSequenceNumber" and
98
+ "SeriesPartName".
99
+ 35. New data element added with verbose name "PublishingRole".
100
+ 36. New composite element added with verbose name "ContentItem", to
101
+ contain new composite elements with verbose names "TextItem" and
102
+ "TextItemIdentifier" and new data elements with verbose names
103
+ "TextItemType", "TextItemIDType", "FirstPageNumber", "LastPageNumber",
104
+ "ComponentTypeName" and "ComponentNumber".
105
+ 37. New data element added with verbose name "FromEmail".
106
+ 38. Verbose names "Rights" and "RightsTypeCode" renamed "SalesRights" and
107
+ "SalesRightsType".
108
+ 39. New data element added with verbose name "ImageResolution".
109
+
110
+ 2001-04-11: Amendment of Release 1.2 for Release 1.2.1
111
+
112
+ 1. New composite element added with verbose name "Imprint", to contain new
113
+ data elements with verbose names "NameCodeType", "NameCodeTypeName" and
114
+ "NameCodeValue".
115
+ 2. New composite element added with verbose name "Publisher", to contain the
116
+ same data elements as the new composite element "Publisher".
117
+ 3. Removed data elements with verbose names "ImprintCode" and "PublisherCode".
118
+ 4. New data element added with verbose name "OriginalPublisher".
119
+ 5. New data element added with verbose name "PricePer".
120
+ 6. New composite element added with verbose name "Header", to contain existing
121
+ header elements in Group 0.
122
+
123
+ 2000-11-27: Amendment of Revision 03b for Release 1.2
124
+
125
+ 1. New elements added to indicate the source of a record, with verbose names
126
+ "RecordSourceType", "RecordSourceIdentifierType", "RecordSourceIdentifier"
127
+ and "RecordSourceName"
128
+ 2. New elements added to indicate why a record has been deleted, with verbose
129
+ names "DeletionCode" and "DeletionText"
130
+ 3. Verbose name "ProductFormDetail" renamed "BookFormDetail"
131
+ 4. New element added to represent the number of pieces in a product, with
132
+ verbose name "NumberOfPieces"
133
+ 5. New composite element added with verbose name "Extent", to contain new data
134
+ elements with verbose names "ExtentType", "ExtentValue" and "ExtentUnit"
135
+ 6. New element added to represent the BASIC subject categories version number,
136
+ with verbose name "BASICVersion"
137
+ 7. New composite element added with verbose name "Audience", to contain new
138
+ data elements with verbose names "AudienceCodeType", "AudienceCodeTypeName"
139
+ and "AudienceCode"
140
+ 8. New element added with verbose name "AudienceDescription"
141
+ 9. Element with verbose name "RightsRegion" (formerly "Region") reinstated
142
+ 10. New composite element added with verbose name "NotForSale"
143
+ 11. New composite element added with verbose name "RelatedProduct", to contain
144
+ new data element with verbose name "RelationCode" and other existing data
145
+ elements
146
+
147
+ 2000-09-01: Amendment of Revision 03a following user test results (NO REVISION RELEASED)
148
+
149
+ 1. Short tag names moved to main module, and comments on selection
150
+ of short or reference tag names revised to improve clarity.
151
+
152
+ 2000-08-08: Alteration of Revision 03 to enable use with Icon XML Spy
153
+
154
+ 1. Comment added following end of final conditional section.
155
+
156
+ 2000-07-25: Amendments to Revision 02 for Release 1.1 of ONIX International
157
+
158
+ 1. Removed declarations of reference names, which are already declared in
159
+ the main module
160
+ 2. Surrounded short names with marked section controlled by new paramenter
161
+ entity %UsingShortNames;
162
+ 3. Blank lines added to end of file to avoid "unexpected file end" error
163
+ reported by Microsoft Internet Explorer 5.x
164
+ 4. New element added for prices specified as "free of charge" and "to be
165
+ announced", with entity and verbose name "UnpricedItemType" and
166
+ short tag name "j192"
167
+ 5. New composite added for Main subject with entity and verbose name
168
+ "MainSubject" and short tag name "mainsubject"
169
+ 6. New element added for Main subject scheme identifier with entity and
170
+ verbose name "MainSubjectSchemeIdentifier" and short tag name "b191"
171
+ 7. Reference name "ClassOfTradeCode" changed to "ClassOfTrade"
172
+ 8. New element added for default class of trade with entity and verbose
173
+ name "DefaultClassOfTrade" and short tag name "m193"
174
+
175
+ 2000-05-20: Amendments to Revision 01 for Release 1.0 of ONIX International
176
+
177
+ 1. Short tag name for %PublicationDate; changed from "a003" to "b003"
178
+ 2. Removed elements with verbose names "multiple", "quantity" and "tradeonly"
179
+ 3. Entity and verbose names for Series ISSN changed from "issn" to "SeriesISSN"
180
+ 4. Entity and verbose names for Contributor sequence number changed
181
+ from "contributornumber" to "ContributorSequenceNumber"
182
+ 5. New element added for Number of illustrations, with entity and verbose name
183
+ "NumberOfIllustrations" and short tag name "b125"
184
+ 6. Entity and verbose names "lexilecode" and "lexilenumber" replaced by
185
+ "ComplexitySchemeIdentifier" and "ComplexityCode"
186
+ 7. New composite added for Complexity with name "Complexity"
187
+ 8. Removed elements with verbose names "region" and "countryexcluded"
188
+ 9. New element added for Product website composite with name "ProductWebsite"
189
+ 10. New element added for Product website description with entity and verbose name
190
+ "ProductWebsiteDescription" and short tag name "f170"
191
+ 11. Changed short tag name for %Prize; from "g125" to "Prize" - it's a composite
192
+ 12. New elements added for Other alternative Product ISBN and Other alternative
193
+ Product EAN-13 with entity and verbose names "AlternativeProductISBN" and
194
+ "AlternativeProductEAN13" and short tag names "h163" and "h164"
195
+ 13. New elements added for Promotion campaign information, Promotion contact details,
196
+ Initial print run, Copies sold and Book Club adoption, with entity and verbose
197
+ names "PromotionCampaign", "PromotionContact", "InitialPrintRun", "CopiesSold"
198
+ and "BookClubAdoption" and short tag names "k165", "k166", "k167", "k168" and "k169"
199
+ 14. Changed all other names to UpperCamelCase
200
+ 15. New element added for Proprietary subject scheme name, with entity and verbose
201
+ names "SubjectSchemeName" and short tag name "b171"
202
+ 16. New elements added for the following message elements:
203
+ Element title: Entity and verbose name: Short tag name:
204
+ Sender EAN number FromEANNumber m172
205
+ Sender SAN FromSAN m173
206
+ Sender company name FromCompany m174
207
+ Sender contact FromPerson m175
208
+ Addressee EAN number ToEANNumber m176
209
+ Addressee SAN ToSAN m177
210
+ Addressee company name ToCompany m178
211
+ Addressee contact ToPerson m179
212
+ Message sequence number MessageNumber m180
213
+ Message repeat number MessageRepeat m181
214
+ Transmission date SentDate m182
215
+ Message note MessageNote m183
216
+ Default language of text DefaultLanguageOfText m184
217
+ Default price type DefaultPriceTypeCode m185
218
+ Default currency DefaultCurrencyCode m186
219
+ Default linear unit DefaultLinearUnit m187
220
+ Default unit of weight DefaultWeightUnit m188
221
+ 17. Top-level element entity and verbose name changed from "Message" to "ONIXMessage"
222
+ 18. Removed elements with entity and verbose names "PageTrimHeight" and "PageTrimWidth"
223
+ 19. Added new Measure composite element with entity and verbose name "Measure"
224
+ 20. Short tag name for %MeasureUnitCode; changed from "c093" to "c095"
225
+ 21. Added new elements with entity and verbose names "MeasureTypeCode" and "Measurement"
226
+ and short tag names "c093" and "c094"
227
+ 22. Added new elements with entity and verbose names "USSchoolGrade" and "InterestAge"
228
+ and short tag names "b189" and "b190"
229
+ 23. Changed entity and verbose names "SalesRestrictionFlag" and "SalesRestrictionNote"
230
+ to "AudienceRestrictionFlag" and "AudienceRestrictionNote"
231
+ 24. Local Name and Reference Name lists enclosed within marked sections, so that either
232
+ may be selected without modification of this file, by externally setting the
233
+ replacement value for the appropriate parameter entity to "INCLUDE"
234
+
235
+ 2000-05-04: First draft of Version 1 released
236
+
237
+ -->
238
+ <!--
239
+ **************************************************
240
+ * *
241
+ * ENABLE LOCAL MESSAGE EXTENSION MODULE *
242
+ * *
243
+ **************************************************
244
+
245
+ The model for product information may, with the prior consent of EDItEUR, be extended to include elements not defined by ONIX. This is done by declaring all new elements in a separate module named ONIX-EXTENDED.ELT and including them as the content of an extra supergroup Z.
246
+
247
+ To include a defined extension module in the DTD, change the replacement value of %ExtendedProductModel; below from "IGNORE" to "INCLUDE".
248
+
249
+ Further guidance on adding an extension module can be found in the ONIX International Level 2 Guide.
250
+
251
+ WARNING!! ONLY CHANGE THE FOLLOWING DECLARATION IF YOU WISH TO ENABLE THE LOCAL MESSAGE EXTENSION MODULE! DELETING OR CHANGING THE DECLARATION IN ANY OTHER WAY OR CIRCUMSTANCES MAY RENDER THE DTD INOPERABLE!
252
+
253
+ -->
254
+ <!-- DO NOT DELETE THE FOLLOWING LINE! -->
255
+ <!ENTITY % ExtendedProductModel "IGNORE">
256
+ <!--
257
+ **************************************************
258
+ * *
259
+ * INSERT MAIN MODULE *
260
+ * *
261
+ **************************************************
262
+
263
+
264
+ This file only declares tag names. All other declarations of ONIX International message structures are to be found in a separate file whose reference name is ONIX-INTERNATIONAL.ELT. If this name is not suited to a specific application (e.g. filename too long), a different name can be used by inserting the desired name in between the double-quotation-marks in the following entity declaration.
265
+
266
+ WARNING!! ONLY CHANGE THE FOLLOWING DECLARATION IF YOU ARE CHANGING THE DTD FILENAMES! DELETING OR CHANGING THE DECLARATION IN ANY OTHER WAY OR CIRCUMSTANCES MAY RENDER THE DTD INOPERABLE!
267
+
268
+ -->
269
+ <!ENTITY % MainModule SYSTEM "onix-international.elt">
270
+ <!--
271
+ **************************************************
272
+ * *
273
+ * LOCAL NAMES TEMPLATE *
274
+ * *
275
+ **************************************************
276
+
277
+ If there is a need to replace the short names with others for local application, this should be done by defining a complete, new Set of names in the list that follows. The new name should be entered between double-quotation-marks following the corresponding reference name, e.g.
278
+
279
+ <!ENTITY % ISBN "LocalNameForISBN">
280
+
281
+ IMPORTANT NOTE!! Names must obey XML naming rules, i.e. they must begin with a letter and may only contain letters, digits, ".", "-" or "_". Space characters, in particular, are not valid in names. Names in XML are case-sensitive.
282
+
283
+ -->
284
+ <!--
285
+
286
+ To activate locally-defined names in this DTD for XML validation purposes, first define a COMPLETE set of local names! Then change the replacement value of %UsingLocalNames to "INCLUDE". This can be done externally to the DTD using a validating XML parser such as James Clark's NSGMLS, in that case using the command line option "-iUsingLocalNames".
287
+
288
+ -->
289
+ <!-- DO NOT DELETE THE FOLLOWING LINE! -->
290
+ <!ENTITY % UsingLocalNames "IGNORE">
291
+ <![%UsingLocalNames;[
292
+ <!ENTITY % ONIXMessage "">
293
+ <!ENTITY % Product "">
294
+ <!ENTITY % MainSeriesRecord "">
295
+ <!ENTITY % SubSeriesRecord "">
296
+ <!ENTITY % RecordReference "">
297
+ <!ENTITY % NotificationType "">
298
+ <!ENTITY % RecordSourceType "">
299
+ <!ENTITY % RecordSourceIdentifierType "">
300
+ <!ENTITY % RecordSourceIdentifier "">
301
+ <!ENTITY % RecordSourceName "">
302
+ <!ENTITY % DeletionCode "">
303
+ <!ENTITY % DeletionText "">
304
+ <!ENTITY % ISBN "">
305
+ <!ENTITY % EAN13 "">
306
+ <!ENTITY % UPC "">
307
+ <!ENTITY % PublisherProductNo "">
308
+ <!ENTITY % ISMN "">
309
+ <!ENTITY % DOI "">
310
+ <!ENTITY % ProductIdentifier "">
311
+ <!ENTITY % ProductIDType "">
312
+ <!ENTITY % IDTypeName "">
313
+ <!ENTITY % IDValue "">
314
+ <!ENTITY % Barcode "">
315
+ <!ENTITY % ReplacesISBN "">
316
+ <!ENTITY % ReplacesEAN13 "">
317
+ <!ENTITY % ProductForm "">
318
+ <!ENTITY % BookFormDetail "">
319
+ <!ENTITY % ProductFormDescription "">
320
+ <!ENTITY % ContainedItem "">
321
+ <!ENTITY % NumberOfPieces "">
322
+ <!ENTITY % ItemQuantity "">
323
+ <!ENTITY % ProductClassification "">
324
+ <!ENTITY % ProductClassificationType "">
325
+ <!ENTITY % ProductClassificationCode "">
326
+ <!ENTITY % EpubType "">
327
+ <!ENTITY % EpubTypeVersion "">
328
+ <!ENTITY % EpubTypeDescription "">
329
+ <!ENTITY % EpubFormat "">
330
+ <!ENTITY % EpubFormatVersion "">
331
+ <!ENTITY % EpubFormatDescription "">
332
+ <!ENTITY % EpubSource "">
333
+ <!ENTITY % EpubSourceVersion "">
334
+ <!ENTITY % EpubSourceDescription "">
335
+ <!ENTITY % EpubTypeNote "">
336
+ <!ENTITY % Series "">
337
+ <!ENTITY % SeriesISSN "">
338
+ <!ENTITY % PublisherSeriesCode "">
339
+ <!ENTITY % SeriesIdentifier "">
340
+ <!ENTITY % SeriesIDType "">
341
+ <!ENTITY % TitleOfSeries "">
342
+ <!ENTITY % NumberWithinSeries "">
343
+ <!ENTITY % YearOfAnnual "">
344
+ <!ENTITY % Set "">
345
+ <!ENTITY % ISBNOfSet "">
346
+ <!ENTITY % EAN13OfSet "">
347
+ <!ENTITY % TitleOfSet "">
348
+ <!ENTITY % SetPartNumber "">
349
+ <!ENTITY % SetPartTitle "">
350
+ <!ENTITY % ItemNumberWithinSet "">
351
+ <!ENTITY % SetItemTitle "">
352
+ <!ENTITY % TextCaseFlag "">
353
+ <!ENTITY % DistinctiveTitle "">
354
+ <!ENTITY % Subtitle "">
355
+ <!ENTITY % TitlePrefix "">
356
+ <!ENTITY % TitleWithoutPrefix "">
357
+ <!ENTITY % TranslationOfTitle "">
358
+ <!ENTITY % FormerTitle "">
359
+ <!ENTITY % Title "">
360
+ <!ENTITY % TitleType "">
361
+ <!ENTITY % AbbreviatedLength "">
362
+ <!ENTITY % TitleText "">
363
+ <!ENTITY % WorkIdentifier "">
364
+ <!ENTITY % WorkIDType "">
365
+ <!ENTITY % Contributor "">
366
+ <!ENTITY % SequenceNumber "">
367
+ <!ENTITY % ContributorRole "">
368
+ <!ENTITY % LanguageCode "">
369
+ <!ENTITY % PersonName "">
370
+ <!ENTITY % PersonNameInverted "">
371
+ <!ENTITY % TitlesBeforeNames "">
372
+ <!ENTITY % NamesBeforeKey "">
373
+ <!ENTITY % PrefixToKey "">
374
+ <!ENTITY % SuffixToKey "">
375
+ <!ENTITY % KeyNames "">
376
+ <!ENTITY % NamesAfterKey "">
377
+ <!ENTITY % LettersAfterNames "">
378
+ <!ENTITY % TitlesAfterNames "">
379
+ <!ENTITY % Name "">
380
+ <!ENTITY % PersonNameType "">
381
+ <!ENTITY % BiographicalNote "">
382
+ <!ENTITY % ProfessionalPosition "">
383
+ <!ENTITY % Affiliation "">
384
+ <!ENTITY % CorporateName "">
385
+ <!ENTITY % ContributorDescription "">
386
+ <!ENTITY % UnnamedPersons "">
387
+ <!ENTITY % ContributorStatement "">
388
+ <!ENTITY % ConferenceDescription "">
389
+ <!ENTITY % ConferenceRole "">
390
+ <!ENTITY % ConferenceName "">
391
+ <!ENTITY % ConferenceNumber "">
392
+ <!ENTITY % ConferenceDate "">
393
+ <!ENTITY % ConferencePlace "">
394
+ <!ENTITY % EditionTypeCode "">
395
+ <!ENTITY % EditionNumber "">
396
+ <!ENTITY % EditionVersionNumber "">
397
+ <!ENTITY % EditionStatement "">
398
+ <!ENTITY % LanguageOfText "">
399
+ <!ENTITY % OriginalLanguage "">
400
+ <!ENTITY % Language "">
401
+ <!ENTITY % LanguageRole "">
402
+ <!ENTITY % CountryCode "">
403
+ <!ENTITY % NumberOfPages "">
404
+ <!ENTITY % PagesRoman "">
405
+ <!ENTITY % PagesArabic "">
406
+ <!ENTITY % NumberOfIllustrations "">
407
+ <!ENTITY % IllustrationsNote "">
408
+ <!ENTITY % Illustrations "">
409
+ <!ENTITY % IllustrationType "">
410
+ <!ENTITY % Number "">
411
+ <!ENTITY % MapScale "">
412
+ <!ENTITY % Extent "">
413
+ <!ENTITY % ExtentType "">
414
+ <!ENTITY % ExtentValue "">
415
+ <!ENTITY % ExtentUnit "">
416
+ <!ENTITY % BASICMainSubject "">
417
+ <!ENTITY % BASICVersion "">
418
+ <!ENTITY % BICMainSubject "">
419
+ <!ENTITY % BICVersion "">
420
+ <!ENTITY % MainSubject "">
421
+ <!ENTITY % MainSubjectSchemeIdentifier "">
422
+ <!ENTITY % Subject "">
423
+ <!ENTITY % SubjectSchemeIdentifier "">
424
+ <!ENTITY % SubjectSchemeName "">
425
+ <!ENTITY % SubjectSchemeVersion "">
426
+ <!ENTITY % SubjectCode "">
427
+ <!ENTITY % SubjectHeadingText "">
428
+ <!ENTITY % PersonAsSubject "">
429
+ <!ENTITY % CorporateBodyAsSubject "">
430
+ <!ENTITY % PlaceAsSubject "">
431
+ <!ENTITY % Audience "">
432
+ <!ENTITY % AudienceCodeType "">
433
+ <!ENTITY % AudienceCodeTypeName "">
434
+ <!ENTITY % AudienceCode "">
435
+ <!ENTITY % AudienceCodeValue "">
436
+ <!ENTITY % USSchoolGrade "">
437
+ <!ENTITY % InterestAge "">
438
+ <!ENTITY % AudienceRange "">
439
+ <!ENTITY % AudienceRangeQualifier "">
440
+ <!ENTITY % AudienceRangePrecision "">
441
+ <!ENTITY % AudienceRangeValue "">
442
+ <!ENTITY % AudienceDescription "">
443
+ <!ENTITY % Complexity "">
444
+ <!ENTITY % ComplexitySchemeIdentifier "">
445
+ <!ENTITY % ComplexityCode "">
446
+ <!ENTITY % ImprintName "">
447
+ <!ENTITY % PublisherName "">
448
+ <!ENTITY % PublishingRole "">
449
+ <!ENTITY % Imprint "">
450
+ <!ENTITY % Publisher "">
451
+ <!ENTITY % NameCodeType "">
452
+ <!ENTITY % NameCodeTypeName "">
453
+ <!ENTITY % NameCodeValue "">
454
+ <!ENTITY % CityOfPublication "">
455
+ <!ENTITY % CountryOfPublication "">
456
+ <!ENTITY % CopublisherName "">
457
+ <!ENTITY % SponsorName "">
458
+ <!ENTITY % OriginalPublisher "">
459
+ <!ENTITY % AnnouncementDate "">
460
+ <!ENTITY % PublicationDate "">
461
+ <!ENTITY % CopyrightYear "">
462
+ <!ENTITY % YearFirstPublished "">
463
+ <!ENTITY % SalesRights "">
464
+ <!ENTITY % NotForSale "">
465
+ <!ENTITY % SalesRightsType "">
466
+ <!ENTITY % RightsCountry "">
467
+ <!ENTITY % RightsRegion "">
468
+ <!ENTITY % Measure "">
469
+ <!ENTITY % MeasureTypeCode "">
470
+ <!ENTITY % Measurement "">
471
+ <!ENTITY % MeasureUnitCode "">
472
+ <!ENTITY % Height "">
473
+ <!ENTITY % Width "">
474
+ <!ENTITY % Thickness "">
475
+ <!ENTITY % Weight "">
476
+ <!ENTITY % Dimensions "">
477
+ <!ENTITY % Annotation "">
478
+ <!ENTITY % MainDescription "">
479
+ <!ENTITY % OtherText "">
480
+ <!ENTITY % TextTypeCode "">
481
+ <!ENTITY % TextFormat "">
482
+ <!ENTITY % Text "">
483
+ <!ENTITY % TextLinkType "">
484
+ <!ENTITY % TextLink "">
485
+ <!ENTITY % TextAuthor "">
486
+ <!ENTITY % TextSourceTitle "">
487
+ <!ENTITY % TextPublicationDate "">
488
+ <!ENTITY % ReviewQuote "">
489
+ <!ENTITY % CoverImageFormatCode "">
490
+ <!ENTITY % CoverImageLinkTypeCode "">
491
+ <!ENTITY % CoverImageLink "">
492
+ <!ENTITY % MediaFile "">
493
+ <!ENTITY % MediaFileTypeCode "">
494
+ <!ENTITY % MediaFileFormatCode "">
495
+ <!ENTITY % ImageResolution "">
496
+ <!ENTITY % MediaFileLinkTypeCode "">
497
+ <!ENTITY % MediaFileLink "">
498
+ <!ENTITY % TextWithDownload "">
499
+ <!ENTITY % DownloadCaption "">
500
+ <!ENTITY % DownloadCredit "">
501
+ <!ENTITY % DownloadCopyrightNotice "">
502
+ <!ENTITY % DownloadTerms "">
503
+ <!ENTITY % ProductWebsite "">
504
+ <!ENTITY % ProductWebsiteDescription "">
505
+ <!ENTITY % ProductWebsiteLink "">
506
+ <!ENTITY % PrizesDescription "">
507
+ <!ENTITY % Prize "">
508
+ <!ENTITY % PrizeName "">
509
+ <!ENTITY % PrizeYear "">
510
+ <!ENTITY % PrizeCountry "">
511
+ <!ENTITY % PrizeCode "">
512
+ <!ENTITY % ContentItem "">
513
+ <!ENTITY % LevelSequenceNumber "">
514
+ <!ENTITY % TextItem "">
515
+ <!ENTITY % TextItemType "">
516
+ <!ENTITY % TextItemIdentifier "">
517
+ <!ENTITY % TextItemIDType "">
518
+ <!ENTITY % FirstPageNumber "">
519
+ <!ENTITY % LastPageNumber "">
520
+ <!ENTITY % ComponentTypeName "">
521
+ <!ENTITY % ComponentNumber "">
522
+ <!ENTITY % ReplacedByISBN "">
523
+ <!ENTITY % ReplacedByEAN13 "">
524
+ <!ENTITY % RelatedProduct "">
525
+ <!ENTITY % RelationCode "">
526
+ <!ENTITY % AlternativeFormatISBN "">
527
+ <!ENTITY % AlternativeFormatEAN13 "">
528
+ <!ENTITY % AlternativeProductISBN "">
529
+ <!ENTITY % AlternativeProductEAN13 "">
530
+ <!ENTITY % OutOfPrintDate "">
531
+ <!ENTITY % SupplyDetail "">
532
+ <!ENTITY % SupplierEANLocationNumber "">
533
+ <!ENTITY % SupplierSAN "">
534
+ <!ENTITY % SupplierName "">
535
+ <!ENTITY % TelephoneNumber "">
536
+ <!ENTITY % FaxNumber "">
537
+ <!ENTITY % EmailAddress "">
538
+ <!ENTITY % SupplyToCountry "">
539
+ <!ENTITY % SupplyToRegion "">
540
+ <!ENTITY % SupplyToCountryExcluded "">
541
+ <!ENTITY % ReturnsCodeType "">
542
+ <!ENTITY % ReturnsCode "">
543
+ <!ENTITY % AvailabilityCode "">
544
+ <!ENTITY % NewSupplier "">
545
+ <!ENTITY % DateFormat "">
546
+ <!ENTITY % ExpectedShipDate "">
547
+ <!ENTITY % OnSaleDate "">
548
+ <!ENTITY % OrderTime "">
549
+ <!ENTITY % PackQuantity "">
550
+ <!ENTITY % AudienceRestrictionFlag "">
551
+ <!ENTITY % AudienceRestrictionNote "">
552
+ <!ENTITY % Price "">
553
+ <!ENTITY % PriceTypeCode "">
554
+ <!ENTITY % PriceQualifier "">
555
+ <!ENTITY % PriceTypeDescription "">
556
+ <!ENTITY % PricePer "">
557
+ <!ENTITY % MinimumOrderQuantity "">
558
+ <!ENTITY % BatchBonus "">
559
+ <!ENTITY % BatchQuantity "">
560
+ <!ENTITY % FreeQuantity "">
561
+ <!ENTITY % ClassOfTrade "">
562
+ <!ENTITY % BICDiscountGroupCode "">
563
+ <!ENTITY % DiscountPercent "">
564
+ <!ENTITY % PriceStatus "">
565
+ <!ENTITY % PriceAmount "">
566
+ <!ENTITY % UnpricedItemType "">
567
+ <!ENTITY % CurrencyCode "">
568
+ <!ENTITY % TaxRateCode1 "">
569
+ <!ENTITY % TaxRatePercent1 "">
570
+ <!ENTITY % TaxableAmount1 "">
571
+ <!ENTITY % TaxAmount1 "">
572
+ <!ENTITY % TaxRateCode2 "">
573
+ <!ENTITY % TaxRatePercent2 "">
574
+ <!ENTITY % TaxableAmount2 "">
575
+ <!ENTITY % TaxAmount2 "">
576
+ <!ENTITY % PriceEffectiveFrom "">
577
+ <!ENTITY % PriceEffectiveUntil "">
578
+ <!ENTITY % PromotionCampaign "">
579
+ <!ENTITY % PromotionContact "">
580
+ <!ENTITY % InitialPrintRun "">
581
+ <!ENTITY % CopiesSold "">
582
+ <!ENTITY % BookClubAdoption "">
583
+ <!ENTITY % SubordinateEntries "">
584
+ <!ENTITY % ParentIdentifier "">
585
+ <!ENTITY % SeriesPartName "">
586
+ <!ENTITY % FromEANNumber "">
587
+ <!ENTITY % FromSAN "">
588
+ <!ENTITY % FromCompany "">
589
+ <!ENTITY % FromPerson "">
590
+ <!ENTITY % FromEmail "">
591
+ <!ENTITY % ToEANNumber "">
592
+ <!ENTITY % ToSAN "">
593
+ <!ENTITY % ToCompany "">
594
+ <!ENTITY % ToPerson "">
595
+ <!ENTITY % MessageNumber "">
596
+ <!ENTITY % MessageRepeat "">
597
+ <!ENTITY % SentDate "">
598
+ <!ENTITY % MessageNote "">
599
+ <!ENTITY % DefaultLanguageOfText "">
600
+ <!ENTITY % DefaultPriceTypeCode "">
601
+ <!ENTITY % DefaultCurrencyCode "">
602
+ <!ENTITY % DefaultLinearUnit "">
603
+ <!ENTITY % DefaultWeightUnit "">
604
+ <!ENTITY % DefaultClassOfTrade "">
605
+ <!ENTITY % Header "">
606
+ ]]>
607
+ <!--
608
+ **************************************************
609
+ * *
610
+ * SELECTING REFERENCE OR SHORT TAG NAMES *
611
+ * (FOR INFORMATION ONLY) *
612
+ * *
613
+ **************************************************
614
+
615
+ Two alternative sets of tag names are defined in the Main Module: reference (verbose) tag names and short tag names. Short tag names are selected by default.
616
+
617
+ The reference tag names may be selected in preference to the short tag names. To select the reference tag names in this DTD, change the replacement value of %UsingReferenceNames to "INCLUDE". This can be done externally to the DTD using a validating XML parser such as James Clark's NSGMLS, in that case using the command line option "-iUsingReferenceNames".
618
+
619
+ Even if the short tag names are selected, or local names are defined, the reference names are still available as fixed attributes of each element.
620
+
621
+ -->
622
+ <!-- DO NOT DELETE THE FOLLOWING LINE! -->
623
+ <!ENTITY % UsingReferenceNames "INCLUDE">
624
+ <!-- This comment inserted as a work-around for a known bug in XML Spy -->
625
+ %MainModule;