Small spec corrections and fixing typos
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``
::