У меня есть серия файлов XSD, которые используются в качестве файлов определения основного типа для спецификации программного интерфейса. Я пытаюсь импортировать их в Enterprise Architect в качестве моделей классов.Импорт класса из XSD в Enterprise Architect
По какой-то причине первоначальный разработчик XSD решил перечислить элементы последовательности как «ref», а не напрямую, а упомянутые определения существуют в отдельном файле XSD, на который ссылается данный файл.
До сих пор никаких проблем с этим, это не стандартным синтаксисом XSD, пример показан ниже:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:include schemaLocation="commonTestElements.xsd"/>
<xs:element name="someElementName">
<xs:complexType>
<xs:sequence>
<xs:element ref="someAttributeName" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="someOtherElementName" type="xs:boolean"/>
Над в ссылочном файле (commonTestelements.xsd
), у меня есть следующий:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<!-- element declarations -->
<xs:element name="someAttributeName">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="80"/>
<xs:whiteSpace value="preserve"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:schema>
XML Spy интерпретирует это просто отлично, как и Visual Studio (хотя VS имеет некоторые нежелательные причуды). Однако импорт этого в EA дает чистый мусор, как показано на прилагаемом скриншоте.
Возникает вопрос: есть ли способ, чтобы получить EA импортировать это и показать класс правильно, что бы два класса связаны вместе с именем ассоциации, как показано в эта созданная вручную диаграмма? (Я не знаю, будет ли это именно то, как EA это сделает, но это было бы намного лучше, чем наличие кучи названий мусора, вставленных в диаграмму). Представление из XML Spy также приемлемо.
Это то, чего я боялся. Есть ли способ, которым EA кодирует грани? – theMayer
Что вы подразумеваете под этим? –
Попытка выяснить, как они устанавливаются в EA, поскольку я не мог понять это из крайне ограниченного файла справки, который у них есть: http://www.w3schools.com/xml/schema_facets.asp – theMayer