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.
<!--·XPath="self::Parent·or·(parent::Parent·and·not(self::Child))·or·self::GrandChild·or·parent::GrandChild"·--> <!--·Result·C14N:¶¶ ···· ¶ --> <!--·Annotation·C14N:¶ 1.·Parent·inherts·xml:lang·and·xml:space·since·it·is·an·orphan·node.¶ 2.·Parent·has·explicitly·declared·attributes·xml:foo·and·xml:fool.¶ 3.·GrandChild·inherts·xml:foo·from·its·Child·ancestor.¶ 4.·GrandChild·inherits·xml:fool·from·its·Parent·ancestor.¶ 5.·GrandChild·inherits·xml:lang·from·its·Child·ancestor.¶ 6.·GrandChild·has·explicitly·declared·attribute·xml:space.¶ --> <!--·Result·EC14N:¶¶ ·· ¶ ···· ¶ --> <!--·Annotation·EC14N:¶ 1.·Only·those·attributes·in·the·xml·namespace·are·rendered,·which·are¶ ···explicitely·declared·in·the·attribute·axis·of·an·element.¶ --> <GrandParent xmlns="" xml:lang="en" xml:space="default">¶ ··<Parent xmlns="" xml:foo="bar" xml:fool="barbar">¶ ····<Child xmlns="" xml:foo="barbarossa" xml:lang="ge">¶ ······<GrandChild xmlns="" xml:space="preserve"></GrandChild>¶ ····</Child>¶ ··</Parent>¶ </GrandParent>¶ ··