X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=application%2Fhub%2Fmain%2Ftemplate%2Fclass_BaseXmlTemplateEngine.php;h=ca168bf52d05099a02b70880296e1dedd9871a49;hb=9657818282b9d5c4cb0321a71c1831b17f87ee71;hp=761dd62b502a15790aad95e9daef0deeff7ee0f4;hpb=d7119e5294e6926bf6b8e59f687d0d70ad6486ca;p=hub.git diff --git a/application/hub/main/template/class_BaseXmlTemplateEngine.php b/application/hub/main/template/class_BaseXmlTemplateEngine.php index 761dd62b5..ca168bf52 100644 --- a/application/hub/main/template/class_BaseXmlTemplateEngine.php +++ b/application/hub/main/template/class_BaseXmlTemplateEngine.php @@ -48,6 +48,11 @@ class BaseXmlTemplateEngine extends BaseTemplateEngine { */ private $typePrefix = 'xml'; + /** + * Name of stacker + */ + private $stackerName = ''; + /** * Content from dependency */ @@ -112,8 +117,11 @@ class BaseXmlTemplateEngine extends BaseTemplateEngine { // Init a variable stacker $stackerInstance = ObjectFactory::createObjectByConfiguredName($typePrefix . '_' . $xmlTemplateType . '_stacker_class'); + // Set name + $this->stackerName = $typePrefix . '_' . $xmlTemplateType; + // Init stacker - $stackerInstance->initStacker($xmlTemplateType); + $stackerInstance->initStack($this->stackerName); // Set it $this->setStackerInstance($stackerInstance); @@ -174,6 +182,15 @@ class BaseXmlTemplateEngine extends BaseTemplateEngine { return $this->mainNodes; } + /** + * Getter for stacker name + * + * @return $stackerName Name of stacker of this class + */ + protected final function getStackerName () { + return $this->stackerName; + } + /** * Getter for sub node array * @@ -206,10 +223,13 @@ class BaseXmlTemplateEngine extends BaseTemplateEngine { * @return void */ protected function handleTemplateDependency ($node, $templateDependency) { + // Check that node is not empty + assert(!empty($node)); + // Is the template dependency set? if ((!empty($templateDependency)) && (!isset($this->dependencyContent[$node]))) { // Get a temporay template instance - $templateInstance = XmlTemplateEngineFactory::createXmlTemplateEngineInstance($this->typePrefix . '__' . $this->xmlTemplateType . '_template_class'); + $templateInstance = XmlTemplateEngineFactory::createXmlTemplateEngineInstance($this->typePrefix . '_' . $this->convertDashesToUnderscores($node) . '_' . $this->xmlTemplateType . '_template_class'); // Then load it $templateInstance->loadXmlTemplate($templateDependency); @@ -266,7 +286,7 @@ class BaseXmlTemplateEngine extends BaseTemplateEngine { * @return void * @throws XmlNodeMismatchException If current main node mismatches the closing one */ - public final function endElement ($resource, $nodeName) { + public final function finishElement ($resource, $nodeName) { // Make all lower-case $nodeName = strtolower($nodeName);