1. Clone https://bitbucket.org/validator/syntax/src
2. Try: java -jar trang/trang.jar syntax/relaxng/html5.rnc output/html.dtd
Output:
# A lot of obvious errors like
"/www/ckeditor-dtd-parser/dtd/tests/syntax/relaxng/data.rnc:42:9: error: sorry,
combining definitions with combine="choice" is not supported"
# And then:
/www/ckeditor-dtd-parser/dtd/tests/syntax/relaxng/common.rnc:85:46: error:
sorry, cannot handle this kind of "zeroOrMore"
/www/ckeditor-dtd-parser/dtd/tests/syntax/relaxng/common.rnc:85:24: error:
sorry, cannot handle this kind of "mixed"
/www/ckeditor-dtd-parser/dtd/tests/syntax/relaxng/common.rnc:90:42: error:
sorry, cannot handle this kind of "zeroOrMore"
/www/ckeditor-dtd-parser/dtd/tests/syntax/relaxng/common.rnc:90:24: error:
sorry, cannot handle this kind of "mixed"
Exception in thread "main" java.lang.NullPointerException
at com.thaiopensource.relaxng.output.dtd.Analysis$Analyzer.visitValue(Analysis.java:106)
at com.thaiopensource.relaxng.output.dtd.Analysis$Analyzer.visitValue(Analysis.java:78)
at com.thaiopensource.relaxng.edit.ValuePattern.accept(ValuePattern.java:51)
at com.thaiopensource.relaxng.output.dtd.Analysis$Analyzer.analyzeContentType(Analysis.java:336)
at com.thaiopensource.relaxng.output.dtd.Analysis$Analyzer.visitChoice(Analysis.java:181)
at com.thaiopensource.relaxng.output.dtd.Analysis$Analyzer.visitChoice(Analysis.java:78)
at com.thaiopensource.relaxng.edit.ChoicePattern.accept(ChoicePattern.java:5)
at com.thaiopensource.relaxng.output.dtd.Analysis$Analyzer.analyzeContentType(Analysis.java:336)
at com.thaiopensource.relaxng.output.dtd.Analysis$Analyzer.visitAttribute(Analysis.java:141)
at com.thaiopensource.relaxng.output.dtd.Analysis$Analyzer.visitAttribute(Analysis.java:78)
at com.thaiopensource.relaxng.edit.AttributePattern.accept(AttributePattern.java:9)
at com.thaiopensource.relaxng.output.dtd.Analysis$Analyzer.analyzeContentType(Analysis.java:336)
at com.thaiopensource.relaxng.output.dtd.Analysis$Analyzer.visitRef(Analysis.java:232)
at com.thaiopensource.relaxng.output.dtd.Analysis$Analyzer.visitRef(Analysis.java:78)
at com.thaiopensource.relaxng.edit.RefPattern.accept(RefPattern.java:9)
at com.thaiopensource.relaxng.output.dtd.Analysis$Analyzer.analyzeContentType(Analysis.java:336)
at com.thaiopensource.relaxng.output.dtd.Analysis$Analyzer.analyzeContentTypeNullAncestorPattern(Analysis.java:343)
at com.thaiopensource.relaxng.output.dtd.Analysis$Analyzer.visitOptional(Analysis.java:272)
at com.thaiopensource.relaxng.output.dtd.Analysis$Analyzer.visitOptional(Analysis.java:78)
at com.thaiopensource.relaxng.edit.OptionalPattern.accept(OptionalPattern.java:9)
at com.thaiopensource.relaxng.output.dtd.Analysis$Analyzer.analyzeContentType(Analysis.java:336)
at com.thaiopensource.relaxng.output.dtd.Analysis$Analyzer.visitInterleave(Analysis.java:206)
at com.thaiopensource.relaxng.output.dtd.Analysis$Analyzer.visitInterleave(Analysis.java:78)
at com.thaiopensource.relaxng.edit.InterleavePattern.accept(InterleavePattern.java:5)
at com.thaiopensource.relaxng.output.dtd.Analysis$Analyzer.analyzeContentType(Analysis.java:336)
at com.thaiopensource.relaxng.output.dtd.Analysis$Analyzer.visitRef(Analysis.java:232)
at com.thaiopensource.relaxng.output.dtd.Analysis$Analyzer.visitRef(Analysis.java:78)
at com.thaiopensource.relaxng.edit.RefPattern.accept(RefPattern.java:9)
at com.thaiopensource.relaxng.output.dtd.Analysis$Analyzer.analyzeContentType(Analysis.java:336)
at com.thaiopensource.relaxng.output.dtd.Analysis$Analyzer.visitInterleave(Analysis.java:208)
at com.thaiopensource.relaxng.output.dtd.Analysis$Analyzer.visitInterleave(Analysis.java:78)
at com.thaiopensource.relaxng.edit.InterleavePattern.accept(InterleavePattern.java:5)
at com.thaiopensource.relaxng.output.dtd.Analysis$Analyzer.analyzeContentType(Analysis.java:336)
at com.thaiopensource.relaxng.output.dtd.Analysis$Analyzer.visitDefine(Analysis.java:290)
at com.thaiopensource.relaxng.output.dtd.Analysis$Analyzer.visitDefine(Analysis.java:78)
at com.thaiopensource.relaxng.edit.DefineComponent.accept(DefineComponent.java:39)
at com.thaiopensource.relaxng.output.dtd.Analysis$Analyzer.visitContainer(Analysis.java:278)
at com.thaiopensource.relaxng.output.dtd.Analysis$Analyzer.visitInclude(Analysis.java:300)
at com.thaiopensource.relaxng.output.dtd.Analysis$Analyzer.visitInclude(Analysis.java:78)
at com.thaiopensource.relaxng.edit.IncludeComponent.accept(IncludeComponent.java:60)
at com.thaiopensource.relaxng.output.dtd.Analysis$Analyzer.visitContainer(Analysis.java:278)
at com.thaiopensource.relaxng.output.dtd.Analysis$Analyzer.visitGrammar(Analysis.java:258)
at com.thaiopensource.relaxng.output.dtd.Analysis$Analyzer.visitGrammar(Analysis.java:78)
at com.thaiopensource.relaxng.edit.GrammarPattern.accept(GrammarPattern.java:14)
at com.thaiopensource.relaxng.output.dtd.Analysis$Analyzer.analyzeContentType(Analysis.java:336)
at com.thaiopensource.relaxng.output.dtd.Analysis.<init>(Analysis.java:534)
at com.thaiopensource.relaxng.output.dtd.DtdOutputFormat.output(DtdOutputFormat.java:22)
at com.thaiopensource.relaxng.translate.Driver.run(Driver.java:144)
at com.thaiopensource.relaxng.translate.Driver.main(Driver.java:44)
Checked on both VMs:
# java -version
java version "1.6.0_30"
Java(TM) SE Runtime Environment (build 1.6.0_30-b12)
Java HotSpot(TM) Server VM (build 20.5-b03, mixed mode)
# java -version
java version "1.6.0_20"
OpenJDK Runtime Environment (IcedTea6 1.9.10) (6b20-1.9.10-0ubuntu1~10.10.2)
OpenJDK Server VM (build 19.0-b09, mixed mode)
Original issue reported on code.google.com by pkoszulinski on 3 Feb 2012 at 9:57
Original issue reported on code.google.com by
pkoszulinski
on 3 Feb 2012 at 9:57