## 1. Lists

### 1.1. hanging list

#### 1.1.1. default

default ¶

A:
  The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
AB:
  The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
ABC:
  The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
ABCD:
  The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
ABCDE:
  The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
ABCDEF:
  The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.

compact="yes" ¶

A:
  The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
AB:
  The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
ABC:
  The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
ABCD:
  The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
ABCDE:
  The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
ABCDEF:
  The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.

compact="yes" subcompact="yes" ¶

A:
  The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
AB:
  The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
ABC:
  The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
ABCD:
  The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
ABCDE:
  The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
ABCDEF:
  The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.

compact="yes" subcompact="no" ¶

A:
  The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
AB:
  The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
ABC:
  The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
ABCD:
  The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
ABCDE:
  The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
ABCDEF:
  The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.

compact="no" subcompact="yes" ¶

A:
  The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
AB:
  The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
ABC:
  The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
ABCD:
  The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
ABCDE:
  The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
ABCDEF:
  The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.

compact="no" subcompact="no" ¶

A:
  The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
AB:
  The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
ABC:
  The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
ABCD:
  The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
ABCDE:
  The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
ABCDEF:
  The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.

compact="no" subcompact="yes", empty entries ¶

A:
AB:
ABC:
ABCD:
ABCDE:

#### 1.1.2. hanging list with hangIndent 7

0
  0
01
  01
012
  012
0123
  0123
01234
  01234
012345
  012345
0123456
  0123456
01234567
  01234567
012345678
  012345678
0123456789
  0123456789

#### 1.1.3. hanging list with hangIndent 0

0
  0
01
  01
012
  012
0123
  0123
01234
  01234
012345
  012345
0123456
  0123456
01234567
  01234567
012345678
  012345678
0123456789
  0123456789

### 1.2. numbered list

A numbered list: ¶

1. one
2. two
3. three

### 1.3. ordered list (letters)

An ordered list using letters: ¶

1. one
2. two
3. three
4. one
5. two
6. three
7. one
8. two
9. three
10. one
11. two
12. three
13. one
14. two
15. three
16. one
17. two
18. three
19. one
20. two
21. three
22. one
23. two
24. three
25. one
26. two
27. three
28. one
29. two
30. three

### 1.4. no explicit counters

Example for numbered list with user-defined-format: ¶

R1:
  R1
R2:
  R2

Another list: ¶

S1:
  S1
S2:
  S2

Same with character-based numbering: ¶

c-a:
  c-a
c-b:
  c-b

### 1.5. with explicit counters

A few requirements: ¶

R1:
  req R1
R2:
  req R2

More requirements: ¶

R3:
  req R3
R4:
  req R4

A few rules: ¶

R1:
  rule R1
R2:
  rule R2
R3:
  rule R3

### 1.6. Nested lists

#### 1.6.1. numbers/letters

1. One
2. Two
   1. 17
   2. 42
3. Three

#### 1.6.2. numbers/numbers

1. One
2. Two
   1. 17
   2. 42
3. Three
4. 1. 17
   2. 42

#### 1.6.3. letters/letters

1. One
2. Two
   1. 17
   2. 42
3. Three

#### 1.6.4. letters/letters/letters

1. One
2. Two
   1. 17
   2. 42
      1. X
      2. Y
3. Three

#### 1.6.5. symbols/symbols/symbols

- One
- Two
  - 17
  - 42
    - X
    - Y
- Three

#### 1.6.6. hanging/hanging

ABC
  One
  GHI
    One
  JKL
    Two
DEF
  MNO
    Three
  PQR
    Four

### 1.7. list without style

No style attribute:¶

- One
- Two
- Three

### 1.8. list with multiple paragraphs in a single list item

1. Simple list item.

2. This one has two paragraphs. This is the first one.

   This one has two paragraphs. This is the second one.

3. Another simple list item.

### 1.9. style=format...

#### 1.9.1. lists with fancy formats: %c

a
  test

#### 1.9.2. lists with fancy formats: %C

A
  test

#### 1.9.3. lists with fancy formats: %d

1
  test

#### 1.9.4. lists with fancy formats: %i

i
  test

#### 1.9.5. lists with fancy formats: %I

I
  test

#### 1.9.6. lists with fancy formats: %o

  test

#### 1.9.7. lists with fancy formats: %x

  test

#### 1.9.8. lists with fancy formats: %X

  test

#### 1.9.9. lists with fancy formats: %% %d

% 1
  test

#### 1.9.10. lists with fancy formats: REQUIREMENT-%i plus hangIndent=20

REQUIREMENT-i
  test
REQUIREMENT-ii
  test
