ограничение атрибута в XSD без пользовательских типов - PullRequest
1 голос
/ 25 января 2011

Я ищу способ иметь атрибут типа xs: string с минимальной длиной.

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

Поскольку я использую сопоставление / привязку XML, это приводит к блестящему новому классу (загромождению кода его присутствием, а также дополнительным вызовам методов), который совершенно бесполезен - он все еще просто старый String.

Есть ли способ избежать введения пользовательского типа?

1 Ответ

4 голосов
/ 25 января 2011

Вам не нужно объявлять новый (именованный) тип - просто поместите ограничение в определение атрибута:

<xs:element name="foo">
    <xs:complexType>
        <xs:attribute name="bar">
            <xs:simpleType>
                <xs:restriction base="xs:string">
                    <xs:minLength value="5" />
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>
</xs:element>
...