Пример #1
0
 /**
  * Validates the argument instance.
  *
  * @return void
  * @throws Console_CommandLine_Exception
  * @todo use exceptions
  */
 public function validate()
 {
     // check if the argument name is valid
     if (!preg_match('/^[a-zA-Z_\\x7f-\\xff]+[a-zA-Z0-9_\\x7f-\\xff]*$/', $this->name)) {
         Console_CommandLine::triggerError('argument_bad_name', E_USER_ERROR, array('{$name}' => $this->name));
     }
     parent::validate();
 }
 /**
  * Validates the xml definition using Relax NG.
  *
  * @param DomDocument $doc The document to validate
  *
  * @return boolean Whether the xml data is valid or not.
  * @throws Console_CommandLine_Exception
  * @todo use exceptions
  */
 public static function validate($doc)
 {
     if (is_dir('C:\\php\\pear\\data' . DIRECTORY_SEPARATOR . 'Console_CommandLine')) {
         $rngfile = 'C:\\php\\pear\\data' . DIRECTORY_SEPARATOR . 'Console_CommandLine' . DIRECTORY_SEPARATOR . 'data' . DIRECTORY_SEPARATOR . 'xmlschema.rng';
     } else {
         $rngfile = dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'data' . DIRECTORY_SEPARATOR . 'xmlschema.rng';
     }
     if (!is_readable($rngfile)) {
         Console_CommandLine::triggerError('invalid_xml_file', E_USER_ERROR, array('{$file}' => $rngfile));
     }
     return $doc->relaxNGValidate($rngfile);
 }
Пример #3
0
 /**
  * Validates the xml definition using Relax NG.
  *
  * @param DomDocument $doc The document to validate
  *
  * @return boolean Whether the xml data is valid or not.
  * @throws Console_CommandLine_Exception
  * @todo use exceptions
  */
 public static function validate($doc)
 {
     $pkgRoot = __DIR__ . '/../../';
     $paths = array('@data_dir@/Console_CommandLine/data/xmlschema.rng', $pkgRoot . 'data/Console_CommandLine/data/xmlschema.rng', $pkgRoot . 'data/console_commandline/data/xmlschema.rng', $pkgRoot . 'data/xmlschema.rng', 'xmlschema.rng');
     foreach ($paths as $path) {
         if (is_readable($path)) {
             return $doc->relaxNGValidate($path);
         }
     }
     Console_CommandLine::triggerError('invalid_xml_file', E_USER_ERROR, array('{$file}' => $rngfile));
 }
Пример #4
0
 /**
  * Validates the option instance.
  *
  * @return void
  * @throws Console_CommandLine_Exception
  * @todo use exceptions instead
  */
 public function validate()
 {
     // check if the option name is valid
     if (!preg_match('/^[a-zA-Z_\\x7f-\\xff]+[a-zA-Z0-9_\\x7f-\\xff]*$/', $this->name)) {
         Console_CommandLine::triggerError('option_bad_name', E_USER_ERROR, array('{$name}' => $this->name));
     }
     // call the parent validate method
     parent::validate();
     // a short_name or a long_name must be provided
     if ($this->short_name == null && $this->long_name == null) {
         Console_CommandLine::triggerError('option_long_and_short_name_missing', E_USER_ERROR, array('{$name}' => $this->name));
     }
     // check if the option short_name is valid
     if ($this->short_name != null && !preg_match('/^\\-[a-zA-Z]{1}$/', $this->short_name)) {
         Console_CommandLine::triggerError('option_bad_short_name', E_USER_ERROR, array('{$name}' => $this->name, '{$short_name}' => $this->short_name));
     }
     // check if the option long_name is valid
     if ($this->long_name != null && !preg_match('/^\\-\\-[a-zA-Z]+[a-zA-Z0-9_\\-]*$/', $this->long_name)) {
         Console_CommandLine::triggerError('option_bad_long_name', E_USER_ERROR, array('{$name}' => $this->name, '{$long_name}' => $this->long_name));
     }
     // check if we have a valid action
     if (!is_string($this->action)) {
         Console_CommandLine::triggerError('option_bad_action', E_USER_ERROR, array('{$name}' => $this->name));
     }
     if (!isset(Console_CommandLine::$actions[$this->action])) {
         Console_CommandLine::triggerError('option_unregistered_action', E_USER_ERROR, array('{$action}' => $this->action, '{$name}' => $this->name));
     }
     // if the action is a callback, check that we have a valid callback
     if ($this->action == 'Callback' && !is_callable($this->callback)) {
         Console_CommandLine::triggerError('option_invalid_callback', E_USER_ERROR, array('{$name}' => $this->name));
     }
 }
Пример #5
0
 /**
  * Validate the xml definition using Relax NG
  *
  * @param object $doc a DomDocument instance (the document to validate)
  *
  * @return boolean
  * @access public
  * @static
  */
 public static function validate($doc)
 {
     if (is_dir('/Users/masato/data/svk/bz2/php_parser/trunk/vendor/pear/data' . DIRECTORY_SEPARATOR . 'Console_CommandLine')) {
         $rngfile = '/Users/masato/data/svk/bz2/php_parser/trunk/vendor/pear/data' . DIRECTORY_SEPARATOR . 'Console_CommandLine' . DIRECTORY_SEPARATOR . 'data' . DIRECTORY_SEPARATOR . 'xmlschema.rng';
     } else {
         $rngfile = dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'data' . DIRECTORY_SEPARATOR . 'xmlschema.rng';
     }
     if (!is_readable($rngfile)) {
         Console_CommandLine::triggerError('invalid_xml_file', E_USER_ERROR, array('{$file}' => $rngfile));
     }
     return $doc->relaxNGValidate($rngfile);
 }
Пример #6
0
 /**
  * Validates the xml definition using Relax NG.
  *
  * @param DomDocument $doc The document to validate
  *
  * @return boolean Whether the xml data is valid or not.
  * @throws Console_CommandLine_Exception
  * @todo use exceptions
  */
 public static function validate($doc) 
 {
     if (is_dir('/Users/nojima/Sites/workspace/twitter2mixi/extlibs/pear/data' . DIRECTORY_SEPARATOR . 'Console_CommandLine')) {
         $rngfile = '/Users/nojima/Sites/workspace/twitter2mixi/extlibs/pear/data' . DIRECTORY_SEPARATOR
             . 'Console_CommandLine' . DIRECTORY_SEPARATOR . 'data' 
             . DIRECTORY_SEPARATOR . 'xmlschema.rng';
     } else {
         $rngfile = dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' 
             . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'data'
             . DIRECTORY_SEPARATOR . 'xmlschema.rng';
     }
     if (!is_readable($rngfile)) {
         Console_CommandLine::triggerError('invalid_xml_file',
             E_USER_ERROR, array('{$file}' => $rngfile));
     }
     return $doc->relaxNGValidate($rngfile);
 }