pro-editor-schema 1.4.1 → 1.5.5-8
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/README.md +46 -2
- package/dist/index.d.mts +376 -20
- package/dist/index.d.ts +376 -20
- package/dist/index.js +1629 -348
- package/dist/index.mjs +1596 -347
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -21,7 +21,7 @@ type Schema<TRequiredAttributes = readonly AttributeDefinition[], TOptionalAttri
|
|
|
21
21
|
matchesElement?: (element: Element) => boolean;
|
|
22
22
|
};
|
|
23
23
|
type SchemaCode = ElementSchemaCode | InlineSchemaCode | AtomSchemaCode;
|
|
24
|
-
type ElementSchemaCode = "referenceBibliomixed" | "referenceBibliography" | "bibliodiv" | "degrees" | "email" | "equation" | "fignote" | "figsource" | "firstname" | "footnote" | "footnoteno" | "honorific" | "img" | "informalfigure" | "keyword" | "label1" | "li" | "line" | "linegroup" | "lrh" | "math" | "mathphrase" | "merror" | "mfrac" | "mi" | "mmultiscripts" | "mn" | "mo" | "mover" | "mpadded" | "mphantom" | "mprescripts" | "mroot" | "mrow" | "ms" | "mspace" | "msqrt" | "mstyle" | "msub" | "msubsup" | "msup" | "mtable" | "mtd" | "mtext" | "mtr" | "munder" | "munderover" | "olink" | "org" | "orgname" | "para" | "punc" | "rrh" | "source1" | "speaker" | "subtitle1" | "surname" | "tag" | "tblfn" | "tblsource" | "thead" | "title1" | "token" | "tp" | "abstract1" | "affiliation" | "alttext" | "appendix" | "author" | "authorgroup" | "blockquote" | "caption1" | "chapter" | "dialogue" | "epigraph" | "figure1" | "footnoteSection" | "heading" | "imageobject" | "info1" | "keywordset" | "mediaobject" | "ol" | "personname" | "poem" | "sidebar" | "table" | "table1" | "tbody" | "td" | "tgroup" | "tr" | "ul";
|
|
24
|
+
type ElementSchemaCode = "referenceBibliomixed" | "referenceBibliography" | "bibliodiv" | "bibliomset" | "editor" | "othercredit" | "translator" | "collab" | "pubdate" | "date" | "publishername" | "address" | "city" | "volumenum" | "issuenum" | "pagenums" | "pagenum" | "edition" | "pubId" | "biblioid" | "bibliomisc" | "confgroup" | "conftitle" | "degrees" | "email" | "equation" | "fignote" | "figsource" | "firstname" | "footnote" | "footnoteno" | "honorific" | "img" | "informalfigure" | "keyword" | "label1" | "li" | "line" | "linegroup" | "lrh" | "math" | "mathphrase" | "merror" | "mfrac" | "mi" | "mmultiscripts" | "mn" | "mo" | "mover" | "mpadded" | "mphantom" | "mprescripts" | "mroot" | "mrow" | "ms" | "mspace" | "msqrt" | "mstyle" | "msub" | "msubsup" | "msup" | "mtable" | "mtd" | "mtext" | "mtr" | "munder" | "munderover" | "olink" | "org" | "orgname" | "para" | "punc" | "rrh" | "source1" | "speaker" | "subtitle1" | "surname" | "tag" | "tblfn" | "tblsource" | "thead" | "title1" | "token" | "tp" | "abstract1" | "affiliation" | "alttext" | "appendix" | "author" | "authorgroup" | "blockquote" | "caption1" | "chapter" | "dialogue" | "epigraph" | "figure1" | "footnoteSection" | "heading" | "imageobject" | "info1" | "keywordset" | "mediaobject" | "ol" | "personname" | "poem" | "sidebar" | "table" | "table1" | "tbody" | "td" | "tgroup" | "tr" | "ul";
|
|
25
25
|
type AtomSchemaCode = "mark" | "indexterm" | "primary" | "secondary" | "tertiary" | "quaternary" | "bookmark" | "see" | "commentQuerySection" | "comment" | "content" | "query" | "reply" | "deletion" | "lineGroupRemoval" | "emphasis" | "highlightmark" | "i" | "insertion" | "sc" | "strike" | "sub" | "sup" | "u" | "b" | "referenceMark" | "abbreviation";
|
|
26
26
|
type InlineSchemaCode = "footnote1" | "inlineequation" | "link" | "uri" | "phrase";
|
|
27
27
|
|
|
@@ -47,11 +47,7 @@ declare const SCHEMAS: {
|
|
|
47
47
|
readonly defaultValue: "added";
|
|
48
48
|
}]>;
|
|
49
49
|
phrase: Schema<readonly ["store", "ele-id", "xml:lang"], readonly []>;
|
|
50
|
-
bibliodiv: Schema<readonly ["store", "ele-id",
|
|
51
|
-
readonly name: "role";
|
|
52
|
-
readonly values: readonly ["H1", "H2", "H3", "H4", "H5", "H6"];
|
|
53
|
-
readonly defaultValue: "H1";
|
|
54
|
-
}], readonly []>;
|
|
50
|
+
bibliodiv: Schema<readonly ["store", "ele-id", "role"], readonly []>;
|
|
55
51
|
referenceBibliography: Schema<readonly ["store", "ele-id", "xmlid", {
|
|
56
52
|
readonly name: "role";
|
|
57
53
|
readonly values: readonly ["chapterend"];
|
|
@@ -62,6 +58,30 @@ declare const SCHEMAS: {
|
|
|
62
58
|
readonly defaultValue: "doc-bibliography";
|
|
63
59
|
}], readonly []>;
|
|
64
60
|
referenceBibliomixed: Schema<readonly ["store", "ele-id", "xmlid", "role"], readonly ["track-role", "data-userid", "data-date"]>;
|
|
61
|
+
bibliomset: Schema<readonly [{
|
|
62
|
+
readonly name: "relation";
|
|
63
|
+
readonly values: readonly ["part", "article", "book", "journal"];
|
|
64
|
+
readonly defaultValue: "part";
|
|
65
|
+
}], readonly ["store", "ele-id"]>;
|
|
66
|
+
editor: Schema<readonly [], readonly ["store", "ele-id"]>;
|
|
67
|
+
othercredit: Schema<readonly [], readonly ["store", "ele-id", "class", "otherclass"]>;
|
|
68
|
+
translator: Schema<readonly [], readonly ["store", "ele-id"]>;
|
|
69
|
+
collab: Schema<readonly [], readonly ["store", "ele-id"]>;
|
|
70
|
+
pubdate: Schema<readonly [], readonly ["store", "ele-id"]>;
|
|
71
|
+
date: Schema<readonly [], readonly ["store", "ele-id", "role"]>;
|
|
72
|
+
publishername: Schema<readonly [], readonly ["store", "ele-id"]>;
|
|
73
|
+
address: Schema<readonly [], readonly ["store", "ele-id"]>;
|
|
74
|
+
city: Schema<readonly [], readonly ["store", "ele-id"]>;
|
|
75
|
+
volumenum: Schema<readonly [], readonly ["store", "ele-id"]>;
|
|
76
|
+
issuenum: Schema<readonly [], readonly ["store", "ele-id"]>;
|
|
77
|
+
pagenums: Schema<readonly [], readonly ["store", "ele-id"]>;
|
|
78
|
+
pagenum: Schema<readonly [], readonly ["store", "ele-id"]>;
|
|
79
|
+
edition: Schema<readonly [], readonly ["store", "ele-id"]>;
|
|
80
|
+
pubId: Schema<readonly [], readonly ["store", "ele-id", "pub-id-type", "assigning-authority"]>;
|
|
81
|
+
biblioid: Schema<readonly [], readonly ["store", "ele-id", "class", "otherclass"]>;
|
|
82
|
+
bibliomisc: Schema<readonly [], readonly ["store", "ele-id", "role"]>;
|
|
83
|
+
confgroup: Schema<readonly [], readonly ["store", "ele-id"]>;
|
|
84
|
+
conftitle: Schema<readonly [], readonly ["store", "ele-id"]>;
|
|
65
85
|
para: Schema<readonly ["store", "ele-id"], readonly ["data-username", "data-userid", "data-time", "data-date", "data-alignment", "data-left-indent", "data-right-indent", "data-special-indent", "data-space-above", "data-space-below", "data-indent-type", "data-layout-user", "data-paragraph-style", "xmlid", "role", "data-pos"]>;
|
|
66
86
|
title1: Schema<readonly ["store", "ele-id"], readonly ["data-username", "data-userid", "data-time", "data-date", "data-alignment", "data-left-indent", "data-right-indent", "data-special-indent", "data-space-above", "data-space-below", "data-indent-type", "data-layout-user", "data-paragraph-style", "role", {
|
|
67
87
|
readonly name: "fm-role";
|
|
@@ -69,7 +89,7 @@ declare const SCHEMAS: {
|
|
|
69
89
|
readonly defaultValue: "false";
|
|
70
90
|
}, {
|
|
71
91
|
readonly name: "title";
|
|
72
|
-
readonly values: readonly [
|
|
92
|
+
readonly values: readonly [...string[], "foot_note"];
|
|
73
93
|
readonly defaultValue: "H1";
|
|
74
94
|
}]>;
|
|
75
95
|
footnote: Schema<readonly ["store", "ele-id", "label", "xmlid", {
|
|
@@ -248,7 +268,7 @@ declare const SCHEMAS: {
|
|
|
248
268
|
}]>;
|
|
249
269
|
sidebar: Schema<readonly ["store", "ele-id", {
|
|
250
270
|
readonly name: "status";
|
|
251
|
-
readonly values:
|
|
271
|
+
readonly values: string[];
|
|
252
272
|
readonly defaultValue: "box1";
|
|
253
273
|
}], readonly ["data-username", "data-userid", "data-time", "data-date", "xmlid", {
|
|
254
274
|
readonly name: "role";
|
|
@@ -290,7 +310,7 @@ declare const SCHEMAS: {
|
|
|
290
310
|
sc: Schema<readonly ["store", "ele-id"], readonly ["data-username", "data-userid", "data-time", "data-date"]>;
|
|
291
311
|
emphasis: Schema<readonly ["store", "ele-id"], readonly ["data-username", "data-userid", "data-time", "data-date", {
|
|
292
312
|
readonly name: "role";
|
|
293
|
-
readonly values: readonly ["lowercase", "uppercase", "initialcaps"];
|
|
313
|
+
readonly values: readonly ["lowercase", "uppercase", "initialcaps", "Non breaking space"];
|
|
294
314
|
readonly defaultValue: "lowercase";
|
|
295
315
|
}]>;
|
|
296
316
|
strike: Schema<readonly ["store", "ele-id"], readonly ["data-username", "data-userid", "data-time", "data-date"]>;
|
|
@@ -358,6 +378,235 @@ declare const isAttributeRestricted: (attr: AttributeDefinition) => attr is Rest
|
|
|
358
378
|
|
|
359
379
|
declare const isTrackChangesSchema: (schema: Schema) => boolean;
|
|
360
380
|
|
|
381
|
+
type ReferenceTypeCode = "monograph" | "serial" | "contribution" | "article" | "message" | "website" | "unpublished" | "case" | "legislation" | "other" | "recording" | "film";
|
|
382
|
+
type ReferenceFieldCode = "author" | "editor" | "title" | "year" | "containerTitle" | "publisherPlace" | "publisher" | "volume" | "issue" | "pages" | "doi" | "url" | "accessDate" | "genre" | "eventTitle" | "eventPlace" | "documentNumber" | "pubmedId";
|
|
383
|
+
type RequiredReferenceField = "title" | "containerTitle" | "creators" | "year";
|
|
384
|
+
type BibliomsetRelation = "part" | "book" | "article" | "journal";
|
|
385
|
+
type ReferenceElementReplacement = {
|
|
386
|
+
tag: string;
|
|
387
|
+
replacement?: string;
|
|
388
|
+
};
|
|
389
|
+
type ReferenceFieldSchema = {
|
|
390
|
+
code: ReferenceFieldCode;
|
|
391
|
+
label: string;
|
|
392
|
+
elementCodes: readonly SchemaCode[];
|
|
393
|
+
};
|
|
394
|
+
type ReferenceTypeSchema = {
|
|
395
|
+
code: ReferenceTypeCode;
|
|
396
|
+
label: string;
|
|
397
|
+
legacyRoles: readonly string[];
|
|
398
|
+
allowedFields: readonly ReferenceFieldCode[];
|
|
399
|
+
requiredFields: readonly RequiredReferenceField[];
|
|
400
|
+
bibliomsetRelations?: readonly BibliomsetRelation[];
|
|
401
|
+
replacedElements?: readonly ReferenceElementReplacement[];
|
|
402
|
+
fieldLabels?: Partial<Record<ReferenceFieldCode, string>>;
|
|
403
|
+
};
|
|
404
|
+
|
|
405
|
+
declare const findReferenceTypeSchemaByElement: (reference: Element) => ReferenceTypeSchema | undefined;
|
|
406
|
+
|
|
407
|
+
declare const findReferenceFieldByElement: (element: Element) => ReferenceFieldCode | undefined;
|
|
408
|
+
|
|
409
|
+
declare const REFERENCE_FIELD_SCHEMAS: {
|
|
410
|
+
author: {
|
|
411
|
+
code: "author";
|
|
412
|
+
label: string;
|
|
413
|
+
elementCodes: ("othercredit" | "author")[];
|
|
414
|
+
};
|
|
415
|
+
editor: {
|
|
416
|
+
code: "editor";
|
|
417
|
+
label: string;
|
|
418
|
+
elementCodes: "editor"[];
|
|
419
|
+
};
|
|
420
|
+
title: {
|
|
421
|
+
code: "title";
|
|
422
|
+
label: string;
|
|
423
|
+
elementCodes: "title1"[];
|
|
424
|
+
};
|
|
425
|
+
year: {
|
|
426
|
+
code: "year";
|
|
427
|
+
label: string;
|
|
428
|
+
elementCodes: ("pubdate" | "date" | "confgroup")[];
|
|
429
|
+
};
|
|
430
|
+
containerTitle: {
|
|
431
|
+
code: "containerTitle";
|
|
432
|
+
label: string;
|
|
433
|
+
elementCodes: "title1"[];
|
|
434
|
+
};
|
|
435
|
+
publisherPlace: {
|
|
436
|
+
code: "publisherPlace";
|
|
437
|
+
label: string;
|
|
438
|
+
elementCodes: "address"[];
|
|
439
|
+
};
|
|
440
|
+
publisher: {
|
|
441
|
+
code: "publisher";
|
|
442
|
+
label: string;
|
|
443
|
+
elementCodes: ("publishername" | "orgname")[];
|
|
444
|
+
};
|
|
445
|
+
volume: {
|
|
446
|
+
code: "volume";
|
|
447
|
+
label: string;
|
|
448
|
+
elementCodes: "volumenum"[];
|
|
449
|
+
};
|
|
450
|
+
issue: {
|
|
451
|
+
code: "issue";
|
|
452
|
+
label: string;
|
|
453
|
+
elementCodes: "issuenum"[];
|
|
454
|
+
};
|
|
455
|
+
pages: {
|
|
456
|
+
code: "pages";
|
|
457
|
+
label: string;
|
|
458
|
+
elementCodes: "pagenums"[];
|
|
459
|
+
};
|
|
460
|
+
doi: {
|
|
461
|
+
code: "doi";
|
|
462
|
+
label: string;
|
|
463
|
+
elementCodes: "link"[];
|
|
464
|
+
};
|
|
465
|
+
url: {
|
|
466
|
+
code: "url";
|
|
467
|
+
label: string;
|
|
468
|
+
elementCodes: "link"[];
|
|
469
|
+
};
|
|
470
|
+
accessDate: {
|
|
471
|
+
code: "accessDate";
|
|
472
|
+
label: string;
|
|
473
|
+
elementCodes: "date"[];
|
|
474
|
+
};
|
|
475
|
+
genre: {
|
|
476
|
+
code: "genre";
|
|
477
|
+
label: string;
|
|
478
|
+
elementCodes: "bibliomisc"[];
|
|
479
|
+
};
|
|
480
|
+
eventTitle: {
|
|
481
|
+
code: "eventTitle";
|
|
482
|
+
label: string;
|
|
483
|
+
elementCodes: "confgroup"[];
|
|
484
|
+
};
|
|
485
|
+
eventPlace: {
|
|
486
|
+
code: "eventPlace";
|
|
487
|
+
label: string;
|
|
488
|
+
elementCodes: "address"[];
|
|
489
|
+
};
|
|
490
|
+
documentNumber: {
|
|
491
|
+
code: "documentNumber";
|
|
492
|
+
label: string;
|
|
493
|
+
elementCodes: "bibliomisc"[];
|
|
494
|
+
};
|
|
495
|
+
pubmedId: {
|
|
496
|
+
code: "pubmedId";
|
|
497
|
+
label: string;
|
|
498
|
+
elementCodes: "biblioid"[];
|
|
499
|
+
};
|
|
500
|
+
};
|
|
501
|
+
|
|
502
|
+
declare const REFERENCE_TYPE_SCHEMAS: {
|
|
503
|
+
monograph: {
|
|
504
|
+
code: "monograph";
|
|
505
|
+
label: string;
|
|
506
|
+
legacyRoles: string[];
|
|
507
|
+
allowedFields: ("editor" | "author" | "title" | "year" | "publisherPlace" | "publisher" | "volume" | "doi" | "url")[];
|
|
508
|
+
requiredFields: ("title" | "creators")[];
|
|
509
|
+
fieldLabels: {
|
|
510
|
+
title: string;
|
|
511
|
+
};
|
|
512
|
+
};
|
|
513
|
+
serial: {
|
|
514
|
+
code: "serial";
|
|
515
|
+
label: string;
|
|
516
|
+
legacyRoles: never[];
|
|
517
|
+
allowedFields: ("title" | "year" | "volume" | "issue" | "doi" | "url")[];
|
|
518
|
+
requiredFields: "title"[];
|
|
519
|
+
};
|
|
520
|
+
contribution: {
|
|
521
|
+
code: "contribution";
|
|
522
|
+
label: string;
|
|
523
|
+
legacyRoles: string[];
|
|
524
|
+
allowedFields: ("editor" | "author" | "title" | "year" | "containerTitle" | "publisherPlace" | "publisher" | "pages" | "doi" | "url")[];
|
|
525
|
+
requiredFields: ("title" | "containerTitle" | "creators")[];
|
|
526
|
+
bibliomsetRelations: ("book" | "part")[];
|
|
527
|
+
fieldLabels: {
|
|
528
|
+
title: string;
|
|
529
|
+
containerTitle: string;
|
|
530
|
+
};
|
|
531
|
+
};
|
|
532
|
+
article: {
|
|
533
|
+
code: "article";
|
|
534
|
+
label: string;
|
|
535
|
+
legacyRoles: string[];
|
|
536
|
+
allowedFields: ("editor" | "author" | "title" | "year" | "containerTitle" | "publisherPlace" | "publisher" | "volume" | "issue" | "pages" | "doi" | "url" | "accessDate" | "genre" | "pubmedId")[];
|
|
537
|
+
requiredFields: ("title" | "containerTitle")[];
|
|
538
|
+
bibliomsetRelations: ("article" | "journal")[];
|
|
539
|
+
fieldLabels: {
|
|
540
|
+
title: string;
|
|
541
|
+
containerTitle: string;
|
|
542
|
+
};
|
|
543
|
+
};
|
|
544
|
+
message: {
|
|
545
|
+
code: "message";
|
|
546
|
+
label: string;
|
|
547
|
+
legacyRoles: never[];
|
|
548
|
+
allowedFields: ("author" | "title" | "year" | "doi" | "url")[];
|
|
549
|
+
requiredFields: "title"[];
|
|
550
|
+
};
|
|
551
|
+
website: {
|
|
552
|
+
code: "website";
|
|
553
|
+
label: string;
|
|
554
|
+
legacyRoles: never[];
|
|
555
|
+
allowedFields: ("author" | "title" | "year" | "doi" | "url" | "accessDate")[];
|
|
556
|
+
requiredFields: "title"[];
|
|
557
|
+
};
|
|
558
|
+
unpublished: {
|
|
559
|
+
code: "unpublished";
|
|
560
|
+
label: string;
|
|
561
|
+
legacyRoles: never[];
|
|
562
|
+
allowedFields: ("author" | "title" | "year" | "publisher" | "doi" | "url" | "genre" | "eventTitle" | "eventPlace")[];
|
|
563
|
+
requiredFields: "title"[];
|
|
564
|
+
replacedElements: {
|
|
565
|
+
tag: string;
|
|
566
|
+
replacement: string;
|
|
567
|
+
}[];
|
|
568
|
+
};
|
|
569
|
+
case: {
|
|
570
|
+
code: "case";
|
|
571
|
+
label: string;
|
|
572
|
+
legacyRoles: never[];
|
|
573
|
+
allowedFields: ("title" | "year" | "doi" | "url" | "documentNumber")[];
|
|
574
|
+
requiredFields: "title"[];
|
|
575
|
+
};
|
|
576
|
+
legislation: {
|
|
577
|
+
code: "legislation";
|
|
578
|
+
label: string;
|
|
579
|
+
legacyRoles: never[];
|
|
580
|
+
allowedFields: ("title" | "year" | "publisherPlace" | "doi" | "url" | "documentNumber")[];
|
|
581
|
+
requiredFields: "title"[];
|
|
582
|
+
};
|
|
583
|
+
other: {
|
|
584
|
+
code: "other";
|
|
585
|
+
label: string;
|
|
586
|
+
legacyRoles: never[];
|
|
587
|
+
allowedFields: readonly ["author", "editor", "title", "year", "containerTitle", "publisherPlace", "publisher", "volume", "issue", "pages", "accessDate", "genre", "eventTitle", "eventPlace", "documentNumber", "pubmedId", "doi", "url"];
|
|
588
|
+
requiredFields: "title"[];
|
|
589
|
+
};
|
|
590
|
+
recording: {
|
|
591
|
+
code: "recording";
|
|
592
|
+
label: string;
|
|
593
|
+
legacyRoles: never[];
|
|
594
|
+
allowedFields: ("author" | "title" | "year" | "doi" | "url")[];
|
|
595
|
+
requiredFields: ("title" | "year")[];
|
|
596
|
+
replacedElements: {
|
|
597
|
+
tag: string;
|
|
598
|
+
replacement: string;
|
|
599
|
+
}[];
|
|
600
|
+
};
|
|
601
|
+
film: {
|
|
602
|
+
code: "film";
|
|
603
|
+
label: string;
|
|
604
|
+
legacyRoles: never[];
|
|
605
|
+
allowedFields: ("title" | "year" | "doi" | "url")[];
|
|
606
|
+
requiredFields: "title"[];
|
|
607
|
+
};
|
|
608
|
+
};
|
|
609
|
+
|
|
361
610
|
declare const ElementLabel: Record<SchemaCode, string>;
|
|
362
611
|
|
|
363
612
|
type DependentForbiddenElement = {
|
|
@@ -379,6 +628,7 @@ declare const FIGURE_PLACEMENT_ATTRIBUTE = "data-figure-placement";
|
|
|
379
628
|
declare const LAYOUT_CELL_WIDTH_ATTRIBUTE = "data-cell-width";
|
|
380
629
|
declare const LAYOUT_TABLE_ORIENTATION_ATTRIBUTE = "data-table-orientation";
|
|
381
630
|
declare const LAYOUT_TABLE_PLACEMENT_ATTRIBUTE = "data-table-placement";
|
|
631
|
+
declare const VALIDATION_IGNORED_ATTRIBUTE = "data-validation-ignored";
|
|
382
632
|
declare const LAYOUT_ATTRIBUTES: readonly ["data-alignment", "data-left-indent", "data-right-indent", "data-special-indent", "data-space-above", "data-space-below", "data-indent-type", "data-layout-user", "data-paragraph-style"];
|
|
383
633
|
declare const TRACK_CHANGES_ATTR_DATA_USERNAME = "data-username";
|
|
384
634
|
declare const TRACK_CHANGES_ATTR_DATA_USERID = "data-userid";
|
|
@@ -392,11 +642,7 @@ declare const LINKEND_ATTRIBUTE = "linkend";
|
|
|
392
642
|
declare const ID_ATTRS: readonly ["store", "ele-id"];
|
|
393
643
|
|
|
394
644
|
declare const ELEMENT_SCHEMAS: {
|
|
395
|
-
bibliodiv: Schema<readonly ["store", "ele-id",
|
|
396
|
-
readonly name: "role";
|
|
397
|
-
readonly values: readonly ["H1", "H2", "H3", "H4", "H5", "H6"];
|
|
398
|
-
readonly defaultValue: "H1";
|
|
399
|
-
}], readonly []>;
|
|
645
|
+
bibliodiv: Schema<readonly ["store", "ele-id", "role"], readonly []>;
|
|
400
646
|
referenceBibliography: Schema<readonly ["store", "ele-id", "xmlid", {
|
|
401
647
|
readonly name: "role";
|
|
402
648
|
readonly values: readonly ["chapterend"];
|
|
@@ -407,6 +653,30 @@ declare const ELEMENT_SCHEMAS: {
|
|
|
407
653
|
readonly defaultValue: "doc-bibliography";
|
|
408
654
|
}], readonly []>;
|
|
409
655
|
referenceBibliomixed: Schema<readonly ["store", "ele-id", "xmlid", "role"], readonly ["track-role", "data-userid", "data-date"]>;
|
|
656
|
+
bibliomset: Schema<readonly [{
|
|
657
|
+
readonly name: "relation";
|
|
658
|
+
readonly values: readonly ["part", "article", "book", "journal"];
|
|
659
|
+
readonly defaultValue: "part";
|
|
660
|
+
}], readonly ["store", "ele-id"]>;
|
|
661
|
+
editor: Schema<readonly [], readonly ["store", "ele-id"]>;
|
|
662
|
+
othercredit: Schema<readonly [], readonly ["store", "ele-id", "class", "otherclass"]>;
|
|
663
|
+
translator: Schema<readonly [], readonly ["store", "ele-id"]>;
|
|
664
|
+
collab: Schema<readonly [], readonly ["store", "ele-id"]>;
|
|
665
|
+
pubdate: Schema<readonly [], readonly ["store", "ele-id"]>;
|
|
666
|
+
date: Schema<readonly [], readonly ["store", "ele-id", "role"]>;
|
|
667
|
+
publishername: Schema<readonly [], readonly ["store", "ele-id"]>;
|
|
668
|
+
address: Schema<readonly [], readonly ["store", "ele-id"]>;
|
|
669
|
+
city: Schema<readonly [], readonly ["store", "ele-id"]>;
|
|
670
|
+
volumenum: Schema<readonly [], readonly ["store", "ele-id"]>;
|
|
671
|
+
issuenum: Schema<readonly [], readonly ["store", "ele-id"]>;
|
|
672
|
+
pagenums: Schema<readonly [], readonly ["store", "ele-id"]>;
|
|
673
|
+
pagenum: Schema<readonly [], readonly ["store", "ele-id"]>;
|
|
674
|
+
edition: Schema<readonly [], readonly ["store", "ele-id"]>;
|
|
675
|
+
pubId: Schema<readonly [], readonly ["store", "ele-id", "pub-id-type", "assigning-authority"]>;
|
|
676
|
+
biblioid: Schema<readonly [], readonly ["store", "ele-id", "class", "otherclass"]>;
|
|
677
|
+
bibliomisc: Schema<readonly [], readonly ["store", "ele-id", "role"]>;
|
|
678
|
+
confgroup: Schema<readonly [], readonly ["store", "ele-id"]>;
|
|
679
|
+
conftitle: Schema<readonly [], readonly ["store", "ele-id"]>;
|
|
410
680
|
para: Schema<readonly ["store", "ele-id"], readonly ["data-username", "data-userid", "data-time", "data-date", "data-alignment", "data-left-indent", "data-right-indent", "data-special-indent", "data-space-above", "data-space-below", "data-indent-type", "data-layout-user", "data-paragraph-style", "xmlid", "role", "data-pos"]>;
|
|
411
681
|
title1: Schema<readonly ["store", "ele-id"], readonly ["data-username", "data-userid", "data-time", "data-date", "data-alignment", "data-left-indent", "data-right-indent", "data-special-indent", "data-space-above", "data-space-below", "data-indent-type", "data-layout-user", "data-paragraph-style", "role", {
|
|
412
682
|
readonly name: "fm-role";
|
|
@@ -414,7 +684,7 @@ declare const ELEMENT_SCHEMAS: {
|
|
|
414
684
|
readonly defaultValue: "false";
|
|
415
685
|
}, {
|
|
416
686
|
readonly name: "title";
|
|
417
|
-
readonly values: readonly [
|
|
687
|
+
readonly values: readonly [...string[], "foot_note"];
|
|
418
688
|
readonly defaultValue: "H1";
|
|
419
689
|
}]>;
|
|
420
690
|
footnote: Schema<readonly ["store", "ele-id", "label", "xmlid", {
|
|
@@ -593,7 +863,7 @@ declare const ELEMENT_SCHEMAS: {
|
|
|
593
863
|
}]>;
|
|
594
864
|
sidebar: Schema<readonly ["store", "ele-id", {
|
|
595
865
|
readonly name: "status";
|
|
596
|
-
readonly values:
|
|
866
|
+
readonly values: string[];
|
|
597
867
|
readonly defaultValue: "box1";
|
|
598
868
|
}], readonly ["data-username", "data-userid", "data-time", "data-date", "xmlid", {
|
|
599
869
|
readonly name: "role";
|
|
@@ -662,7 +932,7 @@ declare const ATOM_SCHEMAS: {
|
|
|
662
932
|
sc: Schema<readonly ["store", "ele-id"], readonly ["data-username", "data-userid", "data-time", "data-date"]>;
|
|
663
933
|
emphasis: Schema<readonly ["store", "ele-id"], readonly ["data-username", "data-userid", "data-time", "data-date", {
|
|
664
934
|
readonly name: "role";
|
|
665
|
-
readonly values: readonly ["lowercase", "uppercase", "initialcaps"];
|
|
935
|
+
readonly values: readonly ["lowercase", "uppercase", "initialcaps", "Non breaking space"];
|
|
666
936
|
readonly defaultValue: "lowercase";
|
|
667
937
|
}]>;
|
|
668
938
|
strike: Schema<readonly ["store", "ele-id"], readonly ["data-username", "data-userid", "data-time", "data-date"]>;
|
|
@@ -721,16 +991,18 @@ type ValidationErrorLevel = "blocker" | "warning" | "info";
|
|
|
721
991
|
type ValidationErrorKind = "unlinked" | "uncited" | "forbidden" | "missing" | "converted" | "possible-url" | "unreachable-url";
|
|
722
992
|
type ValidationError = {
|
|
723
993
|
id: string;
|
|
724
|
-
store
|
|
994
|
+
store?: string;
|
|
725
995
|
title: string;
|
|
726
996
|
level: ValidationErrorLevel;
|
|
727
997
|
kind: ValidationErrorKind;
|
|
728
998
|
description: string;
|
|
999
|
+
ignored: boolean;
|
|
1000
|
+
elements?: Element[];
|
|
729
1001
|
};
|
|
730
1002
|
|
|
731
1003
|
/**
|
|
732
1004
|
* Validates the XML document against the schema.
|
|
733
|
-
|
|
1005
|
+
|
|
734
1006
|
* @param xml - The XML document to validate.
|
|
735
1007
|
* @param elementsToLink - The elements IDs that are linked to.
|
|
736
1008
|
* @param linkElements - The elements IDs that are linked to.
|
|
@@ -739,6 +1011,82 @@ type ValidationError = {
|
|
|
739
1011
|
* @returns The validation errors.
|
|
740
1012
|
*/
|
|
741
1013
|
declare const validateXml: (xml: Element, elementsToLink: string[], linkElements: string[], schemasToValidateAgainst: SchemaCode[]) => ValidationError[];
|
|
1014
|
+
type ValidateXmlAsyncOptions = {
|
|
1015
|
+
/** Rejects with the signal's reason once aborted. */
|
|
1016
|
+
signal?: AbortSignal;
|
|
1017
|
+
/** How long to work before handing the main thread back. Defaults to 8 ms. */
|
|
1018
|
+
timeBudgetMs?: number;
|
|
1019
|
+
};
|
|
1020
|
+
/**
|
|
1021
|
+
* Same result as `validateXml`, but works in short slices and hands the main
|
|
1022
|
+
* thread back between them, so large documents do not freeze the page.
|
|
1023
|
+
*
|
|
1024
|
+
* Pass a copy of the document if it can change while validation runs.
|
|
1025
|
+
*/
|
|
1026
|
+
declare const validateXmlAsync: (xml: Element, elementsToLink: string[], linkElements: string[], schemasToValidateAgainst: SchemaCode[], { signal, timeBudgetMs }?: ValidateXmlAsyncOptions) => Promise<ValidationError[]>;
|
|
1027
|
+
|
|
1028
|
+
type LinkIds = readonly string[] | ReadonlySet<string>;
|
|
1029
|
+
|
|
1030
|
+
declare const findElementLinkedTo: (linkend: string, elementsToLink: LinkIds) => boolean;
|
|
1031
|
+
declare const LINK_TO_CROSS_CHECK: string[];
|
|
1032
|
+
declare const LINK_BLOCKER_ROLES: string[];
|
|
1033
|
+
declare const validateLinkend: (linkElement: Element, elementsToLink: LinkIds) => ValidationError[];
|
|
1034
|
+
|
|
1035
|
+
/** Work split into steps: each `yield` is a point where a caller may pause. */
|
|
1036
|
+
type Steps<T> = Generator<void, T, void>;
|
|
1037
|
+
|
|
1038
|
+
declare const POSSIBLE_WEBLINK_CLASS = "possible-weblink";
|
|
1039
|
+
declare const POSSIBLE_WEBLINK_EXCLUDE_SELECTORS: string[];
|
|
1040
|
+
type PossibleWeblink = {
|
|
1041
|
+
weblink: string;
|
|
1042
|
+
elements: Element[];
|
|
1043
|
+
};
|
|
1044
|
+
declare const getPossibleWeblinks: (root: Element) => Map<string, PossibleWeblink>;
|
|
1045
|
+
declare const markPossibleWeblinks: (editor: HTMLElement) => Map<string, PossibleWeblink>;
|
|
1046
|
+
declare function validatePossibleWeblinksSteps(root: Element): Steps<ValidationError[]>;
|
|
1047
|
+
declare const validatePossibleWeblinks: (root: Element) => ValidationError[];
|
|
1048
|
+
declare const clearWeblinkMatches: (editor: HTMLElement) => void;
|
|
1049
|
+
|
|
1050
|
+
declare const validateOlink: (element: Element) => ValidationError[];
|
|
1051
|
+
|
|
1052
|
+
type ElementHierarchy = "heading" | "box";
|
|
1053
|
+
declare const validateHierarchy: (element: Element, elementHierarchy: ElementHierarchy) => ValidationError[];
|
|
1054
|
+
|
|
1055
|
+
declare const extractFootnoteNumber: (footnote: Element | null) => number | "no label";
|
|
1056
|
+
declare const validateFootnoteNumber: (footnoteElement: Element) => ValidationError[];
|
|
1057
|
+
declare const validateConsecutiveFootnotes: (root: Element | Document) => ValidationError[];
|
|
1058
|
+
declare const validateConsecutiveFootnoteCues: (root: Element | Document) => ValidationError[];
|
|
1059
|
+
|
|
1060
|
+
declare const validateElementToLinkTo: (element: Element, linkElements: LinkIds) => ValidationError[];
|
|
1061
|
+
|
|
1062
|
+
declare const validateElementAgainstSchema: (element: Element, schema: Schema) => ValidationError[];
|
|
1063
|
+
declare const getEffectiveChildElements: (element: Element) => Element[];
|
|
1064
|
+
|
|
1065
|
+
declare const validateAttributes: (element: Element, schema: Schema) => ValidationError[];
|
|
1066
|
+
|
|
1067
|
+
type ReferenceMarkupRule = "missing_id" | "bibliomset_relation" | "bibliomset_missing" | "bibliomset_repeated" | "bibliomset_title" | "bibliomset_nested" | "part_editor" | "personname_role" | "name_outside_personname" | "othercredit_artist" | "link_without_target" | "doi_inside_uri" | "doi_outside_doi_org" | "uri_outside_link" | "confgroup_text" | "confdates_outside_confgroup";
|
|
1068
|
+
type ReferenceMarkupIssue = {
|
|
1069
|
+
code: "wrong_element";
|
|
1070
|
+
tag: string;
|
|
1071
|
+
replacement?: string;
|
|
1072
|
+
elements: Element[];
|
|
1073
|
+
} | {
|
|
1074
|
+
code: "markup";
|
|
1075
|
+
rule: ReferenceMarkupRule;
|
|
1076
|
+
elements: Element[];
|
|
1077
|
+
};
|
|
1078
|
+
|
|
1079
|
+
type ReferenceStructureIssue = {
|
|
1080
|
+
code: "unknown_type";
|
|
1081
|
+
} | {
|
|
1082
|
+
code: "missing";
|
|
1083
|
+
field: RequiredReferenceField;
|
|
1084
|
+
} | {
|
|
1085
|
+
code: "not_allowed";
|
|
1086
|
+
field: ReferenceFieldCode;
|
|
1087
|
+
} | ReferenceMarkupIssue;
|
|
1088
|
+
declare const validateReferenceStructure: (reference: Element) => ReferenceStructureIssue[];
|
|
1089
|
+
declare const getReferenceStructureIssueElements: (reference: Element, issue: ReferenceStructureIssue) => Element[];
|
|
742
1090
|
|
|
743
1091
|
declare const getElementLinks: (contentChaptersToValidate: string[]) => {
|
|
744
1092
|
elementsToLink: string[];
|
|
@@ -785,4 +1133,12 @@ type GetAdjacentElementOptions = {
|
|
|
785
1133
|
};
|
|
786
1134
|
declare const getAdjacentElement: ({ element, direction, code, }: GetAdjacentElementOptions) => HTMLElement | undefined;
|
|
787
1135
|
|
|
788
|
-
|
|
1136
|
+
type ReferenceFieldElement = {
|
|
1137
|
+
field: ReferenceFieldCode;
|
|
1138
|
+
element: HTMLElement;
|
|
1139
|
+
};
|
|
1140
|
+
declare const REFERENCE_PART_SELECTOR: string;
|
|
1141
|
+
declare const getReferenceParts: (reference: Element) => HTMLElement[];
|
|
1142
|
+
declare const getReferenceFieldElements: (reference: Element) => ReferenceFieldElement[];
|
|
1143
|
+
|
|
1144
|
+
export { ALIGNMENT_ATTRIBUTE, ATOM_SCHEMAS, type AllowedChildren, type AtomSchemaCode, type AttributeDefinition, type BibliomsetRelation, DEPENDENT_FORBIDDEN_ELEMENTS, ELEMENT_SCHEMAS, ELE_ID_ATTRIBUTE, ElementLabel, type ElementSchemaCode, FIGURE_PLACEMENT_ATTRIBUTE, type FreeAttribute, ID_ATTRS, IGNORED_ATTRIBUTES, IGNORED_ATTRIBUTES_STARTS_WITH, IGNORED_ELEMENT_SELECTORS, INDENT_TYPE_ATTRIBUTE, INLINE_ELEMENT_SCHEMAS, type InlineSchemaCode, LAYOUT_ATTRIBUTES, LAYOUT_CELL_WIDTH_ATTRIBUTE, LAYOUT_TABLE_ORIENTATION_ATTRIBUTE, LAYOUT_TABLE_PLACEMENT_ATTRIBUTE, LAYOUT_USER_ATTRIBUTE, LEFT_INDENT_ATTRIBUTE, LINKEND_ATTRIBUTE, LINK_BLOCKER_ROLES, LINK_TO_CROSS_CHECK, POSSIBLE_WEBLINK_CLASS, POSSIBLE_WEBLINK_EXCLUDE_SELECTORS, REFERENCE_FIELD_SCHEMAS, REFERENCE_PART_SELECTOR, REFERENCE_TYPE_SCHEMAS, RIGHT_INDENT_ATTRIBUTE, type ReferenceElementReplacement, type ReferenceFieldCode, type ReferenceFieldElement, type ReferenceFieldSchema, type ReferenceMarkupIssue, type ReferenceMarkupRule, type ReferenceStructureIssue, type ReferenceTypeCode, type ReferenceTypeSchema, type RequiredReferenceField, type RestrictedAttribute, SCHEMAS, SPACE_ABOVE_ATTRIBUTE, SPACE_BELOW_ATTRIBUTE, SPECIAL_INDENT_ATTRIBUTE, STORE_ATTRIBUTE, STYLE_NAME_ATTRIBUTE, type Schema, type SchemaAttributes, type SchemaCode, type SchemaKind, type SchemasByCode, TRACK_CHANGES_ATTRS, TRACK_CHANGES_ATTR_DATA_DATE, TRACK_CHANGES_ATTR_DATA_TIME, TRACK_CHANGES_ATTR_DATA_USERID, TRACK_CHANGES_ATTR_DATA_USERNAME, VALIDATION_IGNORED_ATTRIBUTE, type ValidateXmlAsyncOptions, type ValidationError, type ValidationErrorKind, type ValidationErrorLevel, XMLID_ATTRIBUTE, clearWeblinkMatches, closestElementBySchema, createElement, extractFootnoteNumber, findAttributeDefinitionByName, findElementLinkedTo, findReferenceFieldByElement, findReferenceTypeSchemaByElement, findSchemaByCode, findSchemaByElement, getAdjacentElement, getAttributeName, getEffectiveChildElements, getElementLinks, getPossibleWeblinks, getReferenceFieldElements, getReferenceParts, getReferenceStructureIssueElements, getStore, isAttributeRestricted, isDeletedElement, isIgnoredAttribute, isIgnoredElement, isTrackChangesSchema, markPossibleWeblinks, queryAllElementsBySchema, queryElementBySchema, validateAttributes, validateConsecutiveFootnoteCues, validateConsecutiveFootnotes, validateElementAgainstSchema, validateElementToLinkTo, validateFootnoteNumber, validateHierarchy, validateLinkend, validateOlink, validatePossibleWeblinks, validatePossibleWeblinksSteps, validateReferenceStructure, validateXml, validateXmlAsync };
|