[要約] RFC 7405は、ABNF(Augmented Backus-Naur Form)での大文字と小文字の区別をサポートするための仕様です。このRFCの目的は、ABNFの文法を拡張して、大文字と小文字を区別することで、より柔軟な文法定義を可能にすることです。

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

ABNFでの大文字と小文字を区別する文字列のサポート

Abstract

概要

This document extends the base definition of ABNF (Augmented Backus-Naur Form) to include a way to specify US-ASCII string literals that are matched in a case-sensitive manner.

このドキュメントは、ABNF(Augmented Backus-Naur Form)の基本定義を拡張して、大文字と小文字を区別する方法で一致するUS-ASCII文字列リテラルを指定する方法を含めます。

Status of This Memo

本文書の状態

This is an Internet Standards Track document.

これはInternet Standards Trackドキュメントです。

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741.

このドキュメントは、IETF(Internet Engineering Task Force)の製品です。これは、IETFコミュニティのコンセンサスを表しています。公開レビューを受け、インターネットエンジニアリングステアリンググループ(IESG)による公開が承認されました。インターネット標準の詳細については、RFC 5741のセクション2をご覧ください。

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc7405.

このドキュメントの現在のステータス、正誤表、およびフィードバックの提供方法に関する情報は、http://www.rfc-editor.org/info/rfc7405で入手できます。

Copyright Notice

著作権表示

Copyright (c) 2014 IETF Trust and the persons identified as the document authors. All rights reserved.

Copyright(c)2014 IETF Trustおよびドキュメントの作成者として識別された人物。全著作権所有。

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://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. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.

この文書は、BCP 78およびこの文書の発行日に有効なIETF文書に関するIETFトラストの法的規定(http://trustee.ietf.org/license-info)の対象となります。これらのドキュメントは、このドキュメントに関するあなたの権利と制限を説明しているため、注意深く確認してください。このドキュメントから抽出されたコードコンポーネントには、Trust Legal Provisionsのセクション4.eに記載されているSimplified BSD Licenseのテキストが含まれている必要があり、Simplified BSD Licenseに記載されているように保証なしで提供されます。

Table of Contents

目次

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Updates to RFC 5234 . . . . . . . . . . . . . . . . . . . . .   2
     2.1.  Terminal Values - Literal Text Strings  . . . . . . . . .   3
     2.2.  ABNF Definition of ABNF - char-val  . . . . . . . . . . .   4
   3.  Security Considerations . . . . . . . . . . . . . . . . . . .   4
   4.  Normative References  . . . . . . . . . . . . . . . . . . . .   4
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .   4
        
1. Introduction
1. はじめに

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.

ABNF(Augmented Backus-Naur Form)の基本定義は、US-ASCII文字列リテラルをサポートしています。これらのリテラルのマッチングは、大文字と小文字を区別しない方法で行われます。これは多くの場合望ましい動作ですが、状況によっては、文字列リテラルの大文字と小文字を区別した照合が必要になります。大文字と小文字を区別するマッチングのリテラルは、それらの文字の数値表現を使用して指定する必要があります。これは不便であり、書き込みと読み取りの両方でエラーが発生しやすくなります。

This document extends ABNF to have two different types of US-ASCII string literals. One type is matched using case-sensitive matching, while the other is matched using case-insensitive matching. These types are denoted using type prefixes similar to the type prefixes used with numeric values. If no prefix is used, then case-insensitive matching is used (as is consistent with previous behavior).

このドキュメントはABNFを拡張して、2つの異なるタイプのUS-ASCII文字列リテラルを持つようにします。 1つのタイプは大文字と小文字を区別するマッチングを使用してマッチングされ、もう1つのタイプは大文字と小文字を区別しないマッチングを使用してマッチングされます。これらのタイプは、数値で使用されるタイププレフィックスと同様のタイププレフィックスを使用して示されます。プレフィックスを使用しない場合は、大文字と小文字を区別しないマッチングが使用されます(以前の動作と同じです)。

This document is structured as a set of changes to the full ABNF specification [RFC5234].

このドキュメントは、完全なABNF仕様[RFC5234]に対する一連の変更として構成されています。

2. Updates to RFC 5234
2. RFC 5234の更新

This document makes changes to two parts of [RFC5234]. The two changes are as follows:

このドキュメントは、[RFC5234]の2つの部分に変更を加えます。 2つの変更点は次のとおりです。

o Replace the last half of Section 2.3 of [RFC5234] (beginning with "ABNF permits the specification of literal text strings") with the contents of Section 2.1.

o [RFC5234]のセクション2.3の後半(「ABNFはリテラルテキスト文字列の指定を許可する」で始まる)をセクション2.1の内容で置き換えます。

o Replace the <char-val> rule in Section 4 of [RFC5234] with the contents of Section 2.2.

o [RFC5234]のセクション4の<char-val>ルールをセクション2.2の内容に置き換えます。

2.1. Terminal Values - Literal Text Strings
2.1. 端末値-リテラルテキスト文字列

ABNF permits the specification of literal text strings directly, enclosed in quotation marks. Hence:

ABNFでは、引用符で囲まれたリテラルテキスト文字列を直接指定できます。したがって:

         command     =  "command string"
        

Literal text strings are interpreted as a concatenated set of printable characters.

リテラルテキスト文字列は、印刷可能な文字の連結されたセットとして解釈されます。

NOTE:

注意:

The character set for these strings is US-ASCII.

これらの文字列の文字セットはUS-ASCIIです。

Literal text strings in ABNF may be either case sensitive or case insensitive. The form of matching used with a literal text string is denoted by a prefix to the quoted string. The following prefixes are allowed:

ABNFのリテラルテキスト文字列では、大文字と小文字が区別される場合と、区別されない場合があります。リテラルテキスト文字列で使用されるマッチングの形式は、引用符付き文字列の接頭辞で示されます。次の接頭辞を使用できます。

%s = case-sensitive %i = case-insensitive

%s =大文字と小文字を区別%i =大文字と小文字を区別しない

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.

以前のABNFの実装と整合性を保つために、接頭辞がないことは、文字列が大文字と小文字を区別せず、「%i」接頭辞を持つことと同等であることを意味します。

Hence:

したがって:

         rulename = %i"aBc"
        

and:

そして:

         rulename = "abc"
        

will both match "abc", "Abc", "aBc", "abC", "ABc", "aBC", "AbC", and "ABC".

どちらも「abc」、「Abc」、「aBc」、「abC」、「ABc」、「aBC」、「AbC」、および「ABC」に一致します。

In contrast:

対照的に:

         rulename = %s"aBc"
        

will match only "aBc" and will not match "abc", "Abc", "abC", "ABc", "aBC", "AbC", or "ABC".

「aBc」のみに一致し、「abc」、「Abc」、「abC」、「ABc」、「aBC」、「AbC」、または「ABC」には一致しません。

In the past, the numerical specification of individual characters was used to define a case-sensitive rule.

以前は、個々の文字の数値指定は、大文字と小文字を区別するルールを定義するために使用されていました。

For example:

例えば:

         rulename    =  %d97 %d98 %d99
        

or

または

         rulename    =  %x61.62.63
        

will match only the string that comprises only the lowercase characters, abc. Using a literal text string with a prefix has a clear readability advantage over the old way.

小文字のabcのみで構成される文字列のみに一致します。接頭辞付きのリテラルテキスト文字列を使用すると、従来の方法に比べて明確に読みやすくなります。

2.2. ABNF Definition of ABNF - char-val
2.2. ABNFのABNFの定義-char-val

char-val = case-insensitive-string / case-sensitive-string

char-val =大文字と小文字を区別しない文字列/大文字と小文字を区別する文字列

case-insensitive-string = [ "%i" ] quoted-string

大文字小文字を区別しない文字列= ["%i"]引用文字列

case-sensitive-string = "%s" quoted-string

大文字と小文字を区別する文字列= "%s"引用文字列

         quoted-string  =  DQUOTE *(%x20-21 / %x23-7E) DQUOTE
                                ; quoted string of SP and VCHAR
                                ;  without DQUOTE
        
3. Security Considerations
3. セキュリティに関する考慮事項

Security is truly believed to be irrelevant to this document.

セキュリティは、このドキュメントには無関係であると本当に信じられています。

4. Normative References
4. 引用文献

[RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", STD 68, RFC 5234, January 2008, <http:/www.rfc-editor.org/info/rfc5234>.

[RFC5234] Crocker、D。およびP. Overell、「構文仕様の拡張BNF:ABNF」、STD 68、RFC 5234、2008年1月、<http:/www.rfc-editor.org/info/rfc5234>。

Author's Address

著者のアドレス

Paul Kyzivat Massachusetts United States

ポール・キジバットマサチューセッツアメリカ合衆国

   EMail: pkyzivat@alum.mit.edu