Может ли схема XSD содержать в себе другое содержимое XSD? - PullRequest
4 голосов
/ 03 февраля 2011

Чтобы уточнить заголовок этого вопроса, у меня есть основная схема, которая определяет структуру моего XML. Однако файлы XML используются аналогично следующему:

<!DOCTYPE root [
    <!ENTITY node1 SYSTEM "C:\node1.xml">
    <!ENTITY node2 SYSTEM "C:\node2.xml">
]>
<root>
    &node1;
    &node2;
</root>

По этой причине я хочу иметь возможность определить схему, которая представляет эти отдельные "узлы". Это позволило бы мне иметь intellisense как для корневого XML-файла верхнего уровня, так и для каждого XML-файла узла нижнего уровня.

Можно ли определить схему XSD, которая ссылается на содержимое другого XSD, как на собственное? Я хочу избежать дублирования тех же определений схемы, что и в файле node.xsd в root.xsd, при этом предоставляя intellisense для того, кто создает root.xml или node.xml.

Пожалуйста, дайте мне знать, если мне нужно уточнить. Спасибо за вашу помощь.

1 Ответ

3 голосов
/ 06 февраля 2011

Да, в вашу схему можно включить структуру и определения других схем.

Вы можете использовать <xsd:import> или <xsd:include> для включения других схем в вашу.

В зависимости от пространств имен, от того, насколько ограничены другие схемы и т. Д., У вас могут возникнуть некоторые проблемы при этом.

...