/** * Initialize the compilation by: * * * 1. Spawning public and private compilation directoryies. * * 2. Instantiating appropriate rendering engine and CSS utilities. * * for the next compilation process. */ protected function initCompilation() { $ds = DIRECTORY_SEPARATOR; // Initialize public and private compilation directories. $this->setPrivateDirectory($this->spawnPrivateDirectory()); $this->setPublicDirectory($this->spawnPublicDirectory()); // Extra path. $testService = taoQtiTest_models_classes_QtiTestService::singleton(); $testDefinitionDir = dirname($testService->getRelTestPath($this->getResource())); $this->setExtraPath($testDefinitionDir); // Initialize rendering engine. $renderingEngine = new XhtmlRenderingEngine(); $renderingEngine->setStylesheetPolicy(XhtmlRenderingEngine::STYLESHEET_SEPARATE); $renderingEngine->setXmlBasePolicy(XhtmlRenderingEngine::XMLBASE_PROCESS); $renderingEngine->setFeedbackShowHidePolicy(XhtmlRenderingEngine::TEMPLATE_ORIENTED); $renderingEngine->setViewPolicy(XhtmlRenderingEngine::TEMPLATE_ORIENTED); $renderingEngine->setPrintedVariablePolicy(XhtmlRenderingEngine::TEMPLATE_ORIENTED); $renderingEngine->setStateName(TAOQTITEST_RENDERING_STATE_NAME); $renderingEngine->setRootBase(TAOQTITEST_PLACEHOLDER_BASE_URI . rtrim($this->getExtraPath(), $ds)); $renderingEngine->setViewsName(TAOQTITEST_VIEWS_NAME); $this->setRenderingEngine($renderingEngine); // Initialize CSS Scoper. $this->setCssScoper(new CssScoper()); // Initialize Post Markup Renderer. $this->setMarkupPostRenderer(new MarkupPostRenderer(true, true, true)); }
<?php use qtism\runtime\common\State; use qtism\data\storage\xml\XmlDocument; use qtism\runtime\rendering\markup\xhtml\XhtmlRenderingEngine; use qtism\runtime\rendering\markup\AbstractMarkupRenderingEngine; use qtism\runtime\common\OutcomeVariable; use qtism\common\enums\BaseType; use qtism\common\enums\Cardinality; use qtism\common\datatypes\Identifier; require_once dirname(__FILE__) . '/../../vendor/autoload.php'; $doc = new XmlDocument(); $doc->load(dirname(__FILE__) . '/../samples/rendering/itemfeedback_1.xml'); $outcome1 = new OutcomeVariable('FEEDBACK', Cardinality::SINGLE, BaseType::IDENTIFIER, new Identifier('')); $renderer = new XhtmlRenderingEngine(); if (isset($argv[1]) && $argv[1] === 'CONTEXT_AWARE') { $renderer->setFeedbackShowHidePolicy(AbstractMarkupRenderingEngine::CONTEXT_AWARE); if (isset($argv[2])) { $outcome1->setValue(new Identifier($argv[2])); } } $renderer->setState(new State(array($outcome1))); $rendering = $renderer->render($doc->getDocumentComponent()); $rendering->formatOutput = true; echo $rendering->saveXML();
<?php use qtism\data\storage\xml\XmlDocument; use qtism\runtime\rendering\markup\xhtml\XhtmlRenderingEngine; require_once dirname(__FILE__) . '/../../vendor/autoload.php'; $doc = new XmlDocument(); $doc->load(dirname(__FILE__) . '/../samples/rendering/itemwithfullfeedback_1.xml'); $renderer = new XhtmlRenderingEngine(); $renderer->setFeedbackShowHidePolicy(XhtmlRenderingEngine::TEMPLATE_ORIENTED); $rendering = $renderer->render($doc->getDocumentComponent()); $rendering->formatOutput = true; echo $rendering->saveXML();