@amermathsoc/texml-to-html 20.1.1 → 21.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (204) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/README.md +1 -2
  3. package/lib/elements/abstract.js +1 -1
  4. package/lib/elements/attrib.js +2 -0
  5. package/lib/elements/sec-meta.js +5 -3
  6. package/lib/elements/sec.js +6 -5
  7. package/lib/transformer.js +2 -3
  8. package/package.json +4 -4
  9. package/test/article--alttitle.xml +3 -3
  10. package/test/article--nometa.xml +2 -2
  11. package/test/article.xml +28 -25
  12. package/test/book--metadata.xml +6 -5
  13. package/test/book.xml +121 -65
  14. package/test/element-attrib.js +2 -2
  15. package/test/element-sec-meta.js +19 -9
  16. package/test/element-sec.js +5 -1
  17. package/test/snapshots/article--alttitle.html +2 -2
  18. package/test/snapshots/article.html +5 -2
  19. package/test/snapshots/book--metadata.html +5 -6
  20. package/test/snapshots/book.html +79 -48
  21. package/test/snapshots/texml-tests/{NLMnote.html → BITSnote.html} +3 -3
  22. package/test/snapshots/texml-tests/{NLMnote.xml → BITSnote.xml} +3 -3
  23. package/test/snapshots/texml-tests/LGR.xml +9 -9
  24. package/test/snapshots/texml-tests/OT1.xml +1 -1
  25. package/test/snapshots/texml-tests/OT1ti.xml +1 -1
  26. package/test/snapshots/texml-tests/OT1tt.xml +1 -1
  27. package/test/snapshots/texml-tests/OT2.xml +1 -1
  28. package/test/snapshots/texml-tests/OT4.xml +1 -1
  29. package/test/snapshots/texml-tests/OT6.xml +2 -2
  30. package/test/snapshots/texml-tests/T1.xml +1 -1
  31. package/test/snapshots/texml-tests/T4.xml +1 -1
  32. package/test/snapshots/texml-tests/T5.xml +1 -1
  33. package/test/snapshots/texml-tests/Ucharcat.xml +1 -1
  34. package/test/snapshots/texml-tests/accent.xml +1 -1
  35. package/test/snapshots/texml-tests/algorithmic.xml +24 -24
  36. package/test/snapshots/texml-tests/algpseudocode.xml +18 -18
  37. package/test/snapshots/texml-tests/ams_measure.xml +1 -1
  38. package/test/snapshots/texml-tests/amsart.html +7 -2
  39. package/test/snapshots/texml-tests/amsart.xml +7 -4
  40. package/test/snapshots/texml-tests/amsbook.html +22 -5
  41. package/test/snapshots/texml-tests/amsbook.xml +36 -11
  42. package/test/snapshots/texml-tests/amscyr.xml +1 -1
  43. package/test/snapshots/texml-tests/amsfonts.xml +1 -1
  44. package/test/snapshots/texml-tests/amsrefs.xml +1 -1
  45. package/test/snapshots/texml-tests/amsthm-swap.xml +1 -1
  46. package/test/snapshots/texml-tests/amsthm.xml +1 -1
  47. package/test/snapshots/texml-tests/amsviet.xml +1 -1
  48. package/test/snapshots/texml-tests/appendix-book.html +32 -27
  49. package/test/snapshots/texml-tests/appendix-book.xml +39 -31
  50. package/test/snapshots/texml-tests/appendix.xml +5 -5
  51. package/test/snapshots/texml-tests/array.xml +1 -1
  52. package/test/snapshots/texml-tests/article.xml +1 -1
  53. package/test/snapshots/texml-tests/arxiv.xml +1 -1
  54. package/test/snapshots/texml-tests/arydshln.xml +1 -1
  55. package/test/snapshots/texml-tests/aufm.html +1 -1
  56. package/test/snapshots/texml-tests/aufm.xml +1 -1
  57. package/test/snapshots/texml-tests/autoref.html +54 -48
  58. package/test/snapshots/texml-tests/autoref.xml +66 -57
  59. package/test/snapshots/texml-tests/begincsname.xml +1 -1
  60. package/test/snapshots/texml-tests/boldline.xml +1 -1
  61. package/test/snapshots/texml-tests/book-app.html +20 -11
  62. package/test/snapshots/texml-tests/book-app.xml +25 -13
  63. package/test/snapshots/texml-tests/book-new.html +176 -0
  64. package/test/snapshots/texml-tests/book-new.xml +318 -0
  65. package/test/snapshots/texml-tests/book.html +14 -11
  66. package/test/snapshots/texml-tests/book.xml +19 -13
  67. package/test/snapshots/texml-tests/booktabs.xml +2 -2
  68. package/test/snapshots/texml-tests/boxes.xml +1 -1
  69. package/test/snapshots/texml-tests/caption.xml +1 -1
  70. package/test/snapshots/texml-tests/cite.html +1 -1
  71. package/test/snapshots/texml-tests/cite.xml +2 -2
  72. package/test/snapshots/texml-tests/citesort.xml +1 -1
  73. package/test/snapshots/texml-tests/cleveref.xml +2 -2
  74. package/test/snapshots/texml-tests/collection.html +60 -0
  75. package/test/snapshots/texml-tests/collection.xml +237 -0
  76. package/test/snapshots/texml-tests/colortbl.xml +1 -1
  77. package/test/snapshots/texml-tests/combinetoks.xml +1 -1
  78. package/test/snapshots/texml-tests/comments.html +41 -0
  79. package/test/snapshots/texml-tests/comments.xml +33 -0
  80. package/test/snapshots/texml-tests/constants.xml +1 -1
  81. package/test/snapshots/texml-tests/csstring.xml +1 -1
  82. package/test/snapshots/texml-tests/detokenize.xml +1 -1
  83. package/test/snapshots/texml-tests/diacritics.xml +1 -1
  84. package/test/snapshots/texml-tests/dimexpr.xml +1 -1
  85. package/test/snapshots/texml-tests/drm.html +1 -1
  86. package/test/snapshots/texml-tests/drm.xml +3 -3
  87. package/test/snapshots/texml-tests/edgecases.html +42 -0
  88. package/test/snapshots/texml-tests/edgecases.xml +20 -0
  89. package/test/snapshots/texml-tests/escapechar.html +47 -0
  90. package/test/snapshots/texml-tests/escapechar.xml +34 -0
  91. package/test/snapshots/texml-tests/escapeinside.html +44 -0
  92. package/test/snapshots/texml-tests/escapeinside.xml +28 -0
  93. package/test/snapshots/texml-tests/eurosym.html +45 -0
  94. package/test/snapshots/texml-tests/eurosym.xml +23 -0
  95. package/test/snapshots/texml-tests/euscript.xml +1 -1
  96. package/test/snapshots/texml-tests/everyeof.xml +1 -1
  97. package/test/snapshots/texml-tests/expanded.xml +1 -1
  98. package/test/snapshots/texml-tests/expl3.xml +1 -1
  99. package/test/snapshots/texml-tests/extarrows.xml +1 -1
  100. package/test/snapshots/texml-tests/footnote.html +33 -22
  101. package/test/snapshots/texml-tests/footnote.xml +72 -53
  102. package/test/snapshots/texml-tests/framedboxes.xml +1 -1
  103. package/test/snapshots/texml-tests/glueexpr.xml +1 -1
  104. package/test/snapshots/texml-tests/gobble.html +44 -0
  105. package/test/snapshots/texml-tests/gobble.xml +38 -0
  106. package/test/snapshots/texml-tests/gsm_l.html +25 -20
  107. package/test/snapshots/texml-tests/gsm_l.xml +33 -25
  108. package/test/snapshots/texml-tests/halign.xml +1 -1
  109. package/test/snapshots/texml-tests/hello.xml +1 -1
  110. package/test/snapshots/texml-tests/hhline.xml +1 -1
  111. package/test/snapshots/texml-tests/hline.xml +1 -1
  112. package/test/snapshots/texml-tests/hyperams.xml +1 -1
  113. package/test/snapshots/texml-tests/hyperref.xml +1 -1
  114. package/test/snapshots/texml-tests/i283.xml +2 -2
  115. package/test/snapshots/texml-tests/ifcondition.xml +1 -1
  116. package/test/snapshots/texml-tests/ifcsname.xml +1 -1
  117. package/test/snapshots/texml-tests/ifdefined.xml +1 -1
  118. package/test/snapshots/texml-tests/ifdim.xml +1 -1
  119. package/test/snapshots/texml-tests/ifnum.xml +1 -1
  120. package/test/snapshots/texml-tests/ifprimitive.xml +1 -1
  121. package/test/snapshots/texml-tests/immediateassigned.xml +1 -1
  122. package/test/snapshots/texml-tests/immediateassignment.xml +1 -1
  123. package/test/snapshots/texml-tests/index.xml +1 -1
  124. package/test/snapshots/texml-tests/lastbox.xml +1 -1
  125. package/test/snapshots/texml-tests/lastkern.xml +1 -1
  126. package/test/snapshots/texml-tests/lastnamedcs.xml +1 -1
  127. package/test/snapshots/texml-tests/let.xml +1 -1
  128. package/test/snapshots/texml-tests/letcharcode.xml +1 -1
  129. package/test/snapshots/texml-tests/ligatures.xml +3 -3
  130. package/test/snapshots/texml-tests/listings.html +7 -12
  131. package/test/snapshots/texml-tests/listings.xml +19 -10
  132. package/test/snapshots/texml-tests/listoffigures.html +98 -0
  133. package/test/snapshots/texml-tests/listoffigures.xml +180 -0
  134. package/test/snapshots/texml-tests/literate.html +41 -0
  135. package/test/snapshots/texml-tests/literate.xml +26 -0
  136. package/test/snapshots/texml-tests/longtable.xml +1 -1
  137. package/test/snapshots/texml-tests/makecell.xml +1 -1
  138. package/test/snapshots/texml-tests/maketitle.html +6 -2
  139. package/test/snapshots/texml-tests/maketitle.xml +4 -2
  140. package/test/snapshots/texml-tests/manfnt.xml +1 -1
  141. package/test/snapshots/texml-tests/mathscinet.xml +1 -1
  142. package/test/snapshots/texml-tests/mathscr.xml +1 -1
  143. package/test/snapshots/texml-tests/meaning.xml +1 -1
  144. package/test/snapshots/texml-tests/metadata.xml +1 -1
  145. package/test/snapshots/texml-tests/muexpr.xml +1 -1
  146. package/test/snapshots/texml-tests/multicolumn.xml +3 -3
  147. package/test/snapshots/texml-tests/multirow.xml +3 -3
  148. package/test/snapshots/texml-tests/multirowcell.xml +4 -4
  149. package/test/snapshots/texml-tests/multline.xml +1 -1
  150. package/test/snapshots/texml-tests/nameref.xml +2 -2
  151. package/test/snapshots/texml-tests/names.xml +1 -1
  152. package/test/snapshots/texml-tests/natbib.html +41 -26
  153. package/test/snapshots/texml-tests/natbib.xml +66 -44
  154. package/test/snapshots/texml-tests/noexpand.xml +1 -1
  155. package/test/snapshots/texml-tests/noindent.xml +1 -1
  156. package/test/snapshots/texml-tests/numexpr.xml +1 -1
  157. package/test/snapshots/texml-tests/oldfont.html +59 -0
  158. package/test/snapshots/texml-tests/oldfont.xml +37 -0
  159. package/test/snapshots/texml-tests/parshape.xml +1 -1
  160. package/test/snapshots/texml-tests/part.html +33 -25
  161. package/test/snapshots/texml-tests/part.xml +47 -33
  162. package/test/snapshots/texml-tests/perl.html +41 -0
  163. package/test/snapshots/texml-tests/perl.xml +32 -0
  164. package/test/snapshots/texml-tests/protected.xml +1 -1
  165. package/test/snapshots/texml-tests/quote.xml +1 -1
  166. package/test/snapshots/texml-tests/ref.xml +2 -2
  167. package/test/snapshots/texml-tests/refrange.xml +11 -11
  168. package/test/snapshots/texml-tests/scantokens.xml +1 -1
  169. package/test/snapshots/texml-tests/secmeta.html +4 -4
  170. package/test/snapshots/texml-tests/secmeta.xml +4 -4
  171. package/test/snapshots/texml-tests/section.xml +10 -10
  172. package/test/snapshots/texml-tests/showonlyrefs.xml +1 -1
  173. package/test/snapshots/texml-tests/smash.xml +1 -1
  174. package/test/snapshots/texml-tests/stepnumber-1.html +8 -0
  175. package/test/snapshots/texml-tests/stepnumber-1.xml +23 -0
  176. package/test/snapshots/texml-tests/stepnumber-2.html +6 -0
  177. package/test/snapshots/texml-tests/stepnumber-2.xml +21 -0
  178. package/test/snapshots/texml-tests/stepnumber-3.html +6 -0
  179. package/test/snapshots/texml-tests/stepnumber-3.xml +21 -0
  180. package/test/snapshots/texml-tests/strcmp.xml +1 -1
  181. package/test/snapshots/texml-tests/string-m.html +41 -0
  182. package/test/snapshots/texml-tests/string-m.xml +32 -0
  183. package/test/snapshots/texml-tests/string.xml +1 -1
  184. package/test/snapshots/texml-tests/strings.html +41 -0
  185. package/test/snapshots/texml-tests/strings.xml +31 -0
  186. package/test/snapshots/texml-tests/sub_sup.xml +1 -1
  187. package/test/snapshots/texml-tests/subcaption.xml +1 -1
  188. package/test/snapshots/texml-tests/tableofcontents.html +35 -26
  189. package/test/snapshots/texml-tests/tableofcontents.xml +60 -38
  190. package/test/snapshots/texml-tests/tabular.xml +1 -1
  191. package/test/snapshots/texml-tests/tcolorbox.xml +1 -1
  192. package/test/snapshots/texml-tests/texcl.html +18 -0
  193. package/test/snapshots/texml-tests/texcl.xml +68 -0
  194. package/test/snapshots/texml-tests/textequation.xml +1 -1
  195. package/test/snapshots/texml-tests/thm-restate.xml +1 -1
  196. package/test/snapshots/texml-tests/tracingnodes.xml +1 -1
  197. package/test/snapshots/texml-tests/unexpanded.xml +1 -1
  198. package/test/snapshots/texml-tests/unless.xml +1 -1
  199. package/test/snapshots/texml-tests/upgreek.xml +1 -1
  200. package/test/snapshots/texml-tests/url.xml +1 -1
  201. package/test/snapshots/texml-tests/verb.xml +1 -1
  202. package/test/snapshots/texml-tests/vlist.xml +1 -1
  203. package/test/snapshots/texml-tests/xcolor.xml +1 -1
  204. package/test/snapshots/texml-tests/xmllabel.xml +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,32 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
