Keli Cristina Manini Susane Schmidt. Uma Ferramenta para Geração de Esquemas XML a partir de Documentos XML
|
|
- Pedro Lucas Carvalhal Bastos
- 8 Há anos
- Visualizações:
Transcrição
1 Keli Cristina Manini Susane Schmidt Uma Ferramenta para Geração de Esquemas XML a partir de Documentos XML Florianópolis - SC 2006
2 Keli Cristina Manini Susane Schmidt Uma Ferramenta para Geração de Esquemas XML a partir de Documentos XML Trabalho apresentado como requisito para graduação em Bacharelado em Ciências da Computação Orientador: Ronaldo S. Mello Co-orientador: Olinto José Varela Furtado Universidade Federal de Santa Catarina - UFSC Departamento de Informática e Estatística - INE Florianópolis - SC 2006
3 Sumário Lista de Figuras 1 Introdução p. 5 2 XML - extensible Markup Language p. 8 3 Esquemas XML p DTD - Document Type Description p XML Schema p Gramáticas p Trabalhos Relacionados p XTRACT p DataGuides p Extração de esquemas de dados XML: Uma Abordagem de Gramática de Inferência p Processo do Trabalho da Ferramenta p. 28 Anexo A -- Codigos p. 34 Referências p. 35
4 Lista de Figuras 1 Entradas e Saídas da abordagem BinXs p. 6 2 Exemplo de uma Estrutura XML p. 9 3 Exemplo de elementos em um documento XML p. 9 4 Exemplo de esquema DTD p Exemplo de esquema em XML Schema p Sintaxe e exemplo de uma declaração de atributo em uma DTD.... p Sintaxe e exemplo de uma declaração de entidade p Exemplo Derivação por Extensão p Exemplo de definição de Elemento Simples na XML Schema p Exemplo de Definição de Elemento Complexo na XML Schema..... p Exemplo Elemento Complexo de XML Schema p Exemplo de um subconjunto da gramática portuguesa p Exemplo de um subconjunto da gramática portuguesa segundo outra notação p Exemplo de uma Gramática Regular p Exemplo documento OEM p Exemplo de documento XML para OEM do Exemplo Locais de Alimentação p Exemplo DataGuide p Exemplo XML Schema para OEM do Exemplo Locais de Alimentação. p Exemplo de documento XML sobre o Campeonato Europel de Futebol p Exemplo XML Schema Campeonato Europel de Futebol p. 25
5 21 Árvore XML - Exemplo Estruturado p Gramática Livre de Contexto Estendida para XML Times p Algoritimo Passo p Algoritimo Passo p Merge de Não Terminais de Estrutura Repetida p Algoritimo Passo p Algoritimo Passo p Diagrama da Ferramenta Proposta p Gramática Genérica p Exemplo Primeiro Documento a entrar no Processo p Exemplo Segundo Documento a entrar no Processo p Gramática Específica da Primeira Iteração p Gramática Específica da Segunda Iteração p XML Schema Gerado com Base no Exemplo p. 33
6 5 1 Introdução XML (Extensible Markup Language) emergiu como um novo padrão para troca e manipulação de dados descritivos de documentos estruturados. (1) Este fato ocorreu devido a grande quantidade de vantagens que este padrão de linguagem representa: o formato XML é auto-descritivo; documentos XML formam coleções de elementos aninhados hierarquicamente; XML é um arquivo texto,não é volumoso, facilita a transferência de dados entre sistemas e a estrutura interna destes documentos pode ser padronizada em esquemas que auxiliam na organização, clareza e utilização destes. Por estes e demais motivos, a comunidade de pesquisa em bancos de dados tem investido cada vez mais no estudo de XML e novas técnicas e ferramentas para o seu gerenciamento vêm sendo desenvolvidas. A especificação de um esquema para um documento XML é importante pois permite a validação de dados XML baseados neste esquema. A partir de um esquema também é possível verificar a equivalência dos dados, e então unificar dados de documentos XML com a mesma estrutura. Esta tarefa é importante em sistemas que realizam integração de dados na Web. Outra vantagem é que a existência de um esquema facilita o mapeamento de dados XML para esquemas de banco de dados, possibilitando a formulação e o processamento otimizado de consultas. Apesar destas vantagens, a maioria dos documentos XML disponíveis em computadores não possui um esquema associado, e mesmo que o possua, é provável que estes esquemas não sejam idênticos, pois foram definidos por pessoas ou sistemas diferentes. Em função disto, este trabalho propõe uma ferramenta que procura solucionar, mesmo que parcialmente, o problema da falta de esquemas, já que a integração de dados XML tornou-se relevante devido a grande quantidade de dados XML disponíveis na Web atualmente e para que tal integração seja facilitada é importante que se conheça o esquema de cada documento. Além das justificativas citadas anteriormente, essa ferramenta terá aplicação direta na abordagem BInXS (Bottom-Up Integration of XML Schemata). Esta abordagem BInXS foi proposta por (2) e realiza a integração semântica de esquemas XML com o objetivo de permitir o acesso transparente a dados XML em fontes de dados na
7 6 Web sem que haja necessidade de se saber suas localizações e seus esquemas. O objetivo da abordagem BinXs é gerar, de forma semi-automática, um esquema global a partir dos esquemas XML de fontes de dados XML. É neste contexto que se insere a ferramenta proposta neste trabalho, uma vez que os documentos XML nem sempre são acompanhadas de seus esquemas XML. A figura 1 monstra as entradas e saídas do processo realizado pelo BinXs. As entradas são documentos XML de fontes de dados da Web e seus esquemas. A saída é o esqeuma global, a nível conceitual, que resulta da integração semântica dos esquemas XML. Este trabalho age como um facilitador para a enrada do processo, gerando esquemas XML para um conjunto de documentos que não possuem um esquema associado. Figura 1: Entradas e Saídas da abordagem BinXs Algumas soluções já foram desenvolvidas no sentido de tentar sanar o problema anteriormente mencionado (3), (4), (5). Porém, elas geram o esquema a partir de um único documento XML. O objetivo da ferramenta proposta é permitir que o usuário possa informar vários documentos XML de uma mesma autoria ou de uma mesma fonte de dados, e a partir destes documentos seja gerado um esquema XML único e completo. No entanto, um dos maiores problemas na formação de um esquema XML está relacionado a alcançar um esquema que consiga ser completo e compacto, já que estas são características inver-
8 7 samente proporcionais: esquemas tendem a ser ou muito volumosos ou incompletos. (3) Encontrar um esquema XML que consiga balancear estas duas características é um dos desafios a ser solucionados neste trabalho. No próximo capítulo é dada uma breve introdução a linguagem XML, mostrando um pouco de sua estrutura e funcionalidade. No capítulo 3 é apresentado o conceito de esquemas XML, com aprofundamento dos tipos de esquemas XML recomendados pela W3C. Para melhor entendimento dos conceitos introduzidos em seções posteriores. No capítulo 4, é apresentado o conceito de gramáticas. Já no capítulo 5, são apresentados alguns trabalhos relacionados contribuem com o desenvolvimento deste trabalho. No capítulo 6 é apresentada a proposta inicial da ferramenta e um cronograma relacionando as atividades necessárias para a conclusão do trabalho com o tempo restante para o seu desenvolvimento.
9 8 2 XML - extensible Markup Language XML( extensible Markup Language), padrão popular do consórcio W3C(1), é um formato para troca, representação e manipulação de documentos estruturados e semiestruturados (1). Como o próprio nome diz, é uma linguagem de marcação com formato aberto, isto é, o próprio desenvolvedor define as tags que serão utilizadas para construir o documento (6). Pela sua versatilidade e capacidade de extensão, XML é, na verdade, uma meta-linguagem que serve de base para a definição de novas linguagens de marcação (7). Um documento XML é onde são definidos os dados XML. Estes documentos XML formam uma coleção de elementos tags aninhados hierarquicamente que servem de delimitadores de informação. O conceito de tags é também utilizado na linguagem HTML (Hyper Text Markup Language). Apesar das semelhanças existentes nessas duas linguagens, existem diferenças fundamentais. Uma delas é em relação ao uso das tags, que são pré-definidas em um documento HTML, enquanto possuem valor semântico na linguagem XML. Outra diferença importante está relacionada com a função específica de cada linguagem. Enquanto a função da linguagem HTML está dividida entre estruturar o documento e permitir a apresentação dos seus dados em um software navegador na internet, XML preocupa-se com a estruturação da informação(6). Cada documento XML possui uma estrutura lógica e física. A estrutura física permite a definição de componentes de documentos chamados entidades, que podem ser nomeadas ou armazenadas separadamente (7). A estrutura lógica é composta de declarações, elementos, comentários, enfim, tudo o que estiver indicado no documento através de marcação(6). A figura 2 mostra parte da estrutura de um documento XML. Os documentos XML caracterizam-se por apresentar uma estrutura hierárquica de elementos, começando com um elemento raiz. Os elementos podem ser do tipo simples ou complexo. Elementos complexos contém sub-elementos (elementos filhos), que devem estar aninhados com seus
10 9 <NOTA número="1"> <PARA>Professor</PARA> <DE>Keli e Susane</DE> <CABECALHO>Mensagem</CABECALHO> <CORPO>N~ao esqueça de dar uma boa nota!</corpo> </NOTA> Figura 2: Exemplo de uma Estrutura XML pais (8), como mostra a figura 3. Os elementos identificam objetos do documento XML. Por este motivo, o nome dado aos elementos deve estar de acordo com o conteúdo respectivo e com a intenção do domínio de aplicação para o qual o ducumento XML é criado. <raiz> <filhos> <subfilho>...</subfilho> </filhos> </raiz> Figura 3: Exemplo de elementos em um documento XML Para incluir informações adicionais sobre os elementos são utilizados atributos, que são declarados na tag de abertura do elemento, como pode-se observar na figura 2 que tem o atributo número como uma propriedade do elemento Nota. Outra característica que determina a forma do documento XML está ligada à noção de esquema, que pode opcionalmente acompanhar um documento XML (3). Um esquema XML tem como função descrever a estrutura interna de um documento XML. Existem dois tipos de esquemas: DTD e XML Schema As figuras 4 e 5 representam respectivamente a estrutura do dado XML da figura 2, descritos através de uma DTD e de um XML Schema. Estas figuras definem um elemento complexo note e sua estrutura que é composta de um atributo e de elementos simples (to, from, heading e body). Os esquemas XML e suas estruturas são detalhados no próximo capítulo. xsd:element name= biblioteca xsd:complextype xsd:element name= livro type = TipoLivro / /xsd:complextype xsd:complextype name= TipoLivro element name= titulo type = String / xsd:complextype
11 10 <?xml version- 1.0?> <!DOCTYPE NOTA [ <!ELEMENT NOTA (PARA, DE, CABECALHO, CORPO)> <!ATTLIST NOTA numero PCDATA #IMPLIED> <!ELEMENT PARA (#PCDATA)> <!ELEMENT DE (#PCDATA)> <!ELEMENT CABECALHO (#PCDATA)> <!ELEMENT CORPO (#PCDATA)> ]> Figura 4: Exemplo de esquema DTD <?xml version= 1.0 encoding = UTF-8?> <xsd:schema xmlns:xsd= > <xsd:complextype> <xsd:element name= nota type = TipoNota /> </xsd:complextype> <xsd:attribute name= numero type= xs:integer > <xsd:complextype name= TipoLivro > <xsd:sequence> <xsd: element name = PARA Type = xsd:string /> <xsd: element name = DE Type = xsd:string /> <xsd: element name = CABECALHO Type = xsd:string /> <xsd: element name = CORPO Type = xsd:string /> </xsd:sequence> </xsd:complextype> </xsd:schema> Figura 5: Exemplo de esquema em XML Schema
12 11 3 Esquemas XML Esquemas XML definem a forma como um documento XML pode ser estruturado. Através do uso destas estruturas, desenvolvedores diferentes podem interagir trocando ou integrando documentos de dados no formato XML, devido ao fato destes diferentes documentos possuírem o mesmo esquema. Sistemas de integração de dados XML, como o BInXS, comentado anteriormente, vêm sendo propostos por pesquisadores e desenvolvedores para permitirem visões unificadas de dados na Web. Neste contexto, a declaração de esquemas facilita a fusão de tais documentos, uma vez que suas estruturas são conhecidas. Atualmente existem duas recomentações da W3C para especificação de esquemas para XML: DTD e XML Schema. Essas recomendações são descritas a seguir. 3.1 DTD - Document Type Description Uma DTD define as instruções que são enviadas ao parser XML para o documento que está para ser analisado(6).essas regras definem o tipo dos elementos que podem ser usados e a hierarquia e granularidade do texto(7). Uma DTD define o conteúdo de um elemento no formato de expressões regulares (4). Uma DTD é composta por um conjunto de declarações. Cada declaração está de acordo com o formato de marcação <!... > e seus tipos principais são: ELEMENT (definição de elemento), ATTLIST (definição de atributo) e ENTITY (definição de entidade). Os elementos definem os blocos principais de um documento XML. Eles podem conter texto, outros elementos, ou serem vazios.(8) Na declaração de um elemento é possível também definir a quantidade de ocorrências de seus sub-elementos: Uma única ocorrência: <!ELEMENT element-name (child-name)> Mínimo de uma ocorrência: <!ELEMENT element-name (child-name+)> Zero ou mais ocorrências: <!ELEMENT element-name (child-name*)>
13 12 Zero ou nenhuma ocorrência: <!ELEMENT element-name (child-name?)> Uma ou outra ocorrência: <! ELEMENT element-name(child name1 child name2) > Os atributos contêm informações extras sobre os elementos. Eles estão sempre localizados dentro de uma tag de um elemento e definem sempre um par (nome/valor), como pode ser observado na figura 6 (8). O primeiro parâmetro na declaração é o nome seguido do tipo do atributo, cujos principais tipos são: CDATA (cadeia de caracteres), NMTOKEN (um identificador), NMTOKENS (lista de NMTOKEN), ENTITY (entidade),entities (lista de entidades), ID (id única), IDREF (referêncai ao id de um elemento já existente), IDREFS (lista de IDREF)(7). O parâmetro final especifica um valor que é dado ao atributo quando o autor do documento não informa um valor (7). Outras restrições que podem ser definidas em um atributo são: #REQUIRED(o atributo é obrigatório), #IMPLIED (o atributo é opcional no elemento) e #FIXED (o valor do atributo é fixo).(8) <!ATTLIST nome-do-elemento nome-do-atributo tipo-do-atributo valor-padr~ao> Exemplo: DTD: <!ATTLIST pagamento type (cheque dinheiro) dinheiro > XML: <pagamento type= cheque > ou <pagamento type= dinheiro > Figura 6: Sintaxe e exemplo de uma declaração de atributo em uma DTD As entidades, demonstradas na figura 7, são variáveis usadas para definir textos comuns. Uma entidade é utilizada principalmente para evitar a repetição de textos similares. Isto reduz a carga de trabalho na definição do esquema, faz com que apareçam menos erros e facilita o entendimento da estrutura da DTD. (7) <!ENTITY nome da entidade valor da entidade > Exemplo: DTD: <!ENTITY livro-name Código da Vince > <!ENTITY autor Dan Brown > XML: <livro>&livro-name;&autor;</livro> Figura 7: Sintaxe e exemplo de uma declaração de entidade
14 XML Schema A recomendação XML SCHEMA foi aprovada pela W3C em março de 2001 (1). Surgiu para ser o sucessor de esquemas DTDs e por isso possui todas as funcionalidades desta e ainda características específicas que a tornam mais expressiva. Diferente de DTDs, este tipo de esquema é estruturado seguindo o mesmo formato sintático da XML, ou seja, um documento XML Schema é um documento XML. Isto possibilita a utilização de parsers XML para fazer a validação dos esquemas escritos em XML SCHEMA (6). Outras características importantes ausentes nas DTDs e presentes nesta recomendação são: a possibilidade de definir restrições masi detalhadas para valores de dados, o mecanismo de derivação e a capacidade de definir tipos de dados para elementos e atributos. Dentre as características citadas anteriormente destaca-se o mecanismo de derivação. Este processo possibilita aos desenvolvedores um controle maior sobre aqueles disponibilizados pelo padrão(4),ou seja, o uso de derivações possibilita ao desenvolvedor criar restrições e incluir/adicionar novos elementos e atributos a definições de tipos já existentes. Dois tipos de derivação permitidos: por restrição e por extensão. As derivações por restrição são declaradas através do uso do elemento < restriction > e possuem propriedades que definem tamanho, padrão, máxima e miníma ocorrência, entre outros. Um exemplo de restrição é demonstrado na figura 11: o elemento simples SEXO possui dois valores fixos possíveis: Masculino ou Feminino. No caso das derivações por extensão, a declaração é feita através do elemento < complexcontent > seguido pelo elemento extension, utilizando-se do atributo base do elemento para indicar o tipo que está sendo estendido. Um exemplo desta derivação é descrito na figura 8, onde o tipo NovoContato é uma extensão do tipo Contato. Os elementos declarados em XML SCHEMA podem ser de tipos de dados simples ou complexos. Os primeiros são os elementos formados somente por texto, como podemos observar na figura 9, onde é definido um elemento nome cujo tipo de dado simples é String. Os complexos são aqueles que possuem outros elementos aninhados dentro de sua estrutura e/ou atributos que determinam as características dos dados inseridos no documento, como mostra a figura 10. Nesta figura é detectado um elemento complexo EMPREGADO formado pelas tags de elementos simples NOME e SOBRENOME ambas do tipo String, mais um elemento simples salario do tipo float. Algumas das principais vantagens de XML SCHEMA ocorrem por causa da declaração
15 14 Tipo Original: <complextype name = Contato > <sequence> <element name = nome type = xsd:string /> <element name = telefone type = xsd:string /> </sequence> </complextype> Tipo derivado por extens~ao: <complextype name = NovoContato > <complexcontent> <extension base = Contato > <sequence> <element name = celular type = xsd:string /> </sequence> </extension> </complexcontent> </complextype> Figura 8: Exemplo Derivação por Extensão <xs:element name= nome type= xs:string > Figura 9: Exemplo de definição de Elemento Simples na XML Schema de atributos para tipos e elementos do esquema. Devido à existência destes é possível definição de diferentes tipos de dados simples (String, Decimal, Integer, Float Boolean, Date e Time). Outra contribuição importante é a possibilidade de definir algumas restrições semelhantes às utilizadas em Bancos de Dados tais como: conteúdo, tamanho, etc. A figura 11 é um exemplo de um XML Schema com todas as características presentes nestes esquemas: elementos complexos, restrições, atributos e namespace, dentre outras. Ela mostra o Schema de um documento XML formado por uma tag raiz PESSOAS e seus filhos, compostos de um elemento complexo (linha 4) que possui um elemento simples PESSOA com um atributo maxoccurs= unbounded, indicando que pode haver inúmeras ocorrências deste sub-elemento. Outro elemento complexo é definido dentro de PESSOA. Ele possui dois elementos simples de tipo String. Os atributos de mínima e máxima ocorrência podem ser pré-fixados, como definido no elemento NOMEFILHO da linha 10.
16 15 <xs: element name = EMPREGADO > <xs:complextype> <xs:sequence> <xs:element name= NOME type= xs:string /> < xs:element name= SOBRENOME type= xs:string > </xs:sequence > </xs:complextype> </xs:element> Figura 10: Exemplo de Definição de Elemento Complexo na XML Schema 1 <?xml version= 1.0 encoding= ISO > 2 <xs:schema xmlns:xs= 1 elementformdefault 3 <xs: element name = PESSOAS > 4 <xs:complextype> 5 <xs:sequence> 6 <xs:element name= PESSOA maxoccurs= unbounded > 7 <xs:complextype> 8 <xs:sequence> 9 < xs:element name= NOMECOMPLETO type= xs:string /> 10 < xs:element name= NOMEFILHO type= xs:string minoccurs= 0 maxoccurs= 5 /> 11 </xs:sequence> 12 </xs:complextype> 13 </xs:element> 14 </xs:sequence > 15 </xs:complextype> 16 <xs:simpletype> 17 <xs:element name= SEXO > 18 <xs:restriction base = xsd:string > 19 <xs:enumeration value= masculino > 20 <xs:enumeration value= feminino > 21 <xs:restriction> 22 </xs:simpletype> 23 </xs:element> 24 </xs:schema> Figura 11: Exemplo Elemento Complexo de XML Schema
17 16 4 Gramáticas A palavra gramática e alguns conceitos relacionados serão vistos com freqüência nos próximos capítulos.por esta razão, este capítulo apresenta os conpara melhor entendimento deste conceito, é necessário anteriormente explicar outras definições, como por exemplo, o conceito de linguagem. Uma linguagem, segundo o Dicionário Aurélio é o uso da palavra articulada ou escrita como meio de expressão e comunicação entre pessoas. Matematicamente falando, é qualquer conjunto ou subconjunto de sentenças sobre um alfabeto que podem ser derivadas a partir de um símbolo inicial da gramática que a representa. Um exemplo de linguagem é o XML (extensible Markup Language). O alfabeto é um conjunto finito de símbolos, entidades abstratadas não definidas formalmente, como por exemplo, as letras e os dígitos. A gramática define uma estrutura sobre este alfabeto, de forma a permitir que apenas determinadas combinações sejam válidas, ou seja, sejam consideradas sentenças (seqüência finita de símbolos justapostos), definindo assim a linguagem que representa (9). Formalmente falando, uma gramática é uma quádrupla ordenada G=(V,T,P,S) onde: - V é um conjunto finito de símbolos variáveis ou não-terminais; - T é um conjunto de símbolos terminais disjunto de V; - P é um conjunto finito de pares, demoninados regras de produção tal que a primeira componente é palavra de (V T) + e a segunda componente é palavra de (V T) ; - S é um elemento de V denominado - variável inicial; As regras de produção definem as condições de geração das palavras da linguagem, como pode-se observar na figura 12.A partir desta figura pode-se retirar a seguinte notação: \textbf{<...>} : categoria sintática ou gramatical; \textbf{::=} : definido por; \textbf{ } : alternativa (ou); \textbf{$\alpha$ ::= $\beta$} : regra de sintaxe.
18 <sentença>::= <sujeito> <predicado> <sujeito>::= <substantivo> <artigo> <substantivo> <artigo> <adjetivo> <substant <predicado>::= <verbo> <objeto> <substantivo>::= Jo~ao Maria cachorro livro <artigo>::= o a <adjetivo>::= pequeno bom bela <verbo>::= morde olha l^e <objeto>::= <substantivo> <artigo> <substantivo> <artigo> <adjetivo> <substanti 17 Figura 12: Exemplo de um subconjunto da gramática portuguesa Uma forma mais simples de descrever esta gramática é demonstrado na figura 13.Nesta notação, as categorias são representadas por letras, para facilitar a escrita e ao invés de ::= usa-se. X SP S B AB ADB P VO B João Maria cachorro livro A o a D pequeno bom bela V morde olha lê O B AB ADB Figura 13: Exemplo de um subconjunto da gramática portuguesa segundo outra notação Existem 4 tipos de linguagens: linguagem regular (tipo 3), livre de contexto (tipo2), sensíveis ao contexto (tipo 1)e enumeráveis recursivamente (tipo 0). A linguagem regular é a mais restrita e limitada das linguagens, sendo representada por formalismos de pouca complexidade, grande eficiência e fácil implementação. Toda linguagem regular é uma gramática livre de contexto, porém as produções das gramáticas regulares são mais simples do que as produções das livres de contexto, sendo sempre do tipo linear, como pode ser observado na figura 14. S Aa Ba A Aa a ɛ B Bb b Figura 14: Exemplo de uma Gramática Regular A linguagem Simples de Contexto é um pouco mais ampla que a regular, tratando, adequadamente, questões como parênteses balanceados, construções bloco-estruturadas, entre outras funções de linguagens de programação. os algorítmos reconhecedores e geradores que implementam esta linguagem são relativamente simples e de boa eficiência. Permitem produções do tipo S asb e aabb, ou seja, produções com dois ou mais não-terminais ou terminais juntos. As linguagens Sensíveis ao Contexto abrangem as Livres de Contexto, permitem ainda produções como SA asb e aabb, com mais de um não-terminal como regra de produção.
19 18 Estes são os principais conceitos necessários para melhor entendimento dos próximos capítulos.
20 19 5 Trabalhos Relacionados Este capítulo apresenta alguns trabalhos relacionados com a extração de esquemas XML a partir de documentos XML. A partir dos estudos realizados com base nestes trabalhos pretende-se escolher as melhores e mais eficientes técnicas, e estas podem ser ainda adaptadas para o desenvolvimento da ferramenta desejada neste trabalho. 5.1 XTRACT Este trabalho busca encontrar o DTD perfeito para um documento XML, combinando precisão e intuição, através de uma seqüência de passos que envolvem a procura de padrões nas seqüências de entrada, seguida de uma fatoração dos possíveis candidatos gerados no passo anterior e concluindo com a aplicação do princípio da Descrição do Tamanho Mínimo(3). No primeiro passo, chamado de generalização, são empregados algoritmos heurísticos para encontrar padrões em cada seqüência de entrada e então substituí-las por expressões regulares apropriadas para produzir candidatos mais gerais. O principal objetivo deste passo é introduzir metacaracteres (, +,?,...) para produzir sub-expressões que gerem os padrões observados nas seqüências de entrada. Isto é realizado através da descoberta de freqüências e de ocorrências próximas de subseqüências e símbolos em cada seqüência de entrada. Por exemplo, se tivermos como entrada a seqüência abababcababc, este passo vai verificar que a seqüência ab utiliza dois campos e a substituirá pela expressão A1. Como resultado teremos A1cA1c, que finalmente é substituído pelo termo ((ab) c) O segundo passo, conhecido como fatoração, herda os candidatos a DTD obtidos no passo anterior e tenta torná-los mais concisos através da aplicação de técnicas adaptadas da literatura de otimização lógica. A fatoração é usada para tentar obter uma DTD de menor tamanho e conseqüentemente de melhor qualidade. Suponha que temos como entrada a seqüência I = ab, abab, ac, ad, bc, bd, bbd, bbbbe e o módulo da generalização gerou o seguinte resultado: G = I (ab), (a b), b d, b e, que são gramáticas mais genéricas para
21 20 gerar as sentenças de I. Com a aplicação da fatoração gera-se F = G (a b)(c d), b (d e). Neste passo foi colocado em evidência os fatores em comuns. O próximo passo é responsável por definir qual, entre todas as opções geradas, será a DTD ótima. No terceiro e mais importante passo é aplicado o princípio da Descrição do tamanho Mínimo. Este mecanismo classifica cada candidato a DTD com base no custo atribuído a cada DTD. Este custo depende do tamanho da gramática, em bits, que é o responsável para encontrar uma DTD concisa, e do tamanho dos dados, em bits, que define a precisão da candidata.por exemplo, considere a entrada I = ab, abab, ababab e considere que entre os resultados encontrados estejam (1) ab abab ababab e (2) (ab). O cálculo do custo do resultado para 1 é 17 bits, sendo 14 para codificar a DTD (quantidade de caracteres) e +3 para codificar a seqüência de entrada (1 caractere para cada posição de entrada). Já o cálculo do resultado para 2 é 8 bits, sendo 5 para a codificação do DTD e 3 para codificação da seqüência de entrada (necessário para especificar o número de repetições do termo ab para cada seqüência). (3) Neste caso, a DTD escolhida é o número 2, pois ela conseguiu abranger toda a seqüência de entrada e, ao mesmo tempo, é mais compacta. Segundo o trabalho, os resultados obtidos são satisfatórios, já que sempre conseguese encontrar uma DTD ótima ou muito próximo disto. Porém, ainda não foram feitos estudos para ampliar o sistema para a captação de um XML Schema, que é, atualmente, o esquema recomendado pela W3C. 5.2 DataGuides O conceito DataGuide foi introduzido para aproveitar os benefícios de um esquema para dados semi-estruturados. Os DataGuides são um sumário estrutural de um banco de dados semi-estruturado conciso e exato, que agem como esquemas dinâmicos. Eles são gerados a partir dos dados do banco de dados, são utilizados para formulação de consultas, armazenamento de informação e também possilitam a otimização das consultas.(5) Este trabalho baseia-se no modelo para dados chamado Object Exchange Model (OEM). Em OEM, cada objeto contém um objeto identificador e um valor, que pode ser atômico ou complexo, um exemplo de OEM pode ser visualizado na figura 15. Por tratar-se de uma representação de dados semi-estruturada é possível obter um documento XML de uma árvore OEM. A figura 16 demonstra um documento XML com os dados apresentados na OEM da figura 15. A Linguagem Lore, criada na Universidade de Stanford, é utilizada neste trabalho pois
22 21 permite realizar operações em dados semiestruturados utilizando paths. Outra teoria presente neste trabalho é a conversão de autômatos finitos não-determinísticos (AFND) para autômatos finitos determinísticos (AFD) uma vez que DataGuides podem ser similares estruturalmente a automatos. Figura 15: Exemplo documento OEM <locais_alimentacao> <restaurante> <nome>chili s</nome> <entrada>salada</entrada> <telefone> </telefone> <proprietario>josé da Silva</proprietario> </restaurante> <restaurante> <nome>rose & Crown</nome> <entrada>salada</entrada> <entrada>sopa<entrada> <gerente>josé da Silva</gerente> </restaurante> <bar>darbar</bar> </locais_alimentacao> Figura 16: Exemplo de documento XML para OEM do Exemplo Locais de Alimentação DataGuides descrevem um caminho único rotulado com exatamente uma fonte, sem levar em conta o número de vezes que o DataGuide aparece na fonte. Para garantir exatidão, um DataGuide não codifica o caminho que não aparece na fonte e para garantir
23 22 conveniência, o DataGuide deve ser um OEM para que possa armazenar e acessar o DataGuide usando as mesmas tecnologias disponíveis para processar o OEM. (5) O exemplo de DataGuide para o OEM da figura 15 é demonstrado na figura 17. Figura 17: Exemplo DataGuide As características estruturais e conceituais do DataGuide descritas anteriormente tornam esta forma estruturada de representação de dados uma alternativa para extração de esquemas XML. Através do relacionamento dos elementos presentes no DataGuide com os elementos de um XML Schema, por exemplo. Os nodos folhas do DataGuide são os elementos simples e os nodos que contem subarvores são os elementos complexos. A figura 18 apresenta o XML Schema do DataGuide demonstrado na figura 17. <element name = locais_alimentacao > <complextype> <element name = restaurante type = TipoRestaurante /> </complextype> <complextype name = TipoRestaurante > <element name = nome type = String /> <element name = Entrada type = String /> <element name = Telefone type = String /> <element name = Proprietario type = String /> <element name = Gerente type = String /> </complextype> <element name = Bar type = String /> </element> Figura 18: Exemplo XML Schema para OEM do Exemplo Locais de Alimentação
24 5.3 Extração de esquemas de dados XML: Uma Abordagem de Gramática de Inferência 23 O trabalho de Boris Chidlovskii (4) enfatiza a importância de se possuir uma definição de esquema para documentos XML e propõe uma alternativa para a extração deste esquema através do relacionamento sintático de documentos XML com linguagens Livre de Contexto, ou melhor, uma extensão dessas linguagens. Através de métodos desenvolvidos para este tipo de gramática e também para as gramáticas regulares, definiu-se um algoritmo baseado em Gramáticas Livre de Contexto para realizar a extração de esquemas em XML SCHEMA para documentos XML. No algoritmo sugerido, primeiramente o documento XML é mapeado para um formato de uma linguagem livre de contexto. Posteriormente, métodos de comparação seguidos de métodos de fatoração e consecutiva unificação de elementos mapeados possibilitam a obtenção de uma estrutura, ainda no formato de gramática, que é uma aproximação do esquema do documento XML. O algoritmo pode ser descrito através dos seguintes passos: 1) Representação de documentos XML como um conjunto estruturado de dados; 2) Indução de uma Gramática Livre de Contexto Estendida (GLCE) para o documento XML em questão; 2.1) Criação do conjunto inicial de não terminais N; 2.2) Fusão dos elementos não-terminais de N que possuem conteúdo e contexto similares; 2.3) Determinação dos tipos de dados para os terminais em G; 3) Transformação do resultado da G em uma definição XML SCHEMA S. Para um melhor entendimento do algoritmo, é apresentado um exemplo com os resultados obtidos a cada passo. A figura 19 mostra um documento XML que contém informações sobre clubes do futebol europeu e sua situação dentro dos campeonatos que já disputaram. A figura 20 mostra como seria o XML Schema correto correspondente ao arquivo XML da figura 19. A figura 21 representa o resultado do primeiro passo do algoritmo: a representação de um XML como uma árvore de derivação da GLC, com todos os não-terminais removidos.
25 <times> <time><nome>juventus</nome> <ChLeague> <ano>1999</ano><classificacao>semi-final</classificacao> <ano>1997</ano><classificacao>final</classificacao>...//5 no total </ChLeague> <UEFA> <ano>1995</ano><classificacao>final</classificacao>... // 7 no total </UEFA> </time> <time><nome>manchester United</nome> <ChLeague> <ano>1999</ano><classificacao>campe~ao</classificacao>... // 4 no total </ChLeague> </time>... // 46 times no total </times> 24 Figura 19: Exemplo de documento XML sobre o Campeonato Europel de Futebol Na árvore demonstrada na figura 21 temos os nodos internos (circulos) correspondente aos elementos complexos, enquanto as folhas são as tags ou elementos simples(retangulos). Na sequência (passo 2) é necessário que se faça o mapeamento dos elementos presentes no documento XML para a GLCE G. A correspondente GLCE é dada por G = (T,N,D,&,Start) onde T={times, time, nome,...}, N = {Start, TipoTime, TipoLista}, D = {String, PositiveInteger}, e & contem a regra de produção demonstrada na figura 22. O próximo passo do algoritmo (passo 2.1), representado na figura 23, é a geração do conjunto inicial de não terminais. Para uma melhor visualização, associou-se o tipo genérico Any para os elementos simples e um rótulo para cada elemento complexo do documento XML. Após obtidos os não terminais, é necessário fazer a fusão dos elementos similares (Passo 2.2) - figura 24. O primeiro não terminal a sofrer a fusão é o Start, pois suas produções possuem ambigüidade com o terminal time. O resultado da fusão continha termos ambíguos com terminais ChLeague. Portanto foram fundidos os não-terminais A47 e A49. Estas fusões geraram o seguinte conjunto de produções: Observa-se, neste resultado, que os não-terminais A47 e A48 estão repetindo os pares de elementos ano e classificacao, por isso são fundidos. O resultado obtido após as fusões
26 <element name = times > <complextype> <element name = time type = TipoTime maxoccurs = 500 /> </complextype> <complextype name = TipoTime > <element name = nome type = String /> <element name = ChLeague type = TipoLista minoccurs = 0 maxoccurs = 1 <element name = UEFA type = ListType minoccurs = 0 maxoccurs = 1 /> </complextype> <complextype name= TipoLista > <group minoccurs = 1 maxoccurs= 100 > <element name = ano type = PositiveInteger /> <element name = classificacao type = String /></group> </complextype> </element> 25 Figura 20: Exemplo XML Schema Campeonato Europel de Futebol é uma Gramática Livre de Contexto com os não-terminais que geram diferentes produções (figura 25). O passo 2.3 analisa as produções e através de métodos específicos é obtida a seguinte gramática do documento XML da figura 19: O último passo do algoritimo é transformar a gramática obtida em um esquema de acordo com as regras definidas em XML Schema. De acordo com a gramática da figura 26 é determinado o XML Schema da figura 27. O element name é dado pela produção da Gramatica no não-terminal Inicial (Start > (time: A1) [46]). O não terminal A1 apontado na produção citada anteriormente é um elemento complexo pois possui dentro das suas produções um apontador para mais um não terminal, ou seja, na produção A1 > nome: String (ChLeague: A4) [0:1] (UEFA:A4) [0:1] os não terminais A4 indicam que existem elementos inclusos nos elementos formados por A1. O tipo complexo TipoLista é proveniente da produção A4 > (ano: UnsignedShort classificacao: String) [0:8].
27 26 Figura 21: Árvore XML - Exemplo Estruturado Start -> times:tipotime TipoTime -> (time:tipotime) [0:500] TipoTime -> nome:string (ChLeague:TipoLista) [0:1] (UEPA: TipoLista) [0:1] TipoLista -> (ano:positiveinteger classificacao:string) [1:100] Figura 22: Gramática Livre de Contexto Estendida para XML Times Start -> time:a1 time: A2 time: A3... (46 times no total) A1 -> nome: Any ChLeague: A47 UEFA: A48 A2 -> nome: Any ChLeague: A49 A3 -> nome: Any... A47 -> ano: Any classificacao: Any... // (7 pares ano-classificacao no total) A48 -> ano: Any classificacao: Any... // (5 pares) A49 -> ano: Any classificacao: Any... // (4 pares)... Figura 23: Algoritimo Passo 2.1 Start -> time:a1 time:a1 time:a1... (46 times no total) A1 -> nome: Any ChLeague: A47 UEFA: A48 A1 -> nome: Any ChLeague: A47 A1 -> nome: Any A47 -> ano: Any classificacao: Any... // (7 pares) A48 -> ano: Any classificacao: Any... // (5 pares) A47 -> ano: Any classificacao: Any... // (4 pares)... Figura 24: Algoritimo Passo 2.2
28 27 Start -> (time:a1) [46] A1 -> nome: Any ChLeague: A47 UEFA: A47 nome: Any ChLeague: A47... A47 -> (ano: Any classificacao: Any) [7] ano: Any classificacao: Any)[5]... Figura 25: Merge de Não Terminais de Estrutura Repetida Start -> (time: A1) [46] A1 -> nome: String (ChLeague: A4) [0:1] (UEFA:A4) [0:1] A4 -> (ano: UnsignedShort classificacao: String) [0:8] Figura 26: Algoritimo Passo 2.3 <element name = times > <complextype> <element name = time type = TipoTime maxoccurs = 46 /> </complextype> <complextype name = TipoTime > <element name = nome type = String /> <element name = ChLeague type = TipoLista minoccurs = 0 maxoccurs = 1 <element name = UEFA type = ListType minoccurs = 0 maxoccurs = 1 /> </complextype> <complextype name= TipoLista > <group minoccurs = 0 maxoccurs= 8 > <element name = ano type = UnsignedShort /> <element name = classificacao type = String /></group> </complextype> </element> Figura 27: Algoritimo Passo 3
29 28 6 Processo do Trabalho da Ferramenta A idéia inicial para o desenvolvimento da ferramenta desejada baseia-se no princípio de que XML é uma linguagem finita e, conseqüentemente, um documento XML finito. Em função disto, é possível obter, a partir de sua estrutura, uma gramática. Devido a este conceito, a ferramenta utiliza-se de gramáticas para a obtenção dos seus objetivos. A solução proposta é definida em 4 etapas, que são: 1. Análise de Entrada; 2. Definição de Estruturas; 2.1 Análise através de uma gramática genérica; 2.2 Montagem da Tabela de Símbolos; 3. Definição e Validação da Gramática Final; 4. Conversão. Estas etapas podem ser melhor visualizadas através da figura 28. A primeira etapa recebe como entrada uma fonte de dados XML. Porém, esta fonte pode ser muito extensa por conter muitos documentos XML,tornando o processo muito lento. Portanto, nesta fase é realizado, através de métodos probabilisticos, a definição de uma amostra que varia de acordo com a quantidadde de documentos da fonte de dados XML. O processo de escolha dos documentos que pertencem ao conjunto analisado é randômico. O primeiro elemento selecionado passará para a fase seguinte, os demais vão direto para a fase de validação. A segunda etapa é a etapa em que é analisada a estrutura do documento. Este será validado através de uma gramática genérica geradora de documentos XML que pode ser visualizada na figura 29.Esta gramática, que é utilizada para descobrir se o documento XML é bem-formado, ainda está sendo desenvolvida.a partir desta gramática será gerada a tabela de símbolos. Esta tabela é a estrutura que guarda as informações essenciais sobre cada identificador reconhecido no documento. Estas informações identificam o tipo dos elementos, atributos, entre outras características. As informações armazenadas na tabela de símbolos serão de extrema importância para o próximo passo. A terceira fase é responsável por, baseada nas informações geradas na fase anterior, definir a gramática específica do documento XML. Esta gramática dá informações de
30 29 hierarquia e complementa com todas as informações necessárias para a montagem do esquema. Sua estrutura varia de acordo com o tipo do documento. Após criada pela primeira vez, servirá de teste para os próximos documentos XML. Ao selecionar o próximo documento, este tem sua estrutura comparada à estrutura da gramática gerada. Se estiver válido e houver mais documentos XML para serem processados, mantém-se a gramática gerada anteriormente e processa-se o próximo documento XML. Se forem encontradas diferenças, este documento é enviado para a etapa 2, onde passará pela validação através da gramática genérica e então serão acrescentas as diferenças encontradas em relação aos documentos anteriores. Isto faz com que a gramática específica gerada seja incrementada, já de volta a etapa 3. Esta gramática atualizada passa a ser a gramática utilizada nos testes de comparação. Após ser percorrida toda a amostra de documentos, a gramática gerada será a gramática final, representativa do esquema de todos os documentos analisados. Esta, então, passará por um processo de conversão para a linguagem XML Schema, atual recomendação da W3C para especificações XML. Além disso, essa é a linguagem de esquema para XML adotada como entrada pelo BInXS.Vale lembrar que a gramática gerada deve ser guardada para eventos futuros, ou seja, ela deve ser armazenada e o foramto de armazenamento está sendo decidido. O último passo é fazer a conversão da gramática gerada em um esquema XSD (XML Schema Definition) baseado na tabela de Simbolos resultante e na gramática específica final. Para exemplificar o funcionamento da ferramenta supõe-se que os documentos da figura 30 e 31 fazem parte da amostra selecionada na primeira etapa do processo,sendo o documento da figura 30, o primeiro documento de entrada. Após o primeiro documento ser validado pela Gramática Genérica da figura 29 é gerada a tabela de símbolos 2 que contém informações relevantes para a criação da Gramática Específica e o esquema do documento.nesta tabela, que ainda está sendo desenvolvida, as abreviações LE, LA,LP e LF significam respectivamente: Lista de Elementos, Lista de Atributos, Lista de Pais e Lista de Filhos. A partir da tabela de símbolos (tabela2) é estabelecida uma gramática específica que serve de comparação para os próximos documentos da amostra. A gramática da figura 32 representa o resultado da etapa de Definição de Estruturas. O próximo passo é testar o segundo documento(figura 31) da amostra. Este teste
31 30 Tabela 1: Tabela de Simbolos à partir do documento 1. Id Elemento Categoria LE LA Cardinalidade Tipo 1 <biblioteca> raiz LF(2) LA() <livro> complexo LP(1) LF(3,4) LA() <titulo> simples LP(2) LA() 1-1 String 4 <autor> complexo LP(2) LF(5) LA() <nome> simples LP(4) LA() 1-1 String 6 <edicao> simples LP(2) LA() 1-1 String Tabela 2: Tabela de Simbolos à partir do documento 1. consiste em conferir se este documento é validado pela gramática da figura 32. Caso sejam encontradas divergências significa que esta gramática precisa ser incrementada. Neste exemplo observa-se diferenças fazendo-se necessária a reformulação da tabela de símbolos(tabela 4) e então, da gramática específica. As alterações estão destacadas em negrito. Tabela 3: Tabela de Simbolos à partir do documento 2. Id Elemento Categoria LE LA Cardinalidade Tipo 1 <biblioteca> raiz LF(2) LA() <livro> complexo LP(1) LF(3,4) LA() <titulo> simples LP(2) LA() 1-1 String 4 <autor> complexo LP(2) LF(5) LA() <nome> simples LP(4) LA() 1-1 String 6 <edicao> simples LP(2) LA() 0-1 String 7 < > simples LP(4) LA() 1-1 String Tabela 4: Tabela de Simbolos à partir do documento 2. As mudanças ocorridas nesta etapa são responsaveis pelos acréscimos de produções na gramática específica visualizada na figura 33. Este procedimento de incremento da tabela e da gramática é realizado até que todos os documentos da amostra sejam verificados. A etapa final toma os dados presentes na tabela de símbolos e na gramática específica resultantes e cria o esquema aproximado referente aos documentos XML da fonte de dados em questão. A figura 34 demonstra o XML Schema gerado à partir dos documentos analisados (figura 30 e 31). A proposta de funcionamento sugerida para a ferramenta ainda não é definitiva. Mudanças na solução proposta podem ocorrer durante o desenvolvimento da ferramenta. A tabela abaixo apresenta as atividades futuras a serem realizadas até o término do TCC.
32 31 Tabela 5: Cronograma de Atividades Futuras Jan/Mar Abr/Mai Jun/Ago Ago/Ago Conclusão da Proposta Implementação Testes e Experimentos Redação do TCC Figura 28: Diagrama da Ferramenta Proposta
33 32 S-> tag L tag L-> CL C E C-> tag C tag CC E E-> string integer... Figura 29: Gramática Genérica <?xml version="1.0" encoding= "US-ASCII"?> <biblioteca> <livro> <titulo> Onze minutos </titulo> <autor> <nome> Paulo Coelho </nome> </autor> <edicao> Segunda </edicao> </livro> </biblioteca> Figura 30: Exemplo Primeiro Documento a entrar no Processo <?xml version="1.0" encoding= "US-ASCII"?> <biblioteca> <livro> <titulo> A Herdeira </titulo> <autor> <nome> Sidney Sheldon </nome> < > sheldon@gmail.com </ > </autor> </livro> </biblioteca> Figura 31: Exemplo Segundo Documento a entrar no Processo R -> <biblioteca>l</biblioteca> L -> <livro>a</livro> A -> <autor>b</autor> <titulo>t</titulo> <edicao>t</edicao> AA B -> <nome>t</nome> T-> String Figura 32: Gramática Específica da Primeira Iteração.
34 33 R -> <biblioteca>l</biblioteca> L -> <livro>a</livro> A -> <autor>b</autor> <titulo>t</titulo> <edicao>t</edicao> AA B -> <nome>t</nome> < >t</ > T-> String Figura 33: Gramática Específica da Segunda Iteração. <?xml version="1.0" encoding= "US-ASCII"?> <xsd:schema xmlns:xsd=" <xsd:element name= biblioteca > <xsd:complextype> <xsd:element name= livro type = TipoLivro /> </xsd:complextype> <xsd:complextype name= TipoLivro > <element name= titulo type = String /> <xsd:complextype> <xsd:element name= autor type = TipoAutor /> </xsd:complextype> <element name= edicao type = String /> </xsd:complextype> <xsd:complextype name= TipoAutor > <xsd:element name= nome type = String /> <xsd:element name= type = String /> </xsd:complextype> </xsd:element> </xsd:schema> Figura 34: XML Schema Gerado com Base no Exemplo.
35 ANEXO A -- Codigos 34
36 35 Referências 1 W3C. World Wide Web Consortium. Acesso em 10/2006. Disponível em: < 2 MELLO, R. dos S. Binxs GAROFALAKIS ARISTIDES GIONIS, R. R. S. S. K. S. M. Xtract: A system for extracting document type descriptors from xml documents. 4 CHILDLOVSKII, B. Schema extraction from xml data: A grammatical inference approach. 5 GOLDMAN, J. W. R. Dataguides: Enabling query formulation and optimization in semistructed databases. 6 JR., J. R. T. XML Schema. [S.l.]: Visual Books Ltda, BRADLEY, N. The xml schema companion W3SCHOOL. w3cschool.com. Acesso em 10/2006. Disponível em: < 9 MENEZES, P. B. Linguagens Formais e Autômatos. [S.l.]: Editora Sagra Luzzatto, 2002.
Keli Cristina Manini Susane Schmidt. Uma Ferramenta para Geração de Esquemas XML a partir de Documentos XML
Keli Cristina Manini Susane Schmidt Uma Ferramenta para Geração de Esquemas XML a partir de Documentos XML Florianópolis - SC 2006 Keli Cristina Manini Susane Schmidt Uma Ferramenta para Geração de Esquemas
Leia maisUm documento XML possui Unidade lógica - os elementos Usuário "inventa" as marcas através de DTDs
XML Um documento XML possui Unidade lógica - os elementos Usuário "inventa" as marcas através de DTDs Unidade física - as entidades Armazenamento separado dos dados Como toda linguagem de marcação: XML
Leia maisGERÊNCIA DE DADOS SEMIESTRUTURADOS -DTD. Prof. Angelo Augusto Frozza, M.Sc. http://www.about.me/tilfrozza
GERÊNCIA DE DADOS SEMIESTRUTURADOS -DTD Prof. Angelo Augusto Frozza, M.Sc. http://www.about.me/tilfrozza ROTEIRO Introdução ao DTD Elementos Atributos Entidades Validando um documento XML DTD (DOCUMENT
Leia maisXML: uma introdução prática X100. Helder da Rocha (helder@argonavis.com.br)
XML: uma introdução prática X100 Helder da Rocha (helder@argonavis.com.br) Atualizado em Jan 2003 O que é um Esquema XML? Documentos que aderem à especificação (válidos) O esquema representa uma classe
Leia maisEngenharia de Software III
Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,
Leia maisEste relatório tem por objetivo, abordar a sintaxe XML.
Relatório do GPES Este relatório tem por objetivo, abordar a sintaxe XML. XML Estrutura do documento Um documento XML é uma árvore rotulada onde um nó externo consiste de: [1] Dados de caracteres (uma
Leia maisDESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3
DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 E CSS3 Eduardo Laguna Rubai, Tiago Piperno Bonetti Universidade Paranaense (Unipar) Paranavaí PR- Brasil eduardorubay@gmail.com, bonetti@unipar.br Resumo.
Leia maisXML. 1. XML: Conceitos Básicos. 2. Aplicação XML: XHTML 3. Folhas de Estilo em Cascata XML
1 1. : Conceitos Básicos 2. Aplicação : XHTML 3. Folhas de Estilo em Cascata 2 é um acrônimo para EXtensible Markup Language é uma linguagem de marcação muito parecida com HTML foi designada para descrever
Leia maisTabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008
Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,
Leia maisGERÊNCIA DE DADOS SEMIESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza
GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza O QUE É XML? Tecnologia desenvolvida pelo W3C http://www.w3c.org W3C: World Wide Web Consortium consórcio
Leia maisXML Schema. Vanessa de Paula Braganholo vanessa@inf.ufrgs.br ftp://metropole/pub/curso/xml/index.html. Janeiro de 2001. XML Schema
XML Schema Vanessa de Paula Braganholo vanessa@inf.ufrgs.br ftp://metropole/pub/curso/xml/index.html Janeiro de 2001 XML Schema XML Schema Utilizado para descrever a estrutura de um documento XML, assim
Leia maisGERÊNCIA DE DADOS SEMI ESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc.
GERÊNCIA DE DADOS SEMI ESTRUTURADOS -XML Prof. Angelo Augusto Frozza, M.Sc. O QUE É XML? Tecnologia desenvolvida pelo W3C http://www.w3c.org W3C: World Wide Web Consortium consórcio formado por acadêmicos
Leia maisDiagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes.
1 Diagrama de Classes Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes. Um dos objetivos do diagrama de classes é definir a base para
Leia maisMAPEAMENTO DE CONSULTAS SQL EM XML ENTRE SISTEMAS GERENCIADORES DE BANCO DE DADOS RELACIONAIS
Universidade Federal de Santa Catarina Centro Tecnológico Departamento de Informática e Estatística Curso de Sistemas de Informação RENATO SULZBACH MAPEAMENTO DE CONSULTAS SQL EM XML ENTRE SISTEMAS GERENCIADORES
Leia maisBanco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados
Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses
Leia mais04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.
MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 2 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Revisão sobre Banco de Dados e SGBDs Aprender as principais
Leia maisOrientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
Leia maisAMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS
UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO BACHARELADO AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS Orientando: Oliver Mário
Leia maisGERÊNCIA DE DADOS SEMIESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza
GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza O QUE É XML? Tecnologia desenvolvida pelo W3C http://www.w3c.org W3C: World Wide Web Consortium consórcio
Leia mais3.1 Definições Uma classe é a descrição de um tipo de objeto.
Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Classes Autoria:Aristófanes Corrêa Silva Adaptação:
Leia maisXML e Banco de Dados de Internet. Tópicos Especiais em Tecnologia da Informação Profa. Késsia R. C. Marchi
XML e Banco de Dados de Internet Tópicos Especiais em Tecnologia da Informação Profa. Késsia R. C. Marchi Motivação Diversas aplicações Web utilizam Fontes de Dados (BD); Arquitetura Cliente-Servidor (2
Leia mais3 Parsing Expression Grammars
3 Parsing Expression Grammars Parsing Expression Grammars (PEG) são um formalismo que descreve reconhecedores de linguagens (For04). PEGs são uma alternativa para gramáticas livres de contexto (CFGs) e
Leia maisAlgoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br
(Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução
Leia maisCAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES
CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES 3.1 - IDENTIFICADORES Os objetos que usamos no nosso algoritmo são uma representação simbólica de um valor de dado. Assim, quando executamos a seguinte instrução:
Leia maisPersistência e Banco de Dados em Jogos Digitais
Persistência e Banco de Dados em Jogos Digitais Prof. Marcos Francisco Pereira da Silva Especialista em Engenharia de Software Jogos Digitais - Computação Gráfica 1 Agenda Vantagens de usar a abordagem
Leia maisXML (extensible Markup Language)
Sumário 1. Introdução a Aplicações Não-Convencionais 2. Revisão de Modelagem Conceitual 3. BD Orientado a Objetos (BDOO) 4. BD Objeto-Relacional (BDOR) 5. BD Temporal (BDT) 6. BD Geográfico (BDG) 7. BD
Leia maisAlgoritmos e Estrutura de Dados III. Árvores
Algoritmos e Estrutura de Dados III Árvores Uma das mais importantes classes de estruturas de dados em computação são as árvores. Aproveitando-se de sua organização hierárquica, muitas aplicações são realizadas
Leia maisFACULDADE DE ENGENHARIA DE COMPUTAÇÃO. PROJETO FINAL I e II PLANO DE TRABALHO <NOME DO TRABALHO> <Nome do Aluno> <Nome do Orientador>
FACULDADE DE ENGENHARIA DE COMPUTAÇÃO PROJETO FINAL I e II PLANO DE TRABALHO O Trabalho de Conclusão de Curso (TCC) a ser desenvolvido
Leia maisXHTML 1.0 DTDs e Validação
XHTML 1.0 DTDs e Validação PRnet/2012 Ferramentas para Web Design 1 HTML 4.0 X XHTML 1.0 Quais são os três principais componentes ou instrumentos mais utilizados na internet? PRnet/2012 Ferramentas para
Leia maisConceitos de Banco de Dados
Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir
Leia maisIntrodução e motivação SGBD XML Nativo Consultas em SGBDs XML Prática. Bancos de dados XML. Conceitos e linguagens de consulta
Bancos de dados XML Conceitos e linguagens de consulta Sidney Roberto de Sousa MC536 - Bancos de Dados: Teoria e prática Material base: W3Schools XPath and XQuery Tutorial http://www.w3schools.com/xpath/
Leia maisISO/IEC 12207: Gerência de Configuração
ISO/IEC 12207: Gerência de Configuração Durante o processo de desenvolvimento de um software, é produzida uma grande quantidade de itens de informação que podem ser alterados durante o processo Para que
Leia maisTOTVS BA Guia de Customização Linha Logix
TOTVS BA Guia de Customização Linha Logix Guia de Customização Sumário Título do documento 1. Objetivo... 3 2. Introdução... 3 3. Customização... 3 2 TOTVS BA Linha Logix Guia de Customização Projeto/Versão:
Leia maisLINGUAGEM DE BANCO DE DADOS
LINGUAGEM DE BANCO DE DADOS Gabriela Trevisan Bacharel em Sistemas de Informação Universidade Federal do Rio Grande Pós-Graduanda Formação Pedagógica de Professores (FAQI) Conceito de BD Um banco de dados
Leia maisXML e Banco de Dados. Prof. Daniela Barreiro Claro DCC/IM/UFBA
XML e Banco de Dados DCC/IM/UFBA Banco de Dados na Web Armazenamento de dados na Web HTML muito utilizada para formatar e estruturar documentos na Web Não é adequada para especificar dados estruturados
Leia maisManual SAGe Versão 1.2 (a partir da versão 12.08.01)
Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação
Leia maisControle do Arquivo Técnico
Controle do Arquivo Técnico Os documentos existentes de forma física (papel) no escritório devem ser guardados em pastas (normalmente pastas suspensas) localizadas no Arquivo Técnico. Este Arquivo pode
Leia maisA Linguagem de Modelagem Unificada (UML)
Aécio Costa A Linguagem de Modelagem Unificada (UML) Percebeu-se a necessidade de um padrão para a modelagem de sistemas, que fosse aceito e utilizado amplamente. Surge a UML (Unified Modeling Language)
Leia maisBases de dados semi-estruturadas, XML
Bases de dados semi-estruturadas, XML Fernando Lobo Base de Dados, Universidade do Algarve 1 / 40 Modelo de informação semi-estruturado Esquema está impĺıcito nos dados. Ao invés do modelo relacional,
Leia maisPara construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.
Apresentação Este curso tem como objetivo, oferecer uma noção geral sobre a construção de sistemas de banco de dados. Para isto, é necessário estudar modelos para a construção de projetos lógicos de bancos
Leia maisResolução de problemas e desenvolvimento de algoritmos
SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Resolução de problemas e desenvolvimento de algoritmos Prof. Vanderlei Bonato Prof. Cláudio Fabiano Motta Toledo Sumário Análise e solução de
Leia mais4 O Workflow e a Máquina de Regras
4 O Workflow e a Máquina de Regras O objetivo do workflow e da máquina de regras é definir um conjunto de passos e regras configuráveis. Ao longo de sua execução, um usuário consegue simplificar o seu
Leia maisUNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação
SOFT DISCIPLINA: Engenharia de software AULA NÚMERO: 08 DATA: / / PROFESSOR: Andrey APRESENTAÇÃO O objetivo desta aula é apresentar e discutir conceitos relacionados a modelos e especificações. Nesta aula
Leia maisUFG - Instituto de Informática
UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 13 Web Services Web Services
Leia maisMetadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados
1. Introdução O governo é um dos maiores detentores de recursos da informação. Consequentemente, tem sido o responsável por assegurar que tais recursos estejam agregando valor para os cidadãos, as empresas,
Leia maisXML XML. XML extensible Markup Language HTML. Motivação. W3C: World Wide Web Consortium XML 1.0. Mário Meireles Teixeira DEINF-UFMA
Mário Meireles Teixeira DEINF-UFMA Motivação extensible Markup Language W3C: World Wide Web Consortium http://www.w3.org 1.0 W3C Recommendation, 10/Fev/1998 (inicial) W3C Recommendation, 04/Fev/2004, 3
Leia maisApostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi
Apostila de Fundamentos de Programação I Prof: André Luiz Montevecchi Introdução O mundo atual é dependente da tecnologia O uso intenso de diversos aparatos tecnológicos é parte integrante do nosso dia-a-dia
Leia maisProf. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br
Prof. Marcelo Machado Cunha www.marcelomachado.com mcelobr@yahoo.com.br Ementa Introdução a Banco de Dados (Conceito, propriedades), Arquivos de dados x Bancos de dados, Profissionais de Banco de dados,
Leia maisLP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br
LP II Estrutura de Dados Introdução e Linguagem C Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Considerações Gerais Introdução a Linguagem C Variáveis e C Tipos de
Leia maisGlossários em Moodle (1.6.5+)
Glossários em Moodle (1.6.5+) Athail Rangel Pulino 2 Ficha Técnica Título Glossários em Moodle Autor Athail Rangel Pulino Filho Copyright Creative Commons Edição Agosto 2007 Glossários em Moodle 3 Índice
Leia maisUma Abordagem Alternativa para o Armazenamento Electrónico de Dados: O Papel da Norma XML
Uma Abordagem Alternativa para o Armazenamento Electrónico de Dados: O Papel da Norma XML Semana da Ciência e da Tecnologia 2002 FOR $l IN document( wwwestvipvpt/biblioteca/bdbiblioxml ) //livro WHERE
Leia maisESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE
ESTENDENDO A UML PARA REPRESENTAR RESTRIÇÕES DE INTEGRIDADE Fabiana Gomes Marinho Faculdade Lourenço Filho Resumo: Na UML, a modelagem conceitual dos dados é descrita pelo diagrama de classes, que através
Leia maisModelo Entidade-Relacionamento
Modelo Entidade-Relacionamento Banco de Dados I Fases do Projeto jt de BD Enunciado de requisitos entrevista com o usuário do banco de dados para entender e documentar seus requerimentos de dados. Projeto
Leia maisALGORITMOS PARTE 01. Fabricio de Sousa Pinto
ALGORITMOS PARTE 01 Fabricio de Sousa Pinto Algoritmos: Definição 2 É uma sequência de instruções finita e ordenada de forma lógica para a resolução de uma determinada tarefa ou problema. Algoritmos 3
Leia maisNovell. Novell Teaming 1.0. novdocx (pt-br) 6 April 2007 EXPLORAR O PORTLET BEM-VINDO DESCUBRA SEU CAMINHO USANDO O NOVELL TEAMING NAVIGATOR
Novell Teaming - Guia de início rápido Novell Teaming 1.0 Julho de 2007 INTRODUÇÃO RÁPIDA www.novell.com Novell Teaming O termo Novell Teaming neste documento se aplica a todas as versões do Novell Teaming,
Leia maisCurso de Aprendizado Industrial Desenvolvedor WEB. Disciplina: Banco de Dados Professora: Cheli Mendes Costa Modelo de Dados
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Banco de Dados Professora: Cheli Mendes Costa Modelo de Dados Modelo para organização dos dados de um BD. define um conjunto de conceitos para
Leia maisBem- Vindo ao manual de instruções do ECO Editor de COnteúdo.
Manual de Instruções ECO Editor de Conteúdo Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo. O ECO é um sistema amigável e intui?vo, mas abaixo você pode?rar eventuais dúvidas e aproveitar
Leia maisEmpresa de Informática e Informação do Município de Belo Horizonte S/A PRODABEL
Empresa de Informática e Informação do Município de Belo Horizonte S/A PRODABEL Diretoria de Sistema - DS Superintendência de Arquitetura de Sistemas - SAS Gerência de Arquitetura de Informação - GAAS
Leia maisUniversidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.
Universidade Federal de Santa Maria Curso de Arquivologia Disciplina de Banco de Dados Aplicados à Arquivística Prof. Andre Zanki Cordenonsi Versao 1.0 Março de 2008 Tópicos Abordados Conceitos sobre Banco
Leia maisAnálise semântica. Análise Semântica. Estrutura de um compilador. Anotação da árvore sintática. Tipos de comunicação de atributos?
Estrutura de um compilador Análise semântica Tradução orientada pela sintaxe 1 2 Análise Semântica Anotação da árvore sintática Análise semântica: Tipos (& Declarações) Escopo Checagens estáticas: Idéia:
Leia maisHardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)
Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,
Leia maisMC536 Bancos de Dados: Teoria e Prática
Universidade Estadual de Campinas - UNICAMP Instituto de Computação - IC MC536 Bancos de Dados: Teoria e Prática Aula #3 : MER e MER Estendido Profs. Anderson Rocha e André Santanchè Campinas, 1 de Agosto
Leia mais2 Diagrama de Caso de Uso
Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa
Leia maisTÉCNICAS DE PROGRAMAÇÃO
TÉCNICAS DE PROGRAMAÇÃO (Adaptado do texto do prof. Adair Santa Catarina) ALGORITMOS COM QUALIDADE MÁXIMAS DE PROGRAMAÇÃO 1) Algoritmos devem ser feitos para serem lidos por seres humanos: Tenha em mente
Leia maisEntendendo como funciona o NAT
Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços
Leia maisPossui como idéia central a divisão de um universo de dados a ser organizado em subconjuntos mais gerenciáveis.
3. Tabelas de Hash As tabelas de hash são um tipo de estruturação para o armazenamento de informação, de uma forma extremamente simples, fácil de se implementar e intuitiva de se organizar grandes quantidades
Leia maisMicrosoft Access XP Módulo Um
Microsoft Access XP Módulo Um Neste primeiro módulo de aula do curso completo de Access XP vamos nos dedicar ao estudo de alguns termos relacionados com banco de dados e as principais novidades do novo
Leia maisRoteiro 2 Conceitos Gerais
Roteiro 2 Conceitos Gerais Objetivos: UC Projeto de Banco de Dados Explorar conceitos gerais de bancos de dados; o Arquitetura de bancos de dados: esquemas, categorias de modelos de dados, linguagens e
Leia maisFundamentos em Informática (Sistemas de Numeração e Representação de Dados)
1 UNIVERSIDADE DO CONTESTADO / UnC CAMPUS CONCÓRDIA/SC CURSO DE SISTEMAS DE INFORMAÇÃO Fundamentos em Informática (Sistemas de Numeração e Representação de Dados) (Apostila da disciplina elaborada pelo
Leia mais5 Mecanismo de seleção de componentes
Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações
Leia maisCurso: Ciência da Computação Disciplina: Construção de Compiladores Período: 2010-1 Prof. Dr. Raimundo Moura
UFPI CCN DIE Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: 2010-1 Prof. Dr. Raimundo Moura O projeto Desenvolver um compilador de um subconjunto básico da linguagem PORTUGOL.
Leia maisDadas a base e a altura de um triangulo, determinar sua área.
Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares
Leia maisResolução da lista de exercícios de casos de uso
Resolução da lista de exercícios de casos de uso 1. Explique quando são criados e utilizados os diagramas de casos de uso no processo de desenvolvimento incremental e iterativo. Na fase de concepção se
Leia maisMais sobre uso de formulários Site sem Ajax
Mais sobre uso de formulários Site sem Ajax Página com busca padrão 1 Página com o resultado da busca carregada no local da anterior (o formulário está vazio) Site com Ajax 2 Site usando Ajax para preencher
Leia mais)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR
6LPXODomR GH6LVWHPDV )HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR #5,6. Simulador voltado para análise de risco financeiro 3RQWRV IRUWHV Fácil de usar. Funciona integrado a ferramentas já bastante conhecidas,
Leia mais1.1. Organização de um Sistema Computacional
1. INTRODUÇÃO 1.1. Organização de um Sistema Computacional Desde a antiguidade, o homem vem desenvolvendo dispositivos elétricoeletrônicos (hardware) que funciona com base em instruções e que são capazes
Leia maisCompiladores. Análise léxica. Plano da aula. Vocabulário básico. Motivação para análise léxica. Estrutura de um compilador
Estrutura de um compilador Compiladores Análise lexical (1) Expressões Regulares 1 2 Plano da aula 1. Motivação do uso de E.R. e definições Linguagens, tokens, lexemas... 2. Regras de formação e exemplos
Leia maisAnálise e Projeto Orientados por Objetos
Análise e Projeto Orientados por Objetos Aula 02 Análise e Projeto OO Edirlei Soares de Lima Análise A análise modela o problema e consiste das atividades necessárias para entender
Leia maisBanco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon (edson@esucri.com.
Sistemas da Informação Banco de Dados I Edson Thizon (edson@esucri.com.br) 2008 Apresentação (mini-currículo) Formação Acadêmica Mestrando em Ciência da Computação (UFSC/ ) Créditos Concluídos. Bacharel
Leia mais02 - Usando o SiteMaster - Informações importantes
01 - Apresentação do SiteMaster - News Edition O SiteMaster foi desenvolvido para ser um sistema simples de gerenciamento de notícias, instalado em seu próprio computador e com configuração simplificada,
Leia maisROTEIRO PARA ELABORAÇÃO DE PROJETOS
APRESENTAÇÃO ROTEIRO PARA ELABORAÇÃO DE PROJETOS Breve histórico da instituição seguido de diagnóstico e indicadores sobre a temática abrangida pelo projeto, especialmente dados que permitam análise da
Leia maisRoteiro para Transmissão Ambiente de Testes da Guias Online
Roteiro para Transmissão Ambiente de Testes da Guias Online (GRH) Acessar o sistema pelo site: http://www.sdas.org.br/ Acessar o sistema com o Usuário: 9999 e Senha: PMG52 Será disponibilizado o ambiente
Leia maisLição 1 - Criação de campos calculados em consultas
1 de 5 21-08-2011 22:15 Lição 1 - Criação de campos calculados em consultas Adição de Colunas com Valores Calculados: Vamos, inicialmente, relembrar, rapidamente alguns conceitos básicos sobre Consultas
Leia maisLeiaute-IMPORTAÇÃO-Plano de Contas - XML
Leiaute-IMPORTAÇÃO-Plano de Contas - XML DOC-IN 1.0 1 / 6 Leiaute-IMPORTAÇÃO-Plano de Contas - XML Leiaute-IMPORTAÇÃO-Plano de Contas - XML DOC-IN 1.0 2 / 6 ÍNDICE ARQUIVO DE LEIAUTE... 3 Formato... 3
Leia maisUNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS
UNIVERSIDADE FEDERAL DE SANTA CATARINA GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA DATA MINING EM VÍDEOS VINICIUS DA SILVEIRA SEGALIN FLORIANÓPOLIS OUTUBRO/2013 Sumário
Leia maisDOCUMENTAÇÃO DO FRAMEWORK - versão 2.0
DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 Índice 1 - Objetivo 2 - Descrição do ambiente 2.1. Tecnologias utilizadas 2.2. Estrutura de pastas 2.3. Bibliotecas já incluídas 3 - Características gerais 4 - Criando
Leia maisStatus. Barra de Título. Barra de Menu. Barra de. Ferramentas Padrão. Caixa de nomes. Barra de. Ferramentas de Formatação. Indicadores de Coluna
O que é uma planilha eletrônica? É um aplicativo que oferece recursos para manipular dados organizados em tabelas. A partir deles pode-se gerar gráficos facilitando a análise e interpretação dos dados
Leia maisMÓDULO 6 INTRODUÇÃO À PROBABILIDADE
MÓDULO 6 INTRODUÇÃO À PROBBILIDDE Quando estudamos algum fenômeno através do método estatístico, na maior parte das vezes é preciso estabelecer uma distinção entre o modelo matemático que construímos para
Leia maiswww. inf.br Outubro/2008 5www.habisp.inf.br TREINAMENTO HABISP VERBA DE ATENDIMENTO
5 www. HABISP. inf.br Outubro/2008 TREINAMENTO HABISP MÓDULO VERBA DE ATENDIMENTO 1 INTRODUÇÃO Este documento, tem por finalidade, permitir aos usuários a utilização das ferramentas do HABISP que possibilitam
Leia maisNome: Login: CA: Cidade: UF CARTÃO RESPOSTA QUESTÃO RESPOSTA QUESTÃO RESPOSTA
ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008 3º PERÍODO - 5º MÓDULO AVALIAÇÃO A4 DATA 23/04/2009 ENGENHARIA DE SOFTWARE Dados de identificação do Acadêmico: Nome: Login: CA: Cidade: UF CARTÃO RESPOSTA
Leia maisDesenvolvendo Websites com PHP
Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.
Leia maisGUIA DE REDAÇÃO PARA TRABALHO DE EM974
GUIA DE REDAÇÃO PARA TRABALHO DE EM974 CONSIDERAÇÕES GERAIS O objetivo deste documento é informar a estrutura e a informação esperadas num texto de Trabalho de Graduação. O conteúdo do texto deverá ser
Leia maisROTEIRO PARA TREINAMENTO DO SAGRES DIÁRIO Guia do Docente
Conceito ROTEIRO PARA TREINAMENTO DO SAGRES DIÁRIO Guia do Docente O Sagres Diário é uma ferramenta que disponibiliza rotinas que facilitam a comunicação entre a comunidade Docente e Discente de uma instituição,
Leia maisProgramação Web Prof. Wladimir
Programação Web Prof. Wladimir Linguagem de Script e PHP @wre2008 1 Sumário Introdução; PHP: Introdução. Enviando dados para o servidor HTTP; PHP: Instalação; Formato básico de um programa PHP; Manipulação
Leia maisMODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br 04/08/2012. Aula 7. Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord
MODELAGEM DE DADOS PROF. RAFAEL DIAS RIBEIRO, M.Sc. @ribeirord MODELAGEM DE DADOS Aula 7 Prof. Rafael Dias Ribeiro. M.Sc. @ribeirord 1 Objetivos: Aprender sobre a modelagem lógica dos dados. Conhecer os
Leia maisProf.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br
Programação com acesso a BD Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br 1 Modelos de Dados, Esquemas e Instâncias 2 Modelos de Dados, Esquemas e Instâncias Modelo de dados: Conjunto de conceitos
Leia maisManual do Visualizador NF e KEY BEST
Manual do Visualizador NF e KEY BEST Versão 1.0 Maio/2011 INDICE SOBRE O VISUALIZADOR...................................................... 02 RISCOS POSSÍVEIS PARA O EMITENTE DA NOTA FISCAL ELETRÔNICA.................
Leia maisA lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.
INTRODUÇÃO A lógica de programação é extremamente necessária para as pessoas que queiram trabalhar na área de programação, seja em qualquer linguagem de programação, como por exemplo: Pascal, Visual Basic,
Leia mais