pro-editor-schema 0.2.22 → 0.2.24
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.js +67 -78
- package/dist/index.mjs +67 -78
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2626,6 +2626,65 @@ var getElementsSelector = ({
|
|
|
2626
2626
|
return Array.from(elements);
|
|
2627
2627
|
};
|
|
2628
2628
|
|
|
2629
|
+
// src/validation/validateLinkend.ts
|
|
2630
|
+
var findElementLinkedTo = (linkend, elementsToLink) => {
|
|
2631
|
+
return elementsToLink.includes(linkend);
|
|
2632
|
+
};
|
|
2633
|
+
var LINK_TO_CROSS_CHECK = [
|
|
2634
|
+
TABLE_LINK_ROLE,
|
|
2635
|
+
FIGURE_LINK_ROLE,
|
|
2636
|
+
EQUATION_LINK_ROLE,
|
|
2637
|
+
FOOTNOTE_LINK_ROLE,
|
|
2638
|
+
REFERENCE_LINK_ROLE
|
|
2639
|
+
];
|
|
2640
|
+
var LINK_BLOCKER_ROLES = [
|
|
2641
|
+
TABLE_LINK_ROLE,
|
|
2642
|
+
FIGURE_LINK_ROLE,
|
|
2643
|
+
EQUATION_LINK_ROLE,
|
|
2644
|
+
FOOTNOTE_LINK_ROLE
|
|
2645
|
+
];
|
|
2646
|
+
var validateLinkend = (linkElement, elementsToLink) => {
|
|
2647
|
+
const linkend = linkElement.getAttribute("linkend");
|
|
2648
|
+
if (!linkend) {
|
|
2649
|
+
return [];
|
|
2650
|
+
}
|
|
2651
|
+
const isLinkFootnoteCue = linkElement.tagName.toUpperCase() === FOOTNOTE_LINK_SCHEMA.tag;
|
|
2652
|
+
if (isLinkFootnoteCue) {
|
|
2653
|
+
if (findElementLinkedTo(linkend, elementsToLink)) {
|
|
2654
|
+
return [];
|
|
2655
|
+
}
|
|
2656
|
+
return [
|
|
2657
|
+
createValidationIssue({
|
|
2658
|
+
store: getStore(linkElement),
|
|
2659
|
+
title: "Unlinked footnote cue",
|
|
2660
|
+
kind: "unlinked",
|
|
2661
|
+
description: "This footnote cue is not referenced to any footnote in this chapter. Please link it again manually.",
|
|
2662
|
+
level: "blocker"
|
|
2663
|
+
})
|
|
2664
|
+
];
|
|
2665
|
+
}
|
|
2666
|
+
const role = linkElement.getAttribute("role");
|
|
2667
|
+
if (!role) {
|
|
2668
|
+
return [];
|
|
2669
|
+
}
|
|
2670
|
+
if (!LINK_TO_CROSS_CHECK.includes(role)) {
|
|
2671
|
+
return [];
|
|
2672
|
+
}
|
|
2673
|
+
if (findElementLinkedTo(linkend, elementsToLink)) {
|
|
2674
|
+
return [];
|
|
2675
|
+
}
|
|
2676
|
+
const isBlocker = LINK_BLOCKER_ROLES.includes(role.toLowerCase());
|
|
2677
|
+
return [
|
|
2678
|
+
createValidationIssue({
|
|
2679
|
+
store: getStore(linkElement),
|
|
2680
|
+
title: "Unlinked element",
|
|
2681
|
+
kind: "unlinked",
|
|
2682
|
+
description: "This link is not referenced to any element in the current chapter or any other chapter. Please link it again manually.",
|
|
2683
|
+
level: isBlocker ? "blocker" : "warning"
|
|
2684
|
+
})
|
|
2685
|
+
];
|
|
2686
|
+
};
|
|
2687
|
+
|
|
2629
2688
|
// src/validation/validateFootnotes.ts
|
|
2630
2689
|
var extractFootnoteNumber = (footnote) => {
|
|
2631
2690
|
if (!footnote) return "no label";
|
|
@@ -2636,16 +2695,13 @@ var extractFootnoteNumber = (footnote) => {
|
|
|
2636
2695
|
}
|
|
2637
2696
|
return footnoteNumber;
|
|
2638
2697
|
};
|
|
2639
|
-
var validateFootnoteCue = (footnoteElement,
|
|
2698
|
+
var validateFootnoteCue = (footnoteElement, linkElements) => {
|
|
2640
2699
|
const errors = [];
|
|
2641
2700
|
const linkend = footnoteElement.getAttribute("xmlid") || "";
|
|
2642
2701
|
const footnoteNumber = footnoteElement.querySelector(
|
|
2643
2702
|
FOOTNOTE_NUMBER_SCHEMA.tag
|
|
2644
2703
|
);
|
|
2645
|
-
|
|
2646
|
-
`${FOOTNOTE_LINK_SCHEMA.tag}[linkend='${CSS.escape(linkend)}']`
|
|
2647
|
-
);
|
|
2648
|
-
if (footnoteLink) {
|
|
2704
|
+
if (findElementLinkedTo(linkend, linkElements)) {
|
|
2649
2705
|
return errors;
|
|
2650
2706
|
}
|
|
2651
2707
|
if (!footnoteNumber) {
|
|
@@ -2667,9 +2723,9 @@ var validateFootnoteCue = (footnoteElement, root) => {
|
|
|
2667
2723
|
});
|
|
2668
2724
|
return errors;
|
|
2669
2725
|
};
|
|
2670
|
-
var validateConsecutiveFootnotes = (
|
|
2726
|
+
var validateConsecutiveFootnotes = (element) => {
|
|
2671
2727
|
const footnotes = getElementsSelector({
|
|
2672
|
-
element
|
|
2728
|
+
element,
|
|
2673
2729
|
selector: FOOTNOTE_SCHEMA.tag,
|
|
2674
2730
|
filterDeletedNodes: true
|
|
2675
2731
|
});
|
|
@@ -2700,9 +2756,9 @@ var validateConsecutiveFootnotes = (root) => {
|
|
|
2700
2756
|
}
|
|
2701
2757
|
return [];
|
|
2702
2758
|
};
|
|
2703
|
-
var validateConsecutiveFootnoteCues = (
|
|
2759
|
+
var validateConsecutiveFootnoteCues = (element) => {
|
|
2704
2760
|
const footnoteLinks = getElementsSelector({
|
|
2705
|
-
element
|
|
2761
|
+
element,
|
|
2706
2762
|
selector: FOOTNOTE_LINK_SCHEMA.tag,
|
|
2707
2763
|
filterDeletedNodes: true
|
|
2708
2764
|
});
|
|
@@ -2728,56 +2784,6 @@ var validateConsecutiveFootnoteCues = (root) => {
|
|
|
2728
2784
|
return [];
|
|
2729
2785
|
};
|
|
2730
2786
|
|
|
2731
|
-
// src/validation/validateLinkend.ts
|
|
2732
|
-
var findElementLinkedTo = (linkend, elementsToLink) => {
|
|
2733
|
-
return elementsToLink.includes(linkend);
|
|
2734
|
-
};
|
|
2735
|
-
var LINK_BLOCKER_ROLES = [
|
|
2736
|
-
TABLE_LINK_ROLE,
|
|
2737
|
-
FIGURE_LINK_ROLE,
|
|
2738
|
-
EQUATION_LINK_ROLE,
|
|
2739
|
-
FOOTNOTE_LINK_ROLE,
|
|
2740
|
-
CHAPTER_LINK_ROLE
|
|
2741
|
-
];
|
|
2742
|
-
var validateLinkend = (linkElement, elementsToLink) => {
|
|
2743
|
-
const linkend = linkElement.getAttribute("linkend");
|
|
2744
|
-
if (!linkend) {
|
|
2745
|
-
return [];
|
|
2746
|
-
}
|
|
2747
|
-
const isLinkFootnoteCue = linkElement.tagName.toUpperCase() === FOOTNOTE_LINK_SCHEMA.tag;
|
|
2748
|
-
if (isLinkFootnoteCue) {
|
|
2749
|
-
if (findElementLinkedTo(linkend, elementsToLink)) {
|
|
2750
|
-
return [];
|
|
2751
|
-
}
|
|
2752
|
-
return [
|
|
2753
|
-
createValidationIssue({
|
|
2754
|
-
store: getStore(linkElement),
|
|
2755
|
-
title: "Unlinked footnote cue",
|
|
2756
|
-
kind: "unlinked",
|
|
2757
|
-
description: "This footnote cue is not referenced to any footnote in this chapter. Please link it again manually.",
|
|
2758
|
-
level: "blocker"
|
|
2759
|
-
})
|
|
2760
|
-
];
|
|
2761
|
-
}
|
|
2762
|
-
const role = linkElement.getAttribute("role");
|
|
2763
|
-
if (!role) {
|
|
2764
|
-
return [];
|
|
2765
|
-
}
|
|
2766
|
-
if (findElementLinkedTo(linkend, elementsToLink)) {
|
|
2767
|
-
return [];
|
|
2768
|
-
}
|
|
2769
|
-
const isBlocker = LINK_BLOCKER_ROLES.includes(role.toLowerCase());
|
|
2770
|
-
return [
|
|
2771
|
-
createValidationIssue({
|
|
2772
|
-
store: getStore(linkElement),
|
|
2773
|
-
title: "Unlinked element",
|
|
2774
|
-
kind: "unlinked",
|
|
2775
|
-
description: "This link is not referenced to any element in the current chapter or any other chapter. Please link it again manually.",
|
|
2776
|
-
level: isBlocker ? "blocker" : "warning"
|
|
2777
|
-
})
|
|
2778
|
-
];
|
|
2779
|
-
};
|
|
2780
|
-
|
|
2781
2787
|
// src/validation/validateAttributes.ts
|
|
2782
2788
|
var validateAttributes = (element, schema) => {
|
|
2783
2789
|
const errors = [];
|
|
@@ -2909,21 +2915,6 @@ var validateChildren = (element, schema) => {
|
|
|
2909
2915
|
return errors;
|
|
2910
2916
|
};
|
|
2911
2917
|
|
|
2912
|
-
// src/validation/utils/getLinkableRoles.ts
|
|
2913
|
-
var getLinkableRoles = () => {
|
|
2914
|
-
const linkRoleDefinition = findAttributeDefinitionByName(
|
|
2915
|
-
LINK_SCHEMA.requiredAttributes,
|
|
2916
|
-
"role"
|
|
2917
|
-
);
|
|
2918
|
-
if (!linkRoleDefinition) {
|
|
2919
|
-
return [];
|
|
2920
|
-
}
|
|
2921
|
-
if (isAttributeRestricted(linkRoleDefinition)) {
|
|
2922
|
-
return linkRoleDefinition.values;
|
|
2923
|
-
}
|
|
2924
|
-
return [];
|
|
2925
|
-
};
|
|
2926
|
-
|
|
2927
2918
|
// src/validation/validateReferences.ts
|
|
2928
2919
|
var findElementLinkedTo2 = (xmlid, linkElements) => {
|
|
2929
2920
|
return linkElements.includes(xmlid);
|
|
@@ -2985,16 +2976,14 @@ var validateElement = (element, root, elementsToLink, linkElements, schemasToVal
|
|
|
2985
2976
|
if (schemasToValidateAgainst.includes(schema.code)) {
|
|
2986
2977
|
errors.push(...validateElementAgainstSchema(element, schema));
|
|
2987
2978
|
}
|
|
2988
|
-
|
|
2989
|
-
const linkableRoles = getLinkableRoles();
|
|
2990
|
-
if (schema.tag === LINK_SCHEMA.tag && role && linkableRoles.includes(role) || schema.tag === FOOTNOTE_LINK_SCHEMA.tag) {
|
|
2979
|
+
if (schema.tag === LINK_SCHEMA.tag || schema.tag === FOOTNOTE_LINK_SCHEMA.tag) {
|
|
2991
2980
|
errors.push(...validateLinkend(element, elementsToLink));
|
|
2992
2981
|
}
|
|
2993
2982
|
if (schema.tag === BIBLIOMIXED_SCHEMA.tag) {
|
|
2994
2983
|
errors.push(...validateReferenceCited(element, linkElements));
|
|
2995
2984
|
}
|
|
2996
2985
|
if (schema.tag === FOOTNOTE_SCHEMA.tag) {
|
|
2997
|
-
errors.push(...validateFootnoteCue(element,
|
|
2986
|
+
errors.push(...validateFootnoteCue(element, linkElements));
|
|
2998
2987
|
}
|
|
2999
2988
|
if (schema.tag === URI_SCHEMA.tag) {
|
|
3000
2989
|
errors.push(...validateUri(element));
|
package/dist/index.mjs
CHANGED
|
@@ -2558,6 +2558,65 @@ var getElementsSelector = ({
|
|
|
2558
2558
|
return Array.from(elements);
|
|
2559
2559
|
};
|
|
2560
2560
|
|
|
2561
|
+
// src/validation/validateLinkend.ts
|
|
2562
|
+
var findElementLinkedTo = (linkend, elementsToLink) => {
|
|
2563
|
+
return elementsToLink.includes(linkend);
|
|
2564
|
+
};
|
|
2565
|
+
var LINK_TO_CROSS_CHECK = [
|
|
2566
|
+
TABLE_LINK_ROLE,
|
|
2567
|
+
FIGURE_LINK_ROLE,
|
|
2568
|
+
EQUATION_LINK_ROLE,
|
|
2569
|
+
FOOTNOTE_LINK_ROLE,
|
|
2570
|
+
REFERENCE_LINK_ROLE
|
|
2571
|
+
];
|
|
2572
|
+
var LINK_BLOCKER_ROLES = [
|
|
2573
|
+
TABLE_LINK_ROLE,
|
|
2574
|
+
FIGURE_LINK_ROLE,
|
|
2575
|
+
EQUATION_LINK_ROLE,
|
|
2576
|
+
FOOTNOTE_LINK_ROLE
|
|
2577
|
+
];
|
|
2578
|
+
var validateLinkend = (linkElement, elementsToLink) => {
|
|
2579
|
+
const linkend = linkElement.getAttribute("linkend");
|
|
2580
|
+
if (!linkend) {
|
|
2581
|
+
return [];
|
|
2582
|
+
}
|
|
2583
|
+
const isLinkFootnoteCue = linkElement.tagName.toUpperCase() === FOOTNOTE_LINK_SCHEMA.tag;
|
|
2584
|
+
if (isLinkFootnoteCue) {
|
|
2585
|
+
if (findElementLinkedTo(linkend, elementsToLink)) {
|
|
2586
|
+
return [];
|
|
2587
|
+
}
|
|
2588
|
+
return [
|
|
2589
|
+
createValidationIssue({
|
|
2590
|
+
store: getStore(linkElement),
|
|
2591
|
+
title: "Unlinked footnote cue",
|
|
2592
|
+
kind: "unlinked",
|
|
2593
|
+
description: "This footnote cue is not referenced to any footnote in this chapter. Please link it again manually.",
|
|
2594
|
+
level: "blocker"
|
|
2595
|
+
})
|
|
2596
|
+
];
|
|
2597
|
+
}
|
|
2598
|
+
const role = linkElement.getAttribute("role");
|
|
2599
|
+
if (!role) {
|
|
2600
|
+
return [];
|
|
2601
|
+
}
|
|
2602
|
+
if (!LINK_TO_CROSS_CHECK.includes(role)) {
|
|
2603
|
+
return [];
|
|
2604
|
+
}
|
|
2605
|
+
if (findElementLinkedTo(linkend, elementsToLink)) {
|
|
2606
|
+
return [];
|
|
2607
|
+
}
|
|
2608
|
+
const isBlocker = LINK_BLOCKER_ROLES.includes(role.toLowerCase());
|
|
2609
|
+
return [
|
|
2610
|
+
createValidationIssue({
|
|
2611
|
+
store: getStore(linkElement),
|
|
2612
|
+
title: "Unlinked element",
|
|
2613
|
+
kind: "unlinked",
|
|
2614
|
+
description: "This link is not referenced to any element in the current chapter or any other chapter. Please link it again manually.",
|
|
2615
|
+
level: isBlocker ? "blocker" : "warning"
|
|
2616
|
+
})
|
|
2617
|
+
];
|
|
2618
|
+
};
|
|
2619
|
+
|
|
2561
2620
|
// src/validation/validateFootnotes.ts
|
|
2562
2621
|
var extractFootnoteNumber = (footnote) => {
|
|
2563
2622
|
if (!footnote) return "no label";
|
|
@@ -2568,16 +2627,13 @@ var extractFootnoteNumber = (footnote) => {
|
|
|
2568
2627
|
}
|
|
2569
2628
|
return footnoteNumber;
|
|
2570
2629
|
};
|
|
2571
|
-
var validateFootnoteCue = (footnoteElement,
|
|
2630
|
+
var validateFootnoteCue = (footnoteElement, linkElements) => {
|
|
2572
2631
|
const errors = [];
|
|
2573
2632
|
const linkend = footnoteElement.getAttribute("xmlid") || "";
|
|
2574
2633
|
const footnoteNumber = footnoteElement.querySelector(
|
|
2575
2634
|
FOOTNOTE_NUMBER_SCHEMA.tag
|
|
2576
2635
|
);
|
|
2577
|
-
|
|
2578
|
-
`${FOOTNOTE_LINK_SCHEMA.tag}[linkend='${CSS.escape(linkend)}']`
|
|
2579
|
-
);
|
|
2580
|
-
if (footnoteLink) {
|
|
2636
|
+
if (findElementLinkedTo(linkend, linkElements)) {
|
|
2581
2637
|
return errors;
|
|
2582
2638
|
}
|
|
2583
2639
|
if (!footnoteNumber) {
|
|
@@ -2599,9 +2655,9 @@ var validateFootnoteCue = (footnoteElement, root) => {
|
|
|
2599
2655
|
});
|
|
2600
2656
|
return errors;
|
|
2601
2657
|
};
|
|
2602
|
-
var validateConsecutiveFootnotes = (
|
|
2658
|
+
var validateConsecutiveFootnotes = (element) => {
|
|
2603
2659
|
const footnotes = getElementsSelector({
|
|
2604
|
-
element
|
|
2660
|
+
element,
|
|
2605
2661
|
selector: FOOTNOTE_SCHEMA.tag,
|
|
2606
2662
|
filterDeletedNodes: true
|
|
2607
2663
|
});
|
|
@@ -2632,9 +2688,9 @@ var validateConsecutiveFootnotes = (root) => {
|
|
|
2632
2688
|
}
|
|
2633
2689
|
return [];
|
|
2634
2690
|
};
|
|
2635
|
-
var validateConsecutiveFootnoteCues = (
|
|
2691
|
+
var validateConsecutiveFootnoteCues = (element) => {
|
|
2636
2692
|
const footnoteLinks = getElementsSelector({
|
|
2637
|
-
element
|
|
2693
|
+
element,
|
|
2638
2694
|
selector: FOOTNOTE_LINK_SCHEMA.tag,
|
|
2639
2695
|
filterDeletedNodes: true
|
|
2640
2696
|
});
|
|
@@ -2660,56 +2716,6 @@ var validateConsecutiveFootnoteCues = (root) => {
|
|
|
2660
2716
|
return [];
|
|
2661
2717
|
};
|
|
2662
2718
|
|
|
2663
|
-
// src/validation/validateLinkend.ts
|
|
2664
|
-
var findElementLinkedTo = (linkend, elementsToLink) => {
|
|
2665
|
-
return elementsToLink.includes(linkend);
|
|
2666
|
-
};
|
|
2667
|
-
var LINK_BLOCKER_ROLES = [
|
|
2668
|
-
TABLE_LINK_ROLE,
|
|
2669
|
-
FIGURE_LINK_ROLE,
|
|
2670
|
-
EQUATION_LINK_ROLE,
|
|
2671
|
-
FOOTNOTE_LINK_ROLE,
|
|
2672
|
-
CHAPTER_LINK_ROLE
|
|
2673
|
-
];
|
|
2674
|
-
var validateLinkend = (linkElement, elementsToLink) => {
|
|
2675
|
-
const linkend = linkElement.getAttribute("linkend");
|
|
2676
|
-
if (!linkend) {
|
|
2677
|
-
return [];
|
|
2678
|
-
}
|
|
2679
|
-
const isLinkFootnoteCue = linkElement.tagName.toUpperCase() === FOOTNOTE_LINK_SCHEMA.tag;
|
|
2680
|
-
if (isLinkFootnoteCue) {
|
|
2681
|
-
if (findElementLinkedTo(linkend, elementsToLink)) {
|
|
2682
|
-
return [];
|
|
2683
|
-
}
|
|
2684
|
-
return [
|
|
2685
|
-
createValidationIssue({
|
|
2686
|
-
store: getStore(linkElement),
|
|
2687
|
-
title: "Unlinked footnote cue",
|
|
2688
|
-
kind: "unlinked",
|
|
2689
|
-
description: "This footnote cue is not referenced to any footnote in this chapter. Please link it again manually.",
|
|
2690
|
-
level: "blocker"
|
|
2691
|
-
})
|
|
2692
|
-
];
|
|
2693
|
-
}
|
|
2694
|
-
const role = linkElement.getAttribute("role");
|
|
2695
|
-
if (!role) {
|
|
2696
|
-
return [];
|
|
2697
|
-
}
|
|
2698
|
-
if (findElementLinkedTo(linkend, elementsToLink)) {
|
|
2699
|
-
return [];
|
|
2700
|
-
}
|
|
2701
|
-
const isBlocker = LINK_BLOCKER_ROLES.includes(role.toLowerCase());
|
|
2702
|
-
return [
|
|
2703
|
-
createValidationIssue({
|
|
2704
|
-
store: getStore(linkElement),
|
|
2705
|
-
title: "Unlinked element",
|
|
2706
|
-
kind: "unlinked",
|
|
2707
|
-
description: "This link is not referenced to any element in the current chapter or any other chapter. Please link it again manually.",
|
|
2708
|
-
level: isBlocker ? "blocker" : "warning"
|
|
2709
|
-
})
|
|
2710
|
-
];
|
|
2711
|
-
};
|
|
2712
|
-
|
|
2713
2719
|
// src/validation/validateAttributes.ts
|
|
2714
2720
|
var validateAttributes = (element, schema) => {
|
|
2715
2721
|
const errors = [];
|
|
@@ -2841,21 +2847,6 @@ var validateChildren = (element, schema) => {
|
|
|
2841
2847
|
return errors;
|
|
2842
2848
|
};
|
|
2843
2849
|
|
|
2844
|
-
// src/validation/utils/getLinkableRoles.ts
|
|
2845
|
-
var getLinkableRoles = () => {
|
|
2846
|
-
const linkRoleDefinition = findAttributeDefinitionByName(
|
|
2847
|
-
LINK_SCHEMA.requiredAttributes,
|
|
2848
|
-
"role"
|
|
2849
|
-
);
|
|
2850
|
-
if (!linkRoleDefinition) {
|
|
2851
|
-
return [];
|
|
2852
|
-
}
|
|
2853
|
-
if (isAttributeRestricted(linkRoleDefinition)) {
|
|
2854
|
-
return linkRoleDefinition.values;
|
|
2855
|
-
}
|
|
2856
|
-
return [];
|
|
2857
|
-
};
|
|
2858
|
-
|
|
2859
2850
|
// src/validation/validateReferences.ts
|
|
2860
2851
|
var findElementLinkedTo2 = (xmlid, linkElements) => {
|
|
2861
2852
|
return linkElements.includes(xmlid);
|
|
@@ -2917,16 +2908,14 @@ var validateElement = (element, root, elementsToLink, linkElements, schemasToVal
|
|
|
2917
2908
|
if (schemasToValidateAgainst.includes(schema.code)) {
|
|
2918
2909
|
errors.push(...validateElementAgainstSchema(element, schema));
|
|
2919
2910
|
}
|
|
2920
|
-
|
|
2921
|
-
const linkableRoles = getLinkableRoles();
|
|
2922
|
-
if (schema.tag === LINK_SCHEMA.tag && role && linkableRoles.includes(role) || schema.tag === FOOTNOTE_LINK_SCHEMA.tag) {
|
|
2911
|
+
if (schema.tag === LINK_SCHEMA.tag || schema.tag === FOOTNOTE_LINK_SCHEMA.tag) {
|
|
2923
2912
|
errors.push(...validateLinkend(element, elementsToLink));
|
|
2924
2913
|
}
|
|
2925
2914
|
if (schema.tag === BIBLIOMIXED_SCHEMA.tag) {
|
|
2926
2915
|
errors.push(...validateReferenceCited(element, linkElements));
|
|
2927
2916
|
}
|
|
2928
2917
|
if (schema.tag === FOOTNOTE_SCHEMA.tag) {
|
|
2929
|
-
errors.push(...validateFootnoteCue(element,
|
|
2918
|
+
errors.push(...validateFootnoteCue(element, linkElements));
|
|
2930
2919
|
}
|
|
2931
2920
|
if (schema.tag === URI_SCHEMA.tag) {
|
|
2932
2921
|
errors.push(...validateUri(element));
|