-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdraft-iab-xml2rfc-bis.xml
8655 lines (8005 loc) · 356 KB
/
draft-iab-xml2rfc-bis.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc toc="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc compact="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc linkmailto="no" ?>
<?rfc rfcedstyle="yes"?>
<?rfc-ext allow-markup-in-artwork="yes" ?>
<?rfc-ext include-references-in-index="yes" ?>
<!--
...some notes might still go in here...
-->
<!DOCTYPE rfc [
<!ENTITY rfc2026 PUBLIC "" "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2026.xml">
<!ENTITY rfc2397 PUBLIC "" "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2397.xml">
<!ENTITY rfc2629 PUBLIC "" "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2629.xml">
<!ENTITY rfc3339 PUBLIC "" "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3339.xml">
<!ENTITY rfc3470 PUBLIC "" "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3470.xml">
<!ENTITY rfc3667 PUBLIC "" "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3667.xml">
<!ENTITY rfc3966 PUBLIC "" "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3966.xml">
<!ENTITY rfc3978 PUBLIC "" "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3978.xml">
<!ENTITY rfc3986 PUBLIC "" "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3986.xml">
<!ENTITY rfc5234 PUBLIC "" "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5234.xml">
<!ENTITY rfc5378 PUBLIC "" "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5378.xml">
<!ENTITY rfc5743 PUBLIC "" "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5743.xml">
<!ENTITY rfc6068 PUBLIC "" "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6068.xml">
<!ENTITY rfc6266 PUBLIC "" "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6266.xml">
<!ENTITY rfc6949 PUBLIC "" "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6949.xml">
<!ENTITY rfc7303 PUBLIC "" "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7303.xml">
<!ENTITY rfc7322 PUBLIC "" "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7322.xml">
<!ENTITY rfc7669 PUBLIC "" "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7669.xml">
<!ENTITY rfc7749 PUBLIC "" "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7749.xml">
<!ENTITY rfc7841 PUBLIC "" "http://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.7841.xml">
]>
<rfc xmlns:x="http://purl.org/net/xml2rfc/ext" obsoletes="7749" xmlns:ed="http://greenbytes.de/2002/rfcedit" ipr="trust200902" docName="draft-iab-xml2rfc-latest" category="info" xml:lang="en">
<x:feedback template="mailto:rfc-interest@rfc-editor.org,iab@iab.org?subject={docname},%20%22{section}%22&body=<{ref}>:"/>
<front>
<title>The "xml2rfc" version 3 Vocabulary</title>
<author initials="P." surname="Hoffman" fullname="Paul Hoffman">
<organization>ICANN</organization>
<address><email>paul.hoffman@icann.org</email></address>
</author>
<date/>
<abstract>
<t>
This document defines the "xml2rfc" version 3 vocabulary: an XML-based
language used for writing RFCs and Internet-Drafts. It is heavily derived
from the version 2 vocabulary that is also under discussion. This document
obsoletes the v2 grammar described in RFC 2629 and its followup, RFC 7749.
</t>
<t>
This document is the successor to draft-iab-xml2rfc-latest, which is
currently in the RFC Editor's queue for publication. This -bis draft
will be used for making changes based on implementation experience with
the earlier draft.
</t>
</abstract>
<note title="Editorial Note (To be removed by RFC Editor)">
<t>
Discussion of this draft takes place on the rfc-interest
mailing list (rfc-interest@rfc-editor.org), which has its home page at
<eref target="https://www.rfc-editor.org/mailman/listinfo/rfc-interest"/>.
</t>
</note>
</front>
<middle>
<section title="Introduction">
<t>
This document describes version 3 ("v3") of the "xml2rfc" vocabulary; an XML-based
language ("Extensible Markup Language", <xref target="XML"/>) used for writing RFCs
(<xref target="RFC7322"/>) and Internet-Drafts (<xref target="IDGUIDE"/>).
</t>
<t>
This document obsoletes the version 2 vocabulary ("v2") <xref target="RFC7749"/>, which
contains the extended language definition. That document in turn obsoletes
the original version ("v1") <xref target="RFC2629"/>. This document directly copies the
material from <xref target="RFC7749"/> where possible; as that document makes its way
toward RFC publication, this document will incorporate as many of the changes as possible.
</t>
<t>
The v3 format will be used as part of the new RFC series format described in <xref target="RFC6949"/>.
The new format will be handled by one or more new tools for preparing the XML and
converting it to other representations.
Features of the expected
tools are described in <xref target="tools"/>. That section defines some terms
used throughout this document, such as "prep tool" and "formatter".
</t>
<t>
Note that the vocabulary contains certain constructs that might not be used when generating
the final text; however, they can provide useful
data for other uses (such as index generation, populating a keyword database, or
syntax checks).
</t>
<t>
In this document, the term "format" is used when describing types of documents, primarily
XML and HTML. The term "representation" is used when talking about a specific instatiation
of a format, such as an XML document or an HTML document that was created by an XML document.
</t>
<section title="Expected Updates to the Specification">
<t>
Non-interoperable changes in later versions of this specification are likely based on experience gained in
implementing the RFC production center toolset.
Revised documents will be
published capturing those changes as the toolset is completed. Other implementers must not expect
those changes to remain backwards-compatible with the details described in this document.
</t>
</section>
<section title="Design Criteria for the Changes in v3">
<t>The design criteria of the changes from v2 to v3 are:
<list style="symbols">
<t>The intention is that starting and editing a v3 document will be easier than for a v2 document.</t>
<t>There will be good v2-to-v3 conversion tools for when an author wants to change versions.</t>
<t>There are no current plans to make v3 XML the required submission format for drafts or
RFCs. That might happen eventually, but it is likely to be years away.</t>
</list>
There is a desire to keep as much of the v2 grammar as makes sense within the above design
criteria and not to make gratuitous changes to the v2 grammar. Another way to say this is
"we would rather encourage backward compatibility but not be constrained by it". Still, the
goal of starting and editing a v3 document being easier than for a v2 document is more
important than backwards compatibility with v2, given the latter two design criteria.</t>
<t>
v3 is upwards compatible with v2, meaning that a v2 document is meant to be a valid v3
document as well. However, some features of v2 are deprecated in v3 in favor of new
elements. Deprecated features are listed in <xref target="deprecated_features"/>,
and are described in <xref target="RFC7749"/>.
</t>
</section>
<section title="Differences from v2 to v3" anchor="differences.from.v2.to.v3">
<t>
This is a a hopefully-complete list of all the technical changes between <xref target="RFC7749"/>
and this document.
</t>
<section title="New Elements in v3">
<t><list style="symbols">
<t>Add <<x:ref>dl</x:ref>>, <<x:ref>ul</x:ref>>, and <<x:ref>ol</x:ref>>
as new ways to make lists. This is a significant change from v2 in that the child under
these elements is <<x:ref>li</x:ref>>, not <<x:ref>t</x:ref>>.
<<x:ref>li</x:ref>> has a model of either containing one or more
<<x:ref>t</x:ref>> elements, or containing the flowing text normally found in
<<x:ref>t</x:ref>>. These lists are children of <<x:ref>section</x:ref>>s
and other lists
instead of <<x:ref>t</x:ref>>.</t>
<t>Add <<x:ref>strong</x:ref>>, <<x:ref>em</x:ref>>,
<<x:ref>tt</x:ref>>, <<x:ref>sub</x:ref>>, and <<x:ref>sup</x:ref>> for character formatting.</t>
<t>Add <<x:ref>aside</x:ref>> for incidental text that will be indented when displayed.</t>
<t>Add <<x:ref>sourcecode</x:ref>> to differentiate from <<x:ref>artwork</x:ref>>.</t>
<t>Add <<x:ref>table</x:ref>>, <<x:ref>thead</x:ref>>, <<x:ref>tbody</x:ref>>, <<x:ref>tfoot</x:ref>>,
<<x:ref>tr</x:ref>>, <<x:ref>td</x:ref>>, and <<x:ref>th</x:ref>>
to give table functionality like that in HTML.</t>
<t>Add <<x:ref>boilerplate</x:ref>> to hold the automatically-generated boilerplate text.</t>
<t>Add <<x:ref>blockquote</x:ref>> to indicate a quotation as in a paragraph-like format.</t>
<t>Add <<x:ref>name</x:ref>> to sections, notes, figures, and texttables to allow character formatting
(fixed-width font) in their titles, and to allow references in the names.</t>
<t>Add <<x:ref>postalLine</x:ref>>, free text that represents one line of the address.</t>
<t>Add <<x:ref>displayreference</x:ref>> to allow display of more mnemonic anchor names
for automatically-included references.</t>
<t>Add <<x:ref>refcontent</x:ref>> to allow better control of text in a reference.</t>
<t>Add <<x:ref>referencegroup</x:ref>> to allow referencing multi-RFC documents such
as STDs and BCPs.</t>
<t>Add <<x:ref>relref</x:ref>> to allow referencing specific sections or anchors in references.</t>
<t>Add <<x:ref>link</x:ref>> to point to a resource related to the RFC.</t>
<t>Add <<x:ref>br</x:ref>> to allow line breaks (but not blank lines) in the generated output
for table cells.</t>
<t>Add <<x:ref>svg</x:ref>> to allow easy inclusion of SVG drawings in <<x:ref>artwork</x:ref>>.</t>
</list></t>
</section>
<section title="New Attributes for Existing Elements">
<t><list style="symbols">
<t>Add "sortRefs", "symRefs", "tocDepth", and "tocInclude" attributes to <<x:ref>rfc</x:ref>>
to cover Processing Instructions (PIs) that were in v2 that are still needed in the grammar.
Add "prepTime" to indicate the time that the XML went through a preparation step.
Add "version" to indicate the version of xml2rfc vocabulary used in the document.
Add "scripts" to indicate which scripts are needed to render the document.
Add "expiresDate" when an Internet-Draft expires.
</t>
<t>Add "ascii" attributes to <<x:ref>email</x:ref>>,
<<x:ref>organization</x:ref>>, <<x:ref>street</x:ref>>,
<<x:ref>city</x:ref>>, <<x:ref>region</x:ref>>, <<x:ref>country</x:ref>>, and <<x:ref>code</x:ref>>.
Also add "asciiFullname", "asciiInitials", and "asciiSurname" to <<x:ref>author</x:ref>>.
This allows an author to specify their information in their native scripts as the primary
entry and still allow the ASCII-equivalent values to appear in the processed documents.</t>
<t>Add "anchor" attributes to many block elements to allow them to be linked with
<<x:ref>relref</x:ref>> and <<x:ref>xref</x:ref>>.</t>
<t>Add the "section", "relative", and "sectionFormat" attributes to <<x:ref>xref</x:ref>>.</t>
<t>Add the "numbered" and "removeInRFC" attributes to <<x:ref>section</x:ref>>.</t>
<t>Add the "removeInRFC" attribute to <<x:ref>note</x:ref>>.</t>
<t>Add "pn" to <<x:ref>artwork</x:ref>>,
<<x:ref>aside</x:ref>>, <<x:ref>blockquote</x:ref>>, <<x:ref>boilerplate</x:ref>>,<<x:ref>dt</x:ref>>,
<<x:ref>figure</x:ref>>, <<x:ref>iref</x:ref>>, <<x:ref>li</x:ref>>, <<x:ref>references</x:ref>>, <<x:ref>section</x:ref>>,
<<x:ref>sourcecode</x:ref>>, <<x:ref>t</x:ref>>,
and <<x:ref>table</x:ref>> to hold automatically generated
numbers for items in a section that don't have their own numbering (namely figures and tables).</t>
<t>Add "display" to <<x:ref>cref</x:ref>> to indicate to tools whether or not
to display the comment.</t>
<t>Add "keepWithNext" and "keepWithPrevious" to <<x:ref>t</x:ref>> as a hint to tools that
do pagination that they should try to keep the paragraph with the next/previous element.</t>
</list></t>
</section>
<section title="Elements and Attributes Deprecated from v2" anchor="deprecated_features">
<t>Deprecated elements and attributes are legacy vocabulary from v2 that are supported for input
to v3 tools. They are likely to be removed from those tools in the future.
Instead of being listed in <xref target="elements"/>, they are listed in <xref target="deprecatedelements"/>.
See <xref target="tools"/> for more information on tools and how they will handle
deprecated features.</t>
<t><list style="symbols">
<t>Deprecate <<x:ref>list</x:ref>> in favor of <<x:ref>dl</x:ref>>, <<x:ref>ul</x:ref>>,
and <<x:ref>ol</x:ref>>.</t>
<t>Deprecate <<x:ref>spanx</x:ref>>; replace it with <<x:ref>strong</x:ref>>,
<<x:ref>em</x:ref>>,
and <<x:ref>tt</x:ref>>.</t>
<t>Deprecate <<x:ref>vspace</x:ref>> because the major use for it,
creating pseudo-paragraph-breaks in lists, is now handled properly.</t>
<t>Deprecate <<x:ref>texttable</x:ref>>, <<x:ref>ttcol</x:ref>>, and <<x:ref>c</x:ref>>;
replace them with the new table elements (<<x:ref>table</x:ref>> and the elements that can be
contained within it).</t>
<t>Deprecate <<x:ref>facsimile</x:ref>> because it is rarely used.</t>
<t>Deprecate <<x:ref>format</x:ref>> because it is not useful and has caused surprise for authors in the past.
If the goal is to provide a single URI (Uniform Resource Identifier) for
a reference, use the "target" attribute on <<x:ref>reference</x:ref>> instead.</t>
<t>Deprecate <<x:ref>preamble</x:ref>> and <<x:ref>postamble</x:ref>> in favor of
simply using <<x:ref>t</x:ref>> before or after the figure. This also deprecates the "align" attribute in
<<x:ref>figure</x:ref>>.</t>
<t>Deprecate the "title" attribute in <<x:ref>section</x:ref>>, <<x:ref>note</x:ref>>,
<<x:ref>figure</x:ref>>, <<x:ref>references</x:ref>>, and
<<x:ref>texttable</x:ref>> in favor of the new <<x:ref>name</x:ref>>.</t>
<t>Deprecate the "alt", and "src" attributes in <<x:ref>figure</x:ref>>
because they overlap with the attributes in <<x:ref>artwork</x:ref>>.</t>
<t>Deprecate the "xml:space" attribute in <<x:ref>artwork</x:ref>> because there was only one useful value.
Deprecate "height" and "width" attribute in both <<x:ref>artwork</x:ref>> and <<x:ref>figure</x:ref>>
because they are not needed for the new output formats.</t>
<t>Deprecate the "pageno" attribute in <<x:ref>xref</x:ref>> because it was unused in v2.
Deprecate the "none" values for the "format" attribute in <<x:ref>xref</x:ref>>
because it makes no sense semantically.</t>
</list></t>
</section>
<section title="Additional Changes from v2">
<t><list style="symbols">
<t>Allow non-ASCII characters in the format; the characters that are actually allowed will
be determined by the RFC Series Editor.</t>
<t>Allow <<x:ref>artwork</x:ref>> and <<x:ref>sourcecode</x:ref>> to be used on
their own in <<x:ref>section</x:ref>>
(no longer confine them to a figure).</t>
<t>Give more specifics of handling the "type" attribute in <<x:ref>artwork</x:ref>>.</t>
<t>Allow <<x:ref>strong</x:ref>>, <<x:ref>em</x:ref>>,
<<x:ref>tt</x:ref>>, <<x:ref>eref</x:ref>>, and
<<x:ref>xref</x:ref>> in <<x:ref>cref</x:ref>>.</t>
<t>Allow the sub-elements inside a <<x:ref>reference</x:ref>> to be in any order.</t>
<t>Turned off the autogeneration of anchors in <<x:ref>cref</x:ref>> because there is
no use case for them that cannot be achieved in other ways.</t>
<t>Allow more than one <<x:ref>artwork</x:ref>>, or more than one
<<x:ref>sourcecode</x:ref>>, in <<x:ref>figure</x:ref>>.</t>
<t>In <<x:ref>front</x:ref>>, make <<x:ref>date</x:ref>> optional.</t>
<t>In <<x:ref>date</x:ref>>, added restrictions to the "date" and "year" attribute
when used in the <<x:ref>front</x:ref>> for the document's boilerplate text.</t>
<t>In <<x:ref>postal</x:ref>>, allow the sub-elements to be in any order. Also allow the inclusion
of the new <<x:ref>postalLine</x:ref>> instead of the older elements.</t>
<t>In <<x:ref>section</x:ref>>, restricted the names of the anchors that can be used on
some types of sections.</t>
<t>Made <<x:ref>seriesInfo</x:ref>> a child of <<x:ref>front</x:ref>>,
and deprecated it as a child of <<x:ref>reference</x:ref>>. This also
deprecates some of the attributes from <<x:ref>rfc</x:ref>> and moves
them into <<x:ref>seriesInfo</x:ref>>.</t>
<t><<x:ref>t</x:ref>> now only contains non-block elements, so it no longer contains
<<x:ref>figure</x:ref>> elements.</t>
<t>Do not generate the grammar from a DTD, but instead get it directly from the Relax Next Generation (RNG) grammar
<xref target="RNG"/>.</t>
</list></t>
</section>
</section>
<section title="Syntax Notation" anchor="syntax.notation">
<t>
The XML vocabulary here is defined in prose, based on the Relax NG schema
(<xref target="RNC"/>) contained in <xref target="schema"/> (specified in
Relax NG Compact Notation, (RNC)).
</t>
<t>
Note that the schema can be used for automated validity
checks, but certain constraints are only described in prose (example:
the conditionally required presence of the "abbrev" attribute).
</t>
</section>
</section>
<section xmlns:x="http://purl.org/net/xml2rfc/ext" title="Elements" anchor="elements">
<t>
The sections below describe all elements and their attributes.
</t>
<t>
Note that attributes not labeled "mandatory" are optional.
</t>
<t>
Many elements have an optional "anchor" attribute. In all cases, the value of the "anchor"
attribute needs to be a valid XML "Name" (<xref target="XML" x:fmt="of" x:sec="2.3"
x:rel="#sec-common-syn"/>),
additionally constrained to US-ASCII characters (<xref target="USASCII"/>). Thus, the character repertoire consists of
"A-Z", "a-z", "0-9", "_", "-", ".", and ":", where "0-9", ".", and "-" are disallowed as start characters.
Anchors are described in more detail in <xref target="anchorsandids"/>.
</t>
<t>
Tools interpreting the XML described here will collapse horizontal whitespace and line breaks to a
single whitespace (except inside <<x:ref>artwork</x:ref>> and
<<x:ref>sourcecode</x:ref>>), and will trim leading and trailing whitespace.
Tab characters (U+0009) inside <<x:ref>artwork</x:ref>> and <<x:ref>sourcecode</x:ref>> are
prohibited.
</t>
<t>
Some of the elements have attributes that are not described in this section because those attributes
are specific to the prep tool. People writing tools to process this format should read all of
the appendices for a complete description of these attributes.
</t>
<t>
Every element in the v3 vocabulary can have an "xml:lang" attribute, an "xml:base" attribute, or
both. The xml:lang attribute specifies the language used in the element. This is sometimes useful
for renderers which display different fonts for ideographic characters used in China and Japan.
The xml:base attribute is sometimes added to an XML file when doing XML-to-XML conversion where the
base file has XInclude atttributes (see <xref target="includingexternal"/>).
</t>
<?BEGININC xml2rfcv3-spec.xml ?>
<!--THIS IS AN AUTOGENERATED FILE. DO NOT EDIT!-->
<!--abstract--><section xmlns:x="http://purl.org/net/xml2rfc/ext" anchor="element.abstract">
<name>
<tt><abstract></tt>
</name>
<x:anchor-alias value="abstract"/>
<iref item="Elements" subitem="abstract" primary="true"/>
<iref item="abstract element" primary="true"/>
<t>
Contains the Abstract of the document.
See <xref target="RFC7322"/> for more information on restrictions for the Abstract.
</t>
<t><!--AG-->This element appears as a child element of <<x:ref>front</x:ref>> (<xref target="element.front"/>).</t>
<t anchor="element.abstract.contents"><!--AG-->
<xref format="none" target="grammar.abstract">Content model</xref>:
</t>
<t><!--AG-->In any order, but at least one of:</t>
<ul><!--AG-->
<li><!--AG-->
<iref item="Elements" subitem="dl"/>
<iref item="dl element" subitem="inside abstract"/><<x:ref>dl</x:ref>> elements (<xref target="element.dl"/>)</li>
<li><!--AG-->
<iref item="Elements" subitem="ol"/>
<iref item="ol element" subitem="inside abstract"/><<x:ref>ol</x:ref>> elements (<xref target="element.ol"/>)</li>
<li><!--AG-->
<iref item="Elements" subitem="t"/>
<iref item="t element" subitem="inside abstract"/><<x:ref>t</x:ref>> elements (<xref target="element.t"/>)</li>
<li><!--AG-->
<iref item="Elements" subitem="ul"/>
<iref item="ul element" subitem="inside abstract"/><<x:ref>ul</x:ref>> elements (<xref target="element.ul"/>)</li>
</ul>
<!--abstract/@anchor-->
<section anchor="element.abstract.attribute.anchor" toc="exclude">
<name>"anchor" Attribute</name>
<iref item="Attributes" subitem="anchor"/>
<iref item="abstract element" subitem="anchor attribute"/>
<iref item="anchor attribute" subitem="in abstract element"/>
<t>
Document-wide unique identifier for the Abstract.
</t>
</section>
</section>
<!--address-->
<section xmlns:x="http://purl.org/net/xml2rfc/ext" anchor="element.address">
<name>
<tt><address></tt>
</name>
<x:anchor-alias value="address"/>
<iref item="Elements" subitem="address" primary="true"/>
<iref item="address element" primary="true"/>
<t>
Provides address information for the author.
</t>
<t><!--AG-->This element appears as a child element of <<x:ref>author</x:ref>> (<xref target="element.author"/>).</t>
<t anchor="element.address.contents"><!--AG-->
<xref format="none" target="grammar.address">Content model</xref>:</t>
<t><!--AG-->In this order:</t>
<ol><!--AG-->
<li><!--AG-->
<iref item="Elements" subitem="postal"/>
<iref item="postal element" subitem="inside address"/>One optional <<x:ref>postal</x:ref>> element (<xref target="element.postal"/>)</li>
<li><!--AG-->
<iref item="Elements" subitem="phone"/>
<iref item="phone element" subitem="inside address"/>One optional <<x:ref>phone</x:ref>> element (<xref target="element.phone"/>)</li>
<li><!--AG-->
<iref item="Elements" subitem="facsimile"/>
<iref item="facsimile element" subitem="inside address"/>One optional <<x:ref>facsimile</x:ref>> element (<xref target="element.facsimile"/>)</li>
<li><!--AG-->
<iref item="Elements" subitem="email"/>
<iref item="email element" subitem="inside address"/>One optional <<x:ref>email</x:ref>> element (<xref target="element.email"/>)</li>
<li><!--AG-->
<iref item="Elements" subitem="uri"/>
<iref item="uri element" subitem="inside address"/>One optional <<x:ref>uri</x:ref>> element (<xref target="element.uri"/>)</li>
</ol>
</section>
<!--annotation-->
<section xmlns:x="http://purl.org/net/xml2rfc/ext" anchor="element.annotation">
<name>
<tt><annotation></tt>
</name>
<x:anchor-alias value="annotation"/>
<iref item="Elements" subitem="annotation" primary="true"/>
<iref item="annotation element" primary="true"/>
<t>
Provides additional prose augmenting a bibliographical reference.
This text is intended to be shown after the rest of the generated reference text.
</t>
<t><!--AG-->This element appears as a child element of <<x:ref>reference</x:ref>> (<xref target="element.reference"/>).</t>
<t anchor="element.annotation.contents"><!--AG-->
<xref format="none" target="grammar.annotation">Content model</xref>:
</t>
<t><!--AG-->In any order:</t>
<ul><!--AG-->
<li><!--AG-->Text</li>
<li><!--AG-->
<iref item="Elements" subitem="bcp14"/>
<iref item="bcp14 element" subitem="inside annotation"/><<x:ref>bcp14</x:ref>> elements (<xref target="element.bcp14"/>)</li>
<li><!--AG-->
<iref item="Elements" subitem="cref"/>
<iref item="cref element" subitem="inside annotation"/><<x:ref>cref</x:ref>> elements (<xref target="element.cref"/>)</li>
<li><!--AG-->
<iref item="Elements" subitem="em"/>
<iref item="em element" subitem="inside annotation"/><<x:ref>em</x:ref>> elements (<xref target="element.em"/>)</li>
<li><!--AG-->
<iref item="Elements" subitem="eref"/>
<iref item="eref element" subitem="inside annotation"/><<x:ref>eref</x:ref>> elements (<xref target="element.eref"/>)</li>
<li><!--AG-->
<iref item="Elements" subitem="iref"/>
<iref item="iref element" subitem="inside annotation"/><<x:ref>iref</x:ref>> elements (<xref target="element.iref"/>)</li>
<li><!--AG-->
<iref item="Elements" subitem="relref"/>
<iref item="relref element" subitem="inside annotation"/><<x:ref>relref</x:ref>> elements (<xref target="element.relref"/>)</li>
<li><!--AG-->
<iref item="Elements" subitem="spanx"/>
<iref item="spanx element" subitem="inside annotation"/><<x:ref>spanx</x:ref>> elements (<xref target="element.spanx"/>)</li>
<li><!--AG-->
<iref item="Elements" subitem="strong"/>
<iref item="strong element" subitem="inside annotation"/><<x:ref>strong</x:ref>> elements (<xref target="element.strong"/>)</li>
<li><!--AG-->
<iref item="Elements" subitem="sub"/>
<iref item="sub element" subitem="inside annotation"/><<x:ref>sub</x:ref>> elements (<xref target="element.sub"/>)</li>
<li><!--AG-->
<iref item="Elements" subitem="sup"/>
<iref item="sup element" subitem="inside annotation"/><<x:ref>sup</x:ref>> elements (<xref target="element.sup"/>)</li>
<li><!--AG-->
<iref item="Elements" subitem="tt"/>
<iref item="tt element" subitem="inside annotation"/><<x:ref>tt</x:ref>> elements (<xref target="element.tt"/>)</li>
<li><!--AG-->
<iref item="Elements" subitem="xref"/>
<iref item="xref element" subitem="inside annotation"/><<x:ref>xref</x:ref>> elements (<xref target="element.xref"/>)</li>
</ul>
</section>
<!--area-->
<section xmlns:x="http://purl.org/net/xml2rfc/ext" anchor="element.area">
<name>
<tt><area></tt>
</name>
<x:anchor-alias value="area"/>
<iref item="Elements" subitem="area" primary="true"/>
<iref item="area element" primary="true"/>
<t>
Provides information about the IETF area to which this document relates
(currently not used when generating documents).
</t>
<t>
The value ought to be either the full name or the abbreviation of one of
the IETF areas as listed on <eref target="http://www.ietf.org/iesg/area.html"/>.
The list will be kept by the RFC Series Editor.
</t>
<t><!--AG-->This element appears as a child element of <<x:ref>front</x:ref>> (<xref target="element.front"/>).</t>
<t anchor="element.area.contents"><!--AG-->
<xref format="none" target="grammar.area">Content model</xref>: only text content.</t>
</section>
<!--artwork-->
<section xmlns:x="http://purl.org/net/xml2rfc/ext" anchor="element.artwork">
<name>
<tt><artwork></tt>
</name>
<x:anchor-alias value="artwork"/>
<iref item="Elements" subitem="artwork" primary="true"/>
<iref item="artwork element" primary="true"/>
<t>
This element allows the inclusion of "artwork" in the document.
<artwork> provides
full control of horizontal whitespace and line breaks; thus is
used for a variety of things, such as diagrams ("line art") and protocol unit diagrams.
Tab characters (U+0009) inside of this element are prohibited.
</t>
<t>
Alternatively, the "src" attribute allows referencing an external graphics
file, such as a vector drawing in SVG or a bitmap graphic file, using a URI. In this case, the textual
content acts as a fallback for output representations that do not support graphics;
thus, it ought to contain either (1) a "line art" variant of the graphics or (2)
prose that describes the included image in sufficient detail.
</t>
<t>
In <xref target="RFC7749"/>, the <artwork> element was also used for source code and formal
languages; in v3, this is now done with <<x:ref>sourcecode</x:ref>>.
</t>
<t>
There are at least five ways to include SVG in artwork in Internet-Drafts:
<list style="symbols">
<t>Inline, by including all of the SVG in the content of the element,
such as: <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" ..."></t>
<t>Inline, but using XInclude (see <xref target="includingexternal"/>),
such as: <artwork type="svg"><xi:include href=...></t>
<t>As a data: URI, such as: <artwork type="svg"
src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3..."></t>
<t>As a URI to an external entity, such as: <artwork type="svg" src="http://www.example.com/..."></t>
<t>As a local file, such as: <artwork type="svg" src="diagram12.svg"></t>
</list>
The use of SVG in Internet-Drafts and RFCs is covered in much more detail in
<xref target="SVGforRFCs"/>.
</t>
<t>
The above methods for inclusion of SVG art can also be used for including text artwork, but using a data: URI is probably
confusing for text artwork.
</t>
<t>
Formatters that do pagination should attempt to keep artwork on a single page. This is to prevent
artwork that is split across pages from looking like two separate pieces of artwork.
</t>
<t>
See <xref target="cdata.and.escaping"/> for a description of to deal with issues of using
"&" and "<" characters in artwork.
</t>
<t><!--AG-->This element appears as a child element of <<x:ref>aside</x:ref>> (<xref target="element.aside"/>), <<x:ref>blockquote</x:ref>> (<xref target="element.blockquote"/>), <<x:ref>dd</x:ref>> (<xref target="element.dd"/>), <<x:ref>figure</x:ref>> (<xref target="element.figure"/>), <<x:ref>li</x:ref>> (<xref target="element.li"/>), <<x:ref>section</x:ref>> (<xref target="element.section"/>), <<x:ref>td</x:ref>> (<xref target="element.td"/>), and <<x:ref>th</x:ref>> (<xref target="element.th"/>).</t>
<t anchor="element.artwork.contents"><!--AG-->
<xref format="none" target="grammar.artwork">Content model</xref>:
</t>
<t><!--AG-->Either:</t>
<ul empty="true"><!--AG-->
<li><!--AG-->Text</li>
</ul>
<t><!--AG-->Or:</t>
<ul empty="true"><!--AG-->
<li><!--AG-->
<iref item="Elements" subitem="svg"/>
<iref item="svg element" subitem="inside artwork"/><<x:ref>svg</x:ref>> elements (<xref target="element.svg"/>)</li>
</ul>
<!--artwork/@align-->
<section anchor="element.artwork.attribute.align" toc="exclude">
<name>"align" Attribute</name>
<iref item="Attributes" subitem="align"/>
<iref item="artwork element" subitem="align attribute"/>
<iref item="align attribute" subitem="in artwork element"/>
<t>
Controls whether the artwork appears left justified (default), centered,
or right justified.
Artwork is aligned relative to left margin of document.
</t>
<t><!--AG-->Allowed values:</t>
<ul><!--AG-->
<li>"left" (default)</li>
<li>"center"</li>
<li>"right"</li>
</ul>
</section>
<!--artwork/@alt-->
<section anchor="element.artwork.attribute.alt" toc="exclude">
<name>"alt" Attribute</name>
<iref item="Attributes" subitem="alt"/>
<iref item="artwork element" subitem="alt attribute"/>
<iref item="alt attribute" subitem="in artwork element"/>
<t>
Alternative text description of the artwork (which is more than just a summary or caption).
When the art comes from the "src" attribute,
and the format of that artwork supports alternate text,
the alternative text comes from the text of the artwork itself, not from this attribute.
The contents of this attribute are important to readers who are visually impaired, as well as
those reading on devices that cannot show the artwork well, or at all.
</t>
</section>
<!--artwork/@anchor-->
<section anchor="element.artwork.attribute.anchor" toc="exclude">
<name>"anchor" Attribute</name>
<iref item="Attributes" subitem="anchor"/>
<iref item="artwork element" subitem="anchor attribute"/>
<iref item="anchor attribute" subitem="in artwork element"/>
<t>
Document-wide unique identifier for this artwork.
</t>
</section>
<!--artwork/@height-->
<section anchor="element.artwork.attribute.height" toc="exclude">
<name>"height" Attribute</name>
<iref item="Attributes" subitem="height"/>
<iref item="artwork element" subitem="height attribute"/>
<iref item="height attribute" subitem="in artwork element"/>
<t>
Deprecated.
</t>
</section>
<!--artwork/@name-->
<section anchor="element.artwork.attribute.name" toc="exclude">
<name>"name" Attribute</name>
<iref item="Attributes" subitem="name"/>
<iref item="artwork element" subitem="name attribute"/>
<iref item="name attribute" subitem="in artwork element"/>
<t>
A filename suitable for the contents (such as for extraction to a local file).
This attribute can
be helpful for other kinds of tools (such as automated syntax checkers,
which work by extracting the artwork).
Note that the "name" attribute does not need to be unique for artwork elements in a
document. If multiple artwork elements have the same name attribute, a processing tool might
assume that the elements are all fragments of a single file, and the tool can
collect those fragments for later processing.
See <xref target="security.considerations"/> for a discussion of possible problems with the value of this attribute.
</t>
</section>
<!--artwork/@src-->
<section anchor="element.artwork.attribute.src" toc="exclude">
<name>"src" Attribute</name>
<iref item="Attributes" subitem="src"/>
<iref item="artwork element" subitem="src attribute"/>
<iref item="src attribute" subitem="in artwork element"/>
<t>
The URI reference of a graphics file (<xref target="RFC3986"/>), or the name of a file on the local disk.
This can be a "data" URI <xref target="RFC2397"/> that contains the contents of the graphics file.
Note that the inclusion of art with the "src" attribute depends on the capabilities of the processing tool
reading the XML document. Tools need to be able to handle the file: URI, and should
be able to handle http: and https: URIs as well. The prep tool will be able to handle reading the "src" attribute.
</t>
<t>
If no URI scheme is given in the attribute, the attribute is considered to be a local file name
relative to the current directory.
Processing tools must be careful to not accept dangerous values for the filename, particularly those that contain
absolute references outside the current directory.
Document creators should think hard before using relative URIs due to possible later problems if files move
around on the disk. Also, documents should most likely use explicit URI schemes wherever possible.
</t>
<t>
In some cases, the prep tool may remove the "src" attribute after processing its value.
See <xref target="PREPTOOL"/> for a description of this.
</t>
<t>
It is an error to have both a "src" attribute and content in the <artwork> element.
</t>
</section>
<!--artwork/@type-->
<section anchor="element.artwork.attribute.type" toc="exclude">
<name>"type" Attribute</name>
<iref item="Attributes" subitem="type"/>
<iref item="artwork element" subitem="type attribute"/>
<iref item="type attribute" subitem="in artwork element"/>
<t>
Specifies the type of the artwork. The value of this attribute is free text with
certain values designated as preferred.
</t>
<t>
The preferred values for <artwork> types are:
<list style="symbols">
<t>ascii-art</t>
<t>binary-art</t>
<t>call-flow</t>
<t>hex-dump</t>
<t>svg</t>
</list>
The RFC Series Editor will maintain a complete list of the preferred values on its
web site, and that list is expected to be updated over time. Thus, a consumer
of v3 XML should not cause a failure when it encounters an unexpected type or no type is specified.
The table will also indicate which type of art can appear in plaintext output (for example, type="svg" cannot).
</t>
</section>
<!--artwork/@width-->
<section anchor="element.artwork.attribute.width" toc="exclude">
<name>"width" Attribute</name>
<iref item="Attributes" subitem="width"/>
<iref item="artwork element" subitem="width attribute"/>
<iref item="width attribute" subitem="in artwork element"/>
<t>
Deprecated.
</t>
</section>
<!--artwork/@xml:space-->
<section anchor="element.artwork.attribute.xml-space" toc="exclude">
<name>"xml:space" Attribute</name>
<iref item="Attributes" subitem="xml:space"/>
<iref item="artwork element" subitem="xml:space attribute"/>
<iref item="xml:space attribute" subitem="in artwork element"/>
<t>
Deprecated.
</t>
</section>
</section>
<!--aside-->
<section xmlns:x="http://purl.org/net/xml2rfc/ext" anchor="element.aside">
<name>
<tt><aside></tt>
</name>
<x:anchor-alias value="aside"/>
<iref item="Elements" subitem="aside" primary="true"/>
<iref item="aside element" primary="true"/>
<t>
This element is a container for content that is semantically less important or tangential
to the content that surrounds it.
</t>
<t><!--AG-->This element appears as a child element of <<x:ref>section</x:ref>> (<xref target="element.section"/>).</t>
<t anchor="element.aside.contents"><!--AG-->
<xref format="none" target="grammar.aside">Content model</xref>:
</t>
<t><!--AG-->In any order:</t>
<ul><!--AG-->
<li><!--AG-->
<iref item="Elements" subitem="artwork"/>
<iref item="artwork element" subitem="inside aside"/><<x:ref>artwork</x:ref>> elements (<xref target="element.artwork"/>)</li>
<li><!--AG-->
<iref item="Elements" subitem="dl"/>
<iref item="dl element" subitem="inside aside"/><<x:ref>dl</x:ref>> elements (<xref target="element.dl"/>)</li>
<li><!--AG-->
<iref item="Elements" subitem="figure"/>
<iref item="figure element" subitem="inside aside"/><<x:ref>figure</x:ref>> elements (<xref target="element.figure"/>)</li>
<li><!--AG-->
<iref item="Elements" subitem="iref"/>
<iref item="iref element" subitem="inside aside"/><<x:ref>iref</x:ref>> elements (<xref target="element.iref"/>)</li>
<li><!--AG-->
<iref item="Elements" subitem="list"/>
<iref item="list element" subitem="inside aside"/><<x:ref>list</x:ref>> elements (<xref target="element.list"/>)</li>
<li><!--AG-->
<iref item="Elements" subitem="ol"/>
<iref item="ol element" subitem="inside aside"/><<x:ref>ol</x:ref>> elements (<xref target="element.ol"/>)</li>
<li><!--AG-->
<iref item="Elements" subitem="t"/>
<iref item="t element" subitem="inside aside"/><<x:ref>t</x:ref>> elements (<xref target="element.t"/>)</li>
<li><!--AG-->
<iref item="Elements" subitem="table"/>
<iref item="table element" subitem="inside aside"/><<x:ref>table</x:ref>> elements (<xref target="element.table"/>)</li>
<li><!--AG-->
<iref item="Elements" subitem="ul"/>
<iref item="ul element" subitem="inside aside"/><<x:ref>ul</x:ref>> elements (<xref target="element.ul"/>)</li>
</ul>
<!--aside/@anchor-->
<section anchor="element.aside.attribute.anchor" toc="exclude">
<name>"anchor" Attribute</name>
<iref item="Attributes" subitem="anchor"/>
<iref item="aside element" subitem="anchor attribute"/>
<iref item="anchor attribute" subitem="in aside element"/>
<t>
Document-wide unique identifier for this aside.
</t>
</section>
</section>
<!--author-->
<section xmlns:x="http://purl.org/net/xml2rfc/ext" anchor="element.author">
<name>
<tt><author></tt>
</name>
<x:anchor-alias value="author"/>
<iref item="Elements" subitem="author" primary="true"/>
<iref item="author element" primary="true"/>
<t>
Provides information about a document's author. This is used both for
the document itself (at the beginning of the document) and for
referenced documents.
</t>
<t>
The <author> elements contained within the document's <front> element
are used to fill the boilerplate, and also to generate the "Author's Address"
section (see <xref target="RFC7322"/>).
</t>
<t>
Note that an "author" can also be just an organization (by not specifying any
of the name attributes, but adding the <<x:ref>organization</x:ref>>
child element).
</t>
<t>
Furthermore, the "role" attribute can be used to mark an author as
"editor". This is reflected both on the front page and in the "Author's Address" section, as well as in bibliographical
references. Note that this specification does not define a precise
meaning for the term "editor".
</t>
<t>
See Section "Authors vs. Contributors" of <xref target="RFC7322"/>
for more information.
</t>
<t><!--AG-->This element appears as a child element of <<x:ref>front</x:ref>> (<xref target="element.front"/>).</t>
<t anchor="element.author.contents"><!--AG-->
<xref format="none" target="grammar.author">Content model</xref>:</t>
<t><!--AG-->In this order:</t>
<ol><!--AG-->
<li><!--AG-->
<iref item="Elements" subitem="organization"/>
<iref item="organization element" subitem="inside author"/>One optional <<x:ref>organization</x:ref>> element (<xref target="element.organization"/>)</li>
<li><!--AG-->
<iref item="Elements" subitem="address"/>
<iref item="address element" subitem="inside author"/>One optional <<x:ref>address</x:ref>> element (<xref target="element.address"/>)</li>
</ol>
<!--author/@asciiFullname-->
<section anchor="element.author.attribute.asciiFullname" toc="exclude">
<name>"asciiFullname" Attribute</name>
<iref item="Attributes" subitem="asciiFullname"/>
<iref item="author element" subitem="asciiFullname attribute"/>
<iref item="asciiFullname attribute" subitem="in author element"/>
<t>
The ASCII equivalent of the author's full name.
</t>
</section>
<!--author/@asciiInitials-->
<section anchor="element.author.attribute.asciiInitials" toc="exclude">
<name>"asciiInitials" Attribute</name>
<iref item="Attributes" subitem="asciiInitials"/>
<iref item="author element" subitem="asciiInitials attribute"/>
<iref item="asciiInitials attribute" subitem="in author element"/>
<t>
The ASCII equivalent of the author's initials, to be used in conjunction with the separately specified asciiSurname.
</t>
</section>
<!--author/@asciiSurname-->
<section anchor="element.author.attribute.asciiSurname" toc="exclude">
<name>"asciiSurname" Attribute</name>
<iref item="Attributes" subitem="asciiSurname"/>
<iref item="author element" subitem="asciiSurname attribute"/>
<iref item="asciiSurname attribute" subitem="in author element"/>
<t>
The ASCII equivalent of the author's surname, to be used in conjunction with the separately specified asciiInitials.
</t>
</section>
<!--author/@fullname-->
<section anchor="element.author.attribute.fullname" toc="exclude">
<name>"fullname" Attribute</name>
<iref item="Attributes" subitem="fullname"/>
<iref item="author element" subitem="fullname attribute"/>
<iref item="fullname attribute" subitem="in author element"/>
<t>
The full name (used in the automatically generated "Author's Address" section).
Although this attribute is optional, if one or more of the "asciiFullname", "asciiInitials",
or "asciiSurname" attributes have values, the "fullname" attribute is required.
</t>
</section>
<!--author/@initials-->
<section anchor="element.author.attribute.initials" toc="exclude">
<name>"initials" Attribute</name>
<iref item="Attributes" subitem="initials"/>
<iref item="author element" subitem="initials attribute"/>
<iref item="initials attribute" subitem="in author element"/>
<t>
An abbreviated variant of the given name(s), to be used in conjunction
with the separately specified surname. It usually appears on the front
page, in footers, and in references.
</t>
<t>
Some processors will post-process the value, for instance when it only
contains a single letter (in which case they might add a trailing dot).
Relying on this kind of post-processing can lead to results varying
across formatters and thus ought to be avoided.
</t>
</section>
<!--author/@role-->
<section anchor="element.author.attribute.role" toc="exclude">
<name>"role" Attribute</name>
<iref item="Attributes" subitem="role"/>
<iref item="author element" subitem="role attribute"/>
<iref item="role attribute" subitem="in author element"/>
<t>
Specifies the role the author had in creating the document.
</t>
<t><!--AG-->Allowed values:</t>
<ul><!--AG-->