Report abuse


			
AgaviParseException
This is an internal Agavi exception. Please consult the documentation for assistance with solving this issue.

An exception of type AgaviParseException was thrown, but did not get caught during the execution of the request. You will find information provided by the exception along with a stack trace below.

RELAX NG validation of configuration file "file:///C:/Documents%20and%20Settings/btiernay/workspace/smn/app/modules/Default/validate/Progress.xml" failed: 

RELAX NG validation with "C:\Documents and Settings\btiernay\workspace\smn\libs\agavi/config/rng/validators.rng" failed due to the following errors: 

Line 0: Extra element validators in interleave

Line 3: Invalid sequence in interleave

Line 3: Element configuration failed to validate content

Line 0: Extra element configuration in interleave

Line 3: Element configurations failed to validate content


Stack Trace
at exception origin
in core.agavi_dir\config\AgaviXmlConfigParser.class.php line 836
      try {
 
        @$document->relaxNGValidate($validationFile);
 
      } catch(DOMException $dome) {
 
        throw new AgaviParseException(sprintf('RELAX NG validation of configuration file "%s" failed: ' . "\n\n%s", $document->documentURI, $dome->getMessage()));
 
      }
 
    }
 
  }
 
at AgaviXmlConfigParser::validateRelaxng([object AgaviXmlConfigDomDocument], array('C:\\Documents and Settings … config/rng/validators.rng'))
in core.agavi_dir\config\AgaviXmlConfigParser.class.php line 697
          self::validateXmlschema($document, (array) $files);
 
          break;
 
        case self::VALIDATION_TYPE_RELAXNG:
 
          self::validateRelaxng($document, (array) $files);
 
          break;
 
        case self::VALIDATION_TYPE_SCHEMATRON:
 
          self::validateSchematron($document, $environment, $context, (array) $files);
 
at AgaviXmlConfigParser::validate([object AgaviXmlConfigDomDocument], 'development', 'web', array('relax_ng' => array('C:\\Documents and Settings … config/rng/validators.rng'), 'schematron' => array(), 'xml_schema' => array()))
in core.agavi_dir\config\AgaviXmlConfigParser.class.php line 431
    }
 
    
 
    // validate post-transformation
 
    self::validate($this->doc, $this->environment, $this->context, $validationInfo[AgaviXmlConfigParser::STEP_TRANSFORMATIONS_AFTER]);
 
    
 
    // clean up the document
 
    self::cleanup($this->doc);
 
at AgaviXmlConfigParser->execute(array('C:\\Documents and Settings … config/xsl/validators.xsl'), array('transformations_before' => array('relax_ng' => array(), 'schematron' => array(), 'xml_schema' => array()), 'transformations_after' => array('relax_ng' => array('C:\\Documents and Settings … config/rng/validators.rng'), 'schematron' => array(), 'xml_schema' => array())))
in core.agavi_dir\config\AgaviXmlConfigParser.class.php line 214
    while($nextPath !== null) {
 
      // run the single stage parser
 
      $parser = new AgaviXmlConfigParser($nextPath, $environment, $context);
 
      $doc = $parser->execute($transformationInfo[self::STAGE_SINGLE], $validationInfo[self::STAGE_SINGLE]);
 
      
 
      // put the new document in the list
 
      $docs[] = $doc;
 
at AgaviXmlConfigParser::run('C:/Documents and Settings … ult/validate/Progress.xml', 'development', 'web', array('single' => array('C:\\Documents and Settings … config/xsl/validators.xsl'), 'compilation' => array()), array('single' => array('transformations_before' => array('relax_ng' => array(), 'schematron' => array(), 'xml_schema' => array()), 'transformations_after' => array('relax_ng' => array('C:\\Documents and Settings … config/rng/validators.rng'), 'schematron' => array(), 'xml_schema' => array())), 'compilation' => array('transformations_before' => array('relax_ng' => array(), 'schematron' => array(), 'xml_schema' => array()), 'transformations_after' => array('relax_ng' => array(), 'schematron' => array(), 'xml_schema' => array()))))
in core.agavi_dir\config\AgaviConfigCache.class.php line 124
    if($handler instanceof AgaviIXmlConfigHandler) {
 
      // a new-style config handler
 
      // it does not parse the config itself; instead, it is given a complete and merged DOM document
 
      $doc = AgaviXmlConfigParser::run($config, AgaviConfig::get('core.environment'), $context, $handlerInfo['transformations'], $handlerInfo['validations']);
 
 
 
      if($context !== null) {
 
        $context = AgaviContext::getInstance($context);
 
at AgaviConfigCache::callHandler('C:/Documents and Settings … ult/validate/Progress.xml', 'C:/Documents and Settings … ult/validate/Progress.xml', 'C:\\Documents and Settings … s.xml_development_web.php', 'web')
in core.agavi_dir\config\AgaviConfigCache.class.php line 184
 
 
    if(self::isModified($filename, $cache)) {
 
      // configuration file has changed so we need to reparse it
 
      self::callHandler($config, $filename, $cache, $context);
 
    }
 
 
 
    return $cache;
 
at AgaviConfigCache::checkConfig('C:\\Documents and Settings … ult/validate/Progress.xml', 'web')
in core.app_dir\cache\config\Documents and Settings_btiernay_workspace_smn_app_config_compile.xml_development_.php line 1112
)
 
);
 
if(is_readable($validationConfig)) {
 
require(AgaviConfigCache::checkConfig($validationConfig, $this->context->getName()));
 
}
 
$registerValidatorsMethod = 'register' . $method . 'Validators';
 
if(!method_exists($actionInstance, $registerValidatorsMethod)) {
 
at AgaviExecutionContainer->registerValidators()
in core.app_dir\cache\config\Documents and Settings_btiernay_workspace_smn_app_config_compile.xml_development_.php line 1088
$method = $this->getRequestMethod();
 
$requestData = $this->getRequestData();
 
$validated = true;
 
$this->registerValidators();
 
$validated = $validationManager->execute($requestData);
 
$validateMethod = 'validate' . $method;
 
if(!method_exists($actionInstance, $validateMethod)) {
 
at AgaviExecutionContainer->performValidation()
in core.app_dir\cache\config\Documents and Settings_btiernay_workspace_smn_app_config_compile.xml_development_.php line 1038
if($actionInstance->isSimple() || ($useGenericMethods && !method_exists($actionInstance, $executeMethod))) {
 
$viewName = $actionInstance->getDefaultViewName();
 
} else {
 
if($this->performValidation()) {
 
$key = $request->toggleLock();
 
try {
 
$viewName = $actionInstance->$executeMethod($requestData);
 
at AgaviExecutionContainer->runAction()
in core.app_dir\cache\config\Documents and Settings_btiernay_workspace_smn_app_config_compile.xml_development_.php line 1523
while(true) {
 
if(!$isActionCached) {
 
$actionCache = array();
 
list($actionCache['view_module'], $actionCache['view_name']) = $container->runAction();
 
if(isset($rememberTheView) && $actionCache != $rememberTheView) {
 
$ourClass = get_class($this);
 
call_user_func(array($ourClass, 'clearCache'), $groups);
 
at AgaviExecutionFilter->execute([object AgaviFilterChain], [object AgaviExecutionContainer])
in core.app_dir\cache\config\Documents and Settings_btiernay_workspace_smn_app_config_compile.xml_development_.php line 1345
}
 
public function executeOnce(AgaviFilterChain $filterChain, AgaviExecutionContainer $container)
 
{
 
$this->execute($filterChain, $container);
 
}
 
public function execute(AgaviFilterChain $filterChain, AgaviExecutionContainer $container)
 
{
 
at AgaviFilter->executeOnce([object AgaviFilterChain], [object AgaviExecutionContainer])
in core.app_dir\cache\config\Documents and Settings_btiernay_workspace_smn_app_config_compile.xml_development_.php line 1750
$filter = $this->chain[$this->index];
 
$count = ++self::$filterLog[$this->filterLogKey][get_class($filter)];
 
if($count == 1) {
 
$filter->executeOnce($this, $container);
 
} else {
 
$filter->execute($this, $container);
 
}
 
at AgaviFilterChain->execute([object AgaviExecutionContainer])
in core.agavi_dir\filter\AgaviExecutionTimeFilter.class.php line 64
    $replace = $this->getParameter('replace', false);
 
    
 
    $start = microtime(true);
 
    $filterChain->execute($container);
 
    
 
    $response = $container->getResponse();
 
    
 
at AgaviExecutionTimeFilter->execute([object AgaviFilterChain], [object AgaviExecutionContainer])
in core.app_dir\cache\config\Documents and Settings_btiernay_workspace_smn_app_config_compile.xml_development_.php line 1345
}
 
public function executeOnce(AgaviFilterChain $filterChain, AgaviExecutionContainer $container)
 
{
 
$this->execute($filterChain, $container);
 
}
 
public function execute(AgaviFilterChain $filterChain, AgaviExecutionContainer $container)
 
{
 
at AgaviFilter->executeOnce([object AgaviFilterChain], [object AgaviExecutionContainer])
in core.app_dir\cache\config\Documents and Settings_btiernay_workspace_smn_app_config_compile.xml_development_.php line 1750
$filter = $this->chain[$this->index];
 
$count = ++self::$filterLog[$this->filterLogKey][get_class($filter)];
 
if($count == 1) {
 
$filter->executeOnce($this, $container);
 
} else {
 
$filter->execute($this, $container);
 
}
 
at AgaviFilterChain->execute([object AgaviExecutionContainer])
in core.agavi_dir\filter\AgaviSecurityFilter.class.php line 73
    //       used to retrieve such data and should never have to be altered
 
    if($user->isAuthenticated() && ($credential === null || $user->hasCredentials($credential))) {
 
      // the user has access, continue
 
      $filterChain->execute($container);
 
    } else {
 
      if($user->isAuthenticated()) {
 
        // the user doesn't have access
 
at AgaviSecurityFilter->execute([object AgaviFilterChain], [object AgaviExecutionContainer])
in core.app_dir\cache\config\Documents and Settings_btiernay_workspace_smn_app_config_compile.xml_development_.php line 1345
}
 
public function executeOnce(AgaviFilterChain $filterChain, AgaviExecutionContainer $container)
 
{
 
$this->execute($filterChain, $container);
 
}
 
public function execute(AgaviFilterChain $filterChain, AgaviExecutionContainer $container)
 
{
 
at AgaviFilter->executeOnce([object AgaviFilterChain], [object AgaviExecutionContainer])
in core.app_dir\cache\config\Documents and Settings_btiernay_workspace_smn_app_config_compile.xml_development_.php line 1750
$filter = $this->chain[$this->index];
 
$count = ++self::$filterLog[$this->filterLogKey][get_class($filter)];
 
if($count == 1) {
 
$filter->executeOnce($this, $container);
 
} else {
 
$filter->execute($this, $container);
 
}
 
at AgaviFilterChain->execute([object AgaviExecutionContainer])
in core.app_dir\cache\config\Documents and Settings_btiernay_workspace_smn_app_config_compile.xml_development_.php line 972
$controller->loadFilters($filterChain, 'action', $moduleName);
 
}
 
$filterChain->register($controller->getFilter('execution'));
 
$filterChain->execute($this);
 
}
 
return $this->proceed();
 
}
 
at AgaviExecutionContainer->execute()
in core.app_dir\cache\config\Documents and Settings_btiernay_workspace_smn_app_config_compile.xml_development_.php line 1356
{
 
public function execute(AgaviFilterChain $filterChain, AgaviExecutionContainer $container)
 
{
 
$container->setResponse($container->execute());
 
}
 
}
 
class AgaviExecutionFilter extends AgaviFilter implements AgaviIActionFilter
 
at AgaviDispatchFilter->execute([object AgaviFilterChain], [object AgaviExecutionContainer])
in core.app_dir\cache\config\Documents and Settings_btiernay_workspace_smn_app_config_compile.xml_development_.php line 1345
}
 
public function executeOnce(AgaviFilterChain $filterChain, AgaviExecutionContainer $container)
 
{
 
$this->execute($filterChain, $container);
 
}
 
public function execute(AgaviFilterChain $filterChain, AgaviExecutionContainer $container)
 
{
 
at AgaviFilter->executeOnce([object AgaviFilterChain], [object AgaviExecutionContainer])
in core.app_dir\cache\config\Documents and Settings_btiernay_workspace_smn_app_config_compile.xml_development_.php line 1750
$filter = $this->chain[$this->index];
 
$count = ++self::$filterLog[$this->filterLogKey][get_class($filter)];
 
if($count == 1) {
 
$filter->executeOnce($this, $container);
 
} else {
 
$filter->execute($this, $container);
 
}
 
at AgaviFilterChain->execute([object AgaviExecutionContainer])
in core.agavi_dir\filter\AgaviFormPopulationFilter.class.php line 78
   */
 
  public function executeOnce(AgaviFilterChain $filterChain, AgaviExecutionContainer $container)
 
  {
 
    $filterChain->execute($container);
 
    $response = $container->getResponse();
 
 
 
    if(!$response->isContentMutable() || !($output = $response->getContent())) {
 
at AgaviFormPopulationFilter->executeOnce([object AgaviFilterChain], [object AgaviExecutionContainer])
in core.app_dir\cache\config\Documents and Settings_btiernay_workspace_smn_app_config_compile.xml_development_.php line 1750
$filter = $this->chain[$this->index];
 
$count = ++self::$filterLog[$this->filterLogKey][get_class($filter)];
 
if($count == 1) {
 
$filter->executeOnce($this, $container);
 
} else {
 
$filter->execute($this, $container);
 
}
 
at AgaviFilterChain->execute([object AgaviExecutionContainer])
in core.app_dir\cache\config\Documents and Settings_btiernay_workspace_smn_app_config_compile.xml_development_.php line 687
$filterChain = $this->context->createInstanceFor('filter_chain');
 
$this->loadFilters($filterChain, 'global');
 
$filterChain->register($this->filters['dispatch']);
 
$filterChain->execute($container);
 
$response = $container->getResponse();
 
$response->merge($this->response);
 
if($this->getParameter('send_response')) {
 
at AgaviController->dispatch()
in _C:\Documents and Settings\btiernay\workspace\smn\pub\index.php line 34
// +---------------------------------------------------------------------------+
 
// | Call the controller's dispatch method on the default context              |
 
// +---------------------------------------------------------------------------+
 
AgaviContext::getInstance('web')->getController()->dispatch();
 
 
 
?>
 
Version Information
Agavi: 
1.0.0-dev 
PHP: 
5.2.6 
System: 
Windows NT WS20 5.1 build 2600 
Timestamp: 
2008-11-01T13:31:37+0000