tlv: rewrite syntax specifications using IETF ABNF

refs #4853

Change-Id: Iad79a63675279d53de2f7bb4891d10bf01d0424f
diff --git a/link.rst b/link.rst
index ca64b56..1b554a7 100644
--- a/link.rst
+++ b/link.rst
@@ -5,21 +5,17 @@
 
 The Link Object is a specialized form of a :ref:`Data packet <data>` packet, defined as follows::
 
-    LinkObject ::= DATA-TLV TLV-LENGTH
-                     Name
-                     MetaInfo (.ContentType = LINK)
-                     LinkContent
-                     Signature
+    LinkObject = DATA-TYPE TLV-LENGTH
+                   Name
+                   MetaInfo ; ContentType == LINK
+                   LinkContent
+                   Signature
 
-    LinkContent ::= CONTENT-TYPE TLV-LENGTH
-                      Delegation+
+    LinkContent = CONTENT-TYPE TLV-LENGTH 1*Delegation
 
-    Delegation ::= LINK-DELEGATION-TYPE TLV-LENGTH
-                     Preference
-                     Name
+    Delegation = LINK-DELEGATION-TYPE TLV-LENGTH Preference Name
 
-    Preference ::= LINK-PREFERENCE-TYPE TLV-LENGTH
-                     nonNegativeInteger
+    Preference = LINK-PREFERENCE-TYPE TLV-LENGTH nonNegativeInteger
 
 
 Link Object is a data packet, whose content contains a list of one or more name delegations: a pair of name and the associate priority.