为什么SAXParser不喜欢根元素中的命名空间?

时间:2011-04-10 17:19:03

标签: java xml sax

这是我的XML:

<?xml version="1.0"?>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
  xmlns:ui="http://java.sun.com/jsf/facelets"
  xmlns:h="http://java.sun.com/jsf/html">
  <ui:define name="title">
    <h:outputText value="some text"/>
  </ui:define>
</ui:composition>

这是SAXParser Xerces所说的内容:

Cannot find the declaration of element 'ui:composition'

我做错了什么?

3 个答案:

答案 0 :(得分:1)

也许您已启用 XML Schema验证,并且解析器不知道在哪里可以找到命名空间的XSD?

解析XML的代码是什么?

答案 1 :(得分:1)

您是否将saxparser配置为可识别名称空间? (通常默认情况下禁用)。 (您在创建SAXParser之前在SAXParserFactory上配置了此项。)

答案 2 :(得分:0)

我预测真正的错误消息如下:

SAXParseException:cvc - elt.1:找不到元素声明...

这表明您在没有足够架构的情况下启用了架构验证。

相关问题