Internet Engineering Task Force (IETF) P. Kyzivat
Request for Comments: 7405 December 2014
Updates: 5234
Category: Standards Track
ISSN: 2070-1721
Case-Sensitive String Support in ABNF
Kyzivat Standards Track [Page 1]
RFC 7405 Case-Sensitive String Support in ABNF December 2014
Table of Contents
1. Introduction
The base definition of ABNF (Augmented Backus-Naur Form) supports US- ASCII string literals. The matching of these literals is done in a case-insensitive manner. While this is often the desired behavior, in some situations, case-sensitive matching of string literals is needed. Literals for case-sensitive matching must be specified using the numeric representation of those characters, which is inconvenient and error prone both to write and read.
2. Updates to RFC 5234
This document makes changes to two parts of [RFC5234]. The two changes are as follows:
Kyzivat Standards Track [Page 2]
RFC 7405 Case-Sensitive String Support in ABNF December 2014 2.1. Terminal Values - Literal Text StringsABNF permits the specification of literal text strings directly, enclosed in quotation marks. Hence:
%s = case-sensitive
%i = case-insensitive
To be consistent with prior implementations of ABNF, having no prefix means that the string is case insensitive and is equivalent to having the "%i" prefix.
Kyzivat Standards Track [Page 3]
RFC 7405 Case-Sensitive String Support in ABNF December 2014
rulename = %d97 %d98 %d99
2.2. ABNF Definition of ABNF - char-val
char-val = case-insensitive-string /
3. Security Considerations
Security is truly believed to be irrelevant to this document.
4. Normative References
[RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax