Академический Документы
Профессиональный Документы
Культура Документы
Sorocaba
2015/1
5 Semestre
Sorocaba
2015/1
ndice
Etapa 1............................................................................................................. 4
Passo 1.......................................................................................................... 4
Passo 2.......................................................................................................... 5
Passo 3.......................................................................................................... 6
Etapa 2............................................................................................................. 8
Passo 1.......................................................................................................... 8
Passo 2.......................................................................................................... 8
Passo 3.......................................................................................................... 9
Etapa 1
Passo 1
A XML (eXtensible Markup Language, ou Linguagem de Marcao Estendida) um
subconjunto da SGML (Standard Generalized Markup Language, ou Linguagem de Marcao
Padro Generalizada) que permite que uma marcao especfica seja criada para especificar
idias e compartilh-las na rede. Ela tem as virtudes da SGML e da HTML sem qualquer das
limitaes bvias.
Alguns dos pontos fortes do XML so: Inteligncia, Adaptao, Manuteno, Ligao,
Simplicidade e Portabilidade. Vamos transcorrer sobre alguns desses pontos
Inteligncia: a XML inteligente para qualquer nvel de complexidade. A marcao pode ser
alterada de uma marcao mais geral para uma mais detalhista. Exemplo
Marcao Geral:
<passaro> Papagaio</passaro>
Marcao Mais Detalhada:
<passaro> <cor> <tamanho> Periquito </tamanho> </cor> </passaro>
Adaptao: Adaptao: a XML a lngua-me de outras linguagens. Assim, linguagens como
DickML e JaneML tornaram-se possveis. A adaptao infinita. Marcaes personalizadas
podem ser criadas para qualquer necessidade.
Manuteno: a XML fcil de manter. Ela contm somente idias e marcaes. Folhas de
estilos e links vm em separado, e no escondidas no documento. Cada um pode ser alterado
separadamente quando preciso com fcil acesso e fceis mudanas. No preciso mais se achar
em uma baguna de marcaes.
Ligao: a XML possui uma maneira de ligar que inclui todas as formas de ligao. No s isso;
ela liga de maneiras que a HTML no pode. A HTML pode fazer de uma maneira simples, onde
um objeto se liga a outro. A XML faz isso, mas tambm pode ligar dois ou mais pontos a uma
idia. Existem ainda links gmeos que ligam todas as ideas dentro de uma mesma. Qualquer
link entre uma idia pode ser manipulado de uma nica maneira;
Simplicidade: Um usurio de mdia experincia que olha a XML pode ach-la difcil de
acreditar no que v. Comparada com a HTML no. Comparada com a SGML um estudo de
simplicidade.
Portabilidade: A razo da sua existncia fora e portabilidade. A SGML tem fora. A HTML
tem portabilidade. A XML tem ambas. A XML pode ser navegada com ou sem o seu DTD
(Document Type Definition, ou Definio de Tipo de Documento - as normas que definem
como as tags so estruturas nos documentos XML), tornando o download mais rpido. Tudo que
um navegador precisa para ver XML ter a noo que ela prpria e a folha de estilos controlam
a aparncia. Se uma validao estrita necessria, o seu DTD pode acompanh-lo e fornecer
detalhes exatos da sua marcao.
Passo 2
Sintaxe
<?xml version="1.0"?>
Descritivo
Sintaxe inicial da linguagem XML. Indica a verso utilizada (no
momento, so homologadas as verses 1.0 e 1.1). Os caracteres
?> indicam que esta uma instruo de abertura de
documento, para que o interpretador XML compreenda que esta
<cadastro_funcionarios>
<funcionario>
<id>
informao.
Sintaxe contendo o nome da tabela que o valor ser atribudo.
Sintaxe do campo da tabela onde ser alocado o cdigo, ID do
<nome>
funcionrio
Sintaxe do campo da tabela onde ser alocado o nome do
<sexo>
funcionrio
Sintaxe do campo da tabela onde ser alocado o gnero do
<endereo>
funcionrio
Sintaxe do campo da tabela onde ser alocado o endereo do
funcionrio
Passo 3
Tabela 02 Tabela de Funcionrios da Vassoura Vassourinha:
Id
Nome
Sexo
Endereo
<?xml version="1.0"?>
<cadastro_funcionarios>
<funcionario>
<id>1</id>
<nome>Luis Mendes</nome>
<sexo>Masculino</sexo>
<endereo>Rua das Flores, 10 So Vito Americana/SP</endereo>
</funcionario>
<funcionario>
<id>2</id>
<nome>Joana da Luz</nome>
<sexo>Feminino</sexo>
<endereo>Rua do Sucesso, 25 Jardim Brasil
Americana/SP</endereo>
</funcionario>
</cadastro_funcionarios>
Modelo
Quantidade
Comprimento_total
Endereo_Entrega
Especificao
Valor total
</empresas>
Etapa 2
Passo 1
<!ATTLIST cadastro_vendas
Codigo_venda
ID
Modelo
CDATA
Comprimento
Material_Cerdas
Quantidade
Valor_Total
#REQUIRED
#REQUIRED
#REQUIRED
CDATA
#REQUIRED
CDATA
#REQUIRED
CDATA
#REQUIRED
CDATA
Passo 2
<!ATTLIST cadastro_funcionarios
id
nome
Sexo
endereco
ID
CDATA
CDATA
CDATA
#REQUIRED
#REQUIRED
#REQUIRED
#REQUIRED>
Passo 3
cadastro_funcionarios{
display: block;
font-family: Arial, Helvetica;
font-size: 20pt;
color: #FF0000;
}
funcionario{
display: block;
font-family: Arial, Helvetica;
font-size: 16pt;
color: #FF0000;
}
id{
display: block;
font-family: Arial, Helvetica;
font-size: 12pt;
color: #FF0000;
}
nome{
display: block;
font-family: Arial, Helvetica;
font-size: 12pt;
color: #FF0000;
}
sexo{
display: block;
font-family: Arial, Helvetica;
font-size: 12pt;
color: #FF0000;
}
endereco{
display: block;
font-family: Arial, Helvetica;
font-size: 12pt;
color: #FF0000;
}
1. APRESENTAO
Este Manual de Instrues tem como objetivo auxiliar os tcnicos e gestores da rea de
Tecnologia da empresa Vassoura Vassourinha XXI LTDA no processo de registro e
armazenamento dos dados relativos aos procedimentos de venda e outros servios
ofertados.
2. CONTEXTUALIZAO
Com o intuito de oferecer possibilidades de inseres de dados no Sistema de
Informao de Dados Comerciais da empresa, foi desenvolvido um mdulo de
transferncia de arquivos em formato XML. Este formato permite que os dados a serem
enviados sejam preenchidos atravs de tags em arquivo separado que pode ser obtido
como resultado de um sistema de gesto local, sem a necessidade de digitar os dados.
Essa nova possibilidade de insero de dados visa automatizar e substituir a forma como
est sendo feita atualmente, contribuindo com maior velocidade e confiabilidade no
armazenamento e distribuio de dados. Insere-se no sistema de informao da
companhia e gera-se o arquivo XML com o formato conforme instrudo neste manual.
3. O QUE O XML
XML a sigla para Extensible Markup Language, que significa em portugus,
Linguagem Extensvel de Marcao, uma linguagem de marcao recomendada pela
W3C1 para a criao de documentos com dados organizados hierarquicamente, tais
como textos e banco de dados. A linguagem XML classificada como extensvel porque
permite definir os elementos de marcao.
O XML traz uma sintaxe bsica que pode ser utilizada para compartilhar informaes
entre diferentes computadores e aplicaes. Quando combinado com outros padres,
torna possvel definir o contedo de um documento separadamente de seu formato,
tornando simples para reutilizar o cdigo em outras aplicaes para diferentes
propsitos.
O XML agrupa-se em tags, que um identificador dos elementos presentes no
documento. Por exemplo <nome> uma tag inicial e o termo </nome> a final.
Toda tag inicial tem uma final correspondente. Assim se um texto tem a tag inicial
<nome> ele tem que ter tambm, em algum lugar mais adiante, a final </nome>. Entre
as duas tags ficam as informaes do elemento. Observe o exemplo para que se entenda
melhor a utilizao e posio.
importante saber que, para que o computador entenda que o arquivo do formato
XML necessrio no momento em que o usurio for salvar o arquivo, utilizar a
extenso (.xml), por exemplo, cras.xml.
4. CRIAO DO ARQUIVO XML
Para criar o arquivo XML, basta abrir um editor de texto puro, como o programa Bloco
de Notas presente no Windows, e inserir todas as variveis contidas no formulrio em
formato de tags (pode-se utilizar as tags utilizadas como no exemplo contido no anexo
deste manual), no se esquecendo de sempre de abri-las com os smbolos <> (menor
que e maior que) e fechar com </> (menor que, barra e maior que) as tags utilizadas e
salvar o arquivo dando um nome qualquer e utilizando a extenso (.xml).
Sempre que um arquivo XML for criado, necessrio inici-lo com a tag de abertura
<cras>, assim informa-se que os dados inseridos so do CRAS e aps as tags que
contm os dados estarem inseridas necessrio utilizar, ao final, a tag de fechamento
</cras>
Padro de documento XML
a) Padro de Codificao
A especificao do documento XML adotada a recomendao W3C para XML 1.0,
disponvel em www.w3.org/TR/REC-xml e a codificao dos caracteres ser em UTF-8,
assim todos os documentos XML sero iniciados com a seguinte declarao:
<?xml version="1.0" encoding="UTF-8"?>
OBS: Lembrando que cada arquivo XML somente poder ter uma nica declarao <?
xml version="1.0" encoding="UTF-8"?>. Nas situaes em que um documento XML
pode conter outros documentos XML, como ocorre com o documento XML de lote de
envio de NF-e, deve-se tomar o cuidado para que exista uma nica declarao no incio
do lote.
b) Declarao namespace
A declarao de namespace da NF-e dever ser realizada no elemento raiz de cada
documento XML como segue:
<NFe xmlns=http://www.portalfiscal.inf.br/nfe > (exemplo para o XML da NF-e)
No permitida a utilizao de prefixos de namespace. Essa restrio visa otimizar o
tamanho do arquivo XML. Assim, ao invs
Etapa 3
Passo 2 (Equipe)
Apresentar o conceito de arquivos formatadores de XSL, de modo que a equipe de TI
possa futuramente elaborar um arquivo XSL.
Exemplo:
1. Uso do formatador XSL.
2. Principais ferramentas de formatao XSL.
a. Exemplo: Microsoft. NET Framework: Classe VB.NET XslCompiledTransform.
3. Aplicaes onde se usado o formatador XSL
a. Exemplo: Para formatao da sada de dados de um documento XML.
XSL Transformations, ou XSLT (eXtensible Stylesheet Language for Transformation linguagem extensvel para folhas de estilo de transformaes), uma linguagem de
marcao XML usada para criar documentos XSL que, por sua vez, definem a
apresentao dos documentos XML nos browsers e outros aplicativos que a suportem.
importante observar que o documento XSL no altera o documento XML original, ou
seja, no cria outro documento. Neste sentido, ele (o documento XSLT) atua como as
folhas de estilos CSS: apenas determina como o browser apresenta o documento XML
ao qual ele est associado ou anexado (de uma forma bem parecida usada para
associar uma folha de estilos CSS a um documento (X)HTML). O browser recebe o
documento XML original, na ntegra, como ele foi criado. E apresenta-o como o
documento XSL determina.
Mas h uma diferena importante entre XSLT e CSS: o documento XSL pode adicionar
contedo apresentao do documento XML no browser, e tambm pode esconder
contedo do XML apresentado no browser. Portanto, XSLT possibilita transformaes
mais potentes do que as folhas de estilo CSS.
Veja
um
bom
exemplo,
bem
explicado,
em
http://www.w3schools.com/xsl/xsl_transformation.asp. Nesta pgina, voc pode ver :
Olhe o 'source' do arquivo XML no browser, para constatar que ele de fato permanece
inalterado.
XSLT parte da especificao XSL (as outras partes sendo XSL-FO e XPath). Como a
XML e a HTML, a especificao XSLT uma recomendao desenvolvida pela W3C.
Para iniciar voc deve primeiro criar um arquivo XML e tentar exib-lo no seu
Navegador. Tente e veja o resultado. Vou usar o arquivo boletim.xml (simplificado) do
artigo acima citado. Vejamos o jeito do arquivo boletim.xml e o resultado de sua
exibio:
Obs.: O arquivo boletim.xml pode ser criado em qualquer editor de texto. Para exibir o
arquivo basta clicar duas vezes sobre o arquivo. Esta a forma padro de apresentao
dos dados de um arquivo XML em um Navegador.
Ento a XSL-Extensible Style Language foi criada para permitir uma forma prtica de
exibir dados XML em um Navegador , ou seja , ela permite apresentar os dados de uma
maneira mais inteligvel. (Podemos usar a CSS - Cascade Style Sheet em conjunto com
a XSL para apresentar os dados de um arquivo XML)
Esquematizando temos:
XML - Informao (dados)
XSL, CSS - apresentao ( XML + XSL = HTML )
Podemos dizer tambm que a XSL contm informaes que permite converter um
documento XML para outro formato ( HTML , RTF , etc...) , permitindo assim mltiplas
apresentaes de um mesmo documento.
O XSL formato de Templates e cada template possui duas partes:
Pattern - Referncia ao elemento
Action - formato aplicado ao elemento
Assim como a XML a XSL uma recomendao da W3C e formada assim :
XSL - responsvel pela formatao
CSS - responsvel pelas folhas de estilo
Formatando um documento XML com XSL
Vamos mostrar como formatar o documento boletim.xml e exibir os dados no formato
de um arquivo HTML , uma tabela onde devemos ter:
A primeira coisa a fazer para formatar um documento XML incluir uma linha no
documento XML a ser formatado que indique o arquivo XSL que ir formatar os dados
que sero exibidos no Navegador. A sintaxe da declarao a ser includa :
O arquivo XSL um arquivo externo que ser usado para formatar o documento. Vamos
mostrar agora o arquivo boletim.xls que ir formatar o documento boletim.xml:
A primeira tag indica que o arquivo XSL utiliza o padro XML para representar os
dados
2- <HTML xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<tr>
<td>nome</td>
<td>portugues</td>
<td>matematica</td>
<td>ciencias</td>
</tr>
4- <xsl:for-each select="boletim/aluno">
Esta tag muito importante pois ele ir selecionar o contedo que esta em
<Boletim><aluno> do arquivo boletim.xml
5 - Dentro de cada clula HTML ( <td> </td> ) inserimos a tag que ir selecionar
as informaes representadas no arqruivo boletim.xml : Assim temos :
<TD>
<xsl:value-of select="nome"/>
</TD>
<TD>
<xsl:value-of select="portugues"/>
</TD>
<TD>
<xsl:value-of select="matematica"/>
</TD>
<TD>
<xsl:value-of select="ciencias"/>
</TD>
Note que temos um loop equivalente ao comando for/next entre:
<xsl:for-each select="inicio">
<xsl:value-of select="nome do campo"/>
</xsl:for-each>
O XSL percorre todos os dados do arquivo XML entre as tags realizando a
formatao e exibindo os dados na tabela HTML.
Lembre-se que o arquivo boletim.xml possui uma referncia ao arquivo boletim.xsl
usado nesta formatao.
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output
method='xml' indent='yes' version='1.0' encoding='UTF-8'
standalone='yes' cdata-section-elements='NOME'/>
<xsl:template
match="/">
<produtos>
<xsl:for-each
select="catalogo/item[CodigoCategoria='102']">
<ITEM>
<CODIGO>
<xsl:value-of select="Sku"/>
</CODIGO>
<DESCRICAO>
<xsl:value-of select="Descricao"/>
</DESCRICAO>
</ITEM>
</xsl:for-each>
</produtos>
</xsl:template>
</xsl:stylesheet>
Esses arquivos devem ser criados em um local no qual a aplicao possa l-los.
Agora vamos entender algumas tags do XSL:
Aqui feita a declarao do XSL, a verso e qual namespace (xmlns) utilizado, a
tag deve ser fechada.
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
A sada do arquivo definida aqui, alm do mtodo/formato (method), a verso do
formato (version), a codificao (encoding) e as tags que tero a sada
com CDATA (cdata-section-elements).
<xsl:output
method='xml' version='1.0' encoding='UTF-8'
cdata-section-elements='NOME'/>
Nesse momento, o n raiz escolhido para trabalhar, a tag deve ser fechada.
<xsl:template
match="/">
Tudo o que no estiver usando o prefixo xsl ser escrito da mesma forma como
estiver no XSL. Vamos ver o loop agora. Aqui o comeo do
loop:
<xsl:for-each
select="catalogo/item">
using System;
using System.Xml;
using System.Xml.Xsl;
using System.IO;
namespace
GeradorXmlParceiro
{
class Program
{
static string
caminhoXmlBase = @"C:XmlBaseXmlBase.xml";
static string
caminhoXsl = @"C:XslXsl1.xsl";
static string
caminhoXmlFormatado = @"C:XmlTransformadoXmlTransformado.xml";
static void
Main(string[] args)
{
CriarXmlComXsl();
}
static void
CriarXmlComXsl()
{
XmlDocument
xml = new XmlDocument();
xml =
FormartarXmlBaseParaFormatoComXsl(caminhoXsl);
xml.Save(caminhoXmlFormatado);
}
static
XmlDocument FormartarXmlBaseParaFormatoComXsl(string caminhoXsl)
{
XmlDocument
xml = new XmlDocument();
XslCompiledTransform xsl = new XslCompiledTransform();
XmlDocument
xmlBase = ObterXmlBase();
try
{
XmlReader reader = XmlReader.Create(caminhoXsl);
xsl.Load(reader);
StringWriter writer = new StringWriter();
xsl.Transform(xmlBase, null, writer);
xml.LoadXml(writer.ToString());
}
catch
(Exception ex)
{
throw
new Exception("Ocorreu um erro ao efetuar a transformao do
XML.", ex.InnerException);
}
return xml;
}
static
XmlDocument ObterXmlBase()
{
XmlDocument
xml = new XmlDocument();
try
{
xml.Load(caminhoXmlBase);
}
catch
(Exception ex)
{
throw
new Exception("Ocorreu um erro ao carregar o XML.",
ex.InnerException);
}
return xml;
}
}
}