REQUIREMENT-iii
  test
REQUIREMENT-iv
  test
REQUIREMENT-v
  test
REQUIREMENT-vi
  test
REQUIREMENT-vii
  test
REQUIREMENT-viii
  test
REQUIREMENT-ix
  test
REQUIREMENT-x
  test
REQUIREMENT-xi
  test

#### 1.9.11. lists with fancy formats: %c.

a.
  test

#### 1.9.12. lists with fancy formats: %C.

A.
  test

#### 1.9.13. lists with fancy formats: %d.

1.
  test

#### 1.9.14. lists with fancy formats: %i.

i.
  test

#### 1.9.15. lists with fancy formats: %I.

I.
  test

### 1.10. style inheritance

Numbers:¶

1. test
2. test
3. test
4. Nested, without style:
   1. test
   2. test
   3. test

Symbols:¶

- test
- test
- test
- Nested, without style:
  - test
  - test
  - test

Letters:¶

1. test
2. test
3. test
4. Nested, without style:
   1. test
   2. test
   3. test

Empty:¶

- test
- test
- test
- Nested, without style:
  - test
  - test
  - test

### 1.11. v3 list extensions

#### 1.11.1. dl/spacing

regular dl¶

dt
  dd
dt
  dd

dl/spacing=normal¶

dt
  dd
dt
  dd

dl/spacing=compact¶

dt
  dd
dt
  dd

#### 1.11.2. ul/spacing

regular ul¶

- X
- Y

ul/spacing=normal¶

- X
- Y

ul/spacing=compact¶

- X
- Y

## 2. spanx

This is default.¶

This is emph(asized).¶

This is strong.¶

This is verb(atim).¶

Here is a carriage return inside a spanx element.¶

## 3. Tables

The list of valid keywords are:

keyword | default | meaning | not aligned
--- | --- | --- | ---
strict | no | try to enforce the ID-nits conventions and DTD validity | a
iprnotified | no | include boilerplate from Section 10.4(d) of [RFC2026] | bb bb
compact | no | when producing a txt/nroff file, try to conserve vertical whitespace | ccc ccc ccc
subcompact | compact | if compact is "yes", then setting this to "no" will make things a little less compact | dddd dddd dddd dddd
needLines | n/a | an integer hint indicating how many contiguous lines are needed at this point in the output | eeeee eeeee eeeee eeeee eeeee
here come empty cells |  |  |

Remember, that as with everything else in XML, keywords and values are case-sensitive.

### 3.1. no borders

The table below should appear with no borders.

Table 1: a table with no borders¶
C1 | C2
--- | ---
11 | 12
21 | 22

### 3.2. borders around headers

The table below should appear with borders just around the headers.

C1 | C2
--- | ---
11 | 12
21 | 22

### 3.3. example from xml2rc README

So, putting it all together, we have, e.g.,

Table 2¶
ttcol #1 | ttcol #2
--- | ---
c #1 | c #2
c #3 | c #4
c #5 | c #6

which is a very simple example.

### 3.4. no column titles

The table below should appear with no titles.

Table 3: a table with no column titles¶
11 | 12
21 | 22

The table below should appear with column titles (one being non-empty).

Table 4: a table with a single column title¶
FOO |
--- | ---
11 | 12
21 | 22

### 3.5. referencing tables

Table 1 shows a table with no borders.¶

The table above shows a table with no borders.¶

### 3.6. table captions

No anchor, no title

Anchor | Title
--- | ---
- | -

Anchor (not being referenced), no title

Table 5¶
Anchor | Title
--- | ---
yes | -

No anchor, with title

title¶
Anchor | Title
--- | ---
- | "title"

Both anchor and title

Table 6: title¶
Anchor | Title
--- | ---
yes | "title"

anchor, suppress-title, and in use

Anchor | Title
--- | ---
yes | -

Table above is: Table 7.¶

### 3.7. single column

title
1
2

### 3.8. empty body

title

### 3.9. table alignment

#### 3.9.1. left

left-aligned table¶
left
1

#### 3.9.2. center

centered table¶
center
1

#### 3.9.3. right

right-aligned table¶
right
1

#### 3.9.4. default

default-aligned table¶
default
1

## 4. Figures

### 4.1. with preamble, no title...

with preamble, no title...

      +--+
      |  |
      +--+

### 4.2. with postamble and title...

      +--+
      |  |
      +--+

with postamble and title...

Figure 2: another figure

The figure above has the title "another figure".¶

### 4.3. Whitespace handling

Para...¶

Leading whitespace

    test test (leading ws)

Para...¶

Trailing whitespace

    test test (trailing ws)

