Проверка XSD в Eclipse: предупреждение «Нет грамматических ограничений»? - PullRequest
2 голосов
/ 07 сентября 2011

Я создал новый проект в Eclipse только для проверки XML благодаря соответствующему xsd.Я написал как xsds, так и xml-файлы.

Основной XSD выглядит так:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
  xmlns="http://www.myurl.com/schemas" 
  targetNamespace="http://www.myurl.com/schemas" 
  version="1.0">
<xs:include schemaLocation="other_xsd.xsd"/>
[...]

other_xsd.xsd находится в одном каталоге и выглядит так:

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
  xmlns="http://www.myurl.com/schemas" 
  targetNamespace="http://www.myurl.com/schemas">

В основном он содержит complexType s, используемых в основном xsd

Файл примера xml также находится в том же каталоге и имеет вид:

<?xml version="1.0" encoding="UTF-8"?>
<myTag xmlns="http://www.myurl.com/schemas" myAttributes="2011-09-07">

Все эти три файла былизагружен в тот же каталог в моем проекте Eclipse.Тем не менее, я по-прежнему получаю это предупреждение:

Нет грамматических ограничений (DTD или XML-схема) для документа.example.xml XMLValidation / Test line 1 Проблема XML

Чего не хватает в моем xml или xsd, чтобы я мог проверить свой xml файл?

Ответы [ 2 ]

1 голос
/ 11 декабря 2012

В Предпочтения -> XML -> Каталог XML добавьте запись, указанную пользователем.Введите путь / имя файла схемы в поле «Местоположение» (при желании используйте кнопки «Рабочая область» или «Файловая система»)В этот момент поле Key должно быть заполнено вашим пространством имен.Нажмите OK пару раз, чтобы выйти, затем щелкните правой кнопкой мыши свой XML-файл и нажмите Подтвердить.Eclipse должен сопоставить ваш атрибут «xmlns» с «Ключом» и использовать соответствующую схему.

0 голосов
/ 08 сентября 2011

Вы должны указать процессору eclipse xml, где искать схему. Либо отредактируйте Preferences-> XML-> XML Catalog, чтобы ваше пространство имен было сопоставлено с ресурсом схемы, либо просто включите schemaLocation в ваш экземпляр документа. Предполагая, что ваша основная схема main.xsd:

<myTag xmlns="http://www.myurl.com/schemas" 
       myAttributes="2011-09-07"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.myurl.com/schemas main.xsd" >
...