2011-04-10 62 views
0

这是我的XML:为什么SAXParser不喜欢根元素中的命名空间?

<?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> 

这是SAXParserXerces是说:

Cannot find the declaration of element 'ui:composition' 

我在做什么错?

+1

是什么版本的xerces?这应该工作得很好。 – bmargulies 2011-04-10 19:03:20

回答

1

也许你有XML架构验证打开,解析器不知道在哪里可以找到名称空间的XSD?

是什么代码看起来解析XML?

0

我预测,真正的错误信息是这样的:

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

这将表明你对模式验证没有开启足够的架构。

1

您是否将saxparser配置为了解名称空间? (通常默认情况下是禁用的)。 (你在创建SAXParser之前在SAXParserFactory上配置了这个)。