Para...¶

No whitespace

    test test (no ws)

Para...¶

### 4.4. Whitespace around figures

spacing paragraph¶

    ART

spacing paragraph¶

preamble, then

    ART

spacing paragraph¶

    ART

then postamble

spacing paragraph¶

### 4.5. data URIs

#### 4.5.1. data URI as source (both @alt and text content)

#### 4.5.2. data URI as source (only text content, no @alt)

#### 4.5.3. data URI as source (only @alt attribute)

### 4.6. alignment

#### 4.6.1. left

preamble

postamble

preamble

    FOO

postamble

#### 4.6.2. right

preamble

postamble

preamble

    FOO

postamble

#### 4.6.3. center

preamble

postamble

preamble

    FOO

postamble

#### 4.6.4. default

preamble

postamble

preamble

    FOO

postamble

### 4.7. artwork width/height

#### 4.7.1. width50%

#### 4.7.2. width50

#### 4.7.3. height50

#### 4.7.4. height30width60

### 4.8. figure/artwork attribute overlap

#### 4.8.1. src overlap

Both figure and artwork having @src:¶

Preamble...

#### 4.8.2. align overlap

figure/align=right, artwork/@align=center:¶

Preamble...

    TEST

Postamble...

Figure 25: title

#### 4.8.3. align inheritance

figure/align=right, artwork/@align not specified:¶

Preamble...

    TEST

Postamble...

Figure 26: title

### 4.9. titles/numbering

#### 4.9.1. just anchor

    FOO

Figure 27

#### 4.9.2. just anchor (with suppress)

    FOO

Above is Figure 28.¶

#### 4.9.3. just title

    FOO

Figure 29: figure title

#### 4.9.4. just title (with suppress)

    FOO

Figure 30: figure title

### 4.10. SVG

Inclusion of SVG:¶

### 4.11. Code Components

Marking up Code Components according to the Legal Provisions Relating to IETF Documents:¶

Using @x:is-code-component¶

    <CODE BEGINS>

    int main(int argc, char **argv) {
      return -1;
    }

    <CODE ENDS>

Using @markers¶

    <CODE BEGINS>

    int main(int argc, char **argv) {
      return -1;
    }

    <CODE ENDS>

Using @markers and @name¶

    <CODE BEGINS> file "abc.c"

    int main(int argc, char **argv) {
      return -1;
    }

    <CODE ENDS>

### 4.12. Line Folding

Marking up sourcecode using [RFC8792]:¶

Single \¶

    NOTE: '\' line wrapping per RFC 8792

    012345678901234567890123456789012345678901234567890123456789\
    01234567890123456789

or:¶

    NOTE: '\' line wrapping per RFC 8792

    012345678901234567890123456789012345678901234567890123456789\
          01234567890123456789

Double \¶

    NOTE: '\\' line wrapping per RFC 8792

    012345678901234567890123456789012345678901234567890123456789\
          \01234567890123456789

or (error case)¶

    NOTE: '\\' line wrapping per RFC 8792

    012345678901234567890123456789012345678901234567890123456789\
          01234567890123456789

### 4.13. inside <t>

    FOOBAR

## 5. xrefs

This section contains test cases for <xref/>, testing 9 different types of targets. Each target is tested for all possible values of the @format attribute, and for <xref/> elements with and without content. These tests were contributed by Erik Wilde. ¶

### 5.1. Tests for section-anchor

<xref target="section-anchor"/>: Section 5.11 ¶

<xref target="section-anchor">TEXT-CONTENT</xref>: TEXT-CONTENT (Section 5.11) ¶

<xref format="counter" target="section-anchor"/>: 5.11 ¶

<xref format="counter" target="section-anchor">TEXT-CONTENT</xref>: TEXT-CONTENT (5.11) ¶

<xref format="title" target="section-anchor"/>: Test Targets ¶

<xref format="title" target="section-anchor">TEXT-CONTENT</xref>: TEXT-CONTENT (Test Targets) ¶

<xref format="none" target="section-anchor"/>: ¶

<xref format="none" target="section-anchor">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

<xref format="default" target="section-anchor"/>: Section 5.11 ¶

<xref format="default" target="section-anchor">TEXT-CONTENT</xref>: TEXT-CONTENT (Section 5.11) ¶

### 5.2. Tests for t-anchor

<xref target="t-anchor"/>: Paragraph 2 ¶

<xref target="t-anchor">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

<xref format="counter" target="t-anchor"/>: 5.11.p.2 ¶

<xref format="counter" target="t-anchor">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

<xref format="title" target="t-anchor"/>: t-anchor ¶

