2013-05-17 2 views
1

В настоящее время я столкнулся с XML, где я не совсем понимаю синтаксис.Анализ XML с избыточным пространством имен

Синтаксиса что-то вроде этого:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<root xmlns="http://blubb.com/"> 
    <element> 
    <element2 xmlns:ns1="http://blubb.com/" xmlns=""> 
    </element2> 
    </element> 
</root> 

Глобального пространство имен и ns1 являются тождественными. За исключением пространств имен, shema является vaild против данного xsd. Xsd содержит только одно пространство имен (глобальное).

На самом деле я в настоящее время получили два вопроса:

(1) Для того, чтобы лучше понять, что у меня есть: Есть ли причина, почему то же пространство имен объявляется? Может ли быть какое-то преимущество? Или это просто неправильно?

(2) При разборе этого кода с помощью JAXB сбой устранения несогласования происходит с сообщением об ошибке ниже. XML предоставляется в этом синтаксисе и не может быть изменен. Есть ли способ игнорировать пространство имен redudant для возможности синтаксического анализа документа?

Invalid content was found starting with element ... 
...is expected 

С радостью за любую помощь!

Спасибо!

ответ

0

В следующем документе element2 не является пространством имен, поэтому пространство имен по умолчанию устанавливается равным "". Затем пространство имен http://blubb.com/ было присвоено префиксу ns1 в случае необходимости.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<root xmlns="http://blubb.com/"> 
    <element> 
    <element2 xmlns:ns1="http://blubb.com/" xmlns=""> 
    </element2> 
    </element> 
</root> 

Для получения дополнительной информации о JAXB и Namespaces

Смежные вопросы