• Nenhum resultado encontrado

Tópicos Especiais III XML (Extensible Markup Language)

N/A
N/A
Protected

Academic year: 2021

Share "Tópicos Especiais III XML (Extensible Markup Language)"

Copied!
28
0
0

Texto

(1)

Curso de Sistemas de Informação

Tópicos Especiais III

XML (Extensible Markup Language)

(2)

Capítulo 1

Objetivo da disciplina

Habilitar o aluno a projetar e desenvolver documentos para a Internet baseados

em um padrão de troca de informações entre sistemas heterogêneos. Introdução

Até recentemente, a tecnologia de informação visava, principalmente,

melhorar os processos internos nas organizações. As informações eram geradas e processadas dentro dos limites da empresa.

Atualmente, as evoluções tecnológicas e nos negócios faz com que as informações relevantes às organizações sejam geradas e processadas tanto dentro como fora das organizações. Empregados que realizem vendas fora da empresa podem utilizar tecnologias WAP. Clientes podem realizar compras através da Web, em sites de comércio eletrônico. Empresas parceiras podem trocar informações a respeito de estoques e produtos, através de sistemas informatizados.

(3)

Conceitos como Gerenciamento do Conhecimento (Knowledge Management) e Gerenciamento do Relacionamento com o Cliente (CRM – Customer Relationship Management) visam obter informações gerenciais relevantes dos dados que a empresa possui, levando em conta suas diferentes origens e significados.

Figura 2 - Geração e tratamento das informações atualmente

As diferenças entre os tipos de sistemas envolvidos na geração e processamento das informações dificultam as interações entre os mesmos.

Linguagens de Marcação

Em 1960, pesquisadores da IBM enfrentaram o problema de construir um sistema poderoso e portátil para o intercambio e a manipulação de documentos legais. Os diferentes tipos de arquivos com que se trabalhava tornava difícil a comunicação entre os computadores. Percebeu-se, então, que a comunicação seria facilitada pela existência de um formato comum, independente de sistema.

Vendedores CRM Empresas Parceiras Gerenciamento do Conhecimento Vendas Processamento de Transações

(4)

Decidiu-se, portanto, pela utilização de uma linguagem de marcação, compatível entre muitas plataformas. A linguagem protótipo baseava-se na marcação dos elementos estruturais do documento, em vez de formatar e exibir um documento pronto. A formatação da informação seria mantida em arquivos separados, chamados folhas de estilo, com os quais os computadores poderiam formatar e exibir um documento pronto. Desta maneira, o processamento dos documentos passou a ser diferente, pois percebeu-se que só poderiam ser processados de maneira confiável aqueles que obedecessem a um padrão, de modo que o sistema fosse capaz de reconhecer os documentos válidos e rejeitar os inválidos (com falta de informações ou informações a mais). Assim, a estrutura esperada para cada tipo de documento era definida em um arquivo separado denominado definição de tipo de documento (DTD).

Por volta de 1969, a equipe desenvolveu uma linguagem com todas essas possibilidades e a chamaram de Generalized Markup Language (GML).

Em 1974, provou-se que um analisador sintático (parser) poderia validar um documento sem efetivamente processa-lo. Continuando-se os desenvolvimentos adicionais, chegou-se, em 1986, na adoção da Standard Generalized Markup Language (SGML) como padrão internacional. Esta linguagem tornou-se rapidamente o padrão de negócios para o armazenamento e intercâmbio de dados em todo mundo.

Com o advento da Web, em certo momento as limitações da HTML tornaram-se visíveis, devido à sua falta de extensibilidade. Os fornecedores de navegadores, na tentativa de ganhar mercado, começaram a criar comandos específicos de formatação.

Para o W3C, esta atitude poderia vir a ameaçar a interoperabilidade e a escalabilidade da Web, e buscou-se, então, uma reação. Foram criadas, assim, as Cascade Style Sheets (CSS), uma tecnologia de folhas de estilo, que poderia ser

(5)

usada no lugar da marcação de propriedade dos fornecedores. Esta tecnologia, entretanto, mostrava-se extensivelmente limitada.

World Wide Web Consortium (W3C)

