Tipos Simples e Facetas Aplicáveis de Transformações UML-para-XSD

Os tipos simples representam os tipos de dados comuns que podem ser utilizados diretamente em um esquema XSD e eles podem ser utilizados para derivar outros tipos simples. Cada tipo de dados simples possui facetas aplicáveis, que especificam restrições no tipo de dados simples.

Facetas XSD

As facetas possibilitam especificar restrições em um tipo de dados. Utilize facetas para especificar um intervalo válido de valores, especificar a precisão e o comprimento dos valores, definir listas de valores válidos e a correspondência de padrões.

A tabela a seguir lista as facetas que fazem parte da linguagem do Esquema XML:
Aspecto Definição
fractionDigits O número de dígitos fracionários deve ser menor que, ou igual a, x
comprimento O comprimento do valor deve ser x
maxExclusive O valor deve ser menor que x
maxInclusive O valor deve ser menor que, ou igual a, x
maxLength O comprimento do valor deve ser menor que, ou igual a, x
minExclusive O valor deve ser maior que x
minInclusive O valor deve ser maior que, ou igual a, x
minLength O comprimento do valor deve ser maior que, ou igual a, x
pattern x é uma das expressões comuns que o valor pode corresponder
totalDigits O número de dígitos significativos deve ser menor que, ou igual a, x
whitespace O processador do esquema deve preservar, substituir ou reduzir o espaço em branco, dependendo de x

Tipos Simples e Facetas Aplicáveis

Os tipos simples são as representações concretas de conceitos abstratos de dados. Um número inteiro é um exemplo de conceito abstrato de dados. Outros tipos simples podem ser derivados desses tipos simples integrados.

A tabela a seguir lista os tipos de dados simples que estão integrados à linguagem do Esquema XML. A tabela também lista as facetas aplicáveis para cada tipo de dados simples. Observe que mesmo que a recomendação W3C especifique a enumeração como uma faceta, a enumeração não será listada na tabela. Para representar uma enumeração, utilize a enumeração UML ou uma classe com o estereótipo «enumeration».

Tipos de Dados Simples Integrados Facetas Aplicáveis
ENTITY, ID, IDREFS

length, maxLength, pattern
minlength é 1
o atributo de valor para whitespace possui um valor fixo de collapse

Nome

length, maxLength, minLength
o atributo de valor para whitespace possui um valor fixo de collapse
pattern é \i\c*

NCName

length, maxLength, minLength
o atributo de valor para whitespace possui um valor fixo de collapse
pattern é [\i-[:]][\c-[:]]*

NMTOKEN

length, maxLength, minLength
o atributo de valor para whitespace possui um valor fixo de collapse
pattern é \c+

NMTOKENS

length, maxLength
minLength é 1
o atributo de valor para whitespace possui um valor fixo de collapse

NOTATION

length, maxLength, minLength, pattern
o atributo de valor para whitespace possui um valor fixo de collapse

QNAME

length, maxLength, minLength, pattern
o atributo de valor para whitespace possui um valor fixo de collapse

anyURI, base64Binary, hexBinary

length, maxLength, minLength, pattern
o atributo de valor para whitespace possui um valor fixo de collapse

idioma

length, maxLength, minLength
o valor de whitespace é collapse
pattern é ([a-zA-Z]{2}|[iI]-[a-zA-Z]+|[xX]-[a-zA-Z]{1,8})(-[a-zA-Z]{1,8})*

float, double

maxExclusive, maxInclusive, minExclusive, minExclusive, pattern
o atributo de valor para whitespace possui um valor fixo de collapse

decimal

maxExclusive, maxInclusive, minExclusive, minExclusive, fractionDigits, totalDigits, pattern
o atributo de valor para whitespace possui um valor fixo de collapse

tipos de dados de número inteiro (integer, byte, int, long, negativeInteger, nonNegativeInteger, nonPositiveInteger, positiveInteger, unsignedByte, unsignedInt, unsignedLong,unsignedShort)

maxExclusive, maxInclusive, minExclusive, minExclusive, totalDigits, pattern
fractionDigits é fixado para ter um valor 0
o atributo de valor para whitespace possui um valor fixo de collapse

Tipos de dados de data e hora (date, time, dateTime, gYear,gYearMonth, gMonth, gMonthDay, gDay, duration)

maxExclusive, maxInclusive, minExclusive, minExclusive, pattern
o atributo de valor para whitespace possui um valor fixo de collapse

string, normalizedString, token

length, maxLength, minLength, pattern
o valor de whitespace é um dos seguintes:
preserve para uma cadeia
replace para uma normalizedString
collapse para um token


Feedback