public static function parse(DOMNode $node) { if ($node->nodeName == self::getNodeName()) { if (($code = HTTPCode::getByCode(XMLUtils::getChildByName($node, "code")->nodeValue)) != null) { return new Error(FileUtils::getAbsolutePath(XMLUtils::getChildByName($node, "file")->nodeValue, VIEWS_FOLDER), $code); } throw new Exception("Unknown HTTP Code '" . XMLUtils::getChildByName($node, "code")->nodeValue . "'"); } throw new Exception("Unexpected node '" . $node->nodeName . "', expected '" . self::getNodeName() . "'"); }
public static function parse(DOMNode $node) { if ($node->nodeName == self::getNodeName()) { $prefix = XMLUtils::getChildByName($node, "prefix") != null ? XMLUtils::getChildByName($node, "prefix")->nodeValue : null; if (($include = XMLUtils::getChildByName($node, "include")) != null) { Controller::logDebug("Prefix for subsite {0}: {1}", $include->nodeValue, $prefix); return Subsite::load($include->nodeValue, $prefix); } else { $subsites = array(); foreach (XMLUtils::getChildrenByName($node, "subsite") as $child) { $subsites[] = Subsite::parse($child); } $targets = array(); foreach (XMLUtils::getChildrenByName($node, "target") as $child) { $targets[] = Target::parse($child); } } return new Subsite(XMLUtils::getAttributeByName($node, "name")->value, $targets, $prefix); } throw new Exception("Unexpected node '" . $node->nodeName . "', expected '" . self::getNodeName() . "'"); }