Explanation of the output

The following text contains the nodeset of the given Reference before it is canonicalized. There exist four different styles to indicate how a given node is treated.

Output

<!-- XPath="self::Parent or (parent::Parent and not(self::Child)) or self::ns1:GrandChild or parent::ns1:GrandChild" -->
<!-- additionalNSPrefixes="ns1 http://example.org/ns1" -->
<!-- InlusiveNamespacePrefixList="ns2" -->
<!-- Result C14N:

    
      
 -->
<!-- Annotation C14N:
1. The namespace nodes ns1 und ns2 are rendered for GrandChild, since
   they are both in scope for GrandChild and in the output node set.   
-->
<!-- Result EC14N:

    
      
-->
<!-- Annotation EC14N:
1. The namespace node ns1 is rendered for GrandChild since it is visibly
   utilized by GrandChild.
2. The namespace node ns2 is rendered since it is on the 
   InlusiveNamespacePrefixList and is therefore treated as in C14N mode.
-->
<GrandParent xmlns="">
  <Parent xmlns="">
    <Child xmlns="" xmlns:ns1="http://example.org/ns1" xmlns:ns2="http://example.org/ns2">
      <ns1:GrandChild xmlns="" xmlns:ns1="http://example.org/ns1" xmlns:ns2="http://example.org/ns2"></ns1:GrandChild>
    </Child>
  </Parent>
</GrandParent>