Roteiro de Auxílio para as Atividades Práticas de
Sistemas de Informação
A linguagem XML no contexto do curso de Sistemas de Informação é utilizada
principalmente para o armazenamento e a manipulação de dados. No teste
prático, que será usado neste roteiro, se pedia que fosse criado um documento
XML para o armazenamento de dados de máquinas elétricas ou automóveis.
No roteiro será reutilizado o caso dos automóveis. A seguir se apresenta
passo-a-passo o que poderia ter sido feito para a resolução do teste prático.
1. Para manipulação de arquivos XML se deve utilizar preferencialmente o
programa XMLPad (http://www.wmhelp.com/xmlpad3.htm). O HTML-Kit é
mais aconselhável para edição de documentos HTML. Após lançar o
programa XMLPad se deve selecionar no menu a opção File/New. A
janela apresentada a seguir é mostrada pelo programa.
Nesta janela se deve selecionar XML Document e clicar em OK. O software
apresenta então a janela mostrada a seguir.
1/10
Nesta janela se deve indicar em Root Tag o nome do elemento raiz do
documento XML, que para os automóveis pode ser automoveis (nomes
de marcadores não podem ter espaços nem acentos). Após clicar em OK
se terá acesso a janela para edição do documento; esta janela é
apresentada a seguir.
2/10
Nesta janela se pode então criar o documento. Como se trata de
automóveis se deve criar um nó para a representação de cada automóvel.
A este nó se pode, por exemplo, dar o nome de auto. Um único nó deve
ser utilizado para a representação de todos os automóveis, ou seja, todos
os automóveis serão representados usando o mesmo elemento auto.
Dentro de cada elemento auto se deve então criar nós que permitam que
se represente os dados que se deseja manter para os automóveis que são:
Fabricante, Modelo, Número de Portas, Ano e Cor. Um documento
XML vazio para a representação de um único automóvel é descrito a
seguir.
<?xml version = "1.0" encoding = "utf-8"?>
<automoveis>
<auto>
<fabricante></fabricante>
<modelo></modelo>
<nportas></nportas>
<ano></ano>
<cor></cor>
</auto>
</automoveis>
Para finalizar a criação do documento XML se deve inserir os dados de
cada um dos automóveis que se pediu que fossem representados. Na
seqüência se deve salva o documento com a extensão .xml (neste roteiro
se utilizou autos.xml). A figura apresentada a seguir mostra a janela do
XMLPad com os dados de cada automóvel.
3/10
Um documento XML é visualizado como uma árvore. Ao se clicar sobre a
aba Preview se tem acesso a visualização do documento criado. A seguir
se apresenta o resultado.
4/10
2. No teste foi solicitado que se criasse uma folha de estilos CSS para a
apresentação do documento XML. Conforme explicado, documentos XML
não contêm nenhuma informação de formatação (na figura imediatamente
acima se pode observar sua apresentação padrão como uma árvore). Para
que os mesmos possam ser apresentados segundo uma formatação
qualquer, folhas de estilo devem ser usadas. Cada um dos elementos do
documento XML deve ter sua formatação declarada na folhas de estilos.
Assim, se deve declarar o formato dos elementos automoveis, auto,
fabricante, modelo, nportas, ano e cor. Para a declaração da
formatação as propriedades apresentadas na aula sobre CSS devem ser
usadas. Deve-se usar as propriedades para declarar os formatos
solicitados, como por exemplo as cores das fontes ou seus tamanhos. Para
a mudança de linhas se deve ter conhecimento do Modelo de Caixas
(transparência 9 da aula XML-CSS). A partir da declaração da propriedade
display se pode definir se um elemento será apresentado na mesma
linha (display: inline) ou em linhas diferentes (display: block). A
propriedade border pode ser usada para se desenhar uma borda ao redor
do elemento. A seguir se apresenta uma possível solução para a
apresentação do documento XML sobre automóveis. Uma folha de estilos
deve ser salva com a extensão .css (neste roteiro a folha de estilos que
contém a declaração abaixo foi salva como autos.css).
autos
{
background-color: #ffff99;
border:solid 1px #A3A3A3;
padding:10px;
font-family: arial;
}
tautos
{
font-size: 18pt;
color: blue;
font-weight: bold;
line-height: 2
}
5/10
auto
{
display: block;
background-color: #ccffcc;
margin-bottom: 30pt;
margin-left: 0;
border:solid 1px #A3A3A3;
padding:10px;
}
fabricante, modelo, nportas, ano, cor
{
display: block;
color: #0000FF;
font-size: 16pt;
}
fabricante:before {
font-weight:bold;
text-transform:uppercase;
content:"Fabricante: ";
}
modelo:before {
font-weight:bold;
text-transform:uppercase;
content:"Modelo: ";
}
nportas:before {
font-weight:bold;
text-transform:uppercase;
content:"Número de Portas: ";
}
ano:before {
font-weight:bold;
text-transform:uppercase;
content:"Ano: ";
}
cor:before {
font-weight:bold;
text-transform:uppercase;
content:"Cor: ";
}
6/10
Conforme se pode observar acima, cada um dos elementos do documento
XML teve sua formatação declarada. Pode-se inclusive utilizar a mesma
formatação para um conjunto de elementos e neste caso o nome de todos os
elementos deve preceder a declaração da formatação. O pseudo elemento
:before é utilizado para declarar um título para cada um dos elementos. Para
que o documento XML seja apresentado com a formatação declarada na folha
de estilos, é necessário incluir a declaração da folha de estilos no documento.
Isto é feito através da inclusão após o prólogo XML (a primeira linha do
documento XML apresentado) da seguinte declaração:
<?xml-stylesheet type="text/css" href="autos.css"?>
O documento autos.css deve estar no mesmo diretório do documento XML.
Caso se deseje colocar a folha de estilos em outro diretório, o caminho deve
ser declarado em href. Após esta declaração o documento XML pode ser
visualizado com a formatação definida na folha de estilos. O pseudo elemento
só é visível no navegador Firefox, e por esta razão a figura a seguir apresenta
o resultado da aplicação da folhas de estilos CSS ao documento XML neste
navegador (para a correta apresentação dos acentos, no prólogo se utilizou
<?xml version="1.0" encoding="iso-8859-1"?>).
7/10
3. A parte final do exercício solicitava que se transformasse o documento
XML e um documento HTML. Para tanto uma folha de estilos XSL deve ser
utilizada. Uma folha de estilos XSL quando declarada em um documento
XML faz com que o navegador que lê o documento XML transforme o
conteúdo do documento XML, neste caso específico em um documento
HTML. De outro maneira se pode dizer que ao ler o documento XML o
navegador irá interpretar os comandos da folha de estilos XSL e criar, a
partir do conteúdo declarado no documento XML um segundo documento
em outro formato qualquer (neste caso HTML). A utilização de uma folha
de estilos XSL deve ser declarada do mesmo modo que foi declarada a
utilização da folha CSS (as duas não são usadas juntas, ou se utiliza uma
ou outra). Assim as duas primeiras linhas do documento XML devem ser:
<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet href="autos.xsl" type="text/xsl" ?>
As transparências 10,11,12 e 13 da aula XML-XSTL detalham os passos
básicos que devem ser seguidos. Na transparência 10 se pode ver a
transformação mais básica onde nada é importado do documento XML,
sendo que somente conteúdo HTML é criado na saída. Desta transparência
o elemento mais importante é o <xsl:template match="/"> que indica
que a transformação será aplicada ao documento inteiro. Através do
atributo match se pode indicar a qual elemento se pretende aplicar uma
transformação.
Na transparência 11 se apresenta como se pode recuperar um elemento
qualquer em um documento XML. Deve-se utilizar <xsl:value-of
select="catalog/cd/title"/> para recuperar, neste caso, o valor do
título de um CD. Conforme se pode observar o atributo select deve
indicar a posição do elemento na árvore que representa o documento XML.
Neste exemplo a raiz do documento é catalog que tem como filho cd que
tem como filho title. Nesta transparência se pode observar que somente
um elemento do documento XML é apresentado.
8/10
A transparência 12 apresenta a utilização do elemento for-each. Este
elemento deve ser utilizado para que se itere sobre o documento XML de
modo a recuperar cada um dos nós que representam os CDs. Um
elemento <xsl:for-each select="catalog/cd"> deve portanto ser
utilizado (o elemento como qualquer elemento XML deve ser ‘fechado’
através da instrução </xsl:for-each>). Deste modo para cada um dos
elementos se irá criar uma linha da tabela (o par <tr> </tr>) com as
colunas onde são apresentados os dados (o número de colunas interna ao
for-each deve ser idêntico ao número declarado para os títulos das
colunas através dos elementos th). Na transparência 13 se apresenta o
resultado final. A folha de estilos XSL completa usada é apresentada a
seguir.
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<head>
<title>Lista de automóveis</title>
</head>
<body>
<h2>Lista de automóveis</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Fabricante</th>
<th>Modelo</th>
<th>Número de Portas</th>
<th>Ano</th>
<th>Cor</th>
</tr>
<xsl:for-each select="autos/auto">
<tr>
<td align="center"><xsl:value-of select="fabricante"/></td>
<td align="center"><xsl:value-of select="modelo"/></td>
<td align="center"><xsl:value-of select="nportas"/></td>
<td align="center"><xsl:value-of select="ano"/></td>
<td align="center"><xsl:value-of select="cor"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
9/10
O resultado da aplicação da folhas XSL ao documento XML é apresentado
(novamente utilizando o navegador Firefox) a seguir.
10/10
Download

Roteiro de auxílio a manipulação e apresentação de documentos XML