desenvolvimento fgv - aula 02

37
8/18/2019 Desenvolvimento FGV - Aula 02 http://slidepdf.com/reader/full/desenvolvimento-fgv-aula-02 1/37  Exercícios FGV XML+XSLT Prof. Marcelo Pacote e Leon Solon 1

Upload: tiagoxpl

Post on 07-Jul-2018

225 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Desenvolvimento FGV - Aula 02

8/18/2019 Desenvolvimento FGV - Aula 02

http://slidepdf.com/reader/full/desenvolvimento-fgv-aula-02 1/37

 Exercícios FGVXML+XSLT

Prof. Marcelo Pacote e Leon Solon

1

Page 2: Desenvolvimento FGV - Aula 02

8/18/2019 Desenvolvimento FGV - Aula 02

http://slidepdf.com/reader/full/desenvolvimento-fgv-aula-02 2/37

Agenda

XML

XSLT

2

Page 3: Desenvolvimento FGV - Aula 02

8/18/2019 Desenvolvimento FGV - Aula 02

http://slidepdf.com/reader/full/desenvolvimento-fgv-aula-02 3/37

eXtensible Markup Language

(XML)

3

Page 4: Desenvolvimento FGV - Aula 02

8/18/2019 Desenvolvimento FGV - Aula 02

http://slidepdf.com/reader/full/desenvolvimento-fgv-aula-02 4/37

Partes de um Documento XML

4

Page 5: Desenvolvimento FGV - Aula 02

8/18/2019 Desenvolvimento FGV - Aula 02

http://slidepdf.com/reader/full/desenvolvimento-fgv-aula-02 5/37

Documentos XML bem formados

5

Page 6: Desenvolvimento FGV - Aula 02

8/18/2019 Desenvolvimento FGV - Aula 02

http://slidepdf.com/reader/full/desenvolvimento-fgv-aula-02 6/37

Exercício [1] (SENADO/2008/FGV)

Considere as seguintes afirmativas sobre um documento XML bem formado:I. Deve estar sintaticamente correto, seguindo as regras de marcaçãoprescritas para o padrão XML.

II. Deve conter um elemento raiz e pelo menos algum outro elemento.

III. Deve conter uma associação com um documento XMLSchema ou uma

DTD.IV. Deve fazer uso de pelo menos um namespace.

Estão incorretas as afirmativas:a) I e II, apenas. b) III e IV, apenas. c) II, III e IV, apenas.

d) I, II e IV, apenas. e) I, II , III e IV.

6

Page 7: Desenvolvimento FGV - Aula 02

8/18/2019 Desenvolvimento FGV - Aula 02

http://slidepdf.com/reader/full/desenvolvimento-fgv-aula-02 7/37

Exercício [2] (MEC/2008/FGV/WebDesign) (1/2)

 XHTML é a sigla em inglês para EXtensible HyperTextMarkup Language que em português significa Linguagem

Extensível para Marcação de Hipertexto. Uma aplicação XML, escrita para substituir o HTML, nada mais é do que

um HTML "puro, claro e limpo".

 Assinale a opção que indica duas diferenças do  XHTML

em relação ao HTML.:

(A) tags devem ser escritas em letras minúsculas / o usode tags de fechamento é obrigatório

(B) o uso de tags de fechamento é obrigatório / tagsdevem ser escritas em letras maiúsculas.

7

Page 8: Desenvolvimento FGV - Aula 02

8/18/2019 Desenvolvimento FGV - Aula 02

http://slidepdf.com/reader/full/desenvolvimento-fgv-aula-02 8/37

Exercício [2] (MEC/2008/FGV/WebDesign) (2/2)

(C) o uso de tags de fechamento é irrelevante / tagsdevem ser escritas em letras minúsculas.

(D) tags devem ser escritas em letras maiúsculas / tagsdevem estar convenientemente aninhadas.

(E) tags devem estar convenientemente aninhadas / tagsdevem ser escritas em letras maiúsculas

8

Page 9: Desenvolvimento FGV - Aula 02

8/18/2019 Desenvolvimento FGV - Aula 02

http://slidepdf.com/reader/full/desenvolvimento-fgv-aula-02 9/37

XML Namespaces

9

Page 10: Desenvolvimento FGV - Aula 02

8/18/2019 Desenvolvimento FGV - Aula 02

http://slidepdf.com/reader/full/desenvolvimento-fgv-aula-02 10/37

Declaração de Namespaces

10

Page 11: Desenvolvimento FGV - Aula 02

8/18/2019 Desenvolvimento FGV - Aula 02

http://slidepdf.com/reader/full/desenvolvimento-fgv-aula-02 11/37

