У меня есть потенциальная возможность иметь много маленьких XSD, содержащих отдельные типы большого проекта. (Компоненты) * * тысяча один
У меня также есть большое количество XSD, требующих большого количества этих отдельных XSD. (экраны)
Я знаю, что могу импортировать каждый из «Компонентов» в каждый «Экран» XSD. Но над каждым нужно проделать большую работу.
Я надеялся, что смогу импортировать каждый из этих «Компонентов» в один XSD (ComponentLibrary), а затем просто импортировать этот «ComponentLibrary» в каждый «Экран» XSD.
Я написал код, который, как я думал, мог быть необходим, но, похоже, он не работает. Я получаю сообщения о том, что он не объявлен.
TF.xsd:
<xs:schema targetNamespace="http://namespace.com/TF"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:complexType name="TFType">
<xs:attribute name="size" type="xs:decimal" />
<xs:attribute name="colour" type="xs:decimal" />
</xs:complexType>
</xs:schema>
ComponentsLibrary.xsd:
<xs:schema targetNamespace="http://namespace.com/ComponentsLibrary"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:tf="http://namespace.com/TF"
elementFormDefault="qualified">
<xs:import schemaLocation="TF.xsd" namespace="http://namespace.com/TF"/>
<xs:element name="TF" type="tf:TFType" />
</xs:schema>
Screen1.xsd:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:cl="http://namespace.com/ComponentsLibrary"
elementFormDefault="qualified">
<xs:import schemaLocation="ComponentsLibrary.xsd" namespace="http://namespace.com/ComponentsLibrary" />
<xs:element name="tfTitle" type="cl:TF" />
</xs:schema>
Ошибка, которую я получаю
Screen1.xsd (8:3) Error Type 'http://namespace.com/Components:TF' is not declared.