private function processNonDimensionalLink( &$link, $linkbase, $role, &$standardRoles, &$arcroleRefs, $href, $xml_basename, $arcName = 'definitionArc', $arcTitle = 'Definition' )
	{
		// Detection of duplicate from/to pairs only applies within an extended link so reset this varaible in each new link
		$this->resetValidateFromToArcPairs();

		// Get a list of the locators for this extended link
		$locators = $this->retrieveLocators( $link, $linkbase, $href );
		if ( ! count( $locators ) ) return;

		// Used to catch duplicated from/to label pairs which is not alloed by the XLink specification
		$fromToPairs = array();

		foreach ( $link->children( XBRL_Constants::$standardPrefixes[ STANDARD_PREFIX_LINK ] )->$arcName as $arcKey => $arc )
		{
			$xlinkAttributes = $arc->attributes( XBRL_Constants::$standardPrefixes[ STANDARD_PREFIX_XLINK ] );
			$attributes = $arc->attributes();
			if ( ! $this->validateXLinkArcAttributes( $xlinkAttributes, $linkbase ) )
			{
				continue;
			}

			if ( isset( $fromToPairs[ (string)$xlinkAttributes->from ][ (string)$xlinkAttributes->to ] ) )
			{
				$this->log()->taxonomy_validation( "XLink", "$arcTitle arcs contain repeated from/to label pairs in the same extended link",
					array(
						'role' => $role,
						'from' => (string)$xlinkAttributes->from,
						'to' => (string)$xlinkAttributes->to
					)
				);
			}
			else
			{
				$fromToPairs[ (string)$xlinkAttributes->from ][ (string)$xlinkAttributes->to ] = 1;
			}

			$this->processNonDimensionalArc( $arc, $locators, $linkbase, $role, $xlinkAttributes, $attributes, $standardRoles, $arcroleRefs, $xml_basename, $arcTitle );
		}
	}