Namespace

11

Page 12: Desenvolvimento FGV - Aula 02

8/18/2019 Desenvolvimento FGV - Aula 02

http://slidepdf.com/reader/full/desenvolvimento-fgv-aula-02 12/37

XML Válido

12

Page 13: Desenvolvimento FGV - Aula 02

8/18/2019 Desenvolvimento FGV - Aula 02

http://slidepdf.com/reader/full/desenvolvimento-fgv-aula-02 13/37

DTD vs. XML Schema

13

Page 14: Desenvolvimento FGV - Aula 02

8/18/2019 Desenvolvimento FGV - Aula 02

http://slidepdf.com/reader/full/desenvolvimento-fgv-aula-02 14/37

Documentos válidos

Page 15: Desenvolvimento FGV - Aula 02

8/18/2019 Desenvolvimento FGV - Aula 02

http://slidepdf.com/reader/full/desenvolvimento-fgv-aula-02 15/37

XML Schema: Tipos

15

Page 16: Desenvolvimento FGV - Aula 02

8/18/2019 Desenvolvimento FGV - Aula 02

http://slidepdf.com/reader/full/desenvolvimento-fgv-aula-02 16/37

XML Schema

Tipo Simples

<xs:element name=“sobrenome" type"xs:string"/> 

<xs:element name=“idade" type="xs:integer"/> 

<xs:element name=“dataNasc" type="xs:date"/> 

<sobrenome>Zouza</sobrenome>

<idade>26</idade>

<dataNasc>1984-11-21</dataNasc>

16

Page 17: Desenvolvimento FGV - Aula 02

8/18/2019 Desenvolvimento FGV - Aula 02

http://slidepdf.com/reader/full/desenvolvimento-fgv-aula-02 17/37

XML Schema – Tipos Complexos

<xs:element name=“empregado"> <xs:complexType>

<xs:sequence> 

<xs:element name=“nome" type="xs:string"/> 

<xs:element name=“sobrenome" type="xs:string“ maxOccurs="10"

minOccurs="0"/>

</xs:sequence></xs:complexType>

</xs:element>

<empregado>

<nome>Marcelo</nome>

<sobrenome>Pacote</sobrenome>

</empregado>

17

Page 18: Desenvolvimento FGV - Aula 02

8/18/2019 Desenvolvimento FGV - Aula 02

http://slidepdf.com/reader/full/desenvolvimento-fgv-aula-02 18/37

XML Schema

<!ELEMENT note (de, para, head, body)>

<!ELEMENT to (#PCDATA)>

<!ELEMENT from (#PCDATA)>

<!ELEMENT heading (#PCDATA)>

<!ELEMENT body (#PCDATA)>

<?xml version="1.0"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"

targetNamespace="http://www.xml.com"

xmlns="http://www.xml.com"

elementFormDefault=“unqualified"> 

<xs:element name="note"><xs:complexType>

<xs:sequence>

<xs:element name=“de" type="xs:string" /> 

<xs:element name=“para” type="xs:string" /> 

<xs:element name=“head" type="xs:string" /> 

<xs:element name="body" type="xs:string" />

</xs:sequence>

</xs:complexType>

</xs:element></xs:schema>

18

Page 19: Desenvolvimento FGV - Aula 02

8/18/2019 Desenvolvimento FGV - Aula 02

http://slidepdf.com/reader/full/desenvolvimento-fgv-aula-02 19/37

19

Para as questões 3 a 5, sejam o documento XMLe seu correspondente XML Schema nos slides a

seguir:

Exercício (SENADO/2008/FGV) - adaptado

Page 20: Desenvolvimento FGV - Aula 02

8/18/2019 Desenvolvimento FGV - Aula 02

http://slidepdf.com/reader/full/desenvolvimento-fgv-aula-02 20/37

Page 21: Desenvolvimento FGV - Aula 02

8/18/2019 Desenvolvimento FGV - Aula 02

http://slidepdf.com/reader/full/desenvolvimento-fgv-aula-02 21/37

<xs:sch ema xm lns:xs=ht tp: / /ww w.w3.org/2001/XMLSchema

targetNamespace ="http:/xyz.org/oc.xsd“ xmlns="ht tp: / /xyz.org/oc.xsd"

elementFormDefaul t="qual i f ied">

<xs:element name="OrdemdeComp ra “ type=" TipoOrdemdeCompra"/>

<xs:e lement name="comentar io" type="xs :str ing" />

<xs:com plexType name=" TipoOrdemdeCompra "><xs:sequence>

<xs:element name=" enddest ino" type="endereco" />

<xs:element name="endpagamento" type="endereco" />

<xs:e lement ref="comentar io" m inOccurs=" 0"/>

<xs:e lement name=" i tens" type="I tens" />

</xs:sequence>

<xs:at t r ibute name="datacomp ra" type="x s:date" />

</xs:complexType>

<xs:com plexType name="endereco" >

<xs:sequence>

<xs:e lement name="n ome" type="x s:str ing" />

<xs:e lement name=" rua" type="xs :str ing" />

<xs:e lement name="cidade" type=" xs:str ing" /><xs:e lement name=" estado" type="xs :str ing" />

<xs:e lement name="cep" typ e=" xs:decimal" />

</xs:sequence>

<xs:at t r ibute name="p ais" typ e=" xs:NMTOKEN “ fixed="BRASIL"/> 

</xs:complexType>

(...)

</xs:schema>  

21

Page 22: Desenvolvimento FGV - Aula 02

8/18/2019 Desenvolvimento FGV - Aula 02

http://slidepdf.com/reader/full/desenvolvimento-fgv-aula-02 22/37

Exercício [3] (SENADO/2008/FGV)

É correto afirmar que, no documento XML:

a) o elemento rua poderia anteceder o elemento nome em enddestino.

b) o elemento comentario pode aparecer mais de uma vez.

c) http:/xyz.org/oc.xsd é o namespace padrão.d) o atributo datacompra não deveria estar dentro da tag de abertura do

