Использование XSD.exe для генерации классов c # из нескольких схем XSD - PullRequest
7 голосов
/ 23 июня 2011

У меня есть 2 XSD-файла.

В одном XSD-файле, скажем, ABC.xsd содержит элементы, которые являются частью XML.В другом файле XSD предположим, что XYZ.xsd содержит определения этих элементов.

Теперь в теге схемы ABC.XSD (который содержит элементы) наряду с другими пространствами имен мы также упомянули расположение схемы

<xs:schema schemaLocation="XYZ.xsd">

Когда я выполняю xsd.exe для создания моих классов C #.Он генерирует классы, но пропускает некоторые определения из XYZ.xsd.

Я выполняю

xsd.exe "ABC.xsd" "XYZ.xsd" /c

Любая помощь будет оценена

РЕДАКТИРОВАТЬ 1: @Felice, в моем XYZ.xsd у меня есть определение, подобное этому

<xs:simpleType name="contactNumberType">
        <xs:annotation>
            <xs:documentation>Contact phone or fax number with national or international format.  Only numbers are allowed</xs:documentation>
        </xs:annotation>
        <xs:restriction base="xs:string">
            <xs:pattern value="\+?\p{N}{6,24}"/>
        </xs:restriction>
    </xs:simpleType>

См. Определенный здесь шаблон, он не отображается в классе C #.Любая помощь.Извините, я новичок в этом.Спасибо, ваш ответ сработал

Ответы [ 2 ]

10 голосов
/ 26 июня 2014

Ссылка на основной XSD у меня не сработала.

Мне пришлось ссылаться на зависимые файлы XSD по этой ссылке

http://bembengarifin.wordpress.com/2009/07/14/generate-net-class-from-xsd-with-references-to-other-xsd-using-xsd-exe/

3 голосов
/ 23 июня 2011

Передайте только "основной" xsd в качестве параметра, убедитесь, что другой находится в том же месте, что и основной, и он должен работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...