XBRL-Instance.php
private function validateFacts( $elements, $parent, &$types, &$prefixes )
	{
		$instanceTaxonomy = $this->getInstanceTaxonomy();
		$primaryItems = $instanceTaxonomy->getDefinitionPrimaryItems( false );

		foreach ( $elements as $factKey => $fact )
		{
			$drsHypercubes = false;

			foreach ( $fact as $entryKey => $entry )
			{
				// This function will return an empty array if there is no primary item or if the primary item is not
				// associated with any hypercubes.  Otherwise it will contain summary information about the dimensional
				// validation of the primary item.  If the dimensional validation fails it means the fact is not
				// associated with any hypercubes valid for the fact context.
				$primaryItem = isset( $primaryItems[ $entry['label'] ] ) ? $primaryItems[ $entry['label'] ] : false;
				if ( $primaryItem && ! $drsHypercubes )
				{
					$drsHypercubes = $this->getInstanceTaxonomy()->getPrimaryItemDRS( $primaryItem );
				}

				$dimensionalValidation = $this->validateElementEntry( $entry, $factKey, $parent, $types, $prefixes, $primaryItem, $drsHypercubes );
			}
		}
	}
private function validateFacts( $elements, $parent, &$types, &$prefixes )
	{
		$instanceTaxonomy = $this->getInstanceTaxonomy();
		$primaryItems = $instanceTaxonomy->getDefinitionPrimaryItems( false );

		foreach ( $elements as $factKey => $fact )
		{
			$drsHypercubes = false;

			foreach ( $fact as $entryKey => $entry )
			{
				// This function will return an empty array if there is no primary item or if the primary item is not
				// associated with any hypercubes.  Otherwise it will contain summary information about the dimensional
				// validation of the primary item.  If the dimensional validation fails it means the fact is not
				// associated with any hypercubes valid for the fact context.
				$primaryItem = isset( $primaryItems[ $entry['label'] ] ) ? $primaryItems[ $entry['label'] ] : false;
				if ( $primaryItem && ! $drsHypercubes )
				{
					$drsHypercubes = $this->getInstanceTaxonomy()->getPrimaryItemDRS( $primaryItem );
				}

				$dimensionalValidation = $this->validateElementEntry( $entry, $factKey, $parent, $types, $prefixes, $primaryItem, $drsHypercubes );
			}
		}
	}
private function validateFacts ( $ elements , $ parent , & $ types , & $ prefixes ) { $ instanceTaxonomy = $ this -> getInstanceTaxonomy ( ) ; $ primaryItems = $ instanceTaxonomy -> getDefinitionPrimaryItems ( false ) ; foreach ( $ elements as $ factKey => $ fact ) { $ drsHypercubes = false ; foreach ( $ fact as $ entryKey => $ entry ) { // This function will return an empty array if there is no primary item or if the primary item is not
 // associated with any hypercubes.  Otherwise it will contain summary information about the dimensional
 // validation of the primary item.  If the dimensional validation fails it means the fact is not
 // associated with any hypercubes valid for the fact context.
 $ primaryItem = isset ( $ primaryItems [ $ entry [ 'label' ] ] ) ? $ primaryItems [ $ entry [ 'label' ] ] : false ; if ( $ primaryItem && ! $ drsHypercubes ) { $ drsHypercubes = $ this -> getInstanceTaxonomy ( ) -> getPrimaryItemDRS ( $ primaryItem ) ; } $ dimensionalValidation = $ this -> validateElementEntry ( $ entry , $ factKey , $ parent , $ types , $ prefixes , $ primaryItem , $ drsHypercubes ) ; } } }
Process each fact in the instance document which may have multiple entries

@param array $elements
@param string $parent An identifier representing the parent node in the instance document
@param XBRL_Types $types
@param array $prefixes
Process each fact in the instance document which may have multiple entries