XBRL-Instance.php
private function validateOtherComponentTypes( $componenttMembers, $contextId, $types, $componentName, &$data )
	{
		// Can't have element types that are defined in the XBRLI namespace
		// Workout what prefix is used for the XBRLI namespace
		$xbrliPrefixes = array( 'xbrli' );
		foreach ( $this->instance_namespaces as $prefix => $namespace )
		{
			if ( $namespace == XBRL_Constants::$standardPrefixes[ STANDARD_PREFIX_XBRLI ] )
			{
				array_push( $xbrliPrefixes, $prefix );
			}
		}

		$findPrefixes = function( $nodes ) use( &$findPrefixes, $xbrliPrefixes )
		{
			if ( isset( $nodes['prefix'] ) && in_array( $nodes['prefix'], $xbrliPrefixes ) ) return true;
			if ( isset( $nodes['children'] ) )
			{
				if ( $findPrefixes( $nodes['children'] ) ) return true;
			}
			else
			{
				foreach ( $nodes as $key => $node )
				{
					if ( ! is_array( $node ) ) continue;
					if ( $findPrefixes( $node ) ) return true;
				}
			}

			return false;
		};

		if ( $findPrefixes( $componenttMembers ) )
		{
			XBRL_Log::getInstance()->instance_validation( "4.7.3.2", "The context $componentName content contains one or more elements in the XBRLI namespace",
				array(
					'content' => $contextId,
				)
			);
		}

		return true;
	}
private function validateOtherComponentTypes( $componenttMembers, $contextId, $types, $componentName, &$data )
	{
		// Can't have element types that are defined in the XBRLI namespace
		// Workout what prefix is used for the XBRLI namespace
		$xbrliPrefixes = array( 'xbrli' );
		foreach ( $this->instance_namespaces as $prefix => $namespace )
		{
			if ( $namespace == XBRL_Constants::$standardPrefixes[ STANDARD_PREFIX_XBRLI ] )
			{
				array_push( $xbrliPrefixes, $prefix );
			}
		}

		$findPrefixes = function( $nodes ) use( &$findPrefixes, $xbrliPrefixes )
		{
			if ( isset( $nodes['prefix'] ) && in_array( $nodes['prefix'], $xbrliPrefixes ) ) return true;
			if ( isset( $nodes['children'] ) )
			{
				if ( $findPrefixes( $nodes['children'] ) ) return true;
			}
			else
			{
				foreach ( $nodes as $key => $node )
				{
					if ( ! is_array( $node ) ) continue;
					if ( $findPrefixes( $node ) ) return true;
				}
			}

			return false;
		};

		if ( $findPrefixes( $componenttMembers ) )
		{
			XBRL_Log::getInstance()->instance_validation( "4.7.3.2", "The context $componentName content contains one or more elements in the XBRLI namespace",
				array(
					'content' => $contextId,
				)
			);
		}

		return true;
	}
private function validateOtherComponentTypes ( $ componenttMembers , $ contextId , $ types , $ componentName , & $ data ) { // Can't have element types that are defined in the XBRLI namespace
 // Workout what prefix is used for the XBRLI namespace
 $ xbrliPrefixes = array ( 'xbrli' ) ; foreach ( $ this -> instance_namespaces as $ prefix => $ namespace ) { if ( $ namespace == XBRL_Constants :: $ standardPrefixes [ STANDARD_PREFIX_XBRLI ] ) { array_push ( $ xbrliPrefixes , $ prefix ) ; } } $ findPrefixes = function ( $ nodes ) use ( & $ findPrefixes , $ xbrliPrefixes ) { if ( isset ( $ nodes [ 'prefix' ] ) && in_array ( $ nodes [ 'prefix' ] , $ xbrliPrefixes ) ) return true ; if ( isset ( $ nodes [ 'children' ] ) ) { if ( $ findPrefixes ( $ nodes [ 'children' ] ) ) return true ; } else { foreach ( $ nodes as $ key => $ node ) { if ( ! is_array ( $ node ) ) continue ; if ( $ findPrefixes ( $ node ) ) return true ; } } return false ; } ; if ( $ findPrefixes ( $ componenttMembers ) ) { XBRL_Log :: getInstance ( ) -> instance_validation ( "4.7.3.2" , "The context $componentName content contains one or more elements in the XBRLI namespace" , array ( 'content' => $ contextId , ) ) ; } return true ; }
Validate segment and scenarios that have custom elements as their content

@param array $componenttMembers A list of nodes
@param string $contextId The id of the current context
@param XBRL_Types $types A reference to the global types instance
@param string $componentName The name of the component: scenario or segment
@param array|null $data An object of data created to pass information between function calls
@return boolean
Validate segment and scenarios that have custom elements as their content