Changeset 204

Show
Ignore:
Timestamp:
11/06/08 02:45:42 (5 years ago)
Author:
dmisev
Message:

RelaxNG validation

Location:
src/jomdoc/trunk/src/jomdoc/org/jomdoc
Files:
7 modified

Legend:

Unmodified
Added
Removed
  • src/jomdoc/trunk/src/jomdoc/org/jomdoc/cli/JOMDoc.java

    r198 r204  
    169169        CommandLine.registerOption(JOMDocOption.VERBOSE); 
    170170        CommandLine.registerOption(JOMDocOption.VALIDATING); 
     171        CommandLine.registerOption(JOMDocOption.SCHEMA); 
    171172         
    172173        CommandLine.registerOption(JOMDocOption.F); 
  • src/jomdoc/trunk/src/jomdoc/org/jomdoc/cli/JOMDocCommandEnvironment.java

    r202 r204  
    136136            verbose = true; 
    137137        } else if (option == JOMDocOption.VALIDATING) { 
     138            validating = true; 
     139        } else if (option == JOMDocOption.SCHEMA) { 
    138140            schema = file; 
    139             validating = true; 
    140141        } else if (isInputSource(option)) { 
    141142            addInputSource(option, file); 
     
    217218    } 
    218219 
    219     public File getValidating() { 
     220    public File getSchema() { 
    220221        return schema; 
    221222    } 
  • src/jomdoc/trunk/src/jomdoc/org/jomdoc/cli/JOMDocOption.java

    r202 r204  
    2828    public static final JOMDocOption QUIET = new JOMDocOption("quiet", "q"); 
    2929    public static final JOMDocOption VERBOSE=new JOMDocOption("verbose", "v"); 
    30     public static final JOMDocOption VALIDATING=new JOMDocOption("validate", "V", false, true); 
     30    public static final JOMDocOption VALIDATING=new JOMDocOption("validate", "V"); 
     31    public static final JOMDocOption SCHEMA=new JOMDocOption("schema", "S", false); 
    3132 
    3233    public static final JOMDocOption F = new JOMDocOption("ntn", "f", false); 
  • src/jomdoc/trunk/src/jomdoc/org/jomdoc/cli/cmd/RenderCommand.java

    r202 r204  
    7676        options.add(JOMDocOption.VERBOSE); 
    7777        options.add(JOMDocOption.VALIDATING); 
     78        options.add(JOMDocOption.SCHEMA); 
    7879 
    7980        options.add(JOMDocOption.F); 
     
    162163            try { 
    163164                File t = new File(target); 
    164                 if (getEnvironment().isValidating() && !RelaxNGValidator.validate(getEnvironment().getValidating(), t)) { 
     165                if ((getEnvironment().isValidating() || getEnvironment().getSchema() != null) && !RelaxNGValidator.validate(getEnvironment().getSchema(), t)) { 
    165166                    throw ErrorManager.error(ErrorMessage.create(ErrorCode.XML_MALFORMED, "RelaxNG validation failed!")); 
    166167                } 
  • src/jomdoc/trunk/src/jomdoc/org/jomdoc/cli/cmd/TransformCommand.java

    r202 r204  
    6262        options.add(JOMDocOption.VERBOSE); 
    6363        options.add(JOMDocOption.VALIDATING); 
     64        options.add(JOMDocOption.SCHEMA); 
    6465 
    6566        options.add(JOMDocOption.OUTPUT); 
     
    159160            try { 
    160161                File t = new File(target); 
    161                 if (getEnvironment().isValidating() && !RelaxNGValidator.validate(getEnvironment().getValidating(), t)) { 
     162                if ((getEnvironment().isValidating() || getEnvironment().getSchema() != null) && !RelaxNGValidator.validate(getEnvironment().getSchema(), t)) { 
    162163                    throw ErrorManager.error(ErrorMessage.create(ErrorCode.XML_MALFORMED, "RelaxNG validation failed!")); 
    163164                } 
  • src/jomdoc/trunk/src/jomdoc/org/jomdoc/cli/options.properties

    r202 r204  
    33quiet=print as little as possible 
    44verbose=print extra information 
    5 validate=enable RelaxNG validation;\n\ 
    6 if no schema is specified, omdoc.rng will be used 
     5validate=enable RelaxNG validation with omdoc.rng 
     6schema=specify a RelaxNG schema for validation 
    77 
    88ntn=specify a Notation file 
  • src/jomdoc/trunk/src/jomdoc/org/jomdoc/util/xml/RelaxNGValidator.java

    r202 r204  
    4747    private static File defaultSchema; 
    4848 
    49  
    50     static { 
    51         getDefaultSchema(); 
    52     } 
    53  
    5449    public static void main(String[] args) { 
    55 //        File s = new File("/d/java/setups/relaxng/rng-validation/lib/test.rng"); 
     50        File s = new File("/home/dimitar/kwarc/jomdoc/rnc/omdoc-1.2/omdoc.rng"); 
    5651        File f = new File("/home/dimitar/kwarc/jomdoc/src/testdata/examples/spec/mobj/sinx.omdoc"); 
    57         validate(null, f); 
     52        validate(s, f); 
    5853//        System.out.println(defaultSchema.getPath()); 
    5954    } 
     
    7267    public static boolean validate(File s, File... f) { 
    7368        if (s == null) { 
     69            if (defaultSchema == null) { 
     70                getDefaultSchema(); 
     71            } 
    7472            s = defaultSchema; 
    7573        } 
    7674 
    77         // prepare the validation schema 
     75        // prepare the schema 
    7876        Schema schema; 
    7977        try { 
     
    118116    public static File getDefaultSchema() { 
    119117        try { 
    120             defaultSchema = IOUtil.findFile(RNC_DIR + File.separator + DEFAULT_SCHEMA, new File(RelaxNGValidator.class.getResource("").toURI()), -1); 
     118            defaultSchema = IOUtil.findFile(RNC_DIR + File.separator + DEFAULT_SCHEMA, new File(ClassLoader.getSystemClassLoader().getResource("").toURI()), -1); 
    121119        } catch (URISyntaxException ex) { 
    122120            Log.warn(ex);