Я полагаю, что три приведенных ниже синтаксически верны; но которые разрешены в соответствии с соглашениями (особенно на предприятии)?
Первый приведенный ниже используется в большинстве примеров, которые я видел (например, JAXB), но он многословен:
<xs:annotation>
<xs:appinfo>
<myinfo>don't panic</myinfo>
</xs:appinfo>
</xs:annotation>
Этот второй ниже разрешен, потому что любые атрибуты разрешены для <appinfo>
(которые не находятся в собственном пространстве имен XML-схемы). Это короче, и кажется разумным - но это обычный?
<xs:annotation>
<xs:appinfo myinfo="don't panic"/>
</xs:annotation>
Этот последний ниже мой любимый, потому что он такой короткий и не загромождает схему. Я уверен, что это законно, потому что, как и <appinfo>
, любые атрибуты разрешены для <annotation>
(опять же, при условии, что пространство имен схемы не-xml). Но он кодирует информацию приложения без использования <appinfo>
, поэтому я боюсь, что он будет осужден. Это будет?
<xs:annotation myinfo="don't panic"/>
Большое спасибо за ваши комментарии!