pro-editor-schema 0.1.15 → 0.1.16

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.
package/dist/index.d.mts CHANGED
@@ -457,19 +457,18 @@ type ValidationError = {
457
457
  description: string;
458
458
  };
459
459
 
460
- declare const validateElement: (element: Element, root: Element, referenceChapterLinkends?: readonly string[]) => ValidationError[];
461
- declare const validateXml: (xml: Element | HTMLElement, referenceChapterLinkends?: readonly string[]) => ValidationError[];
460
+ declare const validateElement: (element: Element, root: Element, elementsLinkedTo?: readonly string[]) => ValidationError[];
461
+ declare const validateXml: (xml: Element | HTMLElement, elementsLinkedTo?: readonly string[]) => ValidationError[];
462
462
 
463
463
  declare const validateFootnoteCue: (footnoteElement: Element, root: Element) => ValidationError[];
464
464
  declare const validateConsecutiveFootnotes: (root: Element) => ValidationError[];
465
465
  declare const validateConsecutiveFootnoteCues: (root: Element) => ValidationError[];
466
466
  declare const validateFootnotes: (root: Element) => ValidationError[];
467
467
 
468
- declare const validateLinkend: (linkElement: Element, root: Element, referenceChapterLinkends?: readonly string[]) => ValidationError[];
469
- declare const validateLinkends: (root: Element, referenceChapterLinkends?: readonly string[]) => ValidationError[];
468
+ declare const validateLinkend: (linkElement: Element, elementsLinkedTo?: readonly string[]) => ValidationError[];
470
469
 
471
470
  declare const validateAttributes: (element: Element, schema: Schema) => ValidationError[];
472
471
 
473
472
  declare const validateElementAgainstSchema: (element: Element, schema: Schema) => ValidationError[];
474
473
 