<xref format="title" target="t-anchor">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

<xref format="none" target="t-anchor"/>: ¶

<xref format="none" target="t-anchor">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

<xref format="default" target="t-anchor"/>: Paragraph 2 ¶

<xref format="default" target="t-anchor">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

### 5.3. Tests for list-t-anchor-empty

<xref target="list-t-anchor-empty"/>: Paragraph 1 ¶

<xref target="list-t-anchor-empty">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

<xref format="counter" target="list-t-anchor-empty"/>: 5.11.p.1 ¶

<xref format="counter" target="list-t-anchor-empty">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

<xref format="title" target="list-t-anchor-empty"/>: list-t-anchor-empty ¶

<xref format="title" target="list-t-anchor-empty">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

<xref format="none" target="list-t-anchor-empty"/>: ¶

<xref format="none" target="list-t-anchor-empty">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

<xref format="default" target="list-t-anchor-empty"/>: Paragraph 1 ¶

<xref format="default" target="list-t-anchor-empty">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

### 5.4. Tests for list-t-anchor-numbers

<xref target="list-t-anchor-numbers"/>: Paragraph 1 ¶

<xref target="list-t-anchor-numbers">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

<xref format="counter" target="list-t-anchor-numbers"/>: 1 ¶

<xref format="counter" target="list-t-anchor-numbers">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

<xref format="title" target="list-t-anchor-numbers"/>: list-t-anchor-numbers ¶

<xref format="title" target="list-t-anchor-numbers">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

<xref format="none" target="list-t-anchor-numbers"/>: ¶

<xref format="none" target="list-t-anchor-numbers">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

<xref format="default" target="list-t-anchor-numbers"/>: Paragraph 1 ¶

<xref format="default" target="list-t-anchor-numbers">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

### 5.5. Tests for list-t-anchor-letters

<xref target="list-t-anchor-letters"/>: Paragraph 1 ¶

<xref target="list-t-anchor-letters">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

<xref format="counter" target="list-t-anchor-letters"/>: a ¶

<xref format="counter" target="list-t-anchor-letters">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

<xref format="title" target="list-t-anchor-letters"/>: list-t-anchor-letters ¶

<xref format="title" target="list-t-anchor-letters">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

<xref format="none" target="list-t-anchor-letters"/>: ¶

<xref format="none" target="list-t-anchor-letters">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

<xref format="default" target="list-t-anchor-letters"/>: Paragraph 1 ¶

<xref format="default" target="list-t-anchor-letters">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

### 5.6. Tests for list-t-anchor-hanging

<xref target="list-t-anchor-hanging"/>: Paragraph 1 ¶

<xref target="list-t-anchor-hanging">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

<xref format="counter" target="list-t-anchor-hanging"/>: 1 ¶

<xref format="counter" target="list-t-anchor-hanging">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

<xref format="title" target="list-t-anchor-hanging"/>: foobar ¶

<xref format="title" target="list-t-anchor-hanging">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

<xref format="none" target="list-t-anchor-hanging"/>: ¶

<xref format="none" target="list-t-anchor-hanging">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

<xref format="default" target="list-t-anchor-hanging"/>: Paragraph 1 ¶

<xref format="default" target="list-t-anchor-hanging">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

### 5.7. Tests for texttable-anchor

<xref target="texttable-anchor"/>: Table 8 ¶

<xref target="texttable-anchor">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

<xref format="counter" target="texttable-anchor"/>: 8 ¶

<xref format="counter" target="texttable-anchor">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

<xref format="title" target="texttable-anchor"/>: TEXTTABLE-TITLE ¶

<xref format="title" target="texttable-anchor">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

<xref format="none" target="texttable-anchor"/>: ¶

<xref format="none" target="texttable-anchor">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

<xref format="default" target="texttable-anchor"/>: Table 8 ¶

<xref format="default" target="texttable-anchor">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

### 5.8. Tests for figure-anchor

<xref target="figure-anchor"/>: Figure 34 ¶

<xref target="figure-anchor">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

<xref format="counter" target="figure-anchor"/>: 34 ¶

<xref format="counter" target="figure-anchor">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

<xref format="title" target="figure-anchor"/>: FIGURE-TITLE ¶

<xref format="title" target="figure-anchor">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

<xref format="none" target="figure-anchor"/>: ¶

<xref format="none" target="figure-anchor">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

<xref format="default" target="figure-anchor"/>: Figure 34 ¶

<xref format="default" target="figure-anchor">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

### 5.9. Tests for reference-anchor

<xref target="reference-anchor"/>: [reference-anchor] ¶

