You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@vxquery.apache.org by pr...@apache.org on 2015/07/16 19:10:35 UTC

vxquery git commit: Publishing the recent changes to master for site documentation.

Repository: vxquery
Updated Branches:
  refs/heads/site c8141f7ff -> da03800b8


Publishing the recent changes to master for site documentation.


Project: http://git-wip-us.apache.org/repos/asf/vxquery/repo
Commit: http://git-wip-us.apache.org/repos/asf/vxquery/commit/da03800b
Tree: http://git-wip-us.apache.org/repos/asf/vxquery/tree/da03800b
Diff: http://git-wip-us.apache.org/repos/asf/vxquery/diff/da03800b

Branch: refs/heads/site
Commit: da03800b8a739760ea16521b1b24241b886819e1
Parents: c8141f7
Author: Preston Carman <pr...@apache.org>
Authored: Thu Jul 16 10:10:44 2015 -0700
Committer: Preston Carman <pr...@apache.org>
Committed: Thu Jul 16 10:10:44 2015 -0700

----------------------------------------------------------------------
 src/site/apt/development_contribution.apt     | 122 +++++
 src/site/apt/development_release.apt          |   6 +-
 src/site/apt/development_site_update.apt      |  34 ++
 src/site/apt/development_xml_document.apt     | 607 +++++++++++++++++++++
 src/site/apt/development_xml_node_details.apt |  36 +-
 src/site/apt/user_cluster_installation.apt    | 149 +++++
 src/site/apt/user_running_tests.apt           |  10 +-
 src/site/site.xml                             |  14 +-
 8 files changed, 951 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/vxquery/blob/da03800b/src/site/apt/development_contribution.apt
----------------------------------------------------------------------
diff --git a/src/site/apt/development_contribution.apt b/src/site/apt/development_contribution.apt
new file mode 100644
index 0000000..f767cfd
--- /dev/null
+++ b/src/site/apt/development_contribution.apt
@@ -0,0 +1,122 @@
+~~ Licensed to the Apache Software Foundation (ASF) under one or more
+~~ contributor license agreements.  See the NOTICE file distributed with
+~~ this work for additional information regarding copyright ownership.
+~~ The ASF licenses this file to You under the Apache License, Version 2.0
+~~ (the "License"); you may not use this file except in compliance with
+~~ the License.  You may obtain a copy of the License at
+~~
+~~     http://www.apache.org/licenses/LICENSE-2.0
+~~
+~~ Unless required by applicable law or agreed to in writing, software
+~~ distributed under the License is distributed on an "AS IS" BASIS,
+~~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+~~ See the License for the specific language governing permissions and
+~~ limitations under the License.
+
+Contributing Code
+
+  The following steps outline how to submit code to the VXQuery community for inclusion.
+  Please read the Developer {{{http://vxquery.apache.org/developer_get_started.html}Get Started}} Guide
+  to answer question about getting start as a developer.
+  VXQuery community supports two methods for contributing code to the project.
+
+  [[1]] <<Submit a patch file to an open VXQuery issue.>>
+
+    This method works well for small bug fixes.
+
+  [[1]] <<Create a pull request in github.>>
+
+    The pull request will allow the community to give the developer (you) feedback
+    and support in creating a quality submission.
+    The following steps outline the github pull request process for the VXQuery community.
+
+* Github Pull Request Process
+
+** Developer
+
+    * Pre-contribution steps to follow.
+
+      * {{{http://vxquery.apache.org/user_get_started.html}Community steps}}.
+
+      * {{{http://vxquery.apache.org/developer_get_started.html}Developer steps}}.
+
+      * Create a {{{https://github.com/}github}} account.
+
+
+    * Create a github fork of {{{https://github.com/apache/vxquery}Apache VXQuery}} project.
+
+      Go to {{{https://github.com/apache/vxquery}Apache VXQuery}} github mirror.
+      Create a fork by clicking on the fork button.
+      Then clone the fork to your local machine for development.
+
+
+    * Create a branch for your changes.
+
+      VXQuery uses the following convention when creating a branch: authors_username/topic_or_issue
+      (examples: prestonc/vxquery_142 or tillw/group_by_clause).
+      The following branch name helps keep branches separated and keeps it easy to determine the author and topic.
+
+
+    * Make the change.
+
+      :-)
+
+
+    * Add new tests. (optional)
+
+      If the change is not covered in the XQTS, please create a new test in the VXQuery test suite
+      to cover the code changes made to VXQuery.
+
+
+    * Test your changes.
+
+      Once the change is ready, test the branch against known passing Apache VXQuery tests.
+      The patch must not break any of the existing test suites, either the VXQuery or currently passing XQTS.
+
+      * {{{http://vxquery.apache.org/user_running_tests.html} Run the Test Suites}}
+
+      * {{{http://vxquery.apache.org/development_update_xqts_results.html}Update Passing Tests}}
+
+
+    * Clean up your code.
+
+      Remove an extra debug code and verify the patch only includes code for the change.
+
+
+    * Create a github Pull Request.
+
+      Once the work has been tested, a pull request can be created for the change branch.
+      Please use the Apache VXQuery master as branch to compare the change branch.
+      The branch should be up-to-date with the lastest Apache VXQuery master branch.
+
+
+    * Post your Pull Request.
+
+      Post the Pull Request to the mailing list or issue to allow the VXQuery community to give feedback on the change.
+      At least one other member of the community should review the change.
+      If there is any feedback, address this and repeat the posting process.
+
+** Code Reviewer
+
+    * Review the Pull Request.
+
+      Post inline or global comments for the developer.
+      Be polite in your suggestions.
+      Guide the developer to bring the code up to VXQuery's code standards.
+
+    * Double check the VXQuery and XQTS tests.
+
+
+** VXQuery Committer (author or sponsor of the change)
+
+  The VXQuery committer will be responsible for the change made to the ASF git repository.
+  While they do not need to be the author, the committer should have some understanding of the change
+  they are pushing on to the repository.
+  Often the committer will also be the reviewer for non-committer changes.
+
+    * Double check the VXQuery and XQTS tests.
+
+    * Merge the change with ASF master.
+
+      When merging the change, do not rebase.
+      Instead do a single merge commit into Apache VXQuery master.

http://git-wip-us.apache.org/repos/asf/vxquery/blob/da03800b/src/site/apt/development_release.apt
----------------------------------------------------------------------
diff --git a/src/site/apt/development_release.apt b/src/site/apt/development_release.apt
index dca910b..5c0d83a 100644
--- a/src/site/apt/development_release.apt
+++ b/src/site/apt/development_release.apt
@@ -154,11 +154,11 @@ $ mvn release:perform
   * close the staging repository at {{{https://repository.apache.org/}https://repository.apache.org/}}
 
     * Log into the website and look at the "Staging Repositories". 
-    
+
     * Find the VXQuery repository and click the "close" button.
-    
-    * Add a message: "Apache VXQuery X.Y-rc#"
 
+    * Add a message: "Apache VXQuery X.Y-rc#"
+ 
   * check that the artifacts are available in the repository
 
   * send out <<<[VOTE]>>> e-mail on dev@vxquery.apache.org

http://git-wip-us.apache.org/repos/asf/vxquery/blob/da03800b/src/site/apt/development_site_update.apt
----------------------------------------------------------------------
diff --git a/src/site/apt/development_site_update.apt b/src/site/apt/development_site_update.apt
new file mode 100644
index 0000000..240de25
--- /dev/null
+++ b/src/site/apt/development_site_update.apt
@@ -0,0 +1,34 @@
+~~ Licensed to the Apache Software Foundation (ASF) under one or more
+~~ contributor license agreements.  See the NOTICE file distributed with
+~~ this work for additional information regarding copyright ownership.
+~~ The ASF licenses this file to You under the Apache License, Version 2.0
+~~ (the "License"); you may not use this file except in compliance with
+~~ the License.  You may obtain a copy of the License at
+~~
+~~     http://www.apache.org/licenses/LICENSE-2.0
+~~
+~~ Unless required by applicable law or agreed to in writing, software
+~~ distributed under the License is distributed on an "AS IS" BASIS,
+~~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+~~ See the License for the specific language governing permissions and
+~~ limitations under the License.
+
+Updating the Apache VXQuery\x99 site
+
+  * update the <<<site>>> branch in git
+
+  * build a new site and deploy it to <<<../site>>>
+
+---
+$ mvn site site:deploy
+---
+
+  * submit the site to svn
+
+---
+$ cd ../site
+$ svn st | awk '/\?/ { print $2 }' | xargs svn add # add all new files
+$ svn ci -m"updated site"
+$ cd -
+---
+

http://git-wip-us.apache.org/repos/asf/vxquery/blob/da03800b/src/site/apt/development_xml_document.apt
----------------------------------------------------------------------
diff --git a/src/site/apt/development_xml_document.apt b/src/site/apt/development_xml_document.apt
new file mode 100644
index 0000000..3d4c284
--- /dev/null
+++ b/src/site/apt/development_xml_document.apt
@@ -0,0 +1,607 @@
+~~ Licensed to the Apache Software Foundation (ASF) under one or more
+~~ contributor license agreements.  See the NOTICE file distributed with
+~~ this work for additional information regarding copyright ownership.
+~~ The ASF licenses this file to You under the Apache License, Version 2.0
+~~ (the "License"); you may not use this file except in compliance with
+~~ the License.  You may obtain a copy of the License at
+~~
+~~     http://www.apache.org/licenses/LICENSE-2.0
+~~
+~~ Unless required by applicable law or agreed to in writing, software
+~~ distributed under the License is distributed on an "AS IS" BASIS,
+~~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+~~ See the License for the specific language governing permissions and
+~~ limitations under the License.
+
+XML Data Model Example 
+
+
+*Byte Array Break Down
+
+  Every XML document in VXQuery is stored in memory as one continuous array of 
+  bytes. Pointables are used to refer to these bytes in the memory.
+  This document covers VXQuery's representation of all the different types of 
+  elements of an XML document. As a result, we use a lots of pointables 
+  (same and different) through out the document. To simplify explanations, 
+  each pointable is explicitly assigned a NodeID only on this web page. 
+  Refer to the following link for details on the various pointables used: 
+  {{{http://vxquery.apache.org/development_xml_node_details.html} XML Node Details }}.
+
+**XML Document
+  
+  We use the following XML document as an example to explain VXQuery's node 
+  types. The different node types are Node Tree Pointable (NTP), 
+  Document Node Pointable (DNP), Element Node Pointable (ENP), 
+  Attribute Node Pointable (ANP), Text Node Pointable (TNP),
+  Comment Node Pointable (CNP) and Processing Instruction Node Pointable (PINP). 
+   
+---
+<?xml version="1.0"?>
+<catalog xmlns:ex="http://example.org/" >
+  <ex:book isbn="0812416139">
+    <!--top secret-->
+    <title>Macbeth</title>
+    <?hide?>
+  </ex:book>
+</catalog>
+---
+
+** {Bytes}
+  
+  Following are the bytes for the XML document above. Elements in VXQuery are
+  accessed using Tagged Value Pointables. Similarly, the XML document is also 
+  accessed using a Tagged Value Pointable. The first byte is represents the 
+  value tag. It indicates the type of the bytes that follow. 
+    
+***  <<<107, 3, 0, 0, 0, 0, 0, 0, 0, -109, 0, 0, 0, 7, 0, 0, 0, 6, 0, 0, 0, 19, 0, 0, 0, 44, 0, 0, 0, 54, 0, 0, 0, 62, 0, 0, 0, 72, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 7, 99, 97, 116, 97, 108, 111, 103, 0, 0, 0, 1, 0, 19, 104, 116, 116, 112, 58, 47, 47, 101, 120, 97, 109, 112, 108, 101, 46, 111, 114, 103, 47, 0, 0, 0, 2, 0, 4, 98, 111, 111, 107, 0, 0, 0, 3, 0, 2, 101, 120, 0, 0, 0, 4, 0, 4, 105, 115, 98, 110, 0, 0, 0, 5, 0, 5, 116, 105, 116, 108, 101, 0, 0, 0, 6, 101, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 102, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 10, 0, 0, 0, -42, 0, 0, 0, -34, 104, 0, 0, 0, 2, 0, 3, 10, 32, 32, 102, 6, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 30, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4, 14, 0, 10, 48, 56, 49, 50, 52, 49, 54, 49, 51, 57, 0, 0, 0, 7, 0, 0, 0, 12, 0, 0, 0, 29, 0, 0, 0, 41, 0, 0, 0, 81, 0, 0, 0, 93, 
 0, 0, 0, 106, 0, 0, 0, 116, 104, 0, 0, 0, 5, 0, 5, 10, 32, 32, 32, 32, 105, 0, 0, 0, 6, 0, 10, 116, 111, 112, 32, 115, 101, 99, 114, 101, 116, 104, 0, 0, 0, 7, 0, 5, 10, 32, 32, 32, 32, 102, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 14, 104, 0, 0, 0, 9, 0, 7, 77, 97, 99, 98, 101, 116, 104, 104, 0, 0, 0, 10, 0, 5, 10, 32, 32, 32, 32, 106, 0, 0, 0, 11, 0, 4, 104, 105, 100, 101, 0, 0, 104, 0, 0, 0, 12, 0, 3, 10, 32, 32, 104, 0, 0, 0, 13, 0, 1, 10>>>
+
+
+=========================================================================
+
+** {Node Tree}
+  
+  <<<107>>> The first byte as described above is the value tag for Node Tree
+  Pointable.
+  
+  The rest of the bytes represent a Node Tree Pointable. Refer to this link
+  to view the {{Bytes}} for the Node Tree Pointable(NTP).
+
+  XML Documents in VXQuery are wrapped in Node Tree Pointables. As a side note,
+  every result produced as an output of a function is also wrapped in a NTP.
+  
+  Following are the bytes and contents of the Node Tree Pointable for this XML
+  document.
+  
+  <<< 3 >>>  Header byte (One byte) that uses the lowest three bit to denote if
+
+          ** bit <Node Id> exists: <Yes>
+          
+          ** bit <Dictionary> exists: <Yes>
+          
+          ** bit <Header Type> exists: <No>
+          
+  <<< 0, 0, 0, 0 >>>  These 4 bytes represent the
+  <Node Id> which has value <<0>>
+
+  Following are the byte contents of the {{Dictionary}}. The byte array break 
+  down is explained in details further ahead.
+ 
+*** <<<0, 0, 0, -109, 0, 0, 0, 7, 0, 0, 0, 6, 0, 0, 0, 19, 0, 0, 0, 44, 0, 0, 0, 54, 0, 0, 0, 62, 0, 0, 0, 72, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 7, 99, 97, 116, 97, 108, 111, 103, 0, 0, 0, 1, 0, 19, 104, 116, 116, 112, 58, 47, 47, 101, 120, 97, 109, 112, 108, 101, 46, 111, 114, 103, 47, 0, 0, 0, 2, 0, 4, 98, 111, 111, 107, 0, 0, 0, 3, 0, 2, 101, 120, 0, 0, 0, 4, 0, 4, 105, 115, 98, 110, 0, 0, 0, 5, 0, 5, 116, 105, 116, 108, 101, 0, 0, 0, 6>>>
+ 
+  Element Node in NTP(root node):
+  
+  In this NTP, the Element Node or the root node is a Document Node Pointable 
+  (DNP) ({{NodeID:0}}). <<101>> is the <Value Tag> for Document Node Pointable. 
+  Note that this root node can represent any pointable type. For example: 
+  ElementNodePointable, Attribute Node Pointable or Text Node Pointable.
+   
+  Following are the byte contents for the Document Node Pointable 
+  ({{NodeID:0}}). The byte array break down is explained further ahead.
+ 
+*** <<<0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 102, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 10, 0, 0, 0, -42, 0, 0, 0, -34, 104, 0, 0, 0, 2, 0, 3, 10, 32, 32, 102, 6, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 30, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4, 14, 0, 10, 48, 56, 49, 50, 52, 49, 54, 49, 51, 57, 0, 0, 0, 7, 0, 0, 0, 12, 0, 0, 0, 29, 0, 0, 0, 41, 0, 0, 0, 81, 0, 0, 0, 93, 0, 0, 0, 106, 0, 0, 0, 116, 104, 0, 0, 0, 5, 0, 5, 10, 32, 32, 32, 32, 105, 0, 0, 0, 6, 0, 10, 116, 111, 112, 32, 115, 101, 99, 114, 101, 116, 104, 0, 0, 0, 7, 0, 5, 10, 32, 32, 32, 32, 102, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 14, 104, 0, 0, 0, 9, 0, 7, 77, 97, 99, 98, 101, 116, 104, 104, 0, 0, 0, 10, 0, 5, 10, 32, 32, 32, 32, 106, 0, 0, 0, 11, 0, 4, 104, 105, 100, 101, 0, 0, 104, 0, 0, 0, 12, 0, 3, 10, 32, 32, 104, 0, 0, 0, 13, 0, 1, 10>>>
+
+=========================================================================
+
+**  {Dictionary}
+
+  Byte Array for the Dictionary
+  
+***  <<<0, 0, 0, -109, 0, 0, 0, 7, 0, 0, 0, 6, 0, 0, 0, 19, 0, 0, 0, 44, 0, 0, 0, 54, 0, 0, 0, 62, 0, 0, 0, 72, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 7, 99, 97, 116, 97, 108, 111, 103, 0, 0, 0, 1, 0, 19, 104, 116, 116, 112, 58, 47, 47, 101, 120, 97, 109, 112, 108, 101, 46, 111, 114, 103, 47, 0, 0, 0, 2, 0, 4, 98, 111, 111, 107, 0, 0, 0, 3, 0, 2, 101, 120, 0, 0, 0, 4, 0, 4, 105, 115, 98, 110, 0, 0, 0, 5, 0, 5, 116, 105, 116, 108, 101, 0, 0, 0, 6>>>
+ 
+***  <<< 0, 0, 0, -109 >>> 
+  
+  These 4 bytes represent the <Size of Dictionary> in signed integer format. 
+  After conversion to unsigned integer format the value is <<147>>.
+  
+*** <<<0, 0, 0, 7>>>
+
+  These 4 bytes represent the <Number of items> in the dictionary: <<7>>
+
+*** <<<0, 0, 0, 6, 0, 0, 0, 19, 0, 0, 0, 44, 0, 0, 0, 54, 0, 0, 0, 62, 0, 0, 0, 72, 0, 0, 0, 83>>> 
+    
+  This is a list of <Offsets> for each item in the dictionary. 
+  There are 7 offsets. Each offset is 4 bytes long. Following are 
+  the 7 offsets: <<6, 19, 44, 54, 62, 72, 83>>
+
+*** <<<0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 5, 0, 0, 0, 6>>>
+  
+  This is a sorted list of keys in alphabetical order. Each key is 4 byte long. 
+  Each key is mapped to a string in the dictionary. The keys 
+  are the numbers <<1>> through <<6>>.
+   
+  Following are the data values in the dictionary.Each data value is a 
+  StringPointable. Each StringPointable maps to XML document strings.  
+
+***  <<<0, 0, 0, 0, 0, 0>>> 
+
+  The <Size> of the string is <<0>>. The <String Value> is <<null>>. 
+  The StringPointable is followed by the key which is <<0>>.
+  
+***  <<<0, 7, 99, 97, 116, 97, 108, 111, 103, 0, 0, 0, 1>>>
+  
+  The <Size> of the string is <<7>>. The <String Value> is <<catalog>>. 
+  The StringPointable is followed by the key which is <<1>>.
+ 
+***  <<<0, 19, 104, 116, 116, 112, 58, 47, 47, 101, 120, 97, 109, 112, 108, 101, 46, 111, 114, 103, 47, 0, 0, 0, 2>>> 
+ 
+  The <Size> of the string is <<19>>. 
+  The <String Value> is <<http://example.org/>>. 
+  The StringPointable is followed by the key which is <<2>>.
+ 
+***  <<<0, 4, 98, 111, 111, 107, 0, 0, 0, 3>>>
+ 
+  The <Size> of the string is <<4>>. The <String Value> is <<book>>. 
+  The StringPointable is followed by the key which is <<3>>. 
+ 
+*** <<<0, 2, 101, 120, 0, 0, 0, 4>>>
+ 
+  The <Size> of the string is <<2>>. The <String Value> is <<ex>>. 
+  The StringPointable is followed by the key which is <<4>>.
+ 
+*** <<<0, 4, 105, 115, 98, 110, 0, 0, 0, 5>>>
+ 
+  The <Size> of the string is <<4>>. The <String Value> is <<isbn>>. 
+  The StringPointable is followed by the key which is <<5>>.
+ 
+*** <<<0, 5, 116, 105, 116, 108, 101, 0, 0, 0, 6>>>
+
+  The <Size> of the string is <<4>>. The <String Value> is <<title>>. 
+  The StringPointable is followed by the key which is <<6>>.
+
+
+================================================================ 
+
+
+** Document Node ({NodeID:0})
+  
+  This child is contained in the parent {{Node Tree}}.
+   
+  Byte Array for Document Node (NodeID:0)
+  
+***  <<<101, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 102, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 10, 0, 0, 0, -42, 0, 0, 0, -34, 104, 0, 0, 0, 2, 0, 3, 10, 32, 32, 102, 6, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 30, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4, 14, 0, 10, 48, 56, 49, 50, 52, 49, 54, 49, 51, 57, 0, 0, 0, 7, 0, 0, 0, 12, 0, 0, 0, 29, 0, 0, 0, 41, 0, 0, 0, 81, 0, 0, 0, 93, 0, 0, 0, 106, 0, 0, 0, 116, 104, 0, 0, 0, 5, 0, 5, 10, 32, 32, 32, 32, 105, 0, 0, 0, 6, 0, 10, 116, 111, 112, 32, 115, 101, 99, 114, 101, 116, 104, 0, 0, 0, 7, 0, 5, 10, 32, 32, 32, 32, 102, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 14, 104, 0, 0, 0, 9, 0, 7, 77, 97, 99, 98, 101, 116, 104, 104, 0, 0, 0, 10, 0, 5, 10, 32, 32, 32, 32, 106, 0, 0, 0, 11, 0, 4, 104, 105, 100, 101, 0, 0, 104, 0, 0, 0, 12, 0, 3, 10, 32, 32, 104, 0, 0, 0, 13, 0, 1, 10>>>
+  
+  <<<101>>> is the value tag for the Document Node Pointable.
+ 
+  Following are the bytes and contents of the Document Node Pointable.
+  
+  <<< 0, 0, 0, 0 >>>  These 4 bytes represent the <Node Id> 
+  which has value <<0>>
+ 
+  Every Document Node Pointable contains a Sequence Pointable. This is analogous 
+  to a collection of items(data). In VXQuery, the items(data) 
+  in the Sequence Pointable are preceded by the number of items in the sequence 
+  and item size.
+ 
+ Sequence Content:
+ 
+  <<<0, 0, 0, 1>>>  These 4 bytes represents the <Number of Items> 
+  in the sequence which is <<1>> 
+ 
+  <<<0, 0, 1, 0>>>  These 4 bytes represents 
+  the <Size of the item> which is <<257>>
+ 
+  <Data in the Sequence>: Here the (item)data in the sequence is an 
+  Element Node Pointable ({{NodeID:1}}). Note that the data can represent any 
+  type of pointable or element.
+  
+*** <<<102, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 10, 0, 0, 0, -42, 0, 0, 0, -34, 104, 0, 0, 0, 2, 0, 3, 10, 32, 32, 102, 6, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 30, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4, 14, 0, 10, 48, 56, 49, 50, 52, 49, 54, 49, 51, 57, 0, 0, 0, 7, 0, 0, 0, 12, 0, 0, 0, 29, 0, 0, 0, 41, 0, 0, 0, 81, 0, 0, 0, 93, 0, 0, 0, 106, 0, 0, 0, 116, 104, 0, 0, 0, 5, 0, 5, 10, 32, 32, 32, 32, 105, 0, 0, 0, 6, 0, 10, 116, 111, 112, 32, 115, 101, 99, 114, 101, 116, 104, 0, 0, 0, 7, 0, 5, 10, 32, 32, 32, 32, 102, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 14, 104, 0, 0, 0, 9, 0, 7, 77, 97, 99, 98, 101, 116, 104, 104, 0, 0, 0, 10, 0, 5, 10, 32, 32, 32, 32, 106, 0, 0, 0, 11, 0, 4, 104, 105, 100, 101, 0, 0, 104, 0, 0, 0, 12, 0, 3, 10, 32, 32, 104, 0, 0, 0, 13, 0, 1, 10>>>
+ 
+ 
+================================================================ 
+
+
+**  Element Node ({NodeID:1})
+
+  This child is contained in the parent Document Node ({{NodeID:0}}).
+  
+  Byte Array for Element Node NodeID:1
+  
+***  <<<102, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 10, 0, 0, 0, -42, 0, 0, 0, -34, 104, 0, 0, 0, 2, 0, 3, 10, 32, 32, 102, 6, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 30, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4, 14, 0, 10, 48, 56, 49, 50, 52, 49, 54, 49, 51, 57, 0, 0, 0, 7, 0, 0, 0, 12, 0, 0, 0, 29, 0, 0, 0, 41, 0, 0, 0, 81, 0, 0, 0, 93, 0, 0, 0, 106, 0, 0, 0, 116, 104, 0, 0, 0, 5, 0, 5, 10, 32, 32, 32, 32, 105, 0, 0, 0, 6, 0, 10, 116, 111, 112, 32, 115, 101, 99, 114, 101, 116, 104, 0, 0, 0, 7, 0, 5, 10, 32, 32, 32, 32, 102, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 14, 104, 0, 0, 0, 9, 0, 7, 77, 97, 99, 98, 101, 116, 104, 104, 0, 0, 0, 10, 0, 5, 10, 32, 32, 32, 32, 106, 0, 0, 0, 11, 0, 4, 104, 105, 100, 101, 0, 0, 104, 0, 0, 0, 12, 0, 3, 10, 32, 32, 104, 0, 0, 0, 13, 0, 1, 10>>>
+ 
+  <<<102>>> is the value tag for Element Node Pointable.
+ 
+  Following are the bytes and contents of the Element Node Pointable.
+ 
+  <<< 4 >>>  Header byte (One byte) that uses the lowest three bits to denote if
+
+          ** bit <Namespace Chunk> exists: <No>
+          
+          ** bit <Attribute Chunk> exists: <No>
+          
+          ** bit <Children Chunk> exists: <Yes>
+          
+   <<<0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1>>> This is a <Name Pointer> which is an
+   array of integers(4 bytes) of size <<3>> 
+ 
+  <<<0, 0, 0, 1>>> This is the <Local Node Id> which uses 4 bytes.
+ 
+  Children Chunk is a Sequence Pointable. This is analogous to a collection 
+  of items(data). In VXQuery, the items(data) 
+  in the Sequence Pointable are preceded by the number of items 
+  in the sequence and item size. 
+
+  Sequence Content childrenChunk:
+
+  <<<0, 0, 0, 3>>>  <Number of Items> in the 
+  SequencePointable <children chunk> is <<3>>
+ 
+  <<<0, 0, 0, 10>>>  <Offset> of the first item is <<10>>
+ 
+  <<<0, 0, 0, -42>>>  <Offset> of the second item is <<214>>
+   
+  <<<0, 0, 0, -34>>>  <Offset> of the third item is <<222>>
+  
+  <Data in the Sequence>: Here the items(data) in the sequence are Text 
+  Node Pointables ({{NodeID:2}}), ({{NodeID:13}}) and Element Node Pointable
+  ({{NodeID:3}}). Note that the data can represent any type of pointable 
+  or element.
+  
+***  <<<104, 0, 0, 0, 2, 0, 3, 10, 32, 32, 102, 6, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 30, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4, 14, 0, 10, 48, 56, 49, 50, 52, 49, 54, 49, 51, 57, 0, 0, 0, 7, 0, 0, 0, 12, 0, 0, 0, 29, 0, 0, 0, 41, 0, 0, 0, 81, 0, 0, 0, 93, 0, 0, 0, 106, 0, 0, 0, 116, 104, 0, 0, 0, 5, 0, 5, 10, 32, 32, 32, 32, 105, 0, 0, 0, 6, 0, 10, 116, 111, 112, 32, 115, 101, 99, 114, 101, 116, 104, 0, 0, 0, 7, 0, 5, 10, 32, 32, 32, 32, 102, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 14, 104, 0, 0, 0, 9, 0, 7, 77, 97, 99, 98, 101, 116, 104, 104, 0, 0, 0, 10, 0, 5, 10, 32, 32, 32, 32, 106, 0, 0, 0, 11, 0, 4, 104, 105, 100, 101, 0, 0, 104, 0, 0, 0, 12, 0, 3, 10, 32, 32, 104, 0, 0, 0, 13, 0, 1, 10>>>
+
+
+================================================================
+
+
+** Text Node ({NodeID:2}) 
+  
+   This child is contained in the parent Element Node ({{NodeID:1}}).
+  
+  Byte Array for Text Node NodeID:2
+  
+***  <<<104, 0, 0, 0, 2, 0, 3, 10, 32, 32>>>
+
+  <<<104>>> is the value tag for the Text Node Pointable.
+ 
+  Following are the bytes and contents of the Text Node Pointable.  
+
+  <<<0, 0, 0, 2>>> This is the <Node Id> that uses 4 bytes and has value <<2>> 
+ 
+  <<<0, 3, 10, 32, 32>>> This is the <UTF8String> which has a size <<3>> 
+  and value represents a <<new line>> and 2 <<spaces>>
+
+================================================================
+
+
+** Element Node ({NodeID:3})
+  
+  This child is contained in the parent Element Node ({{NodeID:1}}).
+   
+  Byte Array for Element Node NodeID:3
+   
+***  <<<102, 6, 0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 30, 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4, 14, 0, 10, 48, 56, 49, 50, 52, 49, 54, 49, 51, 57, 0, 0, 0, 7, 0, 0, 0, 12, 0, 0, 0, 29, 0, 0, 0, 41, 0, 0, 0, 81, 0, 0, 0, 93, 0, 0, 0, 106, 0, 0, 0, 116, 104, 0, 0, 0, 5, 0, 5, 10, 32, 32, 32, 32, 105, 0, 0, 0, 6, 0, 10, 116, 111, 112, 32, 115, 101, 99, 114, 101, 116, 104, 0, 0, 0, 7, 0, 5, 10, 32, 32, 32, 32, 102, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 14, 104, 0, 0, 0, 9, 0, 7, 77, 97, 99, 98, 101, 116, 104, 104, 0, 0, 0, 10, 0, 5, 10, 32, 32, 32, 32, 106, 0, 0, 0, 11, 0, 4, 104, 105, 100, 101, 0, 0, 104, 0, 0, 0, 12, 0, 3, 10, 32, 32>>>
+  
+  <<<102>>> is the value tag for the Element Node Pointable.
+ 
+  Following are the bytes and contents of the Element Node Pointable.
+ 
+  <<< 6 >>>  Header byte (One byte) that uses the three lowest bit to denote if
+
+          ** bit <Namespace Chunk> exists: <No>
+          
+          ** bit <Attribute Chunk> exists: <Yes>
+          
+          ** bit <Children Chunk> exists: <Yes>
+ 
+  <<<0, 0, 0, 4, 0, 0, 0, 2, 0, 0, 0, 3>>> This is a <Name Pointer> which is an 
+  array of integers(4 bytes) of size <<3>> 
+ 
+  <<<0, 0, 0, 3>>> This is the <Local Node Id> which uses 4 bytes.
+ 
+  Attribute Chunk is a Sequence Pointable.
+  
+  Sequence Content attributeChunk:
+  
+  <<<0, 0, 0, 1>>>  <Number of Items> in the 
+  SequencePointable <attribute chunk> is <<1>>
+ 
+  <<<0, 0, 0, 30>>>  <Size> of the first item is <<30>>
+  
+   <Data in the Sequence>: Here the item(data) in the sequence is an 
+   Attribute Node Pointable ({{NodeID:4}}). Note that the data 
+   can represent any type of pointable or element.
+  
+***  <<< 103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4, 14, 0, 10, 48, 56, 49, 50, 52,  49, 54, 49, 51, 57>>>
+
+  Children Chunk is a Sequence Pointable. This is analogous to a collection of 
+  items(data). In VXQuery, the items(data) 
+  in the Sequence Pointable are preceded by the number of 
+  items in the sequence and item size. 
+  
+  Sequence Content childrenChunk:
+
+  <<<0, 0, 0, 7>>>  <Number of Items> in the
+  SequencePointable <children chunk> is <<3>>
+ 
+  <<<0, 0, 0, 12>>>  <Offset> of the first item is <<12>>
+ 
+  <<<0, 0, 0, 29>>>  <Offset> of the second item is <<12>>
+   
+  <<<0, 0, 0, 41>>>  <Offset> of the third item is <<41>>
+  
+  <<<0, 0, 0, 81>>>  <Offset> of the fourth item is <<81>>
+
+  <<<0, 0, 0, 93>>>  <Offset> of the fifth item is <<93>>
+
+  <<<0, 0, 0, 106>>>  <Offset> of the sixth item is <<106>>
+
+  <<<0, 0, 0, 116>>>  <Offset> of the seventh item is <<116>>
+  
+  <Data in the Sequence>: Here the items(data) in the sequence are Text Node
+  ({{NodeID:5}}), ({{NodeID:7}}), ({{NodeID:10}}), ({{NodeID:12}}), 
+  Element Node ({{NodeID:8}}), Comment Node ({{NodeID:6}}) and
+  Processing Instruction Node ({{NodeID:11}}). 
+   
+***  <<<104, 0, 0, 0, 5, 0, 5, 10, 32, 32, 32, 32, 105, 0, 0, 0, 6, 0, 10, 116, 111, 112, 32, 115, 101, 99, 114, 101, 116, 104, 0, 0, 0, 7, 0, 5, 10, 32, 32, 32, 32, 102, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 14, 104, 0, 0, 0, 9, 0, 7, 77, 97, 99, 98, 101, 116, 104, 104, 0, 0, 0, 10, 0, 5, 10, 32, 32, 32, 32, 106, 0, 0, 0, 11, 0, 4, 104, 105, 100, 101, 0, 0, 104, 0, 0, 0, 12, 0, 3, 10, 32, 32, 104, 0, 0, 0, 13, 0, 1, 10>>>
+
+
+================================================================
+
+
+** Attribute Node ({NodeID:3})
+
+  This child is contained in the parent Element Node ({{NodeID:3}}).
+  
+  Byte Array for Attribute Node NodeID:3
+  
+***  <<<103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 4, 14, 0, 10, 48, 56, 49, 50, 52, 49, 54, 49, 51, 57>>>
+  
+  <<<103>>> is the value tag for the Attribute Node Pointable.
+ 
+  Following are the bytes and contents of the Attribute Node Pointable.
+ 
+  <<<0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5,>>> This is a <Name Pointer> 
+  which is an array of integers(4 bytes) of size <<3>>. It consists of 
+  <PrefixCode>, <NamespaceCode>, <LocalCode>.
+
+  <<<0, 0, 0, 4>>> This is the <NodeId> which has a value of <<4>>.
+ 
+  <<<14, 0, 10, 48, 56, 49, 50, 52,  49, 54, 49, 51, 57 >>> This is a 
+  string of length <<10>> and the length of the string is  <<0812416139>>
+
+
+================================================================
+
+
+** Text Node Pointable ({NodeID:5})
+
+  This child is contained in the parent Element Node ({{NodeID:3}})
+  childrenChunk.
+  
+  Byte Array for Text Node NodeID:5
+  
+***  <<<104, 0, 0, 0, 5, 0, 5, 10, 32, 32, 32, 32>>>
+ 
+  <<<104>>> is the value tag for the Text Node Pointable.
+ 
+  Following are the bytes and contents of the Text Node Pointable.
+
+  <<<0, 0, 0, 5>>> This is the <Node Id> that uses 4 bytes and has value <<2>> 
+ 
+  <<< 0, 5, 10, 32, 32, 32, 32>>> This is the <UTF8String> which has 
+  a size <<5>> and value represents a <<new line>> and 4 <<spaces>>
+
+
+================================================================
+
+
+** Comment Node Pointable ({NodeID:6})
+
+  This child is contained in the parent Element Node ({{NodeID:3}}) 
+  childrenChunk.
+  
+  Byte Array for Comment Node NodeID:6
+ 
+*** <<<105, 0, 0, 0, 6, 0, 10, 116, 111, 112, 32, 115, 101, 99, 114, 101, 116>>>
+  
+  <<<105>>> is the value tag for the Comment Node Pointable.
+ 
+  Following are the bytes and contents of the Comment Node Pointable.
+ 
+  <<<0, 0, 0, 6>>> This is the <Node Id> that uses 4 bytes and has value <<6>> 
+ 
+  <<< 0, 10, 116, 111, 112, 32, 115, 101, 99, 114, 101, 116>>> 
+  This is the <UTF8String> which has a size <<10>> and value <<top secret>>
+ 
+ 
+================================================================
+ 
+ 
+** Text Node Pointable ({NodeID:7})
+ 
+  This child is contained in the parent Element Node ({{NodeID:3}}) 
+  childrenChunk.
+  
+  Byte Array for Text Node NodeID:7
+  
+***  <<< 104, 0, 0, 0, 7, 0, 5, 10, 32, 32, 32, 32>>>  
+ 
+  <<<104>>> is the value tag for the Text Node Pointable.
+ 
+  Following are the bytes and contents of the Text Node Pointable.
+
+  <<<0, 0, 0, 7>>> This is the <Node Id> that uses 4 bytes and has value <<7>> 
+ 
+  <<< 0, 5, 10, 32, 32, 32, 32>>> This is the <UTF8String> 
+  which has a size <<5>> and value represents a <<new line>> and 4 <<spaces>>
+
+
+================================================================
+
+
+** Element Node ({NodeID:8})
+
+  This child is contained in the parent Element Node ({{NodeID:3}}) 
+  childrenChunk.
+  
+  Byte Array for Element Node NodeID:8
+  
+***  <<<102, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 14, 104, 0, 0, 0, 9, 0, 7, 77, 97, 99, 98, 101, 116, 104>>>
+ 
+  <<<102>>> is the value tag for the Element Node Pointable.
+ 
+  Following are the bytes and contents of the Element Node Pointable.
+  
+  <<< 4 >>>  Header byte (One byte) that uses the lowest three bits to denote if
+
+          ** bit <Namespace Chunk> exists: <No>
+          
+          ** bit <Attribute Chunk> exists: <No>
+          
+          ** bit <Children Chunk> exists: <Yes>
+ 
+  <<<0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6>>> This is a <Name Pointer> 
+  which is an array of integers(4 bytes) of size <<3>> 
+ 
+  <<<0, 0, 0, 8>>> This is the <Node Id> that uses 4 bytes and has value <<8>> 
+  
+  Following is a SequencePointable.
+  
+  Sequence Content childrenChunk
+
+  <<<0, 0, 0, 1>>> <Number of Items> in the 
+  SequencePointable <children chunk> is <<1>>
+  
+  <<<0, 0, 0, 14>>> <Offset> of the first item is <<14>>
+  
+  <Data in the Sequence>: Here the (item)data in the sequence is a 
+  Text Node Pointable ({{NodeID:9}}).
+  
+***   <<< 104, 0, 0, 0, 9, 0, 7, 77, 97, 99, 98, 101, 116, 104>>>
+ 
+ 
+================================================================
+ 
+ 
+** Text Node Pointable ({NodeID:9})
+
+  This child is contained in the parent Element Node ({{NodeID:8}}).
+  
+  Byte Array for Text NodeID:9
+  
+***  <<<104, 0, 0, 0, 9, 0, 7, 77, 97, 99, 98, 101, 116, 104>>>
+ 
+  <<<104>>> is the value tag for the Text Node Pointable.
+ 
+  Following are the bytes and contents of the Text Node Pointable.
+
+  <<<0, 0, 0, 9>>> This is the <Node Id> that uses 4 bytes and has value <<9>> 
+ 
+  <<<0, 7, 77, 97, 99, 98, 101, 116, 104>>> This is the <UTF8String> 
+  which has a size <<7>> and value <<Macbeth>>
+
+
+================================================================
+
+
+** Text Node Pointable ({NodeID:10})
+   
+  This child is contained in the parent Element Node ({{NodeID:3}}) 
+  childrenChunk.
+   
+  Byte Array for Text Node NodeID:10
+  
+***  <<<104, 0, 0, 0, 10, 0, 5, 10, 32, 32, 32, 32>>>
+    
+  <<<104>>>
+  and the rest of the bytes represent a Text Node Pointable.
+ 
+  Following are the bytes and contents of the Text Node Pointable.
+
+  <<<0, 0, 0, 10>>> This is the <Node Id> that uses 4 bytes and has value <<2>> 
+ 
+  <<<0, 5, 10, 32, 32, 32, 32>>> This is the <UTF8String> which has a size <<5>> 
+  and value represents a <<new line>> and 4 <<spaces>>
+
+
+================================================================
+
+
+** Processing Instruction Node ({NodeID:11})
+
+  This child is contained in the parent Element Node ({{NodeID:3}}) 
+  childrenChunk.
+  
+  Byte Array for Processing Instruction Node NodeID:11
+  
+***  <<<106, 0, 0, 0, 11, 0, 4, 104, 105, 100, 101>>>
+  
+  Note that this is a Tagged Value Pointable in which the value tag is <<106>>
+  and the rest of the bytes represent a Processing Instruction Node Pointable.
+ 
+  Following are the bytes and contents of the Processing 
+  Instruction Node Pointable.
+
+  <<<0, 0, 0, 11>>> This is the <Node Id> that uses 4 bytes and has value <<11>>
+ 
+  <<<0, 4, 104, 105, 100, 101>>>  This is the <UTF8String> 
+  which has a size <<4>> and value <<hide>>
+ 
+  <<<0, 0>>> This is also a string representing content. 
+  It is a <<null string>>. 
+
+
+================================================================
+
+
+** Text Node Pointable ({NodeID:12})
+
+  This child is contained in the parent Element Node ({{NodeID:3}}) 
+  childrenChunk.
+  
+   Byte Array for Text Node NodeID:12
+  
+***  <<<104, 0, 0, 0, 12, 0, 3, 10, 32, 32>>>
+  
+  Note that this is a Tagged Value Pointable in which the value tag is <<104>>
+  and the rest of the bytes represent a Text Node Pointable.
+ 
+  Following are the bytes and contents of the Text Node Pointable.
+
+  <<<0, 0, 0, 12>>> This is the <Node Id> that uses 4 bytes and has value <<12>> 
+
+  <<<0, 3, 10, 32, 32>>> This is the <UTF8String> which has a size <<3>> 
+  and value represents a <<new line>> and 2 <<spaces>>.
+
+
+================================================================
+
+
+** Text Node Pointable ({NodeID:13})
+
+  This child is contained in the parent Element Node ({{NodeID:1}}).
+  
+  Byte Array for Text Node NodeID:13
+  
+***  <<<104, 0, 0, 0, 13, 0, 1, 10>>>
+
+  <<<104>>> is the value tag for the Text Node Pointable.
+ 
+  Following are the bytes and contents of the Text Node Pointable.
+
+  <<<0, 0, 0, 13>>> This is the <Node Id> that uses 4 bytes and has value <<13>> 
+ 
+  <<<0, 1, 10>>> This is the <UTF8String> which has a size <<1>> 
+  and value represents a <<new line>>.
+
+
+================================================================
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/vxquery/blob/da03800b/src/site/apt/development_xml_node_details.apt
----------------------------------------------------------------------
diff --git a/src/site/apt/development_xml_node_details.apt b/src/site/apt/development_xml_node_details.apt
index 647b8d1..7483b0e 100644
--- a/src/site/apt/development_xml_node_details.apt
+++ b/src/site/apt/development_xml_node_details.apt
@@ -13,7 +13,7 @@
 ~~ See the License for the specific language governing permissions and
 ~~ limitations under the License.
 
-Data XML and Node Types
+XML Data and Node Types
 
   XML is used as the data source for XQuery and must be parsed into Hyracks data. Each
   node type defined in XPath and XQuery can be mapped into pointable defined in Apache 
@@ -21,23 +21,23 @@ Data XML and Node Types
 
 * XPath Node Types
 
-*--------------------------------+----------------------+---------------+
-| <<Data Type>>                  | <<Pointable Name>>   | <<Data Size>> |
-*--------------------------------+----------------------+---------------:
-| Attribute Nodes                | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/AttributeNodePointable.java}AttributeNodePointable}}      |    1 + length |
-*--------------------------------+----------------------+---------------:
-| Document Nodes                 | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/DocumentNodePointable.java}DocumentNodePointable}}      |    1 + length |
-*--------------------------------+----------------------+---------------:
-| Element Nodes                  | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/ElementNodePointable.java}ElementNodePointable}}      |    1 + length |
-*--------------------------------+----------------------+---------------:
-| Node Tree Nodes                | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/NodeTreePointable.java}NodeTreePointable}}      |    1 + length |
-*--------------------------------+----------------------+---------------:
-| Processing Instruction Nodes   | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/PINodePointable.java}PINodePointable}}      |    1 + length |
-*--------------------------------+----------------------+---------------:
-| Comment Nodes                  | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/TextOrCommentNodePointable.java}TextOrCommentNodePointable}}      |    1 + length |
-*--------------------------------+----------------------+---------------:
-| Text Nodes                     | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/TextOrCommentNodePointable.java}TextOrCommentNodePointable}}      |    1 + length |
-*--------------------------------+----------------------+---------------:
+*-----------------------------------+----------------------+---------------+
+| <<Data Type>>                     | <<Pointable Name>>   | <<Data Size>> |
+*-----------------------------------+----------------------+---------------:
+| Attribute Nodes(ANP)              | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/AttributeNodePointable.java}AttributeNodePointable}}      |    1 + length |
+*-----------------------------------+----------------------+---------------:
+| Document Nodes(DNP)               | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/DocumentNodePointable.java}DocumentNodePointable}}      |    1 + length |
+*-----------------------------------+----------------------+---------------:
+| Element Nodes(ENP)                | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/ElementNodePointable.java}ElementNodePointable}}      |    1 + length |
+*-----------------------------------+----------------------+---------------:
+| Node Tree(NTP)                    | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/NodeTreePointable.java}NodeTreePointable}}      |    1 + length |
+*-----------------------------------+----------------------+---------------:
+| Processing Instruction Node(PINP) | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/PINodePointable.java}PINodePointable}}      |    1 + length |
+*-----------------------------------+----------------------+---------------:
+| Comment Node(CNP)                 | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/TextOrCommentNodePointable.java}TextOrCommentNodePointable}}      |    1 + length |
+*-----------------------------------+----------------------+---------------:
+| Text Node(TNP)                    | {{{https://git-wip-us.apache.org/repos/asf?p=vxquery.git;a=blob;f=vxquery-core/src/main/java/org/apache/vxquery/datamodel/accessors/nodes/TextOrCommentNodePointable.java}TextOrCommentNodePointable}}      |    1 + length |
+*-----------------------------------+----------------------+---------------:
 
 
 * XML Mapping

http://git-wip-us.apache.org/repos/asf/vxquery/blob/da03800b/src/site/apt/user_cluster_installation.apt
----------------------------------------------------------------------
diff --git a/src/site/apt/user_cluster_installation.apt b/src/site/apt/user_cluster_installation.apt
new file mode 100644
index 0000000..1342908
--- /dev/null
+++ b/src/site/apt/user_cluster_installation.apt
@@ -0,0 +1,149 @@
+~~ Licensed to the Apache Software Foundation (ASF) under one or more
+~~ contributor license agreements.  See the NOTICE file distributed with
+~~ this work for additional information regarding copyright ownership.
+~~ The ASF licenses this file to You under the Apache License, Version 2.0
+~~ (the "License"); you may not use this file except in compliance with
+~~ the License.  You may obtain a copy of the License at
+~~
+~~     http://www.apache.org/licenses/LICENSE-2.0
+~~
+~~ Unless required by applicable law or agreed to in writing, software
+~~ distributed under the License is distributed on an "AS IS" BASIS,
+~~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+~~ See the License for the specific language governing permissions and
+~~ limitations under the License.
+
+Cluster Installation
+
+
+* Requirements
+
+  * Apache VXQuery\x99 source archive (apache-vxquery-X.Y-source-release.zip)
+
+  * JDK >= 1.7
+
+  * Apache Maven >= 3.2
+
+
+* Steps
+
+  * <<Export JAVA_HOME>>
+  
+---
+$ export JAVA_HOME=/usr/java/latest
+---
+
+
+  * <<Unzip and build VXQuery>>
+
+--- 
+$ unzip apache-vxquery-X.Y-source-release.zip
+$ cd apache-vxquery-X.Y
+$ mvn package -DskipTests
+$ cd ..
+---
+
+
+  * <<Create configuration file>>
+    
+    Create a configuration xml file containing the information of the vxquery cluster.Here is an example of a VXQuery configuration file for a cluster with 1 master and 3 slaves.
+
+---
+    <cluster xmlns="cluster">
+      <name>local</name>
+      <username>joe</username>
+      <master_node>
+          <id>master</id>
+          <client_ip>128.195.52.177</client_ip>
+          <cluster_ip>192.168.100.0</cluster_ip>
+      </master_node>
+      <node>
+          <id>nodeA</id>
+          <cluster_ip>192.168.100.1</cluster_ip>
+      </node>
+      <node>
+          <id>nodeB</id>
+          <cluster_ip>192.168.100.2</cluster_ip>
+      </node>
+      <node>
+          <id>nodeC</id>
+          <cluster_ip>192.168.100.3</cluster_ip>
+      </node>
+  </cluster>
+---
+
+    * Fields that are required:
+
+      * name : name of the cluster
+      
+      * username : user that will execute commands in all the machines of the cluster. Preferably a user that has passwordless ssh access to the machines.
+
+      * id : hostname of the node
+
+      * cluster_ip : ip of the host in the cluster
+
+      * client_ip : ip of the master
+
+    * Some optional fields:
+
+      * CCPORT : port for the Cluster Controller
+
+      * J_OPTS : define the java options you want, for Cluster Controller and Node Controller
+
+
+  * <<Deploy cluster>>
+
+    To deploy the cluster you need to execute this command in the vxquery installation directory
+    
+---
+$python cluster_cli.py -c ../conf/cluster.xml -a deploy -d /apache-vxquery/vxquery-server
+---
+
+    * Arguments: 
+
+      * -c : path to the configuration file you created
+
+      * -a : action you want to perform
+
+      * -d : directory in the system to deploy the cluster
+
+
+  * <<Start cluster>>
+
+    The command to start the cluster is 
+
+---
+$python cluster_cli.py -c ../conf/cluster.xml -a start
+---
+  
+
+  * <<Stop cluster>>
+
+    The command to stop the cluster is 
+
+---
+$python cluster_cli.py -c ../conf/cluster.xml -a stop
+---
+
+
+  * <<Check process status for Cluster Controller>>
+
+  You can try these commands to check on the status of the processes
+
+---
+$ps -ef|grep ${USER}|grep java|grep 'Dapp.name=vxquerycc'
+---
+
+
+ * <<Check process status for Node Controller>>
+
+---
+$ps -ef|grep ${USER}|grep java|grep 'Dapp.name=vxquerync'
+---
+
+
+ * <<Check process status for hyracks process>>
+
+---
+$ps -ef|grep ${USER}|grep java|grep 'hyracks'
+---
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/vxquery/blob/da03800b/src/site/apt/user_running_tests.apt
----------------------------------------------------------------------
diff --git a/src/site/apt/user_running_tests.apt b/src/site/apt/user_running_tests.apt
index d10bd7e..d5e97b2 100644
--- a/src/site/apt/user_running_tests.apt
+++ b/src/site/apt/user_running_tests.apt
@@ -72,11 +72,11 @@ sh ./vxquery-xtest/target/appassembler/bin/xtest -catalog vxquery-xtest/src/test
     To run the complete XQTS on VXQuery.
   
     * Create a folder to hold the XQTS. 
-      If you use "vxquery-xtest/test-suite/xqts", then maven will utilize the XQTS to verify VXQuery's passing functions during the build process.
+      If you use "vxquery-xtest/test-suites/xqts", then maven will utilize the XQTS to verify VXQuery's passing functions during the build process.
     
 ----------------------------------------
-$ mkdir -p vxquery-xtest/test-suite
-$ cd vxquery-xtest/test-suite
+$ mkdir -p vxquery-xtest/test-suites
+$ cd vxquery-xtest/test-suites
 ----------------------------------------
     
     * Get the archive {{{http://dev.w3.org/2006/xquery-test-suite/PublicPagesStagingArea/XQTS_1_0_3.zip}XQTS_1_0_3.zip}} (e.g. using wget),
@@ -103,7 +103,7 @@ $ cd ../..
     * run the tests, and
 
 ----------------------------------------
-sh ./vxquery-xtest/target/appassembler/bin/xtest -catalog vxquery-xtest/test-suite/xqts/XQTSCatalog.xml -htmlreport /tmp/full_report.html
+sh ./vxquery-xtest/target/appassembler/bin/xtest -catalog vxquery-xtest/test-suites/xqts/XQTSCatalog.xml -htmlreport /tmp/full_report.html
 ----------------------------------------
 
     * view the results at {{{file:///tmp/full_report.html}file:///tmp/full_report.html}}.
@@ -118,7 +118,7 @@ sh ./vxquery-xtest/target/appassembler/bin/xtest -catalog vxquery-xtest/test-sui
     * run the tests, and
 
 ----------------------------------------
-sh ./vxquery-xtest/target/appassembler/bin/xtest -catalog vxquery-xtest/test-suite/xqts/XQTSCatalog.xml -htmlreport /tmp/previous_report.html  -previous-test-results vxquery-xtest/results/xqts.txt
+sh ./vxquery-xtest/target/appassembler/bin/xtest -catalog vxquery-xtest/test-suites/xqts/XQTSCatalog.xml -htmlreport /tmp/previous_report.html  -previous-test-results vxquery-xtest/results/xqts.txt
 ----------------------------------------
 
     * view the results at {{{file:///tmp/previous_report.html}file:///tmp/previous_report.html}}.

http://git-wip-us.apache.org/repos/asf/vxquery/blob/da03800b/src/site/site.xml
----------------------------------------------------------------------
diff --git a/src/site/site.xml b/src/site/site.xml
index 3d10b94..6758899 100644
--- a/src/site/site.xml
+++ b/src/site/site.xml
@@ -63,6 +63,9 @@ limitations under the License.
                 name="Installation"
                 href="user_installation.html" />
             <item
+                name="Cluster Installation"
+                href="user_cluster_installation.html" />
+            <item
                 name="Executing a Query"
                 href="user_query.html" />
             <item
@@ -75,18 +78,27 @@ limitations under the License.
                 name="Get Started"
                 href="developer_get_started.html" />
             <item
+                name="Contributing Code"
+                href="development_contribution.html" />
+            <item
                 name="Data Handling"
                 href="development_data_handling.html" />
             <item
-                name="Data XML and Node Types"
+                name="XML Data and Node Types"
                 href="development_xml_node_details.html" />
             <item
+                name="XML Data Model Example"
+                href="development_xml_document.html" />
+            <item
                 name="Eclipse Setup"
                 href="development_eclipse_setup.html" />
             <item
                 name="Release Steps"
                 href="development_release.html" />
             <item
+                name="Site Update Steps"
+                href="development_site_update.html" />
+            <item
                 name="Update Local Git XQTS Results"
                 href="development_update_xqts_results.html" />
             <!-- <item