475
- export { ABSTRACT_SCHEMA, ABSTRACT_TAG, AFFILIATION_SCHEMA, AFFILIATION_TAG, ALIGNMENT_ATTRIBUTE, ALTTEXT_SCHEMA, ALTTEXT_TAG, APPENDIX_SCHEMA, APPENDIX_TAG, ATOM_SCHEMAS, AUTHORGROUP_SCHEMA, AUTHORGROUP_TAG, AUTHOR_SCHEMA, AUTHOR_TAG, type AllowedChildren, type AttributeDefinition, BLOCKQUOTE_SCHEMA, BLOCKQUOTE_TAG, BOX_SCHEMA, B_SCHEMA, CAPTION_SCHEMA, CAPTION_TAG, CHAPTER_SCHEMA, CHAPTER_TAG, COMMENT_QUERY_SECTION_SCHEMA, COMMENT_SCHEMA, CONTENT_SCHEMA, DEGREES_SCHEMA, DEGREES_TAG, DELETION_SCHEMA, DIALOGUE_SCHEMA, DIALOGUE_TAG, ELEMENT_SCHEMAS, ELEMENT_TAGS, ELE_ID_ATTRIBUTE, EMAIL_SCHEMA, EMAIL_TAG, EMPHASIS_SCHEMA, EPIGRAPH_SCHEMA, EPIGRAPH_TAG, EQUATION_SCHEMA, EQUATION_TAG, FIGNOTE_SCHEMA, FIGNOTE_TAG, FIGSOURCE_SCHEMA, FIGSOURCE_TAG, FIGURE_PLACEMENT_ATTRIBUTE, FIGURE_SCHEMA, FIGURE_TAG, FIRSTNAME_SCHEMA, FIRSTNAME_TAG, FOOTNOTE_LINK_SCHEMA, FOOTNOTE_LINK_TAG, FOOTNOTE_NUMBER_SCHEMA, FOOTNOTE_NUMBER_TAG, FOOTNOTE_SCHEMA, FOOTNOTE_SECTION_SCHEMA, FOOTNOTE_TAG, type FreeAttribute, GROUP_ELEMENTS_TAGS, GROUP_ELEMENT_SCHEMAS, HEADING_SCHEMA, HIGHLIGHTMARK_SCHEMA, HONORIFIC_SCHEMA, HONORIFIC_TAG, HTML_TABLE_SCHEMA, HTML_TABLE_TAG, ID_ATTRS, IGNORED_ATTRIBUTES, IGNORED_ATTRIBUTES_STARTS_WITH, IGNORED_ELEMENT_SELECTORS, IMAGEOBJECT_SCHEMA, IMAGEOBJECT_TAG, IMG_SCHEMA, IMG_TAG, INDENT_TYPE_ATTRIBUTE, INFORMALFIGURE_SCHEMA, INFORMALFIGURE_TAG, INFO_SCHEMA, INFO_TAG, INLINEEQUATION_SCHEMA, INLINEEQUATION_TAG, INLINE_ELEMENT_SCHEMAS, INLINE_ELEMENT_TAGS_ALLOWED_CHILDREN, INSERTION_SCHEMA, I_SCHEMA, KEYWORDSET_SCHEMA, KEYWORDSET_TAG, KEYWORD_SCHEMA, KEYWORD_TAG, LABEL_SCHEMA, LABEL_TAG, LAYOUT_ATTRIBUTES, LAYOUT_CELL_WIDTH, LAYOUT_USER_ATTRIBUTE, LEFT_INDENT_ATTRIBUTE, LINE_SCHEMA, LINE_TAG, LINK_SCHEMA, LINK_TAG, LI_SCHEMA, LI_TAG, LRH_SCHEMA, LRH_TAG, MEDIAOBJECT_SCHEMA, MEDIAOBJECT_TAG, OLINK_SCHEMA, OLINK_TAG, OL_SCHEMA, OL_TAG, ORGNAME_SCHEMA, ORGNAME_TAG, ORG_SCHEMA, ORG_TAG, ORIENTATION_ATTRIBUTE, PARA_SCHEMA, PARA_TAG, PERSONNAME_SCHEMA, PERSONNAME_TAG, PLACEMENT_ATTRIBUTE, POEM_SCHEMA, POEM_TAG, POSTNOMINALS_TAG, PUNC_SCHEMA, PUNC_TAG, QUERY_SCHEMA, REPLY_SCHEMA, RIGHT_INDENT_ATTRIBUTE, RRH_SCHEMA, RRH_TAG, type RestrictedAttribute, SCHEMAS, SCHEMA_MAP, SC_SCHEMA, SECTION_TAG, SIDEBAR_TAG, SOURCE_SCHEMA, SOURCE_TAG, SPACE_ABOVE_ATTRIBUTE, SPACE_BELOW_ATTRIBUTE, SPEAKER_SCHEMA, SPEAKER_TAG, SPECIAL_INDENT_ATTRIBUTE, STORE_ATTRIBUTE, STRIKE_SCHEMA, STYLE_NAME_ATTRIBUTE, SUBTITLE_SCHEMA, SUBTITLE_TAG, SUB_SCHEMA, SUP_SCHEMA, SURNAME_SCHEMA, SURNAME_TAG, type Schema, type SchemaCode, type SchemaKind, TABLE_SCHEMA, TABLE_TAG, TAG_SCHEMA, TAG_TAG, TBLFN_SCHEMA, TBLFN_TAG, TBLSOURCE_SCHEMA, TBLSOURCE_TAG, TBODY_SCHEMA, TBODY_TAG, TD_SCHEMA, TD_TAG, TGROUP_SCHEMA, TGROUP_TAG, THEAD_SCHEMA, THEAD_TAG, TITLE_SCHEMA, TITLE_TAG, TOKEN_SCHEMA, TOKEN_TAG, TP_SCHEMA, TP_TAG, TRACK_CHANGES_ATTRS, TRACK_CHANGES_ATTR_DATA_DATE, TRACK_CHANGES_ATTR_DATA_TIME, TRACK_CHANGES_ATTR_DATA_USERID, TRACK_CHANGES_ATTR_DATA_USERNAME, TR_SCHEMA, TR_TAG, UL_SCHEMA, UL_TAG, URI_SCHEMA, URI_TAG, U_SCHEMA, type ValidationError, createElement, findAttributeDefinitionByName, findSchemaByCode, findSchemaByElement, getAttributeName, isAttributeRestricted, isIgnoredAttribute, isIgnoredElement, validateAttributes, validateConsecutiveFootnoteCues, validateConsecutiveFootnotes, validateElement, validateElementAgainstSchema, validateFootnoteCue, validateFootnotes, validateLinkend, validateLinkends, validateXml };
474
+ export { ABSTRACT_SCHEMA, ABSTRACT_TAG, AFFILIATION_SCHEMA, AFFILIATION_TAG, ALIGNMENT_ATTRIBUTE, ALTTEXT_SCHEMA, ALTTEXT_TAG, APPENDIX_SCHEMA, APPENDIX_TAG, ATOM_SCHEMAS, AUTHORGROUP_SCHEMA, AUTHORGROUP_TAG, AUTHOR_SCHEMA, AUTHOR_TAG, type AllowedChildren, type AttributeDefinition, BLOCKQUOTE_SCHEMA, BLOCKQUOTE_TAG, BOX_SCHEMA, B_SCHEMA, CAPTION_SCHEMA, CAPTION_TAG, CHAPTER_SCHEMA, CHAPTER_TAG, COMMENT_QUERY_SECTION_SCHEMA, COMMENT_SCHEMA, CONTENT_SCHEMA, DEGREES_SCHEMA, DEGREES_TAG, DELETION_SCHEMA, DIALOGUE_SCHEMA, DIALOGUE_TAG, ELEMENT_SCHEMAS, ELEMENT_TAGS, ELE_ID_ATTRIBUTE, EMAIL_SCHEMA, EMAIL_TAG, EMPHASIS_SCHEMA, EPIGRAPH_SCHEMA, EPIGRAPH_TAG, EQUATION_SCHEMA, EQUATION_TAG, FIGNOTE_SCHEMA, FIGNOTE_TAG, FIGSOURCE_SCHEMA, FIGSOURCE_TAG, FIGURE_PLACEMENT_ATTRIBUTE, FIGURE_SCHEMA, FIGURE_TAG, FIRSTNAME_SCHEMA, FIRSTNAME_TAG, FOOTNOTE_LINK_SCHEMA, FOOTNOTE_LINK_TAG, FOOTNOTE_NUMBER_SCHEMA, FOOTNOTE_NUMBER_TAG, FOOTNOTE_SCHEMA, FOOTNOTE_SECTION_SCHEMA, FOOTNOTE_TAG, type FreeAttribute, GROUP_ELEMENTS_TAGS, GROUP_ELEMENT_SCHEMAS, HEADING_SCHEMA, HIGHLIGHTMARK_SCHEMA, HONORIFIC_SCHEMA, HONORIFIC_TAG, HTML_TABLE_SCHEMA, HTML_TABLE_TAG, ID_ATTRS, IGNORED_ATTRIBUTES, IGNORED_ATTRIBUTES_STARTS_WITH, IGNORED_ELEMENT_SELECTORS, IMAGEOBJECT_SCHEMA, IMAGEOBJECT_TAG, IMG_SCHEMA, IMG_TAG, INDENT_TYPE_ATTRIBUTE, INFORMALFIGURE_SCHEMA, INFORMALFIGURE_TAG, INFO_SCHEMA, INFO_TAG, INLINEEQUATION_SCHEMA, INLINEEQUATION_TAG, INLINE_ELEMENT_SCHEMAS, INLINE_ELEMENT_TAGS_ALLOWED_CHILDREN, INSERTION_SCHEMA, I_SCHEMA, KEYWORDSET_SCHEMA, KEYWORDSET_TAG, KEYWORD_SCHEMA, KEYWORD_TAG, LABEL_SCHEMA, LABEL_TAG, LAYOUT_ATTRIBUTES, LAYOUT_CELL_WIDTH, LAYOUT_USER_ATTRIBUTE, LEFT_INDENT_ATTRIBUTE, LINE_SCHEMA, LINE_TAG, LINK_SCHEMA, LINK_TAG, LI_SCHEMA, LI_TAG, LRH_SCHEMA, LRH_TAG, MEDIAOBJECT_SCHEMA, MEDIAOBJECT_TAG, OLINK_SCHEMA, OLINK_TAG, OL_SCHEMA, OL_TAG, ORGNAME_SCHEMA, ORGNAME_TAG, ORG_SCHEMA, ORG_TAG, ORIENTATION_ATTRIBUTE, PARA_SCHEMA, PARA_TAG, PERSONNAME_SCHEMA, PERSONNAME_TAG, PLACEMENT_ATTRIBUTE, POEM_SCHEMA, POEM_TAG, POSTNOMINALS_TAG, PUNC_SCHEMA, PUNC_TAG, QUERY_SCHEMA, REPLY_SCHEMA, RIGHT_INDENT_ATTRIBUTE, RRH_SCHEMA, RRH_TAG, type RestrictedAttribute, SCHEMAS, SCHEMA_MAP, SC_SCHEMA, SECTION_TAG, SIDEBAR_TAG, SOURCE_SCHEMA, SOURCE_TAG, SPACE_ABOVE_ATTRIBUTE, SPACE_BELOW_ATTRIBUTE, SPEAKER_SCHEMA, SPEAKER_TAG, SPECIAL_INDENT_ATTRIBUTE, STORE_ATTRIBUTE, STRIKE_SCHEMA, STYLE_NAME_ATTRIBUTE, SUBTITLE_SCHEMA, SUBTITLE_TAG, SUB_SCHEMA, SUP_SCHEMA, SURNAME_SCHEMA, SURNAME_TAG, type Schema, type SchemaCode, type SchemaKind, TABLE_SCHEMA, TABLE_TAG, TAG_SCHEMA, TAG_TAG, TBLFN_SCHEMA, TBLFN_TAG, TBLSOURCE_SCHEMA, TBLSOURCE_TAG, TBODY_SCHEMA, TBODY_TAG, TD_SCHEMA, TD_TAG, TGROUP_SCHEMA, TGROUP_TAG, THEAD_SCHEMA, THEAD_TAG, TITLE_SCHEMA, TITLE_TAG, TOKEN_SCHEMA, TOKEN_TAG, TP_SCHEMA, TP_TAG, TRACK_CHANGES_ATTRS, TRACK_CHANGES_ATTR_DATA_DATE, TRACK_CHANGES_ATTR_DATA_TIME, TRACK_CHANGES_ATTR_DATA_USERID, TRACK_CHANGES_ATTR_DATA_USERNAME, TR_SCHEMA, TR_TAG, UL_SCHEMA, UL_TAG, URI_SCHEMA, URI_TAG, U_SCHEMA, type ValidationError, type ValidationErrorKind, type ValidationErrorLevel, createElement, findAttributeDefinitionByName, findSchemaByCode, findSchemaByElement, getAttributeName, isAttributeRestricted, isIgnoredAttribute, isIgnoredElement, validateAttributes, validateConsecutiveFootnoteCues, validateConsecutiveFootnotes, validateElement, validateElementAgainstSchema, validateFootnoteCue, validateFootnotes, validateLinkend, validateXml };
package/dist/index.d.ts CHANGED
@@ -457,19 +457,18 @@ type ValidationError = {
457
457
  description: string;
458
458
  };
459
459
 
460
- declare const validateElement: (element: Element, root: Element, referenceChapterLinkends?: readonly string[]) => ValidationError[];
461
- declare const validateXml: (xml: Element | HTMLElement, referenceChapterLinkends?: readonly string[]) => ValidationError[];
460
+ declare const validateElement: (element: Element, root: Element, elementsLinkedTo?: readonly string[]) => ValidationError[];
461
+ declare const validateXml: (xml: Element | HTMLElement, elementsLinkedTo?: readonly string[]) => ValidationError[];
462
462
 
463
463
  declare const validateFootnoteCue: (footnoteElement: Element, root: Element) => ValidationError[];
464
464
  declare const validateConsecutiveFootnotes: (root: Element) => ValidationError[];
465
465
  declare const validateConsecutiveFootnoteCues: (root: Element) => ValidationError[];
466
466
  declare const validateFootnotes: (root: Element) => ValidationError[];
467
467
 
468
- declare const validateLinkend: (linkElement: Element, root: Element, referenceChapterLinkends?: readonly string[]) => ValidationError[];
469
- declare const validateLinkends: (root: Element, referenceChapterLinkends?: readonly string[]) => ValidationError[];
468
+ declare const validateLinkend: (linkElement: Element, elementsLinkedTo?: readonly string[]) => ValidationError[];
470
469
 
471
470
  declare const validateAttributes: (element: Element, schema: Schema) => ValidationError[];
472
471
 
473
472
  declare const validateElementAgainstSchema: (element: Element, schema: Schema) => ValidationError[];
474
473
 
