CARVIEW |
Select Language
HTTP/2 200
date: Mon, 14 Jul 2025 19:22:00 GMT
content-type: text/plain; charset=utf-8
content-length: 10684
cf-ray: 95f362e3dbd8f4df-BLR
last-modified: Fri, 16 Dec 2016 15:30:52 GMT
etag: "19116-543c8415b5182-gzip"
vary: Accept-Encoding
content-encoding: gzip
strict-transport-security: max-age=31536000; includeSubDomains
x-frame-options: SAMEORIGIN
x-xss-protection: 1; mode=block
x-content-type-options: nosniff
cache-control: max-age=1200
cf-cache-status: HIT
accept-ranges: bytes
server: cloudflare
alt-svc: h3=":443"; ma=86400
Internet Architecture Board (IAB) N. Brownlee
Request for Comments: 7996 The University of Auckland
Category: Informational December 2016
ISSN: 2070-1721
SVG Drawings for RFCs: SVG 1.2 RFC
Abstract
This document specifies SVG 1.2 RFC -- an SVG profile for use in
diagrams that may appear in RFCs -- and considers some of the issues
concerning the creation and use of such diagrams.
Status of This Memo
This document is not an Internet Standards Track specification; it is
published for informational purposes.
This document is a product of the Internet Architecture Board (IAB)
and represents information that the IAB has deemed valuable to
provide for permanent record. It represents the consensus of the
Internet Architecture Board (IAB). Documents approved for
publication by the IAB are not a candidate for any level of Internet
Standard; see Section 2 of RFC 7841.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
https://www.rfc-editor.org/info/rfc7996.
Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document.
Brownlee Informational [Page 1]
RFC 7996 SVG Drawings for RFCs: SVG 1.2 RFC December 2016
Table of Contents
1. Introduction ....................................................2
2. SVG 1.2 RFC: An SVG Profile for RFCs ............................3
2.1. Elements, Properties, and Attributes Allowed in
SVG 1.2 RFC ................................................4
3. How to Create SVG Drawings ......................................7
4. Accessibility Considerations ....................................7
5. Examples of Diagrams Common in RFCs .............................8
5.1. Packet Layout Diagrams .....................................8
5.2. Sequence Diagrams (1) ......................................8
5.3. Sequence Diagrams (2) ......................................8
6. Security Considerations .........................................8
7. References ......................................................9
7.1. Normative References .......................................9
7.2. Informative References .....................................9
Appendix A. RELAX NG Compact (RNC) Schema for SVG 1.2 RFC .........11
IAB Members at the Time of Approval ...............................53
Acknowledgements ..................................................53
Author's Address ..................................................53
1. Introduction
Over the last few years, the RFC Editor has worked with the Internet
community to develop specifications for changes in the format of
RFCs. An outline of the resulting specifications was published as
[RFC6949] in May 2013. Since then, a Design Team has been working
with the RFC Editor to flesh out those specifications. One aspect of
the changes is to allow line drawings in RFCs; [RFC6949] says
Graphics may include ASCII art and a more complex form to be
defined, such as SVG line art [SVG]. Color and grayscale will not
be accepted. RFCs must correctly display in monochromatic black-
and-white to allow for monochrome displays, black-and-white
printing, and support for visual disabilities.
SVG (Scalable Vector Graphics) has been developed by W3C, the World
Wide Web Consortium; its current standard is SVG 1.1 Full
[W3C.REC-SVG11-20110816]. This document defines SVG 1.2 RFC, an SVG
profile (i.e., a subset of SVG) that is suitable for RFC line
drawings.
Note that in RFCs, the text provides normative descriptions of
protocols, systems, etc. Diagrams may be used to help explain
concepts more clearly, but they provide supporting details and should
not be considered to be complete specifications in themselves.
Brownlee Informational [Page 2]
RFC 7996 SVG Drawings for RFCs: SVG 1.2 RFC December 2016
The details (particularly any vocabularies) described in this
document are expected to change based on experience gained in
implementing the new publication toolsets. Revised documents will be
published capturing those changes as the toolsets are completed.
Other implementers must not expect those changes to remain backwards-
compatible with the details described in this document.
2. SVG 1.2 RFC: An SVG Profile for RFCs
As a starting point for SVG 1.2 RFC, the Design Team decided to use
SVG Tiny 1.2 (also referred to as "SVG 1.2 Tiny")
[W3C.REC-SVGTiny12-20081222]. SVG 1.2 Tiny is an SVG subset intended
to be implemented on small, mobile devices such as cell phones and
smartphones. That should allow RFCs to be rendered well on such
devices, especially those that have small screens. However, RFCs are
self-contained documents that do not change once they are published.
The use of SVG drawings in RFCs is intended to allow authors to
create drawings that are simple to produce and are easier to
understand than our traditional "ASCII art" ones. In short, we are
also trying to improve access to the content in RFCs, so SVG drawings
need to be kept as simple as possible.
Appendix A (below) provides a complete RELAX NG Compact (RNC) schema
[RNG-HOME] for SVG 1.2 RFC. It is derived from the SVG 1.2 schema,
and is the formal definition of SVG 1.2 RFC. The remainder of this
section gives a simplified -- i.e., easier to read and understand --
overview of SVG 1.2 RFC.
SVG can provide a complete User Interface, but within RFCs, all we
need are simple diagrams that do not change once the RFC is
published. Therefore, SVG 1.2 RFC does not allow anything from the
following sections in SVG Tiny 1.2 [W3C.REC-SVGTiny12-20081222]:
12 Multimedia
13 Interactivity
15 Scripting
16 Animation
18 Metadata
19 Extensibility
Note that SVG Tiny 1.2 elements may have many properties or
attributes that are needed to support aspects of the above sections.
Those are not allowed in SVG 1.2 RFC.
Brownlee Informational [Page 3]
RFC 7996 SVG Drawings for RFCs: SVG 1.2 RFC December 2016
We now consider these other sections in SVG Tiny 1.2
[W3C.REC-SVGTiny12-20081222]:
9 Basic Shapes
10 Text
Everything in this section is allowed in SVG 1.2 RFC.
11 Painting: Filling, Stroking, Colors and Paint Servers
Anything relating to 'color' is not allowed in SVG 1.2 RFC;
everything else is allowed. This is a requirement documented in
[RFC6949].
14 Linking
SVG Tiny 1.2 allows Internationalized Resource Identifiers
(IRIs) in references. In SVG 1.2 RFC, such links must be ASCII
only. That should not cause problems, since one can just use
the URI form of any IRI. Authors should try to use links only
to URIs that are long-term stable.
17 Fonts
SVG 1.2 RFC only allows 'serif', 'sans-serif', and 'monospace'
generic font families from the WebFonts facility, described in
Section 15 ("Fonts") of the W3C Cascading Style Sheets (CSS) 2.1
document [W3C.REC-CSS2-20110607]. In particular, the SVG 'font'
element is not allowed.
2.1. Elements, Properties, and Attributes Allowed in SVG 1.2 RFC
This section discusses elements, properties, and attributes selected
for SVG 1.2 RFC from [W3C.REC-SVGTiny12-20081222].
In the list below, elements and properties are listed on the
left, and their allowed values are given in parentheses on the
right.
is the list of allowed colors, a black-and-white
subset of the SVG color names.