XSD: Как переопределить тип данных simpleType, например, от xs:string до xs:integer

Я пытаюсь расширить и адаптировать внешнюю xsd схему (fixml стандарта). Я должен изменить тип данных некоторых элементов, не касаясь исходной схемы, но путем переопределения его; но находили это чрезвычайно громоздким.

Что существует:

поля-base.xsd

<xs:simpleType name="LastUpdateTime_t">
           <xs:restriction base="UTCTimestamp">
<xs:simpleType>

чем я хочу, чтобы это стало:

<xs:simpleType name="LastUpdateTime_t">
           <xs:restriction base="xs:string">
<xs:simpleType>

Что я попробовал (но привел к сбою):

<xs:redefine schemaLocation="fields-base.xsd">
            <xs:simpleType name="LastUpdateTime_t">
              <xs:restriction base="xs:string" />
            </xs:simpleType>
 </xs:redefine>

Книги и сеть, кажется, не помогли слишком много также, таким образом, я начинаю подвергать сомнению, возможно ли это теоретически вообще.

6
задан Varun Garde 19 January 2010 в 03:25
поделиться

1 ответ

Насколько я могу сказать, это невозможно.

Единственный переопределенный, который я мог бы сделать подтверждение в XMLSPY:

<xs:redefine schemaLocation="fields-base.xsd"> 
        <xs:simpleType name="LastUpdateTime_t"> 
          <xs:restriction base="LastUpdateTime_t" /> 
        </xs:simpleType> 
</xs:redefine> 

то есть новое ограничение должно основываться на базовом ограничении.

Может быть, что XMLSPY неверно по этому поводу.

Это несколько загадочная цитата из определения XML W3C XML :

внутри [детей], каждый Simpletype должен иметь Среди его [детей] и каждого CompartyType должен иметь ограничение или расширение среди его Гранд- [дети] · Фактическая ценность · из чья база [атрибут] должна быть так же, как · фактическая стоимость · самостоятельно Имя атрибут плюс целевой пространство имен на целевое пространство;

может разговаривать об этом (это то, что часть спецификации XMLSPY ссылки для этой ошибки).

Единственный действительно хороший пример переопределения простых типов, которые я мог найти, был здесь . В этом примере переопределение только для перечислений.

4
ответ дан 17 December 2019 в 07:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: