Small spec corrections and fixing typos
diff --git a/data.rst b/data.rst
index 165392e..ef79269 100644
--- a/data.rst
+++ b/data.rst
@@ -86,7 +86,7 @@
::
FinalBlockId ::= FINAL-BLOCK-ID-TLV TLV-LENGTH
- NameComponent
+ (NameComponent | NumberComponent)
The optional FinalBlockId indicates the identifier of the final block
in a sequence of fragments.
diff --git a/interest.rst b/interest.rst
index 30b4706..2789968 100644
--- a/interest.rst
+++ b/interest.rst
@@ -77,7 +77,7 @@
::
- Exclude ::= EXCLUDE-TYPE TLV-LENGTH Any? (NameComponent (Any)?)+
+ Exclude ::= EXCLUDE-TYPE TLV-LENGTH Any? ((NameComponent | NumberComponent | ImplicitSha256DigestComponent) (Any)?)+
Any ::= ANY-TYPE TLV-LENGTH(=0)
The ``Exclude`` selectors allows requester to specify list and/or ranges of names components that MUST NOT appear as a continuation of the Name prefix in the responding Data packet to the Interest.
diff --git a/name.rst b/name.rst
index 922bb1c..52e5b67 100644
--- a/name.rst
+++ b/name.rst
@@ -10,8 +10,8 @@
We use a 2-level nested TLV to represent a name.
The Type in the outer TLV indicates this is a Name.
-All inner TLVs have the same Type indicating that they each contain a name component.
-There is no restriction on the Value field in a name component and it may not contain any bytes:
+All inner TLVs have Type either NameComponent, NumberComponent, or ImplicitSha256DigestComponent, indicating that the name component is a generic name component, number, or implicit digest.
+There is no restriction on the Value field in a name component, but empty value is not allowed:
::
@@ -30,9 +30,9 @@
.. % 0 or many bytes in name component
-``NameComponent`` is a generic name component, containing any application defined data.
+``NameComponent`` is a generic name component, containing any application defined value.
-``NumberComponent`` is a component that carries non-negative integer.
+``NumberComponent`` is a component that carries a non-negative integer.
``ImplicitSha256DigestComponent`` is an implicit SHA256 digest component.
@@ -51,20 +51,19 @@
When producing a URI from an NDN Name, only the generic URI unreserved characters are left unescaped.
These are the US-ASCII upper and lower case letters (A-Z, a-z), digits (0-9), and the four specials PLUS (+), PERIOD (.), UNDERSCORE (\_), and HYPHEN (-).
- All other characters are escaped using either the percent-encoding method of the URI Generic Syntax or a ``ndn`` scheme specific hexadecimal string escape starting with the EQUALS (=) and an even number of characters from the set of hex digits.
- Once an EQUALS has been encountered in a component the hexadecimal encoding persists until the end of the component.
- The hex digits in these escaped encodings should always use upper-case letters, i.e., A-Z.
+ All other characters are escaped using either the percent-encoding method of the URI Generic Syntax.
- To unambiguously represent name components that would collide with the use of . and .. for relative URIs, any component that consists solely of zero or more periods is encoded using three additional periods.
+ To unambiguously represent name components that would collide with the use of . and .. for relative URIs, any component that consists solely of one or more periods is encoded using three additional periods.
* ``NumberComponent``
- Number components start with ``number=`` prefix, following with textual representation of the number.
+ Number components start with ``number=`` prefix (case sensitive), following with textual representation of the number.
For example, ``number=10`` represents a NumberComponent with encoded value of 10.
+ The number must be decimal and should be without leading zeros.
* ``ImplicitSha256DigestComponent``
- Implicit SHA256 digest component starts with ``sha256digest=`` prefix, following the digest represented as a sequence of 32 hexadecimal numbers.
+ Implicit SHA256 digest component starts with ``sha256digest=`` prefix (case sensitive), following the digest represented as a sequence of 32 hexadecimal numbers.
For example, ``sha256digest=893259d98aca58c451453f29ec7dc38688e690dd0b59ef4f3b9d33738bff0b8d``
- The authority component (the part after the initial ``//`` in the familiar http and ftp URI schemes) is not relevant to NDN.
@@ -91,7 +90,7 @@
The order between individual name components is defined as follows:
-- Any ``ImplicitSha256DigestComponent`` less than any ``NumberComponent``, which is less than any ``NameComponent``
+- Any ``ImplicitSha256DigestComponent`` is less than any ``NumberComponent``, which is less than any ``NameComponent``
::