elemento OrdemdeCompra.

e) os elementos enddestino e endpagamento não podem ter um atributocom mesmo nome.

22

Page 23: Desenvolvimento FGV - Aula 02

8/18/2019 Desenvolvimento FGV - Aula 02

http://slidepdf.com/reader/full/desenvolvimento-fgv-aula-02 23/37

Exercício [4] (SENADO/2008/FGV)

Em relação ao documento XML Schema é correto afirmar que:

a) se minOccurs=”0” fosse removido da declaração do elemento comentario,

então o documento XML deveria ter pelo menos uma ocorrência desseselementos.

b) o elemento comentário é um tipo simples por não ter um atributo type

associado.

c) os elementos nome, rua, cidade, estado e cep não poderiam serdeclarados diretamente como subelementos dos elementosendpagamento e enddestino em lugar da declaração através do type

endereço.

d) a declaração <xs:attribute name="datacompra” type="xs:date"/> deveria

anteceder a declaração do tipo complexo TipoOrdemdeCompra.

e) no documento XML, os elementos em que minOccurs=”0”  

não podem ter qualquer ocorrência.

23

Page 24: Desenvolvimento FGV - Aula 02

8/18/2019 Desenvolvimento FGV - Aula 02

http://slidepdf.com/reader/full/desenvolvimento-fgv-aula-02 24/37

Exercício [5] (SENADO/2008/FGV)

 Avalie as afirmativas a seguir:

I. A declaração elementFormDefault="qualified" torna obrigatório o uso detipos complexos no esquema.

II. A declaração targetNamespace="http:/xyz.org/oc.xsd“ indica que oselementos e tipos de dados usados no XML Schema (schema, element,complexType, sequence etc.) vêm do namespace http:/xyz.org/oc.xsd.

III. Um elemento do tipo complexo pode se basear em um tipo complexoexistente e ainda adicionar alguns elementos.

a) se somente as afirmativas I e II estiverem corretas.

b) se somente as afirmativas II e III estiverem corretas.

c) se somente a afirmativa III estiver correta.

d) se somente a afirmativa II estiver correta.

e) se somente as afirmativas I e III estiverem corretas.

24

Page 25: Desenvolvimento FGV - Aula 02

8/18/2019 Desenvolvimento FGV - Aula 02

http://slidepdf.com/reader/full/desenvolvimento-fgv-aula-02 25/37

XSLT

25

Page 26: Desenvolvimento FGV - Aula 02

8/18/2019 Desenvolvimento FGV - Aula 02

http://slidepdf.com/reader/full/desenvolvimento-fgv-aula-02 26/37

XSL –eXtensible Stylesheet Language

26

Page 27: Desenvolvimento FGV - Aula 02

8/18/2019 Desenvolvimento FGV - Aula 02

http://slidepdf.com/reader/full/desenvolvimento-fgv-aula-02 27/37

XPath

27

Representa caminhos para os nós de umdocumento XML

Page 28: Desenvolvimento FGV - Aula 02

8/18/2019 Desenvolvimento FGV - Aula 02

http://slidepdf.com/reader/full/desenvolvimento-fgv-aula-02 28/37

XSLT: documento-fonte (1/3)

