Я работаю над клиентским приложением (встроенными системами), которое использует формат XML для обмена данными и конфигурации с сервером.Преобразование XML-схемы
Я хочу добавить дополнительную информацию в схему XML, о обработке XML-данных (таких как обработчики или любые пользовательские действия) без каких-либо побочных эффектов на стороне сервера.
Например,
<xs:element name="ethernet">
<xs:complexType>
<xs:sequence>
<!-- <handler>set_ethernet_address</handler> -->
<xs:element name="ip" type="ipType"/>
<xs:element name="net_mask" type="ipType"/>
<xs:element name="gateway" type="ipType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
В приведенных выше примерах комментарий представляет, что Ethernet элемент имеет обработчик set_ethernet_address. Эта информация абсолютно не имеет отношения к пользователю на стороне сервера. Более того, этот обработчик не является частью целевого XML-файла. В будущем я планирую разработать генератор исходного кода, который генерирует код приложения на стороне клиента из схемы.
Так мои вопросы,
- Могу ли я добавить дополнительную «инструкцию по обработке» в XML-схеме, кроме комментария формат?
- Кроме того, я могу преобразовать эту XML-схему в новый файл схемы XML для сервера, удалив клиентскую «инструкцию обработки».
Thanks, Nandkishor.
Спасибо, это действительно полезно. Еще один вопрос: могу ли я использовать XSLT для файла схемы? Мне нужно удалить эти аннотации из файла схемы перед тем, как перейти к клиенту. –
Да, XSD - это XML, поэтому вы можете разделить элементы xs: annotation с помощью XSLT. –