public function parseMatch(dom\element $el) { $this->setMatch($el->readx('@match', array(), false)); if ($this->getMatchString()) { $this->parseMatchValue($this->getMatchString(), $el); } }
protected function parseResult(dom\element $test, fs\file $file, array $aArguments = array()) { if ($test->readx('@profile', array(), false)) { $this->loadProfiler(); $this->startProfile(); } return parent::parseResult($test, $file, $aArguments); }
protected function buildResult(dom\element $test, $manager, fs\file $file, array $aArguments) { $result = null; try { $manager->build($file, $this->getDirectory()); if ($sLoad = $test->readx('self:load', array(), false)) { if (is_null(eval('$closure = function($manager) { ' . $sLoad . '; };'))) { $aArguments = $this->evaluate($closure, $this); } } $bExpected = !$test->getx('self:expected', array(), false); $sRun = $test->readx('@run', array(), false); $result = $this->loadResult($manager, $file, $aArguments, $sRun !== 'false', $bExpected); } catch (\sylma\core\exception $e) { $this->catchParserException($test, $e, $file); } return $result; }
protected function addParsedChild(dom\element $el, array &$aResult, $mContent) { $mContent = $this->getWindow()->toString($mContent); if ($sKey = $el->readx('@action:name', array(), false)) { $aResult[$sKey] = $mContent; } else { $aResult[] = $mContent; } }
protected function addParsedChild(dom\element $el, array &$aResult, $mContent) { $mContent = current($this->getWindow()->parseArrayables(array($mContent))); if ($sKey = $el->readx('@action:name', array(), false)) { $aResult[$sKey] = $mContent; } else { $aResult[] = $mContent; } }
protected function test(dom\element $test, $sExpected, $controler, dom\document $doc, fs\file $file) { $bResult = false; $bReady = true; $this->resetCount(); $sExpected = $test->readx('self:expected', array(), false); try { $this->prepareTest($test, $controler); if ($bReady) { if ($sExpected) { if (is_null(eval('$closure = function($controler) { $manager = $controler; ' . $sExpected . '; };'))) { $bResult = $this->evaluate($closure, $controler); } } else { $bResult = $this->testNode(); } } } catch (core\exception $e) { $bResult = $this->catchException($test, $e, $file); } return $bResult; }
protected function elementIsTemplate(dom\element $el) { return $el->readx('@js:alias', $this->getNS(), false); }
protected function parseClassName(dom\element $el) { $sResult = ''; if ($sName = $el->readx('@name', array(), false)) { if ($sName[0] == '\\') { $sResult = $sName; } else { $sResult = $this->getClassBase() . '\\' . $sName; } } return $sResult; }
protected function parseElementKey(dom\element $el) { return $el->readx('@tpl:name', array(), false); }
protected function parsePath(dom\element $el) { $result = null; if (!($sName = $el->readx('@name', array(), false))) { $sName = 'default'; } if ($el->readx('@disabled', array(), false)) { $this->aDisabled[$sName] = true; } else { if (!array_key_exists($sName, $this->aDisabled)) { $result = $this->parseComponent($el); $this->addPath($result); } } return $result; }
protected function loadRule(dom\element $el, array &$aResult) { $aResult[$el->getName()] = $el->readx('@value', array(), false); }
protected function reflectOccurs(dom\element $el) { if (!($sOccurs = $el->readx('@occurs', array(), false))) { $sOccurs = '1..1'; } list($iMin, $iMax) = explode('..', $sOccurs); $this->setOccurs($iMin, $iMax); }
protected function getType(dom\element $el) { if (!($sResult = $el->readx('@self:type', $this->getNS(), false))) { if ($element = $this->getElement($el)) { $sResult = $element->readx('@self:type', array(), false); } } return $sResult; }
protected function addSchemaType(dom\element $el, $sNamespace) { $sName = $el->readx('@name'); if (!isset($this->aTypesNodes[$sNamespace])) { $this->aTypesNodes[$sNamespace] = array(); } if (isset($this->aTypesNodes[$sNamespace][$sName])) { $this->throwException(sprintf('Type "%s" already exists', $sNamespace . ':' . $sName), $el->asToken()); } $this->aTypesNodes[$sNamespace][$sName] = $this->getDocument()->add($el); }