private function getNodeContent( $contentNode, $prefix )
	{
		$contentType = "";
		if ( property_exists( $contentNode, 'restriction' ) )
		{
			$parent = (string) $contentNode->restriction->attributes()->base;
			$contentType = "restriction";
		}
		else if ( property_exists( $contentNode, 'extension' ) )
		{
			$parent = (string) $contentNode->extension->attributes()->base;
			$contentType = "extension";
		}
		else
		{
			return $this->getComplexType( $contentNode, $prefix );
			return false;
		}

		// BMS 2018-04-09 Test candidates changed.
		$parent = $this->normalizePrefix( strpos( $parent, ":" ) ? $parent : "xs:$parent" );

		$content = array( 'parent' => $parent );
		$content['numeric'] = isset( $this->types[ $parent ]['numeric'] ) ? $this->types[ $parent ]['numeric'] : false;

		$name = (string) $contentNode->attributes()->name;
		if ( ! empty( $name ) )
		{
			$content['name'] = $name;
		}

		foreach ( $contentNode->$contentType->children( SCHEMA_NAMESPACE ) as  $key => $node )
		{
			$x = $this->getContent( $key, $node, $prefix );
			$content = array_merge_recursive( $content, $x );
		}

		if ( property_exists( $contentNode->$contentType->attributes(), 'base' ) )
		{
			$base = $this->normalizePrefix( (string) $contentNode->$contentType->attributes()->base );
			$content['base'] = $base;
			$content['contentType'] = $contentType;
		}

		return $content;
	}
private function getNodeContent( $contentNode, $prefix )
	{
		$contentType = "";
		if ( property_exists( $contentNode, 'restriction' ) )
		{
			$parent = (string) $contentNode->restriction->attributes()->base;
			$contentType = "restriction";
		}
		else if ( property_exists( $contentNode, 'extension' ) )
		{
			$parent = (string) $contentNode->extension->attributes()->base;
			$contentType = "extension";
		}
		else
		{
			return $this->getComplexType( $contentNode, $prefix );
			return false;
		}

		// BMS 2018-04-09 Test candidates changed.
		$parent = $this->normalizePrefix( strpos( $parent, ":" ) ? $parent : "xs:$parent" );

		$content = array( 'parent' => $parent );
		$content['numeric'] = isset( $this->types[ $parent ]['numeric'] ) ? $this->types[ $parent ]['numeric'] : false;

		$name = (string) $contentNode->attributes()->name;
		if ( ! empty( $name ) )
		{
			$content['name'] = $name;
		}

		foreach ( $contentNode->$contentType->children( SCHEMA_NAMESPACE ) as  $key => $node )
		{
			$x = $this->getContent( $key, $node, $prefix );
			$content = array_merge_recursive( $content, $x );
		}

		if ( property_exists( $contentNode->$contentType->attributes(), 'base' ) )
		{
			$base = $this->normalizePrefix( (string) $contentNode->$contentType->attributes()->base );
			$content['base'] = $base;
			$content['contentType'] = $contentType;
		}

		return $content;
	}
private function getNodeContent ( $ contentNode , $ prefix ) { $ contentType = "" ; if ( property_exists ( $ contentNode , 'restriction' ) ) { $ parent = ( string ) $ contentNode -> restriction -> attributes ( ) -> base ; $ contentType = "restriction" ; } else if ( property_exists ( $ contentNode , 'extension' ) ) { $ parent = ( string ) $ contentNode -> extension -> attributes ( ) -> base ; $ contentType = "extension" ; } else { return $ this -> getComplexType ( $ contentNode , $ prefix ) ; return false ; } // BMS 2018-04-09 Test candidates changed.
 $ parent = $ this -> normalizePrefix ( strpos ( $ parent , ":" ) ? $ parent : "xs:$parent" ) ; $ content = array ( 'parent' => $ parent ) ; $ content [ 'numeric' ] = isset ( $ this -> types [ $ parent ] [ 'numeric' ] ) ? $ this -> types [ $ parent ] [ 'numeric' ] : false ; $ name = ( string ) $ contentNode -> attributes ( ) -> name ; if ( ! empty ( $ name ) ) { $ content [ 'name' ] = $ name ; } foreach ( $ contentNode -> $ contentType -> children ( SCHEMA_NAMESPACE ) as $ key => $ node ) { $ x = $ this -> getContent ( $ key , $ node , $ prefix ) ; $ content = array_merge_recursive ( $ content , $ x ) ; } if ( property_exists ( $ contentNode -> $ contentType -> attributes ( ) , 'base' ) ) { $ base = $ this -> normalizePrefix ( ( string ) $ contentNode -> $ contentType -> attributes ( ) -> base ) ; $ content [ 'base' ] = $ base ; $ content [ 'contentType' ] = $ contentType ; } return $ content ; }
Returns an array representing a complex content of a complex type

@param SimpleXMLElement $contentNode The node to process
@param string $prefix The prefix associated with the namespace of the containing schema
@return boolean|array
Returns an array representing a complex content of a complex type