Pastie now auto-senses if line-wrap is a bad or good idea. Feedback?
## mark a section (Learn more)
<validator class="string" provides="password_given"> <argument>password</argument> <error>Password is required</error> </validator> <validator class="string" provides="confirm_given"> <argument>password_confirmation</argument> <error>Password confirmation is required</error> </validator> <validator class="equals" depends="password_given confirm_given"> <argument>password_confirmation</argument> <ae:parameter name="value">password</ae:parameter> <ae:parameter name="asparam">true</ae:parameter> <error>Password confirmation doesn't match Password</error> </validator> RELAX NG validation of configuration file "file:///C:/Documents%20and%20Settings/btiernay/workspace/smn/app/modules/Default/validate/Profile.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 … ault/validate/Profile.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 … ault/validate/Profile.xml', 'C:/Documents and Settings … ault/validate/Profile.xml', 'C:\\Documents and Settings … e.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 … ault/validate/Profile.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-02T22:00:10+0000
This paste will be private.
From the Design Piracy series on my blog: