2011-04-10 61 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上配置了這個)。