/** * Extracts the pattern for the national format. * * @throws RuntimeException if multiple or no formats have been encountered. * @return the national format string. */ private static function loadNationalFormat(PhoneMetadata $metadata, \DOMElement $numberFormatElement, NumberFormat $format) { self::setLeadingDigitsPatterns($numberFormatElement, $format); $format->setPattern($numberFormatElement->getAttribute(self::PATTERN)); $formatPattern = $numberFormatElement->getElementsByTagName(self::FORMAT); if ($formatPattern->length != 1) { throw new \RuntimeException("Invalid number of format patterns for country: " . $metadata->getId()); } $nationalFormat = $formatPattern->item(0)->firstChild->nodeValue; $format->setFormat($nationalFormat); return $nationalFormat; }