A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

XML – Extensible Markup Language (Introdução – Parte II) Prof. Joel

Apresentações semelhantes


Apresentação em tema: "XML – Extensible Markup Language (Introdução – Parte II) Prof. Joel"— Transcrição da apresentação:

1 XML – Extensible Markup Language (Introdução – Parte II) Prof. Joel
Prof. Joel da Silva

2 O que são Schemas? Exemplos Schemas
Documento XML que contém regras de validação dos atributos e elementos de um documento XML Sintaxe própria para aplicação das regras de validação A validação é realizada quando o documento XML é carregado Exemplos Arquivo Samples.zip

3 Processo de validação de um XML
O parser usa o Schema para aplicar as regras de transformação nele definidas ao documento XML em questão

4 Associação de um XML a um Schema
<?xml version=“1.0” ?> Tag indicando associação do Schema SchProd.xml ao XML em questão <booklist xmlns=“x-schema: </booklist> <Produto> </Produto> <Codigo> </Codigo> <Peso></Peso><Custo /> <Preco Moeda=“R$”>4,75</Preco>

5 Passos do processo de validação
O documento XML e o Schema são processados pelo parser Se o processamento foi realizado com sucesso, o XML é disponibilizado para processamento final e formatação Se houve erro no processamento, o parser acusa erro de validação O XML pode ser descartado O XML pode ser transformado em um XML válido através de um XSL

6 Sintaxe de Schemas: <ElementType>
Define um novo tipo de elemento do XML no Schema e as regras para aquele elemento quando ele aparecer no XML a ser validado. <ElementType name = “nome da tag” content = “empty” | “textOnly” | “eltOnly” | “mixed” model = “open” | “closed” order = “one”| “seq” | “many” dt:type = “tipo de dado XML”> </ElementType>

7 Sintaxe de Schemas: name
name = “nome da tag” obrigatório Define o nome do tag no XML a ser validado

8 Sintaxe de Schemas: content
content = “empty” | “textOnly” | “eltOnly” | “mixed” Opcional Define o tipo de conteúdo do dado associado ao tag no XML a ser validado Pode assumir um dos valores das constantes mostradas e o valor default é “mixed”

9 Sintaxe de Schemas: model
model = “open” | “closed” Opcional Define se o elemento definido pode ter conteúdo extra, fora o definido no Schema (open) ou não (closed) Pode assumir um dos valores das constantes mostradas e o valor default é “open”

10 Sintaxe de Schemas: order
order = “one”| “seq” | “many” Opcional Define como os elementos filhos são ordenados e combinados dentro do elemento definido Pode assumir um dos valores das constantes mostradas e o valor default é “many”. “one”: O elemento pode conter apenas um dos possíveis elementos filhos definidos. “seq”: O elemento deve conter todos os elementos filhos definidos, na seqüência em que forem definidos “many”: O elemento pode incluir alguns, todos ou nenhum dos elementos filhos, em qualquer ordem.

11 Sintaxe de Schemas: <ElementType>
dt:type = “tipo de dado XML” Opcional Define o tipo de dado real do elemento, já que aquele é usualmente tratado como texto. Os tipos de dados propostos pelo W3C são suportados pelo parser da Microsoft. Para habilitar o suporte aos tipos de dados tratados pelo IE 5.0, o Schema deve conter o namespace de tipos de dados: <Schema name=“MySchema” xmlns=“urn:schemas-microsoft-com:xml-data” xmlns:dt=“urn:schemas-microsoft-com:datatypes”>

12 Sintaxe de Schemas – Forma de uso
<ElementType> mais simples e mais internos na hierarquia de elementos do XML devem ser definidos primeiro A definição de elementos filho de um <ElementType> é feita a partir de declarações de outros <ElementType> já definidos

13 Sintaxe de Schemas - filhos
Sintaxe para definir elementos filhos Uso da tag <element> com alguns atributos <ElementType name = “nome da tag” content = “empty” | “textOnly” | “eltOnly” | “mixed” model = “open” | “closed” order = “one”| “seq” | “many” dt:type = “tipo de dado XML”> <element type = “<ElementType> já declarado” minOccurs = “0” | “1” maxOccurs = “1” | “*”/> </ElementType>

14 Sintaxe de Schemas - Exemplo
Elaboração de Schema para o documento XML abaixo: <?xml version=“1.0” ?> <Precos xmlns=“x-schema: > <Preco> <Tipo>R$</Tipo> <Moeda>REAL</Moeda> <Valor>120,00</Valor> </Preco> </Precos>

15 Sintaxe de Schemas - Exemplo
Premissas Pode haver XML’s sem nenhum elemento <Preco> Os elementos <Valor> e <Tipo> são obrigatórios

16 Sintaxe de Schemas Definição de elementos de grupos
Tag <group> usada em <ElementType> Permite que elementos filhos sejam particionados em grupos distintos <ElementType name = “....” <group minOccurs = “0” | “1” maxOccurs = “1” | “*” order = “one” | “seq” | “many” > <element type = “...” /> </group> </ElementType>

17 Sintaxe de Schemas: <AtributeType>
Define um novo tipo de elemento do XML no Schema e as regras para aquele elemento quando ele aparecer no XML a ser validado <AtributeType name = “nome do atributo” required = “yes” | “no” dt:type = “tipo de dado XML” dt:values = “lista de valores, se dt:type for uma lista” default = “valor default do atributo” </AtributeType>

18 Sintaxe de Schemas: <AtributeType>
Se required for “yes”, default não deve ser especificado O valor default deve ser legal e estar de acordo com a definição do atributo. Por exemplo, se dt:type for uma lista, o valor default deve estar na lista informada em dt:value

19 Sintaxe de Schemas: <AtributeType>
Sintaxe para definir atributos Uso da tag <atribute> com alguns atributos <ElementType name = “nome da tag” content = “empty” | “textOnly” | “eltOnly” | “mixed” model = “open” | “closed” order = “one”| “seq” | “many” dt:type = “tipo de dado XML”> <atribute type = “<AtributeType> já declarado” requited = “yes” | “no” default = “valor default” /> </ElementType>

20 Sintaxe de Schemas - Exemplo
Elaboração do Schema para o documento XML abaixo: <?xml version=“1.0” ?> <Precos xmlns=“x-schema: <Preco Moeda=R$ Tipo=01> <Valor>120,00</Valor> </Preco> </Precos>

21 Sintaxe de Schemas - Exemplo
Premissas: Pode haver XML’s com nenhum elemento <Preco> O elemento <Valor> é obrigatório O atributo Tipo tem o domínio {01, 02 e 03} e é obrigatório O atributo Moeda é opcional e o valor default é R$

22 Sintaxe de Schemas: <AtributeType>
Um atributo pode ser definido também dentro de um <ElementType>, sendo local a este e não podendo ser usado por outros <ElementTypes> do XML <ElementType name=“...” ..... <AtributeType name = “nome do atributo” required = “yes” | “no” dt:type = “tipo de dado XML” dt:values = “lista de valores, se dt:type for uma lista” default = “valor default do atributo”/> </ElementType>

23 Sintaxe de Schemas - Exemplo
Diferença entre o SchPreco2 e SchPreco3: Atributos definidos dentro do tag <Preco> <?xml version=“1.0” ?> <Precos xmlns=“x-schema: <Preco Moeda=R$ Tipo=01> <Valor>120,00</Valor> </Preco> </Precos>

24 Exercício Criar um Schema para o exemplo de cliente apresentado no modulo anterior, onde as seguintes premissas devem ser seguidas: O código de cliente é obrigatório. O Tipo não é obrigatório, mas se informado deverá ser um dos seguintes: “Normal,VIP, Ouro”. Caso não seja informado, o default é Normal. Todos os elementos são obrigatórios, com exceção de endereço.


Carregar ppt "XML – Extensible Markup Language (Introdução – Parte II) Prof. Joel"

Apresentações semelhantes


Anúncios Google