Questão nº 28
Questão de Tecnologia da Informação · FCC TRT5 2022 (nº 28)
Considere o trecho de um arquivo XML schema abaixo.
<xs:element name="mensagem">
<xs:simpleType>
<xs:restriction base="xs:string">
I
</xs:restriction>
</xs:simpleType>
</xs:element>
Para definir que o elemento mensagem só aceitará letras minúsculas do alfabeto, entre a e z, a lacuna I deve ser corretamente preenchida com
- A<xs:pattern value="[a-z]"/> (alternativa correta)
- B<xs:enumeration BETWEEN 'a' AND 'z'/>
- C<xs:accept value="[a-z]"/>
- D<xs:pattern min="a" max="z"/>
- E<xs:accept begin="a" end="z"/>
Resposta comentada
Gabarito Alternativa A
Para restringir o tipo de dados de um elemento em XML Schema (XSD), usamos a tag xs:restriction e aplicamos facetas, que são regras específicas. Uma faceta comum para strings é xs:pattern, que utiliza expressões regulares para definir o formato permitido do texto.
- (A) Correta: A tag
<xs:pattern>é a faceta correta para aplicar uma expressão regular. O atributovalueé usado para especificar a expressão regular. A expressão[a-z]é uma expressão regular padrão que corresponde a qualquer único caractere que seja uma letra minúscula do alfabeto, de 'a' a 'z'. Embora para uma string composta por múltiplas letras minúsculas o padrão seria[a-z]+(uma ou mais) ou[a-z]*(zero ou mais), entre as opções fornecidas,[a-z]é a única que utiliza a sintaxe correta dexs:patterncom uma expressão regular válida para o conjunto de caracteres desejado. - (B) Incorreta:
xs:enumerationé usado para listar valores específicos e discretos que um elemento pode ter (ex: "vermelho", "azul"). Não é usado para definir um intervalo de caracteres ou para usar a sintaxeBETWEEN 'a' AND 'z', que não é válida em XML Schema. Armadilha da banca: A palavra "enumeration" e a ideia de "BETWEEN" podem levar a crer que se trata de uma forma de listar ou definir um intervalo, mas a sintaxe e o uso são completamente errados para XSD. - (C) Incorreta:
xs:acceptnão é uma tag ou faceta válida em XML Schema para restringir valores de elementos. - (D) Incorreta: Embora
xs:patternseja a tag correta, ela usa o atributovaluepara a expressão regular. Os atributosminemaxnão são usados comxs:pattern; eles são tipicamente associados a facetas de intervalo para tipos numéricos ou de data/hora (comoxs:minInclusiveexs:maxInclusive). - (E) Incorreta: Assim como na alternativa C,
xs:acceptnão é uma tag válida em XML Schema. Os atributosbegineendtambém não são válidos para essa finalidade.
Fonte: FCC TRT5 2022 Técnico Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 001). Reproduzida para fins de estudo.