好的,这就是我想要实现的目标。我正在开发一个小型 Google App Engine 应用程序,它可以在给定特定对象的情况下生成 XML。
现在,我遇到了问题,因为我需要使用 Relax NG 模式并针对我的 Document 对象进行验证。这在我的本地机器(Eclipse Helios Java EE、Mac OS X Snow Leopard、Google Web Toolkit 2.2.0、App Engine 1.4.2)上运行良好,但是一旦我部署到 App Engine,我的代码就会失败并抛出 IllegalArgumentException .
具体的例外是:
java.lang.IllegalArgumentException: No SchemaFactory that implements the schema language specified by: http://relaxng.org/ns/structure/1.0 could be loaded
它抱怨的特定代码行如下:
System.setProperty(SchemaFactory.class.getName() + ":" + XMLConstants.RELAXNG_NS_URI, "com.thaiopensource.relaxng.jaxp.CompactSyntaxSchemaFactory");
SchemaFactory schemaFac = SchemaFactory.newInstance(XMLConstants.RELAXNG_NS_URI);
最后一行是引发异常的行。
我曾尝试在网上查找,并在几个 Google 群组中发帖,但没有人提出任何想法。
注意:我从这个例子中使用了上面的一些代码:How to validate an XML document using a RELAX NG schema and JAXP?
我怀疑 App Engine 出于某种原因没有加载 Jing.jar。我不知道如何检查它是/不是。
任何帮助,将不胜感激!谢谢!