Включайте элементы в составной тип XSD без нового элемента

В ответ на Ваше разъяснение...

Вы могли использовать ctypes для выполнения функции c "strcasecmp". Ctypes включен в Python 2.5. Это обеспечивает способность обратиться к dll и совместно использованным библиотекам, таким как libc. Вот быстрый пример (Python на Linux; см. ссылку для справки Win32):

from ctypes import *
libc = CDLL("libc.so.6")  // see link above for Win32 help
libc.strcasecmp("THIS", "this") // returns 0
libc.strcasecmp("THIS", "THAT") // returns 8

может также хотеть к ссылке strcasecmp документация

Едва ли уверенный, что это немного быстрее, или медленнее (не протестировали), но это - способ использовать функцию C, чтобы сделать нечувствительные к регистру сравнения строк.

Код ~~~~~~~~~~~~~~

ActiveState - Рецепт 194371: Нечувствительные к регистру Строки являются рецептом для создания нечувствительного к регистру строкового класса. Это могло бы быть закончено уничтожения для чего-то быстрого, но могло предоставить Вам распространенный способ обработать нечувствительные к регистру строки, если Вы планируете использование их часто.

6
задан ng5000 16 October 2009 в 12:05
поделиться

2 ответа

Типы можно расширять, например:

<xsd:complexType name="MySubType">
    <xsd:complexContent>
        <xsd:extension base="Identifier">
                       <xsd:sequence>
                            <!-- More elements here -->
                       </xsd:sequence>
        </xsd:extension>
    </xsd:complexContent>
</xsd:complexType>
7
ответ дан 16 December 2019 в 21:42
поделиться

этот сложный тип всегда будет преобразован в

<Identifier>
   <Id>string</Id>
   <Version>string</Version>
</Identifier>

, если вам не нужна дочерняя структура, вы можете определить Id и Version как элементы и ссылаться на них, используя

<xsd:element ref="Id"/>
<xsd:element ref="Version"/>

позже. Но тогда у вас нет гарантии, что они оба произойдут

Вы также можете сделать атрибуты Id и Version для элемента Identifier в сложном типе

удачи Майк

1
ответ дан 16 December 2019 в 21:42
поделиться
Другие вопросы по тегам:

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