<xref target="reference-anchor">TEXT-CONTENT</xref>: TEXT-CONTENT [reference-anchor] ¶

<xref format="counter" target="reference-anchor"/>: reference-anchor ¶

<xref format="counter" target="reference-anchor">TEXT-CONTENT</xref>: TEXT-CONTENT [reference-anchor] ¶

<xref format="title" target="reference-anchor"/>: Test cases for XML2RFC formatting ¶

<xref format="title" target="reference-anchor">TEXT-CONTENT</xref>: TEXT-CONTENT [reference-anchor] ¶

<xref format="none" target="reference-anchor"/>: ¶

<xref format="none" target="reference-anchor">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

<xref format="default" target="reference-anchor"/>: [reference-anchor] ¶

<xref format="default" target="reference-anchor">TEXT-CONTENT</xref>: TEXT-CONTENT [reference-anchor] ¶

### 5.10. Tests for cref-anchor

<xref target="cref-anchor"/>: Comment cref-anchor ¶

<xref target="cref-anchor">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

<xref format="counter" target="cref-anchor"/>: cref-anchor ¶

<xref format="counter" target="cref-anchor">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

<xref format="title" target="cref-anchor"/>: cref-anchor ¶

<xref format="title" target="cref-anchor">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

<xref format="none" target="cref-anchor"/>: ¶

<xref format="none" target="cref-anchor">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

<xref format="default" target="cref-anchor"/>: Comment cref-anchor ¶

<xref format="default" target="cref-anchor">TEXT-CONTENT</xref>: TEXT-CONTENT ¶

### 5.11. Test Targets

This section contains a couple of markup constructs carrying anchors (this is paragraph 1).¶

Some regular paragraph text... (this is paragraph 2)¶

- Some paragraph in a list... (this is list item 1 in a default style list)

1. Some paragraph in a list... (this is list item 1 in a "numbers" style list)

1. Some paragraph in a list... (this is list item 1 in a "letters" style list)

foobar
  Some paragraph in a list... (this is list item 1 in a "hanging" style list)

Table 8: TEXTTABLE-TITLE¶
Some texttable text...
Table cell

    Some figure text...

Figure 34: FIGURE-TITLE

[cref-anchor] ¶

## 6. More References

### 6.1. xref to named <spanx> element

With content: see this sentence.¶

### 6.2. xref with no content and counter formatting

See [RFC2026, RFC2396].¶

### 6.3. eref with no content

See also <http://greenbytes.de/tech/webdav>. Here's another one that is quite long: <http://greenbytes.de/tech/webdav/draft-reschke-rfc3744bis-issues.html#5.7_inherited-acl-set-protected>. Does it break properly?¶

### 6.4. eref with content

See also greenbytes WebDAV resources.¶

### 6.5. iref inside paragraph

This paragraph contains an inline iref.¶

### 6.6. iref before paragraph

This paragraph follows an iref.¶

### 6.7. iref at start of paragraph with list

- foo

### 6.8. xref with pageno attribute

A reference to Section 6.8.¶

### 6.9. xref in section title: RFC 2396

Bar.¶

### 6.10. xref with x:fmt='none'

plain text.¶

### 6.11. xref with markup in context

the old URI spec [RFC2396].¶

### 6.12. iref elements with non-normalized whitespace

With normalized whitespace.¶

With leading whitespace.¶

With trailing whitespace.¶

With extra inline whitespace.¶

### 6.13. xref with section and relative

Section 1.2 of [RFC2396].¶

### 6.14. xref without section but with relative

[RFC2396].¶

## 7. Paragraph formatting

This is the first sentence of the paragraph. This is the second sentence of the paragraph (with two leading blanks). Here's another sentence that was started on a separate line in the input file.¶

This is the second paragraph.¶

This paragraph has ignorable whitespace (but also contains processing instructions).¶

This paragraph has ignorable whitespace (but also contains processing instructions).¶

This paragraph has ignorable whitespace (but also contains processing instructions).¶

This paragraph has ignorable whitespace (but also contains comments).¶

This paragraph has ignorable whitespace (but also contains comments).¶

This paragraph has ignorable whitespace (but also contains comments).¶

This paragraph has ignorable whitespace (but also contains non-text-generating XML nodes).¶

This paragraph has ignorable whitespace (but also contains non-text-generating XML nodes).¶

## 8. Sections

### 8.1. Subsection with TOC entry

### 8.2. Subsection without TOC entry

#### 8.2.1. Sub-subsection with TOC entry

### 8.3. x.x

#### 8.3.1. x.x.x

##### 8.3.1.1. x.x.x.x

###### 8.3.1.1.1. x.x.x.x.x

###### 8.3.1.1.1.1. x.x.x.x.x.x

###### 8.3.1.1.1.1.1. x.x.x.x.x.x.x

###### 8.3.1.1.1.1.1.1. x.x.x.x.x.x.x.x

## 9. Comments

This line contains a few comments. [comment-test] This line contains a few comments. [comment1] This line contains a few comments. [comment2] This line contains a few comments. [rfc.comment.1] This line contains a few comments. [rfc.comment.2] This line contains a few comments.¶

[rfc.comment.3] ¶

## 10. Artwork Width

This should fit (69 characters plus three spaces of indentation in text output).

    012345678901234567890123456789012345678901234567890123456789012345678

This shouldn't.

    0123456789012345678901234567890123456789012345678901234567890123456789

    (IN TEXT OUTPUT INDENTED BY 10)
    012345678901234567890123456789012345678901234567890123456789012

## 11. Extensions

These are tests for extensions done in rfc2629.xslt. Do not expect them to work out-of-the-box in xml2rfc.¶

### 11.1. Markup in figure/artwork

    Internal References: a test reference to [RFC2396]

    External References: a test reference to <http://xml.resource.org>

    a test index entry inside a figure

    Styling: <spanx> inside artwork

### 11.2. Measuring Lengths

    PUT / HTTP/1.1
    Host: example.org
    Content-Type: application/xml
    Content-Length: 6

    <foo/>

...without indentation:

    PUT / HTTP/1.1
    Host: example.org
    Content-Type: text/plain
    Content-Length: 16

    Line 1
    Line 2

...with indentation:

      PUT / HTTP/1.1
      Host: example.org
      Content-Type: text/plain
      Content-Length: 16

      Line 1
      Line 2

### 11.3. Quotations

Here's a quote: This is a Quote. ¶

Here's a block level quote:¶

> Here's a quote.¶

> More text.¶

### 11.4. Subsections

Foo ¶

The line above should be marked up similar to a subsection heading.¶

### 11.5. Box Drawing

The figure below should use box drawing characters instead of "+", "-" and "|".

      ┌────────────────┐
      │ This is a Box. │
      └────────────────┘

### 11.6. Computed Reference Targets

Referring to this section by anchor name indirectly through the references: Section 11.6 of [TSTCS].¶

(default formatting): Section 11.6 of [TSTCS].¶

      Default inside a figure: [TSTCS], Section 11.6

With a broken anchor: Part ERROR: Anchor 'a-target-that-isnt-defined' in TSTCS not found in source file 'testcase.xml'. (at line 1693) of [TSTCS].¶

To unnumbered section: Appendix "Contributors" of [TSTCS].¶

To paragraph: Section 11.6 of [TSTCS].¶

### 11.7. ABNF Support

#### 11.7.1. Expanding strings

    case-insensitive1 = "abcdefghijlkmnopqrstuvwxyz"
    case-insensitive2 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    case-sensitive1 = %x61.62.63.64.65.66.67.68.69.6A.6C.6B.6D.6E.6F.70.71.72.73.74.75.76.77.78.79.7A
    case-sensitive2 = %x41.42.43.44.45.46.47.48.49.4A.4B.4C.4D.4E.4F.50.51.52.53.54.55.56.57.58.59.5A

#### 11.7.2. Highlighting

Extensions from RFC 9110:

    x = 1#2y

Extensions from RFC 7405:

    x = %s"case-sensitive"
    y = %i"case-insensitive"

Literals:

    binary = %b00-11 %b00.01.10.11
    dec    = %d13.10
    hex    = %x0F.0A
    DIGIT  = %x30-39
    DIGIT2 = %x30.31.32.33.34.35.36.37.38.39
    ; comment
    string = "abcde <y>"
    string = "foo;bar"

Broken literals:

    binary = %b00-12
    DIGIT  = %x30-39-4A
    string = "abcde"fgh"

Prose:

    foo = <simple prose string>
    bar = <with "double quotes">
    qux = <with '<' inside>

Using <sourcecode>:¶

    left = right ; comment

Broken prose and string literals:

    foo = <no ABNF available,
      but that does not justify a line break>
    extra = <good>bad ; comment
    bar = "illegal characters in string literal: ␉"
    qux = "runaway string
    qux2 = "in string literal"

### 11.8. Referencing extensions

Simple <x:ref>: referencing.extensions.¶

Aliased <x:ref>: Referencing extensions.¶

## 12. Blank Lines

Just a forced
line break.¶

One
blank line.¶

Seven
blank lines.¶

999
blank lines (this is likely an attempt to force a pagebreak, thus the generated HTML should not contain the blank lines, but only one).¶

