Initial port of the Name::Component, Name, Interest, Data, Signature, and Face classes
diff --git a/data.rst b/data.rst
new file mode 100644
index 0000000..6ce1cab
--- /dev/null
+++ b/data.rst
@@ -0,0 +1,162 @@
+.. _Data:
+
+Data Class
+==========
+
+:[C++]:
+ Namespace: ``ndn``
+
+:[Python]:
+ Module: ``pyndn``
+
+Data Constructor
+----------------
+
+Create a new Data with the optional values.
+
+:[C++]:
+
+.. code-block:: c++
+
+ Data(
+
+ [const Name& name]
+
+ );
+
+:[JavaScript]:
+
+.. code-block:: javascript
+
+ var Data = function Data(
+
+ [name // Name]
+
+ )
+
+:[Python]:
+
+.. code-block:: python
+
+ def __init__(self
+
+ [, name // Name]
+
+ )
+
+:Parameters:
+
+ - ``name``
+ (optional) The name for the data packet.
+
+Data.getContent Method
+----------------------
+
+Get content of the Data packet.
+
+:[C++]:
+
+.. code-block:: c++
+
+ const Blob& getContent() const;
+
+:[JavaScript]:
+
+.. code-block:: javascript
+
+ // Returns Blob
+ Data.prototype.getContent = function()
+
+:Returns:
+
+ A pointer to the content byte array.
+
+Data.setContent Method
+----------------------
+
+Set content to point to an existing byte array.
+
+:[C++]:
+
+.. code-block:: c++
+
+ void setContent(
+
+ const Blob& content
+
+ );
+
+:Parameters:
+
+ - ``content``
+ The pointer to the byte array.
+
+Data.wireDecode Method
+----------------------
+
+Decode the input using a particular wire format and update this Data. If wireFormat is the default wire format, also set the defaultWireEncoding field to the input.
+
+:[C++]:
+
+.. code-block:: c++
+
+ void wireDecode(
+
+ const std::vector<uint8_t>& input
+ [, WireFormat& wireFormat]
+
+ );
+
+:[JavaScript]:
+
+.. code-block:: javascript
+
+ ContentObject.prototype.decode = function(
+
+ input // Uint8Array
+ [, wireFormat // WireFormat]
+
+ )
+
+:Parameters:
+
+ - ``input``
+ The input byte array to be decoded.
+
+ - ``wireFormat``
+ (optional) A WireFormat object used to decode the input. If omitted, use WireFormat getDefaultWireFormat().
+
+Data.wireEncode Method
+----------------------
+
+Encode this Data for a particular wire format. If wireFormat is the default wire format, also set the defaultWireEncoding field to the encoded result.
+
+:[C++]:
+
+.. code-block:: c++
+
+ SignedBlob wireEncode(
+
+ [WireFormat& wireFormat]
+
+ ) const;
+
+:[JavaScript]:
+
+.. code-block:: javascript
+
+ // Returns Uint8Array
+ ContentObject.prototype.encode = function(
+
+ [wireFormat // WireFormat]
+
+ )
+
+:Parameters:
+
+ - wireFormat
+ (optional) A WireFormat object used to encode the input. If omitted, use WireFormat getDefaultWireFormat ().
+
+:Returns:
+
+ The encoded byte array as a SignedBlob.