Fundado em 1994, o W3C (http://www.w3c.org) é um consórcio que destina-se ao desenvolvimento de tecnologias interoperantes, de domínio público, para a World Wide Web, e uma de suas principais metas é tornar a Web universalmente acessível.

O W3C é, ainda, uma organização de padronização, e as tecnologias Web por este padronizadas são chamadas “Recomendações”, e estas não são produtos reais de software, mas sim documentos que especificam o papel, a sintaxe, as regras de uma tecnologia. Entre as recomendações atualmente em uso, feitas pelo W3C, pode-se citar a HyperText Markup Language (HTML), a Cascading Style Sheet (CSS) e a Extensible Markup Language (XML).

Assim surgiu a Extensible Markup Language (XML), combinando potência e extensibilidade herdadas da SGML e a simplicidade exigida pela comunidade Web. Enquanto o HTML é legível apenas pelas pessoas, os documentos XML podem ser lidos pelas pessoas e manipuláveis pelos computadores.

XML é uma linguagem que descreve documentos estruturados e dados e vem se tornando um novo padrão de troca e publicação de dados e integração entre aplicações.

O XML torna os documentos estruturados disponíveis para processamento automático, e é baseado na separação do conteúdo, descrição da estrutura e apresentação.

(6)

Embora tenha muitos recursos avançados, a linguagem XML é acessível a todos os níveis de programadores por causa de sua inerente simplicidade.

- É baseada em texto, portanto um documento pode ser criado com as ferramentas de texto mais simples;

- Não se limita, entretanto, a descrever elementos textuais. Pode descrever imagens, gráficos vetoriais, animações ou qualquer outro tipo de dado para o qual seja estendida;

- É um padrão aberto, possibilitando ao desenvolvedor a escolha de ferramentas que melhor se ajustem às suas necessidades, independente da plataforma;

Devido a esta característica de extensibilidade e flexibilidade, diversas são as áreas em que a linguagem XML está sendo adotada.

XML é recomendação W3C desde 1998. Atualmente na 2a. edição da versão 1.0 de 6/10/2000 (http://www.w3c.org/XML).

HTML x XML

Uma breve comparação pode ser feita entre o HTML e o XML.

A linguagem HTML consiste em comandos de formatação para apresentação de texto e imagens em navegadores Web. Outras mídias podem ser exibidas por componentes adicionais chamados plug-ins.

XML é um formato de dados auto-descritivos que contém, além dos dados, os nomes e descrição de estruturas dos campos de dados. A linguagem não contém marcações (tags) para formatação, mantendo as informações sobre o conteúdo, descrição estrutural, e apresentação separadas.

As tags em um documento XML são diferentes das tags utilizadas na apresentação nos navegadores, e por isso a apresentação dos documentos XML em navegadores é de baixa qualidade.

(7)

Figura 3 - Arquivo HTML apresentado no navegador e seu código-fonte

(8)

Conforme citado anteriormente, pode-se perceber a baixa qualidade de apresentação do documento XML em um navegador. A não existência de tags de apresentação, faz com que os dados sejam apresentados conforme sua estrutura. O XML possui, entretanto, algumas características que o tornam um formato de dados que pode ser utilizado em todos os tipos de cenários de aplicação:

A criação e processamento dos documentos XML é bastante simples, e estes podem ser facilmente lidos por humanos e processados pelas máquinas.

Além dos dados, um documento XML contém a descrição destes. A implementação das aplicações pode ser independente da estrutura específica dos dados. Isto quer dizer que diferentes tipos de aplicações podem ser implementadas utilizando apenas os dados que lhes são úteis. Além disso, a extensão na estrutura dos documentos XML, através da criação de novos elementos, não prejudica em nada as aplicações já existentes que utilizavam tal documento.

As Aplicações podem responder de maneira diferente aos dados. Não é necessária a adaptação de uma aplicação quando são inseridos novos elementos de dados, se os mesmos não forem relevantes para esta. Além disso, a estrutura aberta do XML permite que novos elementos sejam adicionados a qualquer momento.

Quanto à utilização do XML, pode-se citar algumas aplicações:

Publicação – A separação entre o conteúdo e a apresentação, possibilita que o mesmo documento XML possa ser apresentado de diferentes formas, através da utilização de diferentes folhas de estilo.

(9)

Figura 5 - Apresentação HTML x XML

SVG (Scalable Vector Graphics) – é um formato para representação de gráficos. XHTML – reformulação do HTML, conforme a sintaxe do XML.

XForms – para o desenvolvimento de aplicações baseadas em formulários.

WML (Wireless Markup Language) – originalmente desenvolvida para Protocolo de Acesso Sem Fio (WAP). WML 2 contém elementos da XHTML.

VoiceXML – é uma das bases para o desenvolvimento de aplicações controladas por voz.

SMIL (Synchronized Multimedia Integration Language) – utilizada no desenvolvimento de apresentações audiovisuais interativas.

(10)

Troca de Dados – devido à sua simplicidade e flexibilidade de estrutura, o XML é bastante indicado para a troca de dados entre organizações;

Web Services – são aplicações na Internet que provêm funcionalidades que podem ser acessadas por outros sistemas.

(11)

Capítulo 2 Sintaxe do XML

Neste capítulo serão apresentados os diferentes componentes da estrutura de um documento XML.

Estrutura do Documento XML

Os documentos XML contêm informações na forma de texto que compreendem as marcações e o conteúdo.

As marcações descrevem os dados e são caracterizadas pelos sinas “<” e “>”.

Um documento XML pode conter:

Instruções de processamento <? ... ?>

Comentários <!- - ... - ->

Referência a entidades &ref;

Seções CDATA

Elementos e atributos (tags)

Considerando-se um simples documento XML (intro.xml) que marca uma mensagem como XML (Figura 2.1).

Os documentos são geralmente armazenados em arquivos de texto que terminam com a extensão .xml, embora isso não seja um requisito da XML. Qualquer editor de texto pode ser utilizado para criar um documento XML. Muitos pacotes de software também permitem que os dados sejam armazenados como documentos XML.

(12)

Figura 6 - Documento simples XML contendo uma mensagem

Todos os documentos XML devem conter um elemento raiz (myMessage no exemplo). O elemento raiz contém outros elementos. As linhas que precedem o elemento raiz representam o prólogo do documento XML. O elemento message, no exemplo, é chamado de elemento filho do elemento nyMessage porque está aninhado dentro deste elemento. O elemento filho contém o texto Welcome to XML!.

É necessário tomar cuidado para que não seja criado mais do que um elemento raiz em um documento XML.

O aninhamento deve ser feito de forma adequada. Por exemplo, <x><y>hello</x></y> é um erro, uma vez que o elemento aninhado y deve terminar antes do elemento x.

Prólogo e Encoding

O prólogo é a parte introdutória de um documento XML, precedendo o primeiro elemento, e contém, tipicamente, a versão da XML para a qual o documento foi criado. O prólogo é representado na forma de instruções de processamento.

<?xml version = “1.0”?>

Embora a declaração de XML seja opcional, ela deve ser usada para identificar a versão da XML do documento. Caso contrário, no futuro, é possível

(13)

que seja assumido que um documento sem uma declaração de versão XML obedece à ultima versão da XML, o que pode vir a ocasionar problemas.

Uma declaração adicional de encoding pode especificar o conjunto de caracteres que é utilizado no documento. O conjunto de caracteres consiste nos caracteres que podem ser representados em um documento. Por exemplo, o conjunto de caracteres ASCII (American Standard Code for Information Interchange) contém as letras do alfabeto, os números de 0-9 e os caracteres de pontuação, como !, -, e ?.

<?xml version = “1.0” encoding=“ISO-8859-1”?>

Os documentos XML podem conter os caracteres de retorno de carro (carriage return), avanços de linha (line feed) e caracteres Unicode. O Unicode é o padrão do Unicode Consortium. Seu objetivo é possibilitar que os computadores processem os caracteres das principais línguas do mundo (www.unicode.org).

Os documentos XML contêm dados de caracteres e texto de marcação. O texto de marcação vem entre os sinais de menor que (<) e maior que (>). Os dados de caracteres representam o texto entre uma marca de abertura e uma marca de finalização.

Para garantir a internacionalização, os documentos XML devem ser codificados no Unicode (UTF-x, UCS-x, etc.).

Elementos e Atributos

O conteúdo de um documento XML está representado na forma de seus elementos e atributos.

Elementos são a mais comum forma de marcação. Delimitados pelos sinais de menor e maior (< e >), a maioria dos elementos identificam a natureza do conteúdo que envolvem, começando com uma marcação de inicio <elemento> e uma de fim </elemento>, com seu conteúdo entre estes.

(14)

Os elementos sem conteúdo, chamados de vazios, são representados por <elemento></elemento>. Tais elementos ainda podem ser representados através de uma sintaxe modificada, que utiliza o final /> para isto. Assim, um programa que processa o documento XML não precisa procurar pela marcação de fim do elemento. Desta forma, pode-se representar um elemento vazio por <elemento/>.

Os nomes dos elementos não podem conter caracteres especiais nem espaços, e devem começar por letras ou “_”.

Atributos são pares de valores nomeados que ocorrem dentro das marcas de início, após o nome do elemento. Por exemplo:

<elemento classe="prefácio">

A linha acima representa um elemento chamado “elemento” cujo atributo classe possui o valor prefácio. Em um documento XML, todos os valores de atributos devem estar entre aspas ou apóstrofes.

Os atributos descrevem elementos. Um elemento pode ter zero, um ou mais atributos a ele associados.

Os nomes de elementos e atributos em XML podem ter qualquer comprimento e podem conter letras, dígitos, sublinhados, hífens e pontos, mas devem começar por uma letra ou um sublinhado e não podem conter espaços.

(15)

Figura 7 - Documento XML que representa um livro (Fonte: Deitel et. al., 2001)

A primeira linha do documento XML representado na Figura 7 (<?xml:stylesheet type = "text/xsl" href = "usage.xsl"?>) é exemplo de uma instrução de processamento (PI). A informação contida em uma PI é passada para a aplicação que está usando o documento XML e fornece informações adicionais específicas da aplicação sobre o documento. As instruções de processamento são delimitadas por <? e ?>. Este valor PI faz referência a uma folha de estilo XSL, conforme indicado pelo alvo PI xml:stylesheet, cujo valor é type=”text/xsl” href=”usage.xsl”. O funcionamento deste tipo de instrução será explicado posteriormente, no capítulo 7.

Seções CDATA

Uma vez que o caractere “<” denota o início de uma marcação, não poderia ser utilizado no conteúdo de um elemento. As seções CDATA são seções de um documento XML que podem conter texto, caracteres reservados (por exemplo, <) e caracteres espaços em branco. Os caracteres contidos nas seções CDATA são excluídos da interpretação.

(16)

Um uso comum das seções CDATA é o código de criação de scripts (Javascript ou VBScript), que freqüentemente contêm os caracteres &, <, >, ` e “.

Figura 8 - Usando uma seção CDATA

O exemplo representado na Figura 6 apresenta dois elementos sample. O primeiro dos elementos representa os dados de maneira convencional, e o segundo representa o mesmo conteúdo utilizando-se uma seção CDATA. A

diferença que se pode notar é que no segundo caso não é necessário que se faça a substituição dos caracteres <, > e &.

(17)

A Figura 9 demonstra a apresentação em um navegador de um documento XML que contém uma seção CDATA. Conforme pode-se perceber pelo código-fonte na Figura 8, é possível a utilização dos caracteres reservados (como é o caso de < e &), sem que o processamento do documento seja prejudicado, uma vez que o conteúdo de uma seção CDATA é ignorado no processamento.

Esta característica faz com que as seções CDATA sejam adequadas para, por exemplo, o armazenamento de trechos de código em linguagens de programação.

(18)

Exercícios

1. Explique para que servem as marcações em um documento HTML e em um documento XML, identificando suas principais diferenças:

2. Explique como é feita a apresentação de documentos XML, em comparação com o que acontece nos documentos HTML:

3. Identifique o significado das seguintes marcações e sua utilização em documentos XML:

a. b. c.

4. Explique a diferença entre elemento e atributo, e a forma de representá-los:

5. Explique para que servem as seções CDATA:

6. Explique a razão de a linguagem XML ser largamente utilizada para troca de informações:

(19)

Capítulo 3

Documentos XML Bem Formados

Uma vez que a XML, como o próprio nome sugere, é uma linguagem, está sujeita a certas regras, indicam como escrever um documento bem formado. Essas regras são chamadas de sintaxe.

A observação dessas regras é fundamental para que um navegador consiga interpretar o código XML.

Um documento XML é considerado bem-formado se ele estiver sintaticamente correto. A sintaxe da XML requer um único elemento como nó raiz, uma tag de abertura e finalização para cada elemento, tags corretamente aninhadas e valores de atributos entre aspas. Além disso, a XML faz diferença entre maiúsculas e minúsculas, de modo que as maiúsculas devem ser grafadas corretamente nos nomes de elementos e atributos. Os documentos que atendem a estes requisitos de sintaxe são, portanto, documentos bem-formados.

Explicando de forma mais clara as regras que um documento XML deve atender para ser considerado bem-formado:

1. Possuir um elemento raiz (root) que contém todos os outros: <books>

<book>

<title>XML Como Programar</nome> <publisher>Bookman</publisher> </book> <book> <nome>Learning XML</nome> </book> <books>

(20)

2. Cada tag de abertura deve ter uma tag de fechamento correspondente:

3. Respeitar a hierarquia e o aninhamento das tags:

4. Os valores de atributos devem estar entre aspas ou apóstrofes: <books>

<book>

<title>XML Como Programar <publisher>Bookman</publisher> </book>

<books>

A tag <title> não possui fechamento (</title>), por isto o documento é mal-formado.

<books> <book>

<title>XML Como Programar <publisher>Bookman</title> </publisher>

</book> <books>

A tag <publisher> não pode encerrar-se depois da tag <title>, por isto o documento é mal-formado.

<books>

<book code=10>

<title>XML Como Programar <publisher>Bookman</title> </publisher>

</book> <books>

O valor do atributo code não contém aspas nem apóstrofes, o que torna o documento mal-formado.

(21)

5. Existe diferença entre maiúsculas e minúsculas (case-sensitive):

Existem softwares que são chamados de analisadores sintáticos (parsers), que lêem os documentos, verificando sua sintaxe e relatando possíveis erros, permitindo, via programa, acesso ao conteúdo dos documentos.

Caracteres Reservados

Existem caracteres que, por serem reservados, não podem ser utilizados em documentos XML. A linguagem XML oferece substitutos para estes casos. Tais substitutos começam por “&” e terminam por “;” (referência a entidade).

Os caracteres reservados para a linguagem XML e suas referências são:

Para caracteres especiais que não possam ser inseridos utilizando-se o teclado, o código direto do caractere pode ser utilizado, de acordo com a tabela empregada.

A Tabela 1 apresenta alguns dos caracteres especiais utilizados nos documentos XML, e suas respectivas referências.

<

&lt;

>

&gt;

&

&amp;

&apos;

&quot;

<books> <book code=10>

<title>XML Como Programar <publisher>Bookman</title> </publisher>

</Book> <books>

A tag de fechamento </Book> possui um caractere em maiúsculo, e a de abertura (<book>) não, tornando o documento mal-formado.

(22)

Uma lista completa das referências a entidades pode ser obtida no site do W3C em:

http://www.w3.org/TR/REC-html40/sgml/entities.html

Tabela 1 - Algumas Referências de Entidades

Caractere Referência Caractere Referência

Espaço &#160; ê &#234;

§ &#167; ì &#236; © &#169; í &#237; ® &#174; î &#238; ¼ &#188; ñ &#241; ½ &#189; ò &#242; ¾ &#190; ó &#243; À &#224; ô &#244; á &#225; õ &#245; â &#226; ÷ &#247; ã &#227; ù &#249; å &#229; ú &#250; ç &#231; û &#251; è &#232; • &#8226; é &#233; ™ &#8482;

O exemplo representado na Figura 8 demonstra a utilização de referências de entidades, apresentando o caractere 1 em diferentes tabelas de caracteres.

Figura 10 - Exemplo da utilização de caracteres especiais

Comentários

Os comentários em um documento XML contêm informações e notas. As marcações são <!-- para início, e --> para fim de comentário. Caracteres reservados (<, >) podem estar contidos dentro de comentários.

(23)

Figura 11 - Exemplo de utilização de comentários

Como se pode perceber na segunda linha de comentário existe um caractere reservado <, mas a visualização do documento no navegador acontece de maneira normal.

Assim como acontece nas linguagens de programação, os comentários em documentos XML podem ser utilizados no sentido de prover maiores informações para os desenvolvedores que os manipulam.

Marcação

O elemento de marcação XML, como já citado, consiste em uma marca de

abertura, no conteúdo e em uma marca de finalização. Diferentemente do HTML, todas as marcas de abertura em XML devem ter uma marca de finalização. Por exemplo,

<img src = “logo.gif”>

está correto em HTML, mas em XML a marca de finalização também deveria ser fornecida, como em

(24)

Como este elemento não cantem conteúdo (dados de caracteres), ele é chamado de elemento vazio. A marca vazia pode ser escrita de forma mais concisa, como <img src = “logo.gif”/>

que usa a barra ( / ) para indicar o término.

Conforme citado no capítulo 2, os elementos definem a estrutura, e podem ou nao ter conteúdo (elementos filhos ouo dados de caracteres). Os atributos descrevem elementos. Um elemento pode ter zero, um ou mais atributos a ele associados e são colocados dentro da marca de abertura do elemento.

Os nomes de elementos e atributos em XML podem ter qualquer comprimento e podem conter letras, dígitos, sublinhados, hífens e pontos, mas devem começar com uma letra ou um sublinhado. Além disso, não podem conter espaços em branco.

Assim, a marcação

<telefone residencial> </telefone residencial>

está errada, pois contém espaço em branco no nome do elemento, uma alternativa seria, por exemplo, o uso do sublinhado

<telefone_residencial> </telefone_residencial> Estrutura Lógica dos Documentos XML

Uma vez que os elementos, em um documento XML, estão organizados hierarquicamente, um documento pode ser representado na forma de uma árvore sem que haja a perda de nenhuma informação. Elementos filhos aparecem como nós filhos de um elemento pai.

Os atributos não são considerados como nós filhos de um elemento, mas como informações adicionais aos elementos.

(25)

Figura 12 - Exemplo de estrutura de documento XML

Assim, tendo-se o documento de exemplo apresentado na Figura 9, pode-se representá-lo na forma de uma árvore, conforme na Figura 10, pode-se visualizar a sua estrutura lógica.

(26)

A representação da estrutura lógica de um documento XML na forma de uma árvore é apenas uma forma de se obter uma melhor visualização da maneira como estão dispostos os elementos do documento e sua estrutura.

(27)

Exercícios

1. Identifique e corrija o(s) erro(s) em cada um dos seguintes itens: a) <my Tag>texto do elemento<my Tag>

b) <!PI value!> <!-- uma instrução de processamento simples --> c) <myXML>trabalhando com XML!!</MyXML>.

d) <CDATA>aqui temos uma CDATA . </CDATA>

e) <xml> x<5 && x>y </xml> <!-- condição para um teste em Java -->

2. Faça uma análise do documento XML abaixo indicando onde e quais são os erros de formação que existem:

a) <?xml version=”1.0” encoding=UTF-8?> <MICRO> <HD>Capacidade 20 Gb</Hd> <DISQUETE>Capacidade 1,44 Mb</MICRO> </DISQUETE> b) <xml version=”1.0” encoding=”ISO-8859-1”?> <curso>

<DISCIPLINA fase=“6”>Tópicos Especiais III <OBJETIVO>Ensinar XML</OBJETIVO> <METODOLOGIA>Laboratórios<metodologia> <professor>Rafael</Professor>

</Curso>

3. Corrija os erros do documento do exercício 1.b. e adicione mais duas disciplinas da 6ª fase ao documento.

4. Represente, na forma de uma árvore, a estrutura lógica do documento obtido como resposta do exercício 3.

(28)

5. De posse das estruturas em forma de árvore abaixo, construa a estrutura do documento XML correspondente.

Referências

Documentos relacionados

Para isso, são realizados estudos de caso em três montadoras de motores para automóveis e em seis fornecedores; estes últimos possuem portes distintos, produzem produtos

The global prevalence of high risk for OSAS, estimated via BQ, in the population cared for by the FDP was 42.4%. However, because of the losses, that prevalence might have

Henrique, rotunda em frente p/ Baguim do Monte, cruzamento à esq.. p/ Rua Fernão de Magalhães, rotunda

O número de acidentes devidos a ultrapassagem indevida em pista simples 7,4 vezes maior que seu número em vias com pista dupla, associado à operação das duas rodovias em nível

Schwaber (2004), como um dos pioneiros para o desenvolvimento deste framework orienta a utilizar a Scrum em projetos onde não são possíveis prever o que irá ocorrer, pois

Mas, qual zagueiro inamistoso, Foer sabe bater duro quando solicitado, e critica os inimigos dessa miscigenação de culturas por simples apego ao tradicionalismo. Em muitos casos,

Desde os primórdios da formação da sociedade brasileira, a mestiçagem e o pa- triarcado polígamo têm criado as condições para que os padrões de fala de escravos e

Por exemplo, curso de qualificação profissional nós estamos fazemos de acordo com as vocações locais e eles diziam não adianta esse curso aqui, por que não tem, nós não temos