475
- export { ABSTRACT_SCHEMA, ABSTRACT_TAG, AFFILIATION_SCHEMA, AFFILIATION_TAG, ALIGNMENT_ATTRIBUTE, ALTTEXT_SCHEMA, ALTTEXT_TAG, APPENDIX_SCHEMA, APPENDIX_TAG, ATOM_SCHEMAS, AUTHORGROUP_SCHEMA, AUTHORGROUP_TAG, AUTHOR_SCHEMA, AUTHOR_TAG, type AllowedChildren, type AttributeDefinition, BLOCKQUOTE_SCHEMA, BLOCKQUOTE_TAG, BOX_SCHEMA, B_SCHEMA, CAPTION_SCHEMA, CAPTION_TAG, CHAPTER_SCHEMA, CHAPTER_TAG, COMMENT_QUERY_SECTION_SCHEMA, COMMENT_SCHEMA, CONTENT_SCHEMA, DEGREES_SCHEMA, DEGREES_TAG, DELETION_SCHEMA, DIALOGUE_SCHEMA, DIALOGUE_TAG, ELEMENT_SCHEMAS, ELEMENT_TAGS, ELE_ID_ATTRIBUTE, EMAIL_SCHEMA, EMAIL_TAG, EMPHASIS_SCHEMA, EPIGRAPH_SCHEMA, EPIGRAPH_TAG, EQUATION_SCHEMA, EQUATION_TAG, FIGNOTE_SCHEMA, FIGNOTE_TAG, FIGSOURCE_SCHEMA, FIGSOURCE_TAG, FIGURE_PLACEMENT_ATTRIBUTE, FIGURE_SCHEMA, FIGURE_TAG, FIRSTNAME_SCHEMA, FIRSTNAME_TAG, FOOTNOTE_LINK_SCHEMA, FOOTNOTE_LINK_TAG, FOOTNOTE_NUMBER_SCHEMA, FOOTNOTE_NUMBER_TAG, FOOTNOTE_SCHEMA, FOOTNOTE_SECTION_SCHEMA, FOOTNOTE_TAG, type FreeAttribute, GROUP_ELEMENTS_TAGS, GROUP_ELEMENT_SCHEMAS, HEADING_SCHEMA, HIGHLIGHTMARK_SCHEMA, HONORIFIC_SCHEMA, HONORIFIC_TAG, HTML_TABLE_SCHEMA, HTML_TABLE_TAG, ID_ATTRS, IGNORED_ATTRIBUTES, IGNORED_ATTRIBUTES_STARTS_WITH, IGNORED_ELEMENT_SELECTORS, IMAGEOBJECT_SCHEMA, IMAGEOBJECT_TAG, IMG_SCHEMA, IMG_TAG, INDENT_TYPE_ATTRIBUTE, INFORMALFIGURE_SCHEMA, INFORMALFIGURE_TAG, INFO_SCHEMA, INFO_TAG, INLINEEQUATION_SCHEMA, INLINEEQUATION_TAG, INLINE_ELEMENT_SCHEMAS, INLINE_ELEMENT_TAGS_ALLOWED_CHILDREN, INSERTION_SCHEMA, I_SCHEMA, KEYWORDSET_SCHEMA, KEYWORDSET_TAG, KEYWORD_SCHEMA, KEYWORD_TAG, LABEL_SCHEMA, LABEL_TAG, LAYOUT_ATTRIBUTES, LAYOUT_CELL_WIDTH, LAYOUT_USER_ATTRIBUTE, LEFT_INDENT_ATTRIBUTE, LINE_SCHEMA, LINE_TAG, LINK_SCHEMA, LINK_TAG, LI_SCHEMA, LI_TAG, LRH_SCHEMA, LRH_TAG, MEDIAOBJECT_SCHEMA, MEDIAOBJECT_TAG, OLINK_SCHEMA, OLINK_TAG, OL_SCHEMA, OL_TAG, ORGNAME_SCHEMA, ORGNAME_TAG, ORG_SCHEMA, ORG_TAG, ORIENTATION_ATTRIBUTE, PARA_SCHEMA, PARA_TAG, PERSONNAME_SCHEMA, PERSONNAME_TAG, PLACEMENT_ATTRIBUTE, POEM_SCHEMA, POEM_TAG, POSTNOMINALS_TAG, PUNC_SCHEMA, PUNC_TAG, QUERY_SCHEMA, REPLY_SCHEMA, RIGHT_INDENT_ATTRIBUTE, RRH_SCHEMA, RRH_TAG, type RestrictedAttribute, SCHEMAS, SCHEMA_MAP, SC_SCHEMA, SECTION_TAG, SIDEBAR_TAG, SOURCE_SCHEMA, SOURCE_TAG, SPACE_ABOVE_ATTRIBUTE, SPACE_BELOW_ATTRIBUTE, SPEAKER_SCHEMA, SPEAKER_TAG, SPECIAL_INDENT_ATTRIBUTE, STORE_ATTRIBUTE, STRIKE_SCHEMA, STYLE_NAME_ATTRIBUTE, SUBTITLE_SCHEMA, SUBTITLE_TAG, SUB_SCHEMA, SUP_SCHEMA, SURNAME_SCHEMA, SURNAME_TAG, type Schema, type SchemaCode, type SchemaKind, TABLE_SCHEMA, TABLE_TAG, TAG_SCHEMA, TAG_TAG, TBLFN_SCHEMA, TBLFN_TAG, TBLSOURCE_SCHEMA, TBLSOURCE_TAG, TBODY_SCHEMA, TBODY_TAG, TD_SCHEMA, TD_TAG, TGROUP_SCHEMA, TGROUP_TAG, THEAD_SCHEMA, THEAD_TAG, TITLE_SCHEMA, TITLE_TAG, TOKEN_SCHEMA, TOKEN_TAG, TP_SCHEMA, TP_TAG, TRACK_CHANGES_ATTRS, TRACK_CHANGES_ATTR_DATA_DATE, TRACK_CHANGES_ATTR_DATA_TIME, TRACK_CHANGES_ATTR_DATA_USERID, TRACK_CHANGES_ATTR_DATA_USERNAME, TR_SCHEMA, TR_TAG, UL_SCHEMA, UL_TAG, URI_SCHEMA, URI_TAG, U_SCHEMA, type ValidationError, createElement, findAttributeDefinitionByName, findSchemaByCode, findSchemaByElement, getAttributeName, isAttributeRestricted, isIgnoredAttribute, isIgnoredElement, validateAttributes, validateConsecutiveFootnoteCues, validateConsecutiveFootnotes, validateElement, validateElementAgainstSchema, validateFootnoteCue, validateFootnotes, validateLinkend, validateLinkends, validateXml };
474
+ export { ABSTRACT_SCHEMA, ABSTRACT_TAG, AFFILIATION_SCHEMA, AFFILIATION_TAG, ALIGNMENT_ATTRIBUTE, ALTTEXT_SCHEMA, ALTTEXT_TAG, APPENDIX_SCHEMA, APPENDIX_TAG, ATOM_SCHEMAS, AUTHORGROUP_SCHEMA, AUTHORGROUP_TAG, AUTHOR_SCHEMA, AUTHOR_TAG, type AllowedChildren, type AttributeDefinition, BLOCKQUOTE_SCHEMA, BLOCKQUOTE_TAG, BOX_SCHEMA, B_SCHEMA, CAPTION_SCHEMA, CAPTION_TAG, CHAPTER_SCHEMA, CHAPTER_TAG, COMMENT_QUERY_SECTION_SCHEMA, COMMENT_SCHEMA, CONTENT_SCHEMA, DEGREES_SCHEMA, DEGREES_TAG, DELETION_SCHEMA, DIALOGUE_SCHEMA, DIALOGUE_TAG, ELEMENT_SCHEMAS, ELEMENT_TAGS, ELE_ID_ATTRIBUTE, EMAIL_SCHEMA, EMAIL_TAG, EMPHASIS_SCHEMA, EPIGRAPH_SCHEMA, EPIGRAPH_TAG, EQUATION_SCHEMA, EQUATION_TAG, FIGNOTE_SCHEMA, FIGNOTE_TAG, FIGSOURCE_SCHEMA, FIGSOURCE_TAG, FIGURE_PLACEMENT_ATTRIBUTE, FIGURE_SCHEMA, FIGURE_TAG, FIRSTNAME_SCHEMA, FIRSTNAME_TAG, FOOTNOTE_LINK_SCHEMA, FOOTNOTE_LINK_TAG, FOOTNOTE_NUMBER_SCHEMA, FOOTNOTE_NUMBER_TAG, FOOTNOTE_SCHEMA, FOOTNOTE_SECTION_SCHEMA, FOOTNOTE_TAG, type FreeAttribute, GROUP_ELEMENTS_TAGS, GROUP_ELEMENT_SCHEMAS, HEADING_SCHEMA, HIGHLIGHTMARK_SCHEMA, HONORIFIC_SCHEMA, HONORIFIC_TAG, HTML_TABLE_SCHEMA, HTML_TABLE_TAG, ID_ATTRS, IGNORED_ATTRIBUTES, IGNORED_ATTRIBUTES_STARTS_WITH, IGNORED_ELEMENT_SELECTORS, IMAGEOBJECT_SCHEMA, IMAGEOBJECT_TAG, IMG_SCHEMA, IMG_TAG, INDENT_TYPE_ATTRIBUTE, INFORMALFIGURE_SCHEMA, INFORMALFIGURE_TAG, INFO_SCHEMA, INFO_TAG, INLINEEQUATION_SCHEMA, INLINEEQUATION_TAG, INLINE_ELEMENT_SCHEMAS, INLINE_ELEMENT_TAGS_ALLOWED_CHILDREN, INSERTION_SCHEMA, I_SCHEMA, KEYWORDSET_SCHEMA, KEYWORDSET_TAG, KEYWORD_SCHEMA, KEYWORD_TAG, LABEL_SCHEMA, LABEL_TAG, LAYOUT_ATTRIBUTES, LAYOUT_CELL_WIDTH, LAYOUT_USER_ATTRIBUTE, LEFT_INDENT_ATTRIBUTE, LINE_SCHEMA, LINE_TAG, LINK_SCHEMA, LINK_TAG, LI_SCHEMA, LI_TAG, LRH_SCHEMA, LRH_TAG, MEDIAOBJECT_SCHEMA, MEDIAOBJECT_TAG, OLINK_SCHEMA, OLINK_TAG, OL_SCHEMA, OL_TAG, ORGNAME_SCHEMA, ORGNAME_TAG, ORG_SCHEMA, ORG_TAG, ORIENTATION_ATTRIBUTE, PARA_SCHEMA, PARA_TAG, PERSONNAME_SCHEMA, PERSONNAME_TAG, PLACEMENT_ATTRIBUTE, POEM_SCHEMA, POEM_TAG, POSTNOMINALS_TAG, PUNC_SCHEMA, PUNC_TAG, QUERY_SCHEMA, REPLY_SCHEMA, RIGHT_INDENT_ATTRIBUTE, RRH_SCHEMA, RRH_TAG, type RestrictedAttribute, SCHEMAS, SCHEMA_MAP, SC_SCHEMA, SECTION_TAG, SIDEBAR_TAG, SOURCE_SCHEMA, SOURCE_TAG, SPACE_ABOVE_ATTRIBUTE, SPACE_BELOW_ATTRIBUTE, SPEAKER_SCHEMA, SPEAKER_TAG, SPECIAL_INDENT_ATTRIBUTE, STORE_ATTRIBUTE, STRIKE_SCHEMA, STYLE_NAME_ATTRIBUTE, SUBTITLE_SCHEMA, SUBTITLE_TAG, SUB_SCHEMA, SUP_SCHEMA, SURNAME_SCHEMA, SURNAME_TAG, type Schema, type SchemaCode, type SchemaKind, TABLE_SCHEMA, TABLE_TAG, TAG_SCHEMA, TAG_TAG, TBLFN_SCHEMA, TBLFN_TAG, TBLSOURCE_SCHEMA, TBLSOURCE_TAG, TBODY_SCHEMA, TBODY_TAG, TD_SCHEMA, TD_TAG, TGROUP_SCHEMA, TGROUP_TAG, THEAD_SCHEMA, THEAD_TAG, TITLE_SCHEMA, TITLE_TAG, TOKEN_SCHEMA, TOKEN_TAG, TP_SCHEMA, TP_TAG, TRACK_CHANGES_ATTRS, TRACK_CHANGES_ATTR_DATA_DATE, TRACK_CHANGES_ATTR_DATA_TIME, TRACK_CHANGES_ATTR_DATA_USERID, TRACK_CHANGES_ATTR_DATA_USERNAME, TR_SCHEMA, TR_TAG, UL_SCHEMA, UL_TAG, URI_SCHEMA, URI_TAG, U_SCHEMA, type ValidationError, type ValidationErrorKind, type ValidationErrorLevel, createElement, findAttributeDefinitionByName, findSchemaByCode, findSchemaByElement, getAttributeName, isAttributeRestricted, isIgnoredAttribute, isIgnoredElement, validateAttributes, validateConsecutiveFootnoteCues, validateConsecutiveFootnotes, validateElement, validateElementAgainstSchema, validateFootnoteCue, validateFootnotes, validateLinkend, validateXml };
package/dist/index.js CHANGED
@@ -218,7 +218,6 @@ __export(index_exports, {
218
218
  validateFootnoteCue: () => validateFootnoteCue,
219
219
  validateFootnotes: () => validateFootnotes,
220
220
  validateLinkend: () => validateLinkend,
221
- validateLinkends: () => validateLinkends,
222
221
  validateXml: () => validateXml
223
222
  });
