【发布时间】:2011-01-20 14:00:52
【问题描述】:
是否可以使用 Xerces 解析具有内联模式的 XML 文件?我一直在尽我所能来完成这项工作,但我无法成功。它总是在下面代码的最后一行抛出异常(schema 是一个包含 xml 和内联 schema 的字符串):
private XSModel getXSModel(String schema) throws XNIException, IOException{
XMLGrammarPreparser preparser = new XMLGrammarPreparser();
preparser.registerPreparser(XMLGrammarDescription.XML_SCHEMA, null);
XSGrammar g = (XSGrammar)preparser.preparseGrammar(XMLGrammarDescription.XML_SCHEMA,new XMLInputSource(null, null, null,new ByteArrayInputStream(schema.getBytes()), "ISO-8859-1"));
return g.toXSModel();
}
错误如下:
[错误] :1:9586: s4s-elt-character: 'xs:appinfo' 和 'xs:documentation' 以外的架构元素中不允许使用非空白字符...
对于属于 XML 的每一行都会显示该消息(超出架构标记)
更新:这是一个例子:
<root>
<schema xmlns="http://www.w3.org/2001/XMLSchema">
<element name="age" type="integer"/>
</schema>
<!--HERE THE XML BEGINS-->
<age>35</age>
</root>
【问题讨论】:
-
Xerces java 还是 c++?另外,“内联架构”是什么意思?给我们举个例子。