Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
o
o
Elementos XML
<?xml version=1.0 encoding=ISSO-8859-1?>
<familiares>
<filho1 atributo=1>Contedo do elemento</filho1>
<filho2 atributo=332>Contedo do elemento</filho2>
</familiares>
o
o
o
o
Atributos
o
o
o
o
o
<pessoa sexo=feminino>
<primeiro_nome>Lya</primeiro_nome>
<ultimo_nome>Castro</ultimo_nome>
</pessoa>
<pessoa>
<sexo>feminino</sexo>
<primeiro_nome>Lya</primeiro_nome>
<ultimo_nome>Castro</ultimo_nome>
</pessoa>
Um documento XML dito vlido se, alm de ele ser bem formado, ele estiver
de acordo com um DTD ou XML Schema.
2
XML DTD XSL
<table>
<name>Coffee Table</name>
<width>80</width>
<length>120</length>
</table>
<f:table>
<f:name>Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
<h:table xmlns:h="http://www.w3.org/TR/html4/">
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
<f:table xmlns:f="http://www.w3schools.com/furniture">
<f:name>Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
<table xmlns="http://www.w3.org/TR/html4/">
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>
<table xmlns="http://www.w3schools.com/furniture">
<name>Coffee Table</name>
<width>80</width>
<length>120</length>
</table>
3
XML DTD XSL
Caracteres Ilegais
o
<
>
&
Menor que
Maior que
E comercial
Apstrofo
Aspas
XML CDATA
o
o
4
XML DTD XSL
Um documento XML vlido se ele, alm de ser bem formado, segue as regras de um
DTD ou de um XML Schema
O propsito do DTD definir os blocos vlidos de um documento XML. Ele define a
estrutura do documento como uma lista de elementos e atributos vlidos.
O DTD pode ser declarado dentro do documento XML ou pode ser criado num outro
documento e ser referenciado no XML
DTD define a construo de blocos vlidos para um documento XML, bem como a
estrutura desse documento, usando uma lista de elementos vlidos FCC
Permite descrever cada marca (tag) e fornecer regras para interpretar cada
informao usada em um arquivo XML FCC
Declarao Interna
o
Declarao Externa
o
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
<!ELEMENT
note
to
from
heading
body
(to,from,heading,body)>
(#PCDATA)>
(#PCDATA)>
(#PCDATA)>
(#PCDATA)>
Arquivo XML
Arquivo note.dtd
5
XML DTD XSL
Blocos de Construo
Elementos
CDATA
Elementos vazios
<!ELEMENT nome-do-elemento EMPTY>
Exemplo DTD:
<!ELEMENT br EMPTY>
Exemplo XML:
<br />
6
XML DTD XSL
Exemplo DTD:
<!ELEMENT note (#PCDATA|to|from|header|message)*>
O exemplo indica que o elemento note pode conter zero ou mais ocorrncias de PCDATA,
to, from, header ou message
Descrio
O valor CDATA
O valor deve ser um dos contidos na enumerao
O valor um identificador nico
O valor um ID de outro elemento
O valor uma lista de Ids
O valor um nome XML vlido
O valor uma lista de nomes XML vlidos
O valor uma entidade
O valor uma lista de entidades
O valor um nome de uma notao
O valor um valor XML predefinido
Descrio
O valor padro do atributo se nada for declarado
O atributo obrigatrio
O atributo no obrigatrio
O atributo tem um valor fixo que no pode ser mudado
7
XML DTD XSL
DTD:
<!ELEMENT quadrado EMPTY>
<!ATTLIST quadrado largura CDATA "0">
XML vlido:
<quadrado largura="100" />
DTD:
<!ATTLIST person number CDATA #REQUIRED>
XML vlido:
<person number="5677" />
XML invlido:
<person />
DTD:
<!ATTLIST telefone fax CDATA #IMPLIED>
XML vlido:
<telefone fax="555-667788" />
Esse tambm vlido:
<telefone/>
DTD:
<!ATTLIST sender company CDATA #FIXED "Microsoft">
XML vlido:
<sender company="Microsoft" />
XML invlido:
<sender company="Apple" />
DTD:
<!ATTLIST pagamento tipo (check|cash) "cash">
Exemplo de XML:
<payment type="check" />
ou
<payment type="cash" />
3. Entidades
8
XML DTD XSL
9
XML DTD XSL
10
XML DTD XSL
Abastecimentos
Dia Ms Ano
Preo/litro Valor
22 05
R$83,43
29 05
R$81,72
Observao!
o A FCC gosta de tentar confundir os candidatos com o formato do arquivo XSL
o XSL = extensible stylesheet language
o XLS = arquivo do Excel
11
=
!=
<
>
O elemento <xsl:for-each> pode ser utilizado para filtrar o resultado com o uso dos
operadores lgicos:
Igual
Para extrair s os abastecimentos feitos no dia 22
No igual
<xsl:for-each select=combustvel/abastecimento[dia=22]>
Menor que
Para extrair abastecimentos com valores maiores que R$100
Maior que
<xsl:for-each select=combustvel/abastecimento[valor>100]>
Mostra somente os
abastecimentos que com
valores maiores que 100
<xsl:choose>
<xsl:when test="expression">
... algum cdigo ...
</xsl:when>
<xsl:otherwise>
... algum cdigo ....
</xsl:otherwise>
</xsl:choose>
12
XML DTD XSL
Bibliografia
W3Schools http://www.w3schools.com/
W3C http://www.w3c.org
Mini Curso Virtual Link
XML By Example
XSLT, ORilley
13
XML DTD XSL