4
4
 
5
+ ## [21.0.0](https://github.com/AmerMathSoc/texml-to-html/compare/v20.2.0...v21.0.0) (2026-03-16)
6
+
7
+
8
+ ### ⚠ BREAKING CHANGES
9
+
10
+ * Changes sec-meta output & expects new texml book markup (#495)
11
+
12
+ ### Features
13
+
14
+ * adjust to texml changes around book-part ([6f7fe2c](https://github.com/AmerMathSoc/texml-to-html/commit/6f7fe2c718be1db0da41615738e6174a732868fa)), closes [#495](https://github.com/AmerMathSoc/texml-to-html/issues/495)
15
+ * **sec.js:** adjust to changes for texml-generated `sec`. ([e88d926](https://github.com/AmerMathSoc/texml-to-html/commit/e88d926dd6aad67d814e925864dd7cfa10a5373e)), closes [#505](https://github.com/AmerMathSoc/texml-to-html/issues/505)
16
+ * **sec.js:** support new appendix markup ([3a91959](https://github.com/AmerMathSoc/texml-to-html/commit/3a91959591d96b10a806b46203576f8d07977197)), closes [#501](https://github.com/AmerMathSoc/texml-to-html/issues/501)
17
+ * support foreword element ([22279d8](https://github.com/AmerMathSoc/texml-to-html/commit/22279d8520a3628e280f16e1bb65cd776c774da1)), closes [#507](https://github.com/AmerMathSoc/texml-to-html/issues/507)
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * **package:** update linkedom to v0.18.12 ([dbf2af1](https://github.com/AmerMathSoc/texml-to-html/commit/dbf2af155308a3ce4ee6b382e8b8cf80b159f43e))
23
+
24
+ ## [20.2.0](https://github.com/AmerMathSoc/texml-to-html/compare/v20.1.1...v20.2.0) (2026-02-19)
25
+
26
+
27
+ ### Features
28
+
29
+ * **attrib.js:** map attributes ([c8bd479](https://github.com/AmerMathSoc/texml-to-html/commit/c8bd4799faba54f4d79e34476d393484a147285d)), closes [#499](https://github.com/AmerMathSoc/texml-to-html/issues/499)
30
+
5
31
  ## [20.1.1](https://github.com/AmerMathSoc/texml-to-html/compare/v20.1.0...v20.1.1) (2026-01-13)
6
32
 
7
33
 
package/README.md CHANGED
@@ -141,7 +141,7 @@ Beyond HTML element and attributes, texml-to-html stores data in custom `data-*`
141
141
  - fn-return [added in ams-html output]
142
142
  - `toc-entry@specific-use` [expected: section, chapter, etc.]
143
143
  - data-ams-doc-level
144
- - [0-9]
144
+ - [0-9] (used for heading level calculation)
145
145
  - data-ams-content-type
146
146
  - {@content-type }
147
147
  - { @notes-type } (for notes elements, cf. AmerMathSoc/texml-to-html#329)
@@ -251,7 +251,6 @@ The following provide a list from the reverse point of view.
251
251
  - toc-entry@style => data-ams-style
252
252
  - attrib => data-ams-doc="attribution"
253
253
  - attributes
254
- - @disp-level => data-ams-doc-level [data-ams-doc-level is also added to some elements that lack disp-level]
255
254
  - @content-type => data-ams-content-type
256
255
  - @style => data-ams-style [e.g., statement, sec]
257
256
  - @specific-use => data-ams-specific-use [sometimes mapped to other attributes, e.g., style]
@@ -23,7 +23,7 @@ import getParentLevel from '../helpers/getParentLevel.js';
23
23
  * @param {Element} xmlnode
24
24
  */
25
25
  export default function (htmlParentNode, xmlnode) {
26
- const level = getParentLevel(htmlParentNode) || '1'; // NOTE in articles, we don't have a disp-level in the XML; also NOTE that this is a change from xslt which erroneously had hardcoded 1 but abstract/title still got an h2
26
+ const level = getParentLevel(htmlParentNode) || '1'; // NOTE fallback for when abstract doesn't have a section-like parent (e.g. article metadata)
27
27
  const section = this.createNode('section', '', {
28
28
  'data-ams-doc-level': level,
29
29
  role: 'doc-abstract'
@@ -13,6 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
+ import mapAttributes from '../helpers/mapAttributes.js';
16
17
 
17
18
  /**
18
19
  * attrib element
@@ -22,5 +23,6 @@
22
23
  export default function (htmlParentNode, xmlnode) {
23
24
  const span = this.createNode('span', '', { 'data-ams-doc': 'attribution' });
24
25
  htmlParentNode.appendChild(span);
26
+ mapAttributes(span, xmlnode);
25
27
  this.passThrough(span, xmlnode);
26
28
  };
@@ -22,11 +22,13 @@ import { generateByline } from "../helpers/generateByline.js";
22
22
  */
23
23
  export default function (htmlParentNode, xmlnode) {
24
24
  const contributors = this.extractContribGroups(xmlnode);
25
- const secmetaSection = this.createNode('section', '', {
25
+ const secmetaSection = this.createNode('div', '', {
26
26
  'data-ams-doc': 'sec-meta',
27
- 'data-ams-contributors': JSON.stringify(contributors),
28
- 'data-ams-byline': generateByline(contributors),
29
27
  });
28
+ if (Object.keys(contributors).length > 0) {
29
+ secmetaSection.setAttribute('data-ams-contributors', JSON.stringify(contributors));
30
+ secmetaSection.setAttribute('data-ams-byline', generateByline(contributors));
31
+ }
30
32
  htmlParentNode.appendChild(secmetaSection);
31
33
 
32
34
  // NOTE: use cases for content within sec-meta so far: MCL1/14 has abstract; noti2382 has notes.
@@ -17,6 +17,7 @@
17
17
  const sectioningDictionary = {
18
18
  part: 0,
19
19
  chapter: 0,
20
+ appendix: 0,
20
21
  section: 1,
21
22
  refhead: 1, // NOTE NOTI only
22
23
  subsection: 2,
@@ -32,7 +33,8 @@ const sectioningDictionary = {
32
33
  */
33
34
  export default function (htmlParentNode, xmlnode) {
34
35
  const tagName = xmlnode.tagName;
35
- const specificUse = xmlnode.getAttribute('specific-use');
36
+ let specificUse = xmlnode.getAttribute('specific-use');
37
+ if (specificUse === 'section untagged') specificUse = 'section';
36
38
  const articleWithPartIncrement =
37
39
  !this.isBook && xmlnode.getRootNode().querySelector('sec[specific-use="part"]')
38
40
  ? 1
@@ -82,10 +84,9 @@ export default function (htmlParentNode, xmlnode) {
82
84
  if (tagName === 'book-app-group') {
83
85
  section.setAttribute('data-ams-doc', 'app-group');
84
86
  }
85
- if (tagName === 'book-app' && !xmlnode.parentNode.closest('book-app')) {
86
- section.setAttribute('role', 'doc-appendix'); // TODO: revisit after AmerMathSoc/texml#223
87
- // section.setAttribute('data-ams-doc-level', '0')
88
- }
87
+ if (tagName === 'book-app' && !xmlnode.parentNode.closest('book-app')) section.setAttribute('role', 'doc-appendix'); // TODO: revisit after AmerMathSoc/texml#223
88
+
89
+ if (tagName === 'foreword') section.setAttribute('role', 'doc-foreword');
89
90
 
90
91
  this.createHeading(section, xmlnode);
91
92
  this.passThrough(section, xmlnode);
@@ -106,7 +106,7 @@ export class Transformer {
106
106
  const mapTag = (func, newtag) => (this[newtag] = func);
107
107
 
108
108
  // sec-like elements
109
- ['ack', 'front-matter-part', 'dedication', 'book-app-group', 'book-app'].forEach(
109
+ ['ack', 'front-matter-part', 'dedication', 'book-app-group', 'book-app', 'book-part', 'foreword'].forEach(
110
110
  mapTag.bind(null, this['sec'])
111
111
  );
112
112
  // fig-like elements
@@ -131,9 +131,7 @@ export class Transformer {
131
131
  'front-matter',
132
132
  'book-body',
133
133
  'book-back',
134
- 'book-part',
135
134
  'named-book-part-body',
136
- 'book-part-meta',
137
135
  'body',
138
136
  'description',
139
137
  'custom-meta-group',
@@ -287,6 +285,7 @@ export class Transformer {
287
285
  statement = Statement.bind(this)
288
286
  secheading = SecHeading.bind(this)
289
287
  'sec-meta' = SecMeta.bind(this)
288
+ 'book-part-meta' = SecMeta.bind(this)
290
289
  graphic = Graphic.bind(this)
291
290
  img = Img.bind(this)
292
291
  fig = Fig.bind(this)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@amermathsoc/texml-to-html",
3
- "version": "20.1.1",
3
+ "version": "21.0.0",
4
4
  "type": "module",
5
5
  "description": "A NodeJS library for converting AMS-style JATS XML to HTML",
6
6
  "scripts": {
@@ -31,11 +31,11 @@
31
31
  },
32
32
  "homepage": "https://github.com/AmerMathSoc/texml-to-html#readme",
33
33
  "devDependencies": {
34
- "c8": "10.1.3",
35
- "commit-and-tag-version": "12.5.1",
34
+ "c8": "11.0.0",
35
+ "commit-and-tag-version": "12.6.1",
36
36
  "tape": "5.9.0"
37
37
  },
38
38
  "dependencies": {
39
- "linkedom": "0.18.10"
39
+ "linkedom": "0.18.12"
40
40
  }
41
41
  }
@@ -103,13 +103,13 @@
103
103
  <notes notes-type="article"/>
104
104
  </front>
105
105
  <body>
106
- <sec id="sec" disp-level="1" specific-use="part">
107
- <sec id="seclabeltitle" disp-level="2" specific-use="section">
106
+ <sec id="sec" specific-use="part">
107
+ <sec id="seclabeltitle" specific-use="section">
108
108
  <label>Label</label>
109
109
  <title>Title</title>
110
110
  </sec>
111
111
  </sec>
112
- <sec disp-level="1" id="secmeta" specific-use="section">
112
+ <sec id="secmeta" specific-use="section">
113
113
  <sec-meta>
114
114
  <contrib-group content-type="authors">
115
115
  <contrib contrib-type="author">
@@ -30,8 +30,8 @@
30
30
  </article-meta>
31
31
  </front>
32
32
  <body>
33
- <sec id="sec" disp-level="1" specific-use="part">
34
- <sec id="seclabeltitle" disp-level="2" specific-use="section">
33
+ <sec id="sec" specific-use="part">
34
+ <sec id="seclabeltitle" specific-use="section">
35
35
  <label>Label</label>
36
36
  <title>Title</title>
37
37
  </sec>
package/test/article.xml CHANGED
@@ -157,7 +157,9 @@
157
157
  <notes notes-type="dedication"/>
158
158
  </front>
159
159
  <body>
160
- <sec id="sec" disp-level="1" specific-use="section">
160
+ <sec id="untagged" specific-use="section untagged">
161
+ </sec>
162
+ <sec id="sec" specific-use="section">
161
163
  <styled-content style-type="type"/>
162
164
  <italic/>
163
165
  <italic toggle="yes"/>
@@ -255,37 +257,38 @@
255
257
  </front-matter-part>
256
258
  <front-matter-part id="intro1" disp-level="1">
257
259
  <title>Introduction</title>
260
+ <attrib specific-use="aufm">The Author</attrib>
258
261
  </front-matter-part>
259
- <sec id="ack3" disp-level="1" specific-use="section">
262
+ <sec id="ack3" specific-use="section">
260
263
  <title>Acknowledg</title>
261
264
  </sec>
262
- <sec id="intro2" disp-level="1" specific-use="section">
265
+ <sec id="intro2" specific-use="section">
263
266
  <title>Introduction</title>
264
267
  </sec>
265
268
  <front-matter>
266
269
  <dedication id="ded"/>
267
270
  </front-matter>
268
271
 
269
- <sec id="subsec" disp-level="2" specific-use="subsection">
272
+ <sec id="subsec" specific-use="subsection">
270
273
  <label>Subsection</label>
271
274
  </sec>
272
- <sec id="seclabeltitle" disp-level="1" specific-use="section">
275
+ <sec id="seclabeltitle" specific-use="section">
273
276
  <label>Label</label>
274
277
  <title>Title</title>
275
278
  </sec>
276
- <sec id="seclabel" disp-level="1" specific-use="section">
279
+ <sec id="seclabel" specific-use="section">
277
280
  <label>Label</label>
278
281
  <subtitle>Subtitle</subtitle>
279
282
  </sec>
280
- <sec id="sectitle" disp-level="1" specific-use="section">
283
+ <sec id="sectitle" specific-use="section">
281
284
  <title>Title</title>
282
285
  <subtitle>Subtitle</subtitle>
283
286
  </sec>
284
- <sec id="refhead" disp-level="1" specific-use="refhead">
287
+ <sec id="refhead" specific-use="refhead">
285
288
  <title>Refhead</title>
286
289
  </sec>
287
290
  <!-- statement -->
288
- <sec disp-level="1" id="statements" specific-use="section">
291
+ <sec id="statements" specific-use="section">
289
292
  <statement content-type="content type" id="statement1" style="style">
290
293
  <label>Label 1</label>
291
294
  <title>Title 1</title>
@@ -305,19 +308,19 @@
305
308
  </statement>
306
309
  <statement content-type="proof proof" has-qed-box="true" id="statement4">
307
310
  <title>Proof</title>
308
- <secheading id="statement4secheading" disp-level="3" specific-use="subsection">
311
+ <secheading id="statement4secheading" specific-use="subsection">
309
312
  <title>secheading</title>
310
313
  </secheading>
311
314
  </statement>
312
315
  <statement content-type="proof proof" has-qed-box="true" id="statement5">
313
316
  <label>Label 5</label>
314
317
  <title>Proof</title>
315
- <secheading id="statement5secheading" disp-level="3" specific-use="subsection">
318
+ <secheading id="statement5secheading" specific-use="subsection">
316
319
  <label>secheading</label>
317
320
  </secheading>
318
321
  </statement>
319
322
  <statement content-type="proof proof" has-qed-box="true" id="statement6">
320
- <secheading id="statement6secheading" disp-level="3" specific-use="subsection">
323
+ <secheading id="statement6secheading" specific-use="subsection">
321
324
  <label>Label 6<x>.</x></label>
322
325
  <title>secheading</title>
323
326
  </secheading>
@@ -341,7 +344,7 @@
341
344
  </def-list>
342
345
  </sec>
343
346
  <!-- fig, fig-group, caption, label -->
344
- <sec disp-level="1" id="figures" specific-use="section">
347
+ <sec id="figures" specific-use="section">
345
348
  <fig position="anchor" id="position">
346
349
  <label>Label 1<x>.</x></label>
347
350
  <caption>Caption 1</caption>
@@ -365,7 +368,7 @@
365
368
  </fig-group>
366
369
  </sec>
367
370
  <!-- graphic, inline-graphic, img -->
368
- <sec disp-level="1" id="graphics" specific-use="section">
371
+ <sec id="graphics" specific-use="section">
369
372
  <fig>
370
373
  <graphic height="100pt" mimetype="mime" width="100" xlink:href="file" specific-use="use"><alt-text>text</alt-text></graphic>
371
374
  </fig>
@@ -373,7 +376,7 @@
373
376
  <img src="file" alt="text"></img>
374
377
  </sec>
375
378
  <!-- inline-formula, disp-formula, tex-math -->
376
- <sec disp-level="1" id="equations" specific-use="section">
379
+ <sec id="equations" specific-use="section">
377
380
  <p>
378
381
  <inline-formula has-qed-box="true">
379
382
  <!-- NOTE thinspace in text element to test preservation of unicode spacing characters -->
@@ -427,20 +430,20 @@
427
430
  </disp-formula>
428
431
  </sec>
429
432
  <!-- citegroup, cite-detail-->
430
- <sec disp-level="1" id="citegroup" specific-use="section">
433
+ <sec id="citegroup" specific-use="section">
431
434
  <p>
432
435
  <cite-group><x>[</x><xref ref-type="bibr" rid="bibr-AEG0" specific-use="cite">AEG08<cite-detail><x>, </x>Section 5</cite-detail></xref><x>; </x><xref ref-type="bibr" rid="bibr-AEG0" specific-use="cite">AEG08</xref><x>]</x></cite-group>
433
436
  </p>
434
437
  </sec>
435
438
 
436
439
  <!-- alt-title -->
437
- <sec disp-level="1" id="alttitle" specific-use="section">
440
+ <sec id="alttitle" specific-use="section">
438
441
  <title>Title</title>
439
442
  <alt-title>Alt title</alt-title>
440
443
  </sec>
441
444
 
442
445
  <!-- styled content with color -->
443
- <sec disp-level="1" id="styled_color" specific-use="section">
446
+ <sec id="styled_color" specific-use="section">
444
447
  <title>Color</title>
445
448
  <styled-content background-color="rgb(0.000%, 0.000%, 1.000%)" border-color="rgb(0, 140, 10)" border-width="thin" border-style="solid" text-color="Teal">Styled content with color</styled-content>
446
449
  </sec>
@@ -449,7 +452,7 @@
449
452
  <xref ref-type="fn" rid="fnid3">4</xref><fn id="fnid3"><label>3</label><p>Footnote 3</p></fn>
450
453
  <xref ref-type="fn" rid="fnid4">4</xref><fn id="fnid4"><label>4</label><p>Footnote 4</p></fn>
451
454
  </p>
452
- <sec disp-level="1" id="alg:algorithm" specific-use="section">
455
+ <sec id="alg:algorithm" specific-use="section">
453
456
  <title>Algorithm sample</title>
454
457
  <alg:algorithm linenodelimiter=":">
455
458
  <alg:line>
@@ -527,7 +530,7 @@
527
530
  <sec disp-level="1">
528
531
  <p>Email <email>email</email> in content, not metadata.</p>
529
532
  </sec>
530
- <sec disp-level="1" id="contentModel">
533
+ <sec id="contentModel">
531
534
  <sec id="contentModel-1">
532
535
  <!-- DLs will be moved after p (but text node remains) -->
533
536
  <p>
@@ -569,20 +572,20 @@
569
572
  <ack id="ack1" disp-level="1">
570
573
  <title/>
571
574
  </ack>
572
- <app id="applabeltitle" disp-level="1" specific-use="section">
575
+ <app id="applabeltitle" specific-use="section">
573
576
  <label>Label</label>
574
577
  <title>Title</title>
575
578
  </app>
576
- <app id="applabel" disp-level="1" specific-use="section">
579
+ <app id="applabel" specific-use="section">
577
580
  <label>Label</label>
578
581
  <subtitle>Subtitle</subtitle>
579
582
  </app>
580
- <app id="apptitle" disp-level="1" specific-use="section">
583
+ <app id="apptitle" specific-use="section">
581
584
  <title>Title</title>
582
585
  <subtitle>Subtitle</subtitle>
583
586
  </app>
584
587
  <!-- NOTE sec-meta special treatment (see notes in code and tests)-->
585
- <app id="secmeta" disp-level="1" specific-use="section">
588
+ <app id="secmeta" specific-use="section">
586
589
  <label>Appendix 1</label>
587
590
  <title>A criterion for kitchen representations</title>
588
591
  <sec-meta>
@@ -596,7 +599,7 @@
596
599
  </contrib-group>
597
600
  </sec-meta>
598
601
  </app>
599
- <app id="appack" disp-level="1" specific-use="section">
602
+ <app id="appack" specific-use="section">
600
603
  <title>Acknowledg</title>
601
604
  </app>
602
605
  </app-group>
@@ -133,12 +133,13 @@
133
133
  </toc>
134
134
  </front-matter>
135
135
  <book-body>
136
- <book-part>
137
- <body>
138
- <sec disp-level="1" id="chapter2" specific-use="chapter">
136
+ <book-part id="chapter2" specific-use="chapter">
137
+ <book-part-meta>
138
+ <title-group>
139
139
  <title>Title</title>
140
- </sec>
141
- </body>
140
+ </title-group>
141
+ </book-part-meta>
142
+ <body/>
142
143
  </book-part>
143
144
  </book-body>
144
145
  </book>