## 13. Other

### 13.1. Comments in Text

First sentence (before XML comment, invisible here). Second sentence.¶

### 13.2. Special Characters

#### 13.2.1. Non-Breaking Space

Non breaking space. Non breaking space. Non breaking space. Non breaking space. Non breaking space. Non breaking space. Non breaking space. Non breaking space. Non breaking space. Non breaking space. Non breaking space. Non breaking space. Non breaking space. Non breaking space. Non breaking space. Non breaking space. Non breaking space. Non breaking space. Non breaking space. Non breaking space. Non breaking space. Non breaking space.¶

#### 13.2.2. Non-Breaking Hyphen

Non-breaking-hyphen. Non-breaking-hyphen. Non-breaking-hyphen. Non-breaking-hyphen. Non-breaking-hyphen. Non-breaking-hyphen. Non-breaking-hyphen. Non-breaking-hyphen. Non-breaking-hyphen. Non-breaking-hyphen. Non-breaking-hyphen. Non-breaking-hyphen. Non-breaking-hyphen. Non-breaking-hyphen. Non-breaking-hyphen. Non-breaking-hyphen. Non-breaking-hyphen. Non-breaking-hyphen. Non-breaking-hyphen. Non-breaking-hyphen. (wrt Apache FOP, see <http://mail-archives.apache.org/mod_mbox/xmlgraphics-fop-users/200905.mbox/%3C4A035745.10601@freemail.gr%3E>)¶

#### 13.2.3. Dashes

mdash — with regular spaces. mdash — with regular spaces. mdash — with regular spaces. mdash — with regular spaces. mdash — with regular spaces. mdash — with regular spaces. mdash — with regular spaces. mdash — with regular spaces. mdash — with regular spaces. mdash — with regular spaces. mdash — with regular spaces. mdash — with regular spaces. mdash — with regular spaces. mdash — with regular spaces. mdash — with regular spaces. mdash — with regular spaces. mdash — with regular spaces. mdash — with regular spaces. mdash — with regular spaces. mdash — with regular spaces.¶

mdash—with no spaces. mdash—with no spaces. mdash—with no spaces. mdash—with no spaces. mdash—with no spaces. mdash—with no spaces. mdash—with no spaces. mdash—with no spaces. mdash—with no spaces. mdash—with no spaces. mdash—with no spaces. mdash—with no spaces. mdash—with no spaces. mdash—with no spaces. mdash—with no spaces. mdash—with no spaces. mdash—with no spaces. mdash—with no spaces. mdash—with no spaces. mdash—with no spaces. mdash—with no spaces. mdash—with no spaces. mdash—with no spaces. mdash—with no spaces. mdash—with no spaces.¶

mdash — with thin spaces. mdash — with thin spaces. mdash — with thin spaces. mdash — with thin spaces. mdash — with thin spaces. mdash — with thin spaces. mdash — with thin spaces. mdash — with thin spaces. mdash — with thin spaces. mdash — with thin spaces. mdash — with thin spaces. mdash — with thin spaces. mdash — with thin spaces. mdash — with thin spaces. mdash — with thin spaces. mdash — with thin spaces. mdash — with thin spaces. mdash — with thin spaces. mdash — with thin spaces. mdash — with thin spaces.¶

#### 13.2.4. Non-ASCII

Expansions of "ABC":¶

num-lit-name
  U+0041 U+0042 U+0043 ("ABC", LATIN CAPITAL LETTER A, LATIN CAPITAL LETTER B, LATIN CAPITAL LETTER C)
name-num-lit
  U+0041 U+0042 U+0043 ("ABC", LATIN CAPITAL LETTER A, LATIN CAPITAL LETTER B, LATIN CAPITAL LETTER C)
name-num-lit
  U+0041 U+0042 U+0043 ("ABC", LATIN CAPITAL LETTER A, LATIN CAPITAL LETTER B, LATIN CAPITAL LETTER C)
test {name} foo {lit} bar
  test LATIN CAPITAL LETTER A, LATIN CAPITAL LETTER B, LATIN CAPITAL LETTER C foo "ABC" bar

## 14. Includes

[RFC7749].¶

with text content [RFC7749].¶

## 15. References

[RFC2026]
  Bradner, S., “The Internet Standards Process -- Revision 3”, BCP 9, RFC 2026, DOI 10.17487/RFC2026, October 1996, <https://www.rfc-editor.org/info/rfc2026>.
[RFC10000]
  Doe, J., “FUTURERFC”, RFC 10000, DOI 10.17487/RFC10000, October 2018, <https://www.rfc-editor.org/info/rfc10000>.
[RFC2396]
  Berners-Lee, T., Fielding, R.T., and L. Masinter, “Uniform Resource Identifiers (URI): Generic Syntax”, RFC 2396, DOI 10.17487/RFC2396, August 1998, <https://www.rfc-editor.org/info/rfc2396>.
  This RFC will soon be updated, check <http://cvs.apache.org/viewcvs.cgi/*checkout*/ietf-uri/rev-2002/rfc2396bis.html> for the latest draft. [rfc.comment.4]
  The issues list is at <http://cvs.apache.org/viewcvs.cgi/*checkout*/ietf-uri/rev-2002/issues.html>.
[TSTCS]
  Reschke, J., “Test cases for RFC2629 formatting”, March 2008.
[reference-anchor]
  Reschke, J. F., “Test cases for XML2RFC formatting”, November 2025.
[Err607]
  RFC Errata, Errata ID 607, RFC 4627, <http://www.rfc-editor.org>.
  Test for Errata formatting.
[RFC7749]
  Reschke, J., “The "xml2rfc" Version 2 Vocabulary”, RFC 7749, DOI 10.17487/RFC7749, February 2016, <https://www.rfc-editor.org/info/rfc7749>.
[RFC7991]
  Hoffman, P., “The "xml2rfc" Version 3 Vocabulary”, RFC 7991, DOI 10.17487/RFC7991, December 2016, <https://www.rfc-editor.org/info/rfc7991>.
[I-D.iab-xml2rfcv2]
  Reschke, J., “The "xml2rfc" Version 2 Vocabulary”, Internet-Draft draft-iab-xml2rfcv2-02 (work in progress), September 2015, <https://datatracker.ietf.org/doc/html/draft-iab-xml2rfcv2-02>.
[I-D.iab-xml2rfc]
  Hoffman, P. E., “The "xml2rfc" Version 3 Vocabulary”, Internet-Draft draft-iab-xml2rfc-04 (work in progress), June 2016, <https://datatracker.ietf.org/doc/html/draft-iab-xml2rfc-04>.
[DOI_10.6028_NIST.SP.800-185]
  Kelsey, Change, Perlner, and National Institute of Standards and Technology, “SHA-3 derived functions: cSHAKE, KMAC, TupleHash and ParallelHash”, DOI 10.6028/nist.sp.800-185, December 2016, <https://doi.org/10.6028/nist.sp.800-185>.
[RFC8792]
  Watsen, K., Auerswald, E., Farrel, A., and Q. Wu, “Handling Long Lines in Content of Internet-Drafts and RFCs”, RFC 8792, DOI 10.17487/RFC8792, June 2020, <https://www.rfc-editor.org/info/rfc8792>.
[I-D.reschke-hab]
  Reschke, J., “Test Renditions for new RFC Headers & Boilerplate”, Internet-Draft draft-reschke-hab-08 (work in progress), April 2011, <https://datatracker.ietf.org/doc/html/draft-reschke-hab-08>.

## Editorial Comments

[cref-anchor]
  A comment.
[comment-test]
  No anchor, source given. --JRE
[comment1]
  Anchor given, no source.
[comment2]
  Both specified. --JRE
[rfc.comment.1]
  No anchor, no source.
[rfc.comment.2]
  No anchor, no source, but embedded markup: <http://xml.resource.org>.
[rfc.comment.3]
  A comment containing <x:ref>: comments.
[rfc.comment.4]
  Really?

## Contributors

Test.¶

xref To unnumbered section within unnumbered section: Appendix "Contributors" of [TSTCS].¶

Using <contact> instead of <x:contributor>:¶

## Index

E F I P R S T

- <
  - <iref> in <artwork> 11.1
- E
  - Err607 15
- F
  - foo 7, 7
- I
  - inline iref 6.5
  - iref whitespace tests 6.12, 6.12, 6.12, 6.12
- P
  - paragraph with list start iref 6.7
- R
  - reference-anchor 5.9, 5.9, 5.9, 5.9, 5.9, 5.9, 5.9, 5.9, 5.9, 5.9, 15
  - RFC10000 15
  - RFC2026 3, 6.2, 15
  - RFC2396 6.2, 6.9, 6.10, 6.11, 6.13, 6.14, 11.1, 15
- S
  - section iref 6.6
- T
  - Test in unnumbered section "Contributors"
  - TSTCS 11.6, 11.6, 11.6, 11.6, 11.6, 11.6, 15, "Contributors"
    - Section 11.6 11.6, 11.6, 11.6
    - Section 11.6 11.6
    - Contributors 11.6, "Contributors"

## Author's Address