28

Page 29: Desenvolvimento FGV - Aula 02

8/18/2019 Desenvolvimento FGV - Aula 02

http://slidepdf.com/reader/full/desenvolvimento-fgv-aula-02 29/37

XSLT: folha de estilos (2/3)

29

Page 30: Desenvolvimento FGV - Aula 02

8/18/2019 Desenvolvimento FGV - Aula 02

http://slidepdf.com/reader/full/desenvolvimento-fgv-aula-02 30/37

XSLT: documento-resultado (3/3)

30

Page 31: Desenvolvimento FGV - Aula 02

8/18/2019 Desenvolvimento FGV - Aula 02

http://slidepdf.com/reader/full/desenvolvimento-fgv-aula-02 31/37

Exercício [6] (SENADO/2012/FGV) (1/3)

XSLT (Extensible Stylesheet LanguageTransformations), é uma linguagem baseada emXML, usada mais frequentemente para converterdados entre diferentes esquemas XML ou converter

dados XML em páginas da web ou em PDF. Na XSLTé utilizada uma folha de estilo XSL, que consiste emuma ou mais regras denominadas templates. Nessesentido, observe o código:

31

Page 32: Desenvolvimento FGV - Aula 02

8/18/2019 Desenvolvimento FGV - Aula 02

http://slidepdf.com/reader/full/desenvolvimento-fgv-aula-02 32/37

Exercício [6] (SENADO/2012/FGV) (2/3)

32

Page 33: Desenvolvimento FGV - Aula 02

8/18/2019 Desenvolvimento FGV - Aula 02

http://slidepdf.com/reader/full/desenvolvimento-fgv-aula-02 33/37

Exercício [6] (SENADO/2012/FGV) (1/3)

No código, para definir o documento como uma folhade estilo XSLT, é utilizada a seguinte instrução ouparâmetro:

a) match=”/”> b) <xsl:stylesheetc) <xsl:templated) <?xml version=”1.0” 

e) encoding=”ISO-8859-1” 

33

Page 34: Desenvolvimento FGV - Aula 02

8/18/2019 Desenvolvimento FGV - Aula 02

http://slidepdf.com/reader/full/desenvolvimento-fgv-aula-02 34/37

Exercício [7] (MEC/2009/FGV/Arquiteto) (1/2)

Com relação às tecnologias relacionadas aXML(eXtensible Markup Language), leia os trechos a

seguir.

O ______ é um processador XSLT em código aberto

 produzido pela organização Apache. Ele pode serutilizado para transformar um documento XML em

HTML ou outro XML.

 _______ é uma linguagem de expressão utilizada para

navegar por meio de elementos e atributos de umdocumento XML.

34

Page 35: Desenvolvimento FGV - Aula 02

8/18/2019 Desenvolvimento FGV - Aula 02

http://slidepdf.com/reader/full/desenvolvimento-fgv-aula-02 35/37

Exercício [7] (MEC/2009/FGV/Arquiteto) (2/2)

 _______ é uma linguagem baseada no formato XML paradefinição de regras de validação em documentos XML.

Esta linguagem é uma alternativa ao DTD, cuja sintaxe

não é baseada no formato XML.

 Assinale a alternativa que preencha corretamente, decima para baixo, as lacunas acima:

(A) XALAN, XPATH, XSD. (B) SAXON, XPATH, XST.

(C) XALAN, XESALT, XDD. (D) SAXON, XESALT, XSD.

(E) MSXML3, XESALT, XDD.

35

Page 36: Desenvolvimento FGV - Aula 02

8/18/2019 Desenvolvimento FGV - Aula 02

http://slidepdf.com/reader/full/desenvolvimento-fgv-aula-02 36/37

Exercício [8] (MEC/2008/FGV/Arquiteto)

 A XSLT (eXtensible Stylesheet Language:Transformations) é umalinguagem usada para transformara estrutura de um documento XML. Essa transformação érealizada por um processador XSLT. O papel principal de

um processador XSLT é aplicar uma folha de estilo XSLTem um documento fonte XML e produzir um documentoresultante. Assinale a alternativa que não apresente umprocessador XSLT:

(A) Xalan. (B) Saxon. (C) XTLTX.

(D) MSXML3. (E) Sablotron.

36

Page 37: Desenvolvimento FGV - Aula 02

8/18/2019 Desenvolvimento FGV - Aula 02

http://slidepdf.com/reader/full/desenvolvimento-fgv-aula-02 37/37

Gabarito dos Exercícios (XML + XSLT)

[01] c

[02] a

[03] c

[04] a [05] c

[06] b

[07] a [08] c

37