224
223
  module.exports = __toCommonJS(index_exports);
@@ -1938,7 +1937,7 @@ var generateValidationIssueId = () => {
1938
1937
  return `${Date.now()}-${Math.random().toString(36).slice(2)}`;
1939
1938
  };
1940
1939
 
1941
- // src/validation/addValidationIssue.ts
1940
+ // src/validation/utils/addValidationIssue.ts
1942
1941
  var createValidationIssue = (issue) => ({
1943
1942
  id: generateValidationIssueId(),
1944
1943
  ...issue
@@ -1946,6 +1945,9 @@ var createValidationIssue = (issue) => ({
1946
1945
  var addValidationIssue = (errors, issue) => {
1947
1946
  errors.push(createValidationIssue(issue));
1948
1947
  };
1948
+ var getStore = (element) => {
1949
+ return element.getAttribute("store") || "";
1950
+ };
1949
1951
 
1950
1952
  // src/validation/utils/retrieveTextIgnoringNodesWithSelector.ts
1951
1953
  var retrieveTextIgnoringNodesWithSelector = (element, selector = ".del") => {
@@ -1968,10 +1970,6 @@ var extractFootnoteNumber = (footnote) => {
1968
1970
  };
1969
1971
  var validateFootnoteCue = (footnoteElement, root) => {
1970
1972
  const errors = [];
1971
- const store = footnoteElement.getAttribute("store");
1972
- if (!store) {
1973
- return errors;
1974
- }
1975
1973
  const linkend = footnoteElement.getAttribute("xmlid") || "";
1976
1974
  const footnoteNumber = footnoteElement.querySelector(
1977
1975
  FOOTNOTE_NUMBER_SCHEMA.tag
@@ -1984,7 +1982,7 @@ var validateFootnoteCue = (footnoteElement, root) => {
1984
1982
  }
1985
1983
  if (!footnoteNumber) {
1986
1984
  addValidationIssue(errors, {
1987
- store,
1985
+ store: getStore(footnoteElement),
1988
1986
  title: "Footnote number missing",
1989
1987
  kind: "missing",
1990
1988
  description: "The footnote number is missing. Please add it to the footnote.",
@@ -1993,7 +1991,7 @@ var validateFootnoteCue = (footnoteElement, root) => {
1993
1991
  }
1994
1992
  const label = extractFootnoteNumber(footnoteNumber);
1995
1993
  addValidationIssue(errors, {
1996
- store,
1994
+ store: getStore(footnoteElement),
1997
1995
  title: "Unreferenced footnote",
1998
1996
  kind: "unlinked",
1999
1997
  description: `The footnote ${label} is not referenced to any footnote cue in this chapter. Please reference it in the chapter.`,
@@ -2007,7 +2005,6 @@ var validateConsecutiveFootnotes = (root) => {
2007
2005
  return [];
2008
2006
  }
2009
2007
  for (const [index, footnote] of footnotes.entries()) {
2010
- const store = footnote.getAttribute("store") || "";
2011
2008
  const expectedNumber = index + 1;
2012
2009
  const footnoteNumberElement = footnote.querySelector(
2013
2010
  FOOTNOTE_NUMBER_SCHEMA.tag
@@ -2021,7 +2018,7 @@ var validateConsecutiveFootnotes = (root) => {
2021
2018
  }
2022
2019
  return [
2023
2020
  createValidationIssue({
2024
- store,
2021
+ store: getStore(footnote),
2025
2022
  title: "Non-consecutive footnote numbers",
2026
2023
  kind: "missing",
2027
2024
  description: "Footnote numbers must be consecutive. Please reorder the footnotes.",
@@ -2039,7 +2036,6 @@ var validateConsecutiveFootnoteCues = (root) => {
2039
2036
  return [];
2040
2037
  }
2041
2038
  for (const [index, footnoteLink] of footnoteLinks.entries()) {
2042
- const store = footnoteLink.getAttribute("store") || "";
2043
2039
  const expectedNumber = index + 1;
2044
2040
  const label = extractFootnoteNumber(footnoteLink);
2045
2041
  if (label === expectedNumber) {
@@ -2047,7 +2043,7 @@ var validateConsecutiveFootnoteCues = (root) => {
2047
2043
  }
2048
2044
  return [
2049
2045
  createValidationIssue({
2050
- store,
2046
+ store: getStore(footnoteLink),
2051
2047
  title: "Non-consecutive footnote cues",
2052
2048
  kind: "missing",
2053
2049
  description: "Footnote cues must be consecutive. Please reorder the footnote cues.",
@@ -2068,29 +2064,22 @@ var validateFootnotes = (root) => {
2068
2064
  };
2069
2065
 
2070
2066
  // src/validation/validateLinkend.ts
2071
- var findElementInCurrentChapter = (root, linkend) => {
2072
- return !!root.querySelector(`[xmlid='${CSS.escape(linkend)}']`);
2073
- };
2074
- var findElementInReferenceChapters = (linkend, referenceChapterLinkends) => {
2075
- return referenceChapterLinkends.includes(linkend);
2067
+ var findElementLinkedTo = (linkend, elementsLinkedTo) => {
2068
+ return elementsLinkedTo.includes(linkend);
2076
2069
  };
2077
- var validateLinkend = (linkElement, root, referenceChapterLinkends = []) => {
2078
- const store = linkElement.getAttribute("store");
2079
- if (!store) {
2080
- return [];
2081
- }
2070
+ var validateLinkend = (linkElement, elementsLinkedTo = []) => {
2082
2071
  const linkend = linkElement.getAttribute("linkend");
2083
2072
  if (!linkend) {
2084
2073
  return [];
2085
2074
  }
2086
2075
  const isLinkFootnoteCue = linkElement.tagName.toUpperCase() === FOOTNOTE_LINK_SCHEMA.tag;
2087
2076
  if (isLinkFootnoteCue) {
2088
- if (findElementInCurrentChapter(root, linkend)) {
2077
+ if (findElementLinkedTo(linkend, elementsLinkedTo)) {
2089
2078
  return [];
2090
2079
  }
2091
2080
  return [
2092
2081
  createValidationIssue({
2093
- store,
2082
+ store: getStore(linkElement),
2094
2083
  title: "Unlinked footnote cue",
2095
2084
  kind: "unlinked",
2096
2085
  description: "This footnote cue is not referenced to any footnote in this chapter. Please link it again manually.",
@@ -2098,12 +2087,12 @@ var validateLinkend = (linkElement, root, referenceChapterLinkends = []) => {
2098
2087
  })
2099
2088
  ];
2100
2089
  }
2101
- if (findElementInCurrentChapter(root, linkend) || findElementInReferenceChapters(linkend, referenceChapterLinkends)) {
2090
+ if (findElementLinkedTo(linkend, elementsLinkedTo)) {
2102
2091
  return [];
2103
2092
  }
2104
2093
  return [
2105
2094
  createValidationIssue({
2106
- store,
2095
+ store: getStore(linkElement),
2107
2096
  title: "Unlinked element",
2108
2097
  kind: "unlinked",
2109
2098
  description: "This link is not referenced to any element in the current chapter or reference chapters. Please link it again manually.",
@@ -2111,15 +2100,6 @@ var validateLinkend = (linkElement, root, referenceChapterLinkends = []) => {
2111
2100
  })
2112
2101
  ];
2113
2102
  };
2114
- var validateLinkends = (root, referenceChapterLinkends = []) => {
2115
- const errors = [];
2116
- for (const linkElement of root.querySelectorAll("[linkend]")) {
2117
- errors.push(
2118
- ...validateLinkend(linkElement, root, referenceChapterLinkends)
2119
- );
2120
- }
2121
- return errors;
2122
- };
2123
2103
 
2124
2104
  // src/validation/validateAttributes.ts
2125
2105
  var validateAttributes = (element, schema) => {
@@ -2132,7 +2112,7 @@ var validateAttributes = (element, schema) => {
2132
2112
  const name = getAttributeName(attribute);
2133
2113
  if (!element.hasAttribute(name)) {
2134
2114
  addValidationIssue(errors, {
2135
- store: element.id,
2115
+ store: getStore(element),
2136
2116
  title: `Missing required attribute "${name}"`,
2137
2117
  level: "warning",
2138
2118
  kind: "missing",
@@ -2180,7 +2160,7 @@ var validateElementAgainstSchema = (element, schema) => {
2180
2160
  const errors = [];
2181
2161
  if (element.tagName.toUpperCase() !== schema.tag) {
2182
2162
  addValidationIssue(errors, {
2183
- store: element.id,
2163
+ store: getStore(element),
2184
2164
  title: `Expected ${schema.tag}, got ${element.tagName}`,
2185
2165
  level: "warning",
2186
2166
  kind: "forbidden",
@@ -2189,7 +2169,7 @@ var validateElementAgainstSchema = (element, schema) => {
2189
2169
  }
2190
2170
  if (schema.code === "insertion" && !element.classList.contains("ins")) {
2191
2171
  addValidationIssue(errors, {
2192
- store: element.id,
2172
+ store: getStore(element),
2193
2173
  title: 'Missing class "ins" for insertion element',
2194
2174
  level: "warning",
2195
2175
  kind: "missing",
@@ -2198,7 +2178,7 @@ var validateElementAgainstSchema = (element, schema) => {
2198
2178
  }
2199
2179
  if (schema.code === "deletion" && !element.classList.contains("del")) {
2200
2180
  addValidationIssue(errors, {
2201
- store: element.id,
2181
+ store: getStore(element),
2202
2182
  title: 'Missing class "del" for deletion element',
2203
2183
  level: "warning",
2204
2184
  kind: "missing",
@@ -2207,7 +2187,7 @@ var validateElementAgainstSchema = (element, schema) => {
2207
2187
  }
2208
2188
  if (schema.code === "commentQuerySection" && !element.classList.contains("cmtQurySection")) {
2209
2189
  addValidationIssue(errors, {
2210
- store: element.id,
2190
+ store: getStore(element),
2211
2191
  title: 'Missing class "cmtQurySection" for comment query section',
2212
2192
  level: "warning",
2213
2193
  kind: "missing",
@@ -2231,7 +2211,7 @@ var validateChildren = (element, schema) => {
2231
2211
  );
2232
2212
  if (!allowedChild) {
2233
2213
  addValidationIssue(errors, {
2234
- store: child.id,
2214
+ store: getStore(child),
2235
2215
  title: `Forbidden child element ${child.tagName}`,
2236
2216
  level: "warning",
2237
2217
  kind: "forbidden",
@@ -2242,7 +2222,7 @@ var validateChildren = (element, schema) => {
2242
2222
  const childSchema = findSchemaByElement(child);
2243
2223
  if (!childSchema) {
2244
2224
  addValidationIssue(errors, {
2245
- store: child.id,
2225
+ store: getStore(child),
2246
2226
  title: `No schema found for child element ${child.tagName}`,
2247
2227
  level: "warning",
2248
2228
  kind: "missing",
@@ -2261,7 +2241,7 @@ var validateChildren = (element, schema) => {
2261
2241
  );
2262
2242
  if (!hasChild) {
2263
2243
  addValidationIssue(errors, {
2264
- store: element.id,
2244
+ store: getStore(element),
2265
2245
  title: `Missing required child element ${allowedChild.tagName}`,
2266
2246
  level: "warning",
2267
2247
  kind: "missing",
@@ -2271,7 +2251,7 @@ var validateChildren = (element, schema) => {
2271
2251
  }
2272
2252
  if (schema.allowedChildTagNames.size === 0 && childElements.length > 0) {
2273
2253
  addValidationIssue(errors, {
2274
- store: element.id,
2254
+ store: getStore(element),
2275
2255
  title: "Leaf element cannot contain child elements",
2276
2256
  level: "warning",
2277
2257
  kind: "forbidden",
@@ -2295,7 +2275,7 @@ var getLinkableRoles = () => {
2295
2275
  }
2296
2276
  return [];
2297
2277
  };
2298
- var validateElement = (element, root, referenceChapterLinkends) => {
2278
+ var validateElement = (element, root, elementsLinkedTo) => {
2299
2279
  if (isIgnoredElement(element)) {
2300
2280
  return [];
2301
2281
  }
@@ -2306,23 +2286,23 @@ var validateElement = (element, root, referenceChapterLinkends) => {
2306
2286
  const role = element.getAttribute("role") || "";
2307
2287
  const linkableRoles = getLinkableRoles();
2308
2288
  if (schema.tag === LINK_SCHEMA.tag && linkableRoles.includes(role) || schema.tag === FOOTNOTE_LINK_SCHEMA.tag) {
2309
- errors.push(...validateLinkend(element, root, referenceChapterLinkends));
2289
+ errors.push(...validateLinkend(element, elementsLinkedTo));
2310
2290
  }
2311
2291
  if (schema.tag === FOOTNOTE_SCHEMA.tag) {
2312
2292
  errors.push(...validateFootnoteCue(element, root));
2313
2293
  }
2314
2294
  }
2315
2295
  for (const child of Array.from(element.children)) {
2316
- errors.push(...validateElement(child, root, referenceChapterLinkends));
2296
+ errors.push(...validateElement(child, root, elementsLinkedTo));
2317
2297
  }
2318
2298
  return errors;
2319
2299
  };
2320
- var validateXml = (xml, referenceChapterLinkends) => {
2300
+ var validateXml = (xml, elementsLinkedTo) => {
2321
2301
  const errors = [];
2322
2302
  errors.push(...validateConsecutiveFootnotes(xml));
2323
2303
  errors.push(...validateConsecutiveFootnoteCues(xml));
2324
2304
  for (const child of Array.from(xml.children)) {
2325
- errors.push(...validateElement(child, xml, referenceChapterLinkends));
2305
+ errors.push(...validateElement(child, xml, elementsLinkedTo));
2326
2306
  }
2327
2307
  return errors;
2328
2308
  };
@@ -2526,6 +2506,5 @@ var validateXml = (xml, referenceChapterLinkends) => {
2526
2506
  validateFootnoteCue,
2527
2507
  validateFootnotes,
2528
2508
  validateLinkend,
2529
- validateLinkends,
2530
2509
  validateXml
2531
2510
  });
package/dist/index.mjs CHANGED
@@ -1713,7 +1713,7 @@ var generateValidationIssueId = () => {
1713
1713
  return `${Date.now()}-${Math.random().toString(36).slice(2)}`;
1714
1714
  };
1715
1715
 
1716
- // src/validation/addValidationIssue.ts
1716
+ // src/validation/utils/addValidationIssue.ts
1717
1717
  var createValidationIssue = (issue) => ({
1718
1718
  id: generateValidationIssueId(),
1719
1719
  ...issue
@@ -1721,6 +1721,9 @@ var createValidationIssue = (issue) => ({
1721
1721
  var addValidationIssue = (errors, issue) => {
1722
1722
  errors.push(createValidationIssue(issue));
1723
1723
  };
1724
+ var getStore = (element) => {
1725
+ return element.getAttribute("store") || "";
1726
+ };
1724
1727
 
1725
1728
  // src/validation/utils/retrieveTextIgnoringNodesWithSelector.ts
1726
1729
  var retrieveTextIgnoringNodesWithSelector = (element, selector = ".del") => {
@@ -1743,10 +1746,6 @@ var extractFootnoteNumber = (footnote) => {
1743
1746
  };
1744
1747
  var validateFootnoteCue = (footnoteElement, root) => {
1745
1748
  const errors = [];
1746
- const store = footnoteElement.getAttribute("store");
1747
- if (!store) {
1748
- return errors;
1749
- }
1750
1749
  const linkend = footnoteElement.getAttribute("xmlid") || "";
1751
1750
  const footnoteNumber = footnoteElement.querySelector(
1752
1751
  FOOTNOTE_NUMBER_SCHEMA.tag
@@ -1759,7 +1758,7 @@ var validateFootnoteCue = (footnoteElement, root) => {
1759
1758
  }
1760
1759
  if (!footnoteNumber) {
1761
1760
  addValidationIssue(errors, {
1762
- store,
1761
+ store: getStore(footnoteElement),
1763
1762
  title: "Footnote number missing",
1764
1763
  kind: "missing",
1765
1764
  description: "The footnote number is missing. Please add it to the footnote.",
@@ -1768,7 +1767,7 @@ var validateFootnoteCue = (footnoteElement, root) => {
1768
1767
  }
1769
1768
  const label = extractFootnoteNumber(footnoteNumber);
1770
1769
  addValidationIssue(errors, {
1771
- store,
1770
+ store: getStore(footnoteElement),
1772
1771
  title: "Unreferenced footnote",
1773
1772
  kind: "unlinked",
1774
1773
  description: `The footnote ${label} is not referenced to any footnote cue in this chapter. Please reference it in the chapter.`,
@@ -1782,7 +1781,6 @@ var validateConsecutiveFootnotes = (root) => {
1782
1781
  return [];
1783
1782
  }
1784
1783
  for (const [index, footnote] of footnotes.entries()) {
1785
- const store = footnote.getAttribute("store") || "";
1786
1784
  const expectedNumber = index + 1;
1787
1785
  const footnoteNumberElement = footnote.querySelector(
1788
1786
  FOOTNOTE_NUMBER_SCHEMA.tag
@@ -1796,7 +1794,7 @@ var validateConsecutiveFootnotes = (root) => {
1796
1794
  }
1797
1795
  return [
1798
1796
  createValidationIssue({
1799
- store,
1797
+ store: getStore(footnote),
1800
1798
  title: "Non-consecutive footnote numbers",
1801
1799
  kind: "missing",
1802
1800
  description: "Footnote numbers must be consecutive. Please reorder the footnotes.",
@@ -1814,7 +1812,6 @@ var validateConsecutiveFootnoteCues = (root) => {
1814
1812
  return [];
1815
1813
  }
1816
1814
  for (const [index, footnoteLink] of footnoteLinks.entries()) {
1817
- const store = footnoteLink.getAttribute("store") || "";
1818
1815
  const expectedNumber = index + 1;
1819
1816
  const label = extractFootnoteNumber(footnoteLink);
1820
1817
  if (label === expectedNumber) {
@@ -1822,7 +1819,7 @@ var validateConsecutiveFootnoteCues = (root) => {
1822
1819
  }
1823
1820
  return [
1824
1821
  createValidationIssue({
1825
- store,
1822
+ store: getStore(footnoteLink),
1826
1823
  title: "Non-consecutive footnote cues",
1827
1824
  kind: "missing",
1828
1825
  description: "Footnote cues must be consecutive. Please reorder the footnote cues.",
@@ -1843,29 +1840,22 @@ var validateFootnotes = (root) => {
1843
1840
  };
1844
1841
 
1845
1842
  // src/validation/validateLinkend.ts
1846
- var findElementInCurrentChapter = (root, linkend) => {
1847
- return !!root.querySelector(`[xmlid='${CSS.escape(linkend)}']`);
1848
- };
1849
- var findElementInReferenceChapters = (linkend, referenceChapterLinkends) => {
1850
- return referenceChapterLinkends.includes(linkend);
1843
+ var findElementLinkedTo = (linkend, elementsLinkedTo) => {
1844
+ return elementsLinkedTo.includes(linkend);
1851
1845
  };
1852
- var validateLinkend = (linkElement, root, referenceChapterLinkends = []) => {
1853
- const store = linkElement.getAttribute("store");
1854
- if (!store) {
1855
- return [];
1856
- }
1846
+ var validateLinkend = (linkElement, elementsLinkedTo = []) => {
1857
1847
  const linkend = linkElement.getAttribute("linkend");
1858
1848
  if (!linkend) {
1859
1849
  return [];
1860
1850
  }
1861
1851
  const isLinkFootnoteCue = linkElement.tagName.toUpperCase() === FOOTNOTE_LINK_SCHEMA.tag;
1862
1852
  if (isLinkFootnoteCue) {
1863
- if (findElementInCurrentChapter(root, linkend)) {
1853
+ if (findElementLinkedTo(linkend, elementsLinkedTo)) {
1864
1854
  return [];
1865
1855
  }
1866
1856
  return [
1867
1857
  createValidationIssue({
1868
- store,
1858
+ store: getStore(linkElement),
1869
1859
  title: "Unlinked footnote cue",
1870
1860
  kind: "unlinked",
1871
1861
  description: "This footnote cue is not referenced to any footnote in this chapter. Please link it again manually.",
@@ -1873,12 +1863,12 @@ var validateLinkend = (linkElement, root, referenceChapterLinkends = []) => {
1873
1863
  })
1874
1864
  ];
1875
1865
  }
1876
- if (findElementInCurrentChapter(root, linkend) || findElementInReferenceChapters(linkend, referenceChapterLinkends)) {
1866
+ if (findElementLinkedTo(linkend, elementsLinkedTo)) {
1877
1867
  return [];
1878
1868
  }
1879
1869
  return [
1880
1870
  createValidationIssue({
1881
- store,
1871
+ store: getStore(linkElement),
1882
1872
  title: "Unlinked element",
1883
1873
  kind: "unlinked",
1884
1874
  description: "This link is not referenced to any element in the current chapter or reference chapters. Please link it again manually.",
@@ -1886,15 +1876,6 @@ var validateLinkend = (linkElement, root, referenceChapterLinkends = []) => {
1886
1876
  })
1887
1877
  ];
1888
1878
  };
1889
- var validateLinkends = (root, referenceChapterLinkends = []) => {
1890
- const errors = [];
1891
- for (const linkElement of root.querySelectorAll("[linkend]")) {
1892
- errors.push(
1893
- ...validateLinkend(linkElement, root, referenceChapterLinkends)
1894
- );
1895
- }
1896
- return errors;
1897
- };
1898
1879
 
1899
1880
  // src/validation/validateAttributes.ts
1900
1881
  var validateAttributes = (element, schema) => {
@@ -1907,7 +1888,7 @@ var validateAttributes = (element, schema) => {
1907
1888
  const name = getAttributeName(attribute);
1908
1889
  if (!element.hasAttribute(name)) {
1909
1890
  addValidationIssue(errors, {
1910
- store: element.id,
1891
+ store: getStore(element),
1911
1892
  title: `Missing required attribute "${name}"`,
1912
1893
  level: "warning",
1913
1894
  kind: "missing",
@@ -1955,7 +1936,7 @@ var validateElementAgainstSchema = (element, schema) => {
1955
1936
  const errors = [];
1956
1937
  if (element.tagName.toUpperCase() !== schema.tag) {
1957
1938
  addValidationIssue(errors, {
1958
- store: element.id,
1939
+ store: getStore(element),
1959
1940
  title: `Expected ${schema.tag}, got ${element.tagName}`,
1960
1941
  level: "warning",
1961
1942
  kind: "forbidden",
@@ -1964,7 +1945,7 @@ var validateElementAgainstSchema = (element, schema) => {
1964
1945
  }
1965
1946
  if (schema.code === "insertion" && !element.classList.contains("ins")) {
1966
1947
  addValidationIssue(errors, {
1967
- store: element.id,
1948
+ store: getStore(element),
1968
1949
  title: 'Missing class "ins" for insertion element',
1969
1950
  level: "warning",
1970
1951
  kind: "missing",
@@ -1973,7 +1954,7 @@ var validateElementAgainstSchema = (element, schema) => {
1973
1954
  }
1974
1955
  if (schema.code === "deletion" && !element.classList.contains("del")) {
1975
1956
  addValidationIssue(errors, {
1976
- store: element.id,
1957
+ store: getStore(element),
1977
1958
  title: 'Missing class "del" for deletion element',
1978
1959
  level: "warning",
1979
1960
  kind: "missing",
@@ -1982,7 +1963,7 @@ var validateElementAgainstSchema = (element, schema) => {
1982
1963
  }
1983
1964
  if (schema.code === "commentQuerySection" && !element.classList.contains("cmtQurySection")) {
1984
1965
  addValidationIssue(errors, {
1985
- store: element.id,
1966
+ store: getStore(element),
1986
1967
  title: 'Missing class "cmtQurySection" for comment query section',
1987
1968
  level: "warning",
1988
1969
  kind: "missing",
@@ -2006,7 +1987,7 @@ var validateChildren = (element, schema) => {
2006
1987
  );
2007
1988
  if (!allowedChild) {
2008
1989
  addValidationIssue(errors, {
2009
- store: child.id,
1990
+ store: getStore(child),
2010
1991
  title: `Forbidden child element ${child.tagName}`,
2011
1992
  level: "warning",
2012
1993
  kind: "forbidden",
@@ -2017,7 +1998,7 @@ var validateChildren = (element, schema) => {
2017
1998
  const childSchema = findSchemaByElement(child);
2018
1999
  if (!childSchema) {
2019
2000
  addValidationIssue(errors, {
2020
- store: child.id,
2001
+ store: getStore(child),
2021
2002
  title: `No schema found for child element ${child.tagName}`,
2022
2003
  level: "warning",
2023
2004
  kind: "missing",
@@ -2036,7 +2017,7 @@ var validateChildren = (element, schema) => {
2036
2017
  );
2037
2018
  if (!hasChild) {
2038
2019
  addValidationIssue(errors, {
2039
- store: element.id,
2020
+ store: getStore(element),
2040
2021
  title: `Missing required child element ${allowedChild.tagName}`,
2041
2022
  level: "warning",
2042
2023
  kind: "missing",
@@ -2046,7 +2027,7 @@ var validateChildren = (element, schema) => {
2046
2027
  }
2047
2028
  if (schema.allowedChildTagNames.size === 0 && childElements.length > 0) {
2048
2029
  addValidationIssue(errors, {
2049
- store: element.id,
2030
+ store: getStore(element),
2050
2031
  title: "Leaf element cannot contain child elements",
2051
2032
  level: "warning",
2052
2033
  kind: "forbidden",
@@ -2070,7 +2051,7 @@ var getLinkableRoles = () => {
2070
2051
  }
2071
2052
  return [];
2072
2053
  };
2073
- var validateElement = (element, root, referenceChapterLinkends) => {
2054
+ var validateElement = (element, root, elementsLinkedTo) => {
2074
2055
  if (isIgnoredElement(element)) {
2075
2056
  return [];
2076
2057
  }
@@ -2081,23 +2062,23 @@ var validateElement = (element, root, referenceChapterLinkends) => {
2081
2062
  const role = element.getAttribute("role") || "";
2082
2063
  const linkableRoles = getLinkableRoles();
2083
2064
  if (schema.tag === LINK_SCHEMA.tag && linkableRoles.includes(role) || schema.tag === FOOTNOTE_LINK_SCHEMA.tag) {
2084
- errors.push(...validateLinkend(element, root, referenceChapterLinkends));
2065
+ errors.push(...validateLinkend(element, elementsLinkedTo));
2085
2066
  }
2086
2067
  if (schema.tag === FOOTNOTE_SCHEMA.tag) {
2087
2068
  errors.push(...validateFootnoteCue(element, root));
2088
2069
  }
2089
2070
  }
2090
2071
  for (const child of Array.from(element.children)) {
2091
- errors.push(...validateElement(child, root, referenceChapterLinkends));
2072
+ errors.push(...validateElement(child, root, elementsLinkedTo));
2092
2073
  }
2093
2074
  return errors;
2094
2075
  };
2095
- var validateXml = (xml, referenceChapterLinkends) => {
2076
+ var validateXml = (xml, elementsLinkedTo) => {
2096
2077
  const errors = [];
2097
2078
  errors.push(...validateConsecutiveFootnotes(xml));
2098
2079
  errors.push(...validateConsecutiveFootnoteCues(xml));
2099
2080
  for (const child of Array.from(xml.children)) {
2100
- errors.push(...validateElement(child, xml, referenceChapterLinkends));
2081
+ errors.push(...validateElement(child, xml, elementsLinkedTo));
2101
2082
  }
2102
2083
  return errors;
2103
2084
  };
@@ -2300,6 +2281,5 @@ export {
2300
2281
  validateFootnoteCue,
2301
2282
  validateFootnotes,
2302
2283
  validateLinkend,
2303
- validateLinkends,
2304
2284
  validateXml
2305
2285
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pro-editor-schema",
3
- "version": "0.1.15",
3
+ "version": "0.1.16",
4
4
  "description": "Pro Editor XML schemas",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",