2014-08-27 3 views
1

Я использую Sparx Enterprise Architect v10 для создания схемы XSD из графической модели XML Schema.Sparx Enterprise Architect - XSD Generation: импорт ссылки XSDschema в сгенерированном

В принципе, я создал 2 разных XSDschema: 1 главный XSDshema с моими лицами, которые ComplexType:

<xs:complexType name="EntitytXT"> 
    <xs:annotation> 
     <xs:documentation>This is the definition of an EntitytXT</xs:documentation> 
    </xs:annotation> 
    <xs:sequence> 
     <xs:element name="element1" type="shared:StringXT" minOccurs="1" maxOccurs="1"/> 
     <xs:element name="element2" type="shared:StringXT" minOccurs="1" maxOccurs="1"/> 
    </xs:sequence> 
</xs:complexType> 

Другой созданный XSDschema является «общим один» и просто только с типом StringXT; состоит из вещей, как то:

<xs:simpleType name="StringXT"> 
    <xs:restriction base="xs:string"> 
     <xs:maxLength value="5" /> 
    </xs:restriction> 
</xs:simpleType>` 

То, что я хочу сделать, это: Всякий раз, когда я произвожу первый основной XSD с EA, что импортируемый XSD «общий» путь xmlns:v1shared="http://xxxx/common/v1/shared" И что тег

<xs:import namespace="http://xxxx/shared" schemaLocation="http:/xx/xx/common/shared.xsd" /> 

есть в моем созданном XSD результате.

Большое спасибо.

ответ

1

Итак, после почти дня, это оказалось довольно очевидным.

Я не нашел конкретного ответа на эту практическую процедуру импорта для разных XSDschema в EA.

Дело в том, что у вас есть 2 XSDschema как 2 разных пакета. Для того, чтобы обеспечить «общий» один к ввозу основным (с тегом <xs:import явно в заголовке XSD, вы должны:

  • Введите 2 разные пространства имен, один относительно каждого пакета XSDschema

  • Добавьте «общий» (+ его имена) на вкладке Xmlns в основном XSDschema свойств

  • Дважды проверьте значение SchemaLocation Tagged для каждого пакета XSDschema

  • И последнее, но не менее важное: в последовательности xs для вашего основного complexTypes <xs:element name="element1" type="shared:StringXT" тег типа должен быть всего :StringXT (без «общего»), чтобы «связать» главную XSDschema и общую. Вы можете перейти к атрибутам XSDschema и проверить их тегированные значения. Вы должны увидеть что-то вроде + Атрибуты + от StringXT

надеюсь, что это поможет!

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