DOM/DOMXPathNavigator.php
public function MoveToChild( $kind )
	{
		if ( is_null( $this->domNode ) ||
			 is_null( $kind ) ||
			 ! property_exists( $this->domNode, 'firstChild') // ||
			 // ! $this->domNode->hasChildNodes()
		   ) return false;

		// Create a list of the valid DOM node types based on the $kind value
		$domNodeTypes = array_keys( array_filter(
			\lyquidity\XPath2\DOM\DOMXPathNavigator::$nodeTypeMap,
			function( $nodeType ) use( $kind )
			{
				return $kind == \lyquidity\xml\xpath\XPathNodeType::All || $nodeType == $kind;
			}
		) );

		// Take a copy of the dom node
		/** @var \DOMNode $next */
		$next = $this->domNode->firstChild;
		if ( is_null( $next ) ) return;

		do
		{
			// If the $next node type is valid then store the next node type as the new dom node and return true
			if ( in_array( $next->nodeType, $domNodeTypes ) )
			{
				$this->domNode = $next;
				return true;
			}
		}
		while( ! is_null( $next = $next->nextSibling ) );

		return false;
	}
public function MoveToChild( $kind )
	{
		if ( is_null( $this->domNode ) ||
			 is_null( $kind ) ||
			 ! property_exists( $this->domNode, 'firstChild') // ||
			 // ! $this->domNode->hasChildNodes()
		   ) return false;

		// Create a list of the valid DOM node types based on the $kind value
		$domNodeTypes = array_keys( array_filter(
			\lyquidity\XPath2\DOM\DOMXPathNavigator::$nodeTypeMap,
			function( $nodeType ) use( $kind )
			{
				return $kind == \lyquidity\xml\xpath\XPathNodeType::All || $nodeType == $kind;
			}
		) );

		// Take a copy of the dom node
		/** @var \DOMNode $next */
		$next = $this->domNode->firstChild;
		if ( is_null( $next ) ) return;

		do
		{
			// If the $next node type is valid then store the next node type as the new dom node and return true
			if ( in_array( $next->nodeType, $domNodeTypes ) )
			{
				$this->domNode = $next;
				return true;
			}
		}
		while( ! is_null( $next = $next->nextSibling ) );

		return false;
	}
public function MoveToChild ( $ kind ) { if ( is_null ( $ this -> domNode ) || is_null ( $ kind ) || ! property_exists ( $ this -> domNode , 'firstChild' ) // ||
 // ! $this->domNode->hasChildNodes()
 ) return false ; // Create a list of the valid DOM node types based on the $kind value
 $ domNodeTypes = array_keys ( array_filter ( \ lyquidity \ XPath2 \ DOM \ DOMXPathNavigator :: $ nodeTypeMap , function ( $ nodeType ) use ( $ kind ) { return $ kind == \ lyquidity \ xml \ xpath \ XPathNodeType :: All || $ nodeType == $ kind ; } ) ) ; // Take a copy of the dom node
 /** @var \DOMNode $next */ $ next = $ this -> domNode -> firstChild ; if ( is_null ( $ next ) ) return ; do { // If the $next node type is valid then store the next node type as the new dom node and return true
 if ( in_array ( $ next -> nodeType , $ domNodeTypes ) ) { $ this -> domNode = $ next ; return true ; } } while ( ! is_null ( $ next = $ next -> nextSibling ) ) ; return false ; }
Moves the XPathNavigator to the child node of the XPathNodeType specified.

@param XPathNodeType $kind The XPathNodeType of the child node to move to.
@return bool Returns true if the XPathNavigator is successful moving to the child node; otherwise, false.
If false, the position of the XPathNavigator is unchanged.
Moves the XPathNavigator to the child node of the XPathNodeType specified .