1. O documento discute tecnologias relacionadas a XML e seu uso no SQL Server, incluindo noções básicas de XML, XPath, XQuery, XSLT, SVG, MathML e XML Schema.
2. É apresentado o suporte nativo do SQL Server para armazenamento e processamento de dados XML, incluindo o tipo de dado xml e XML Schema Collections.
3. São demonstrados exemplos de uso de XQuery para consultar dados XML armazenados e métodos do tipo xml no SQL Server.
XML (eXtensible Markup Language) é uma recomendação da W3C para gerar linguagens de marcação para necessidades especiais.
É um dos subtipos da SGML (acrônimo de Standard Generalized Markup Language ou Linguagem Padronizada de Marcação Genérica) capaz de descrever diversos tipos de dados. Seu propósito principal é a facilidade de compartilhamento de informações através da internet.
XML (eXtensible Markup Language) é uma recomendação da W3C para gerar linguagens de marcação para necessidades especiais.
É um dos subtipos da SGML (acrônimo de Standard Generalized Markup Language ou Linguagem Padronizada de Marcação Genérica) capaz de descrever diversos tipos de dados. Seu propósito principal é a facilidade de compartilhamento de informações através da internet.
PERMITE Y MUESTRA DIFERENTES HERRAMIENTAS IDEALES PARA EL USO DE LA INTERNET Y DE VARIOS SOFTWARE EDUCATIVOS PARA LA CORRECTA IMPLEMENTACION DE MATERIALES DIDÁCTICOS
Agenda:
- Debate inicial
- Suas experiências: XML e SQL Server
- XML e tecnologias relacionadas
- O que é XML?
- XML bem-formado
- XML Schema e XML válido
- XPath e XQuery
- Algumas aplicações de XML
- Suporte XML no SQL Server
- Tipo de dado XML nativo
- XML Schema Collections
- Métodos do tipo de dados XML
- Cláusula FOR XML
- Debate final
- Minhas experiências: XML e SQL Server
PERMITE Y MUESTRA DIFERENTES HERRAMIENTAS IDEALES PARA EL USO DE LA INTERNET Y DE VARIOS SOFTWARE EDUCATIVOS PARA LA CORRECTA IMPLEMENTACION DE MATERIALES DIDÁCTICOS
Agenda:
- Debate inicial
- Suas experiências: XML e SQL Server
- XML e tecnologias relacionadas
- O que é XML?
- XML bem-formado
- XML Schema e XML válido
- XPath e XQuery
- Algumas aplicações de XML
- Suporte XML no SQL Server
- Tipo de dado XML nativo
- XML Schema Collections
- Métodos do tipo de dados XML
- Cláusula FOR XML
- Debate final
- Minhas experiências: XML e SQL Server
Apresentar aos alunos a linguagem XML e sua estrutura.
Demonstrar as possibilidades de utilização do XML, assim como, as suas principais funcionalidades e recursos.
Paulo Augusto Loncarovich Gomes - UNESP - Mestrado em Ciência da Informação e Tecnologia, Universidade Estadual Paulista Júlio de Mesquita Filho - Faculdade de Filosofia e Ciências - Campus de Marília - Av. Hygino Muzzi Filho, 737 - Campus Universitário 17525-900 - Marilia, SP - Brasil - Caixa-Postal: 181
e-mail: loncarovich@marilia.unesp.br
Apresentado em 31 de Agosto de 2009.
Semelhante a Tecnologias XML eXML no SQL Server 2016 (20)
Na palestra "Docker com ASP.NET Core e Hospedagem no Azure", eu apresentei uma visão geral sobre contêineres, o Docker, o ASP.NET Core, Docker em contêineres Windows, Suporte a Dcoker no Azure, Visual Studio 2017 & Docker e Recursos para estudo.
Na minha palestra, eu apresentei as iniciativas da Microsoft para levar a plataforma de desenvolvimento Web ASP.NET para múltiplas plataformas, incluindo Linux e macOS, além do Windows. O novo .NET Core multiplataforma com suas ferramentas de linha de commando (.NET Core CLI), o novo padrão .NET Platform Standard e como funciona o .NET Core da codificação à execução. Eu abordei o ASP.NET Core, uma nova implementação da tecnologia de desenvolvimento Web ASP.NET para ser multiplataforma, muito mais rápida, leve e modular. Finalmente, eu apresentei uma série de Recursos para estudo.
A versão final (RTM) do novo framework .NET Core 1.0 foi lançada em 27 de junho de 2016. Veja os recursos do .NET Core 1.0 para desenvolver aplicações web com ASP.NET Core, aplicações Console e aplicações para Universal Windows Platform (UWP). Desenvolva no seu sistema operacional predileto: Windows, Mac OS X ou Linux. E veja qual a relação existe entre o novo framework .NET Core multiplataforma e o .NET Framework tradicional para Windows.
A versão final (RTM) do ASP.NET Core 1.0 também foi lançada em 27 de junho de 2016. Veja os recursos do ASP.NET Core 1.0 para desenvolver aplicações web com ASP.NET Core MVC e serviços web com ASP.NET Core Web API no seu sistema operacional predileto: Windows, Mac OS X ou Linux. Além disso, veja aplicações web ASP.NET Core 1.0 executando em servidores Windows, Linux e contêineres Docker. E veja qual a relação existe entre as novas aplicações ASP.NET Core e as anteriores: aplicações ASP.NET tradicionais, incluindo: ASP.NET Web Forms, ASP.NET MVC e ASP.NET Web Pages.
A versão final (RTM) do novo framework .NET Core 1.0 foi lançada em 27 de junho de 2016. Veja os recursos do .NET Core 1.0 para desenvolver aplicações web com ASP.NET Core, aplicações Console e aplicações para Universal Windows Platform (UWP). Desenvolva no seu sistema operacional predileto: Windows, Mac OS X ou Linux. E veja qual a relação existe entre o novo framework .NET Core multiplataforma e o .NET Framework tradicional para Windows.
A versão final (RTM) do ASP.NET Core 1.0 também foi lançada em 27 de junho de 2016. Veja os recursos do ASP.NET Core 1.0 para desenvolver aplicações web com ASP.NET Core MVC e serviços web com ASP.NET Core Web API no seu sistema operacional predileto: Windows, Mac OS X ou Linux. Além disso, veja aplicações web ASP.NET Core 1.0 executando em servidores Windows, Linux e contêineres Docker. E veja qual a relação existe entre as novas aplicações ASP.NET Core e as anteriores: aplicações ASP.NET tradicionais, incluindo: ASP.NET Web Forms, ASP.NET MVC e ASP.NET Web Pages.
Há pouco mais de um ano, o time de projeto da C# 7 na Microsoft está planejando, debatendo, experimentando e testando as ideias dos próximos recursos a serem incorporados na próxima versão da linguagem. A palestra tem como objetivo explorar o que esperar de um futuro próximo da linguagem.
Hoje, dia 21 de maio de 2016, eu apresentei a palestra: Um novo .NET multiplataforma:
ASP.NET Core, .NET Core e Entity Framework Core. As informações foram atualizadas com informações dos recém-lançados: ASP.NET Core RC2, .NET Core RC2 e Entity Framework Core RC2. A tão esperada versão Release Candidate 2 (RC2) foi liberada há apenas 5 dias: no dia 16 de maio de 2016. A versão final (RTM) está planejada para ser liberada até o final de junho de 2016.
Os anúncios do ASP.NET Core RC2, .NET Core RC2, Entity Framework Core RC2 e .NET Core SDK Preview 1 podem ser lidos em dois posts no blog do time de engenheiros .NET da Microsoft, em inglês: Announcing .NET Core RC2 and .NET Core SDK Preview 1 e Announcing Entity Framework Core RC2.
Eu apresentarei a palestra “ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem” na edição de Brasília. Veja nesta palestra, as novidades mais recentes das novas plataformas de desenvolvimento multiplataforma da Microsoft:
- ASP.NET Core 1.0 (anteriormente chamado de ASP.NET Core 5), que é o novo framework de desenvolvimento web multiplataforma da Microsoft que contém o ASP.NET Core MVC (anteriormente chamado de ASP.NET MVC 6) que, agora, está integrado com o ASP.NET Core Web API.
- .NET Core 1.0 (anteriormente chamado de .NET Core 5), novo framework de uso geral que contém um subconjunto do .NET Framework e outras APIs únicas.
- Entity Framework Core 1.0 (anteriormente chamado de Entity Framework 7), que é o novo framework de mapeamento objeto relacional da Microsoft e não somente isso, pois há extensões para suporta acesso a bancos de dados NoSQL, dentre outros paradigmas de acesso a dados.
Em 2016 a Microsoft inicia uma nova fase para a plataforma .NET, com os frameworks ASP.NET Core, .NET Core e EF Core. O novo .NET Core é um ambiente de execução modular que inclui um subconjunto do .NET Framework 4.6.x, é multiplataforma (Windows, Mac, Linux), além de ser otimizado para a nuvem. O ASP.NET Core 1.0 inclui o MVC e o Web API; e o Entity Framework Core 1.0 é uma nova implementação do framework de mapeamento O/R.
Nesta palestra, exploraremos o estágio atual dos novos frameworks Core, vendo na prática uma aplicação ASP.NET .NET Core 1.0 (MVC) com uso do Entity Framework Core 1.0 e baseada no .NET Core 1.0 sendo criada e executada em múltiplas plataformas. São discutidas também as principais limitações existentes nos três frameworks em sua versão inicial – e como as mudanças podem afetar o seu desenvolvimento no dia a dia.
Agenda:
- Plataforma de compiladores .NET & Visual Studio 2015
- Plataforma de compiladores .NET (“Roslyn”)
- Evolução do projeto “Roslyn”
- Linha de produtos comerciais do Visual Studio 2015
- Linha de produtos gratuitos do Visual Studio 2015
- Visual Studio Online e Visual Studio Code
- Visual Studio 2015 RTM
- Novidades da linguagem de programação C# 6
- Construtores primários (C# 7)
- Avanços em propriedades automáticas
- Atribuição de propriedades automáticas somente com get no construtor
- using estático
- await em blocos catch e finally
- Filtros de exceção
- Operadores nulos-condicionais
- Expressões nameof
- Expressões de declaração (C# 7)
- Expressões de corpo em membros de função
- Iniciadores de índice
- Literais binários e separadores de dígitos (C# 7)
- Interpolação de strings
- Ferramentas e documentação
- Recursos adicionais
The Developer’s Conference (TDC) 2015 Florianópolis: O Entity Framework 7 na ...Rogério Moraes de Carvalho
No dia 16 de maio de 2015, eu apresentei a minha palestra sobre a próxima versão do Entity Framework na trilha .NET com o título “O Entity Framework 7 na evolução da plataforma .NET 2015”. Devido ao tempo escasso de duração da palestra, apenas 25 min, eu fiz uma apresentação teórica mostrando a evolução do framework de mapeamento objeto-relacional (ORM) da Microsoft e o que esperar da próxima versão (EF7), que deve ter a sua primeira versão estável lançada ainda no ano de 2015.
Eu apresentei os seguintes tópicos na minha palestra:
- O que é o Entity Framework 7?
- Evolução do Entity Framework
- Plataformas
- Fontes de dados
- Provedores de fontes de dados
- Novo núcleo
- Novas características
- Prioridades
- Recursos adicionais
MVP Virtual Conference (MVP V-Conf) 2015: Executando ASP.NET MVC 6 no Mac OS ...Rogério Moraes de Carvalho
O MVP Virtual Conference (MVP V-Conf) é um novo evento virtual de dois dias apresentado por especialistas em tecnologia independentes que utilizam tecnologias da Microsoft diariamente. Conecte-se e veja o que a comunidade de usuários avançados está dizendo sobre o mundo de possibilidades mobile-first, cloud-first com tecnologias Microsoft reestruturadas.
Seguem as 5 trilhas do evento:
- IT Pro Track (English)
- Developer Track (English)
- Consumer Track (English)
- LATAM Track (Spanish)
- Brazil Track (Portuguese)
Na minha palestra, eu apresentei informações sobre como executar ASP.NET MVC 6 no Mac OS X e no Linux. A ideia foi apresentar um passo a passo de como configurar os sistemas operacionais Mac OS X e Linux para desenvolvimento de aplicações ASP.NET MVC 6, e ASP.NET 5 em geral.
Eu apresentei os seguintes tópicos na minha palestra:
- .NET no Linux e no Mac OS X
- ASP.NET 5 e ASP.NET MVC 6
- Visual Studio Code
- Linha de produtos Visual Studio 2015
- Ambientes de desenvolvimento
- Tecnologia de contêiner
- Suporte atual em Linux e Mac OS X
- Demonstração e recursos adicionais
Palestra "Plataforma de compiladores .NET, C# 6 e Visual Studio 2015" apresentada no dia 25 de abril de 2015 no evento Global Azure Bootcamp 2015 da Microsoft.
Palestra Plataforma de compiladores .NET (“Roslyn”), C# 6 e Visual Studio “14” na trilha .NET da edição 2014 de Poerto Alegre. Neste ano de 2014, o evento está tendo edições nas três seguintes cidades: São Paulo, Florianópolis e Porto Alegre.
Na apresentação, eu abordei o projeto de codinome "Roslyn", que passou a ser chamado de Plataforma de compiladores .NET e sua evolução. Depois eu comentei sobre a evolução da plataforma ASP.NET e os componentes do ASP.NET vNext. Além disso, eu comentei das novidades do Visual Studio "14" CTP 4, cuja versão final deve ser lançada em meados do ano que vem, muito provavelmente como o Visual Studio 2015.
Finalmente, eu comentei sobre as principais novidades da próxima versão da linguagem de programação C#: C# 6. Sendo que algumas das novidades planejadas acabaram de ser prorrogadas pelo time de produto da Microsoft para uma próxima versão, provavelmente a linguagem C# 7, por uma questão de haver um tempo reduzido para o lançamento. Por enquanto, as novidades anunciadas que serão cortadas são construtores primários e expressões de declaração.
Programação assíncrona com C# 5 no Visual Studio 2013 [MVP ShowCast 2013 - DE...Rogério Moraes de Carvalho
Palestra: Programação assíncrona com C# 5 no Visual Studio 2013
Palestrante: Rogério Moraes de Carvalho (MVP Visual C#)
Realização: 03/12/2013 17h
Trilha: Ferramentas de desenvolvimento & Linguagens de programação
Sessão: Desenvolvimento
Evento: MVP ShowCast 2013
Site: http://mvpshowcast.azurewebsites.net
Informações sobre as seguintes linguagens de programação: C, C++, Objective-C, Java, JavaScript, Ruby, PHP e C#. Exposição de algumas aplicações destas linguagens em desenvolvimento: de sistemas operacionais (sistemas baseados em UNIX e Windows), desktop (Windows, Mac OS X e Linux), Web (do lado do servidor e do lado do cliente), para smartphones e tablets (Android, iOS, Windows Phone, Windows Store apps), para a nuvem (Amazon Web Services, Windows Azure, Google App Engine), de jogos para múltiplas plataformas, etc.
SQLSaturday #253 | Brasília 2013 - Mapeamento Objeto-Relacional com o Entity ...Rogério Moraes de Carvalho
Esta foi a minha primeira palestra no evento SQLSaturday #253, em Brasília-DF, e foi realizada na trilha Desenvolvimento no dia 28/09/2013 (sábado), das 10h às 11h10. Eu apresentei uma visão geral sobre o conceito de mapeamento-objeto relacional e comentei sobre dois dos principais frameworks usados na plataforma .NET: Entity Framework (Microsoft/Open Source) e NHibernate (Open Source). Além disso, eu comentei sobre algumas das principais novidades do Entity Framework 5 e do Entity Framework 6.
HTML5 + CSS3 em múltiplos browsers, em múltiplas plataformas e em múltiplos d...Rogério Moraes de Carvalho
Eu apresentei a minha palestra sobre desenvolvimento Web com HTML5 e CSS3 voltado para múltiplos browsers, em múltiplas plataformas e em múltiplos dispositivos no dia 18 de julho de 2013, das 21h30 às 22h30. A palestra foi apresentada no Cenário Pitágoras e foi transmitida ao vivo pela Internet, sendo que a gravação será disponibilizada posteriormente.
Na palestra, eu apresentei alguns novos elementos do HTML5 que permitem desenvolver páginas Web mais semânticas, como: header, footor, article, section, nav e aside. Depois, eu apresentei alguns recursos de módulos das especificações que constituem a CSS3, como os novos seletores, arredondamento de bordas com a propriedade border-radius, gradientes de cores lineares com a função linear-gradient e radial com a função radial-gradient, sombras em textos com a propriedade text-shadow e em caixas com a propriedade box-shadow, efeitos de transição em algumas propriedades com a propriedade transition, dentre outros recursos.
The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...Rogério Moraes de Carvalho
Assincronia no .NET 4.5, Task-based Asynchronous Pattern (TAP), async e await, Cancelamento com CancellationTokenSource e CancellationToken e progresso com a interface System.IProgress de um tipo T genérico e a classe System.Progress de um tipo genérico T.
Em um mundo cada vez mais digital, a segurança da informação tornou-se essencial para proteger dados pessoais e empresariais contra ameaças cibernéticas. Nesta apresentação, abordaremos os principais conceitos e práticas de segurança digital, incluindo o reconhecimento de ameaças comuns, como malware e phishing, e a implementação de medidas de proteção e mitigação para vazamento de senhas.
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...Faga1939
Este artigo tem por objetivo apresentar como ocorreu a evolução do consumo e da produção de energia desde a pré-história até os tempos atuais, bem como propor o futuro da energia requerido para o mundo. Da pré-história até o século XVIII predominou o uso de fontes renováveis de energia como a madeira, o vento e a energia hidráulica. Do século XVIII até a era contemporânea, os combustíveis fósseis predominaram com o carvão e o petróleo, mas seu uso chegará ao fim provavelmente a partir do século XXI para evitar a mudança climática catastrófica global resultante de sua utilização ao emitir gases do efeito estufa responsáveis pelo aquecimento global. Com o fim da era dos combustíveis fósseis virá a era das fontes renováveis de energia quando prevalecerá a utilização da energia hidrelétrica, energia solar, energia eólica, energia das marés, energia das ondas, energia geotérmica, energia da biomassa e energia do hidrogênio. Não existem dúvidas de que as atividades humanas sobre a Terra provocam alterações no meio ambiente em que vivemos. Muitos destes impactos ambientais são provenientes da geração, manuseio e uso da energia com o uso de combustíveis fósseis. A principal razão para a existência desses impactos ambientais reside no fato de que o consumo mundial de energia primária proveniente de fontes não renováveis (petróleo, carvão, gás natural e nuclear) corresponde a aproximadamente 88% do total, cabendo apenas 12% às fontes renováveis. Independentemente das várias soluções que venham a ser adotadas para eliminar ou mitigar as causas do efeito estufa, a mais importante ação é, sem dúvidas, a adoção de medidas que contribuam para a eliminação ou redução do consumo de combustíveis fósseis na produção de energia, bem como para seu uso mais eficiente nos transportes, na indústria, na agropecuária e nas cidades (residências e comércio), haja vista que o uso e a produção de energia são responsáveis por 57% dos gases de estufa emitidos pela atividade humana. Neste sentido, é imprescindível a implantação de um sistema de energia sustentável no mundo. Em um sistema de energia sustentável, a matriz energética mundial só deveria contar com fontes de energia limpa e renováveis (hidroelétrica, solar, eólica, hidrogênio, geotérmica, das marés, das ondas e biomassa), não devendo contar, portanto, com o uso dos combustíveis fósseis (petróleo, carvão e gás natural).
Este certificado confirma que Gabriel de Mattos Faustino concluiu com sucesso um curso de 42 horas de Gestão Estratégica de TI - ITIL na Escola Virtual entre 19 de fevereiro de 2014 a 20 de fevereiro de 2014.
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
Guardioes Digitais em ação: Como criar senhas seguras!
Tecnologias XML eXML no SQL Server 2016
1. Tecnologias XML e XML no SQL Server
Rogério Moraes de Carvalho
Consultor e instrutor de TI
rogeriom.wordpress.com | @rogeriomc
2. Agenda
Noções de XML
O que é XML?
Estrutura de um documento XML
XML bem formado
Algumas tecnologias XML
Endereçamento de XML com XPath
Consulta de XML com XQuery
Funções de XPath e XQuery
Transformação de XML com XSLT
Imagens vetoriais no formato SVG
Equações matemáticas com MathML
Noções de XML Schema
O que é XML Schema?
Estrutura de um documento XSD
Suporte a XML no SQL Server
Tipo de dado xml
XML Schema Collections
Métodos do tipo de dado xml
Declaração de XML namespaces
Extensões XML DML do Xquery
Documentação
Documentação no W3C
4. O que é XML?
XML: Extensible Markup Language
Formato baseado em texto simples
Representa informações estruturadas
Derivado do formato padrão SGML
Standard Generalized Markup Language
Alguns usos de XML
Formatos de softwares de escritório
OOXML: Office Open XML / OpenDocument
Arquivos de configuração
Armazenamento de dados estruturados
<ConteudoItem>
<SituacaoEstimulo>
Uma máquina de 9 V tem uma
resistência de 0,2 &#8486;.
</SituacaoEstimulo>
<Comando>
Qual é a corrente elétrica?
</Comando>
<Opcoes IdGabarito="e">
<Opcao Id="a">1,8 A.</Opcao>
<Opcao Id="b">22,2 mA.</Opcao>
<Opcao Id="c">22,2 A.</Opcao>
<Opcao Id="d">45 A.</Opcao>
<Opcao Id="e">45 mA.</Opcao>
</Opcoes>
</ConteudoItem>
5. Estrutura de um documento XML
<?xml version="1.0" encoding="iso-8859-1"?>
<ConteudoItem xmlns="http://www.cebraspe.org.br/TesteEletronico/ConteudoItem">
<SituacaoEstimulo>
Uma máquina de 9 V tem uma resistência de 0,2 &#8486;.
</SituacaoEstimulo>
<Comando>Qual é a corrente elétrica?</Comando>
<!-- O gabarito precisa ser revisado. -->
<Opcoes IdGabarito="e">
<Opcao Id="a">1,8 A.</Opcao>
<Opcao Id="b">22,2 mA.</Opcao>
<Opcao Id="c">22,2 A.</Opcao>
<Opcao Id="d">45 A.</Opcao>
<Opcao Id="e">45 mA.</Opcao>
</Opcoes>
</ConteudoItem>
Instrução de processamento
Atributo
Elemento
Comentário
Texto
Namespace
Marcador de abertura
Marcador de fechamento
6. XML bem formado
Principais regras de um documento bem formado
Elementos
Deve haver um único elemento raiz que contém todos os outros elementos
Todo elemento deve ter mesmos nomes nos marcadores de abertura e fechamento
XML faz distinção entre letras maiúsculas e minúsculas
Elementos devem estar aninhados corretamente, sem estarem intercalados
Atributos
Nomes de atributos não podem se repetir num mesmo marcador de abertura ou elemento vazio
Todos os atributos devem ter um valor
O valor de todo atributo deve estar delimitado por aspas ou por apóstrofos
Valores de atributos não podem ter o caractere <
7. Demonstração 1: Criando um documento XML
Montar um documento XML para representar os seguintes dados
Livros
ID Titulo Autor(es)
Número
de páginas
Editora
Data de
publicação
1 Clean Code Robert C. Martin 464 Prentice Hall 01/08/2008
2 T-SQL Querying
Itzik Ben-Gan
Adam Machanic
Dejan Sarka
Kevin Farlee
861 Microsoft Press 17/02/2015
3 C# 6.0 in a Nutshell
Joseph Albahari
Ben Albahari
1138 O’Reilly 04/11/2015
8. Laboratório 1: Criando um documento XML (10 min)
Montar um documento XML para representar os seguintes dados
Agenda de contatos
ID
Primeiro
nome
Sobrenome Sexo
Data de
nascimento
Telefones E-mails
1 Camila da Silva Pereira F 15/02/1987
Celular: (61) 98888-8888
Residencial: (61) 3222-2222
Trabalho: (61) 2111-1111
Pessoal:
camilas@gmail.com
Trabalho:
camila.silva@bb.com.br
2 Pedro Marques Brito M 01/12/1995
Celular: (11) 98222-2222
Residencial: (11) 2333-3333
Pessoal:
pedromb@hotmail.com
3 Bárbara Albuquerque F 20/03/2000
Residencial: (21) 3444-4444
Trabalho: (21) 3777-7777
Pessoal:
barbara25@gmail.com
Trabalho:
barbaraa@brb.com.br
10. Endereçamento de XML com XPath
ele – seleciona o elemento filho ele
* – seleciona todos os elementos filhos
text() – seleciona todos nós textos
@atr – seleciona o atributo atr
@* – seleciona todos atributos filhos
ele[1] – seleciona o primeiro filho ele
ele[last()] – seleciona o último filho ele
. – seleciona o nó contexto
.. – seleciona o pai do nó contexto
ele1/ele2 – seleciona os elementos ele2 descendentes
diretos do elemento ele1
ele1//ele2 – seleciona os elementos ele2
descendentes do elemento ele1
ele/@atr –seleciona o atributo atr do elemento ele
ele[@atr="val"] – seleciona os elementos ele com
atributo atr com valor val
ele[@atr="val"][3] – seleciona o terceiro elemento
filho ele com atributo atr com
valor val
O que é XML Path Language (XPath)?
É uma linguagem de expressão que permite o processamento de valores
Sintaxe abreviada de caminhos para localização (relativa ao nó contexto)
11. Consulta de XML com XQuery
O que é XQuery?
É uma linguagem padronizada para combinar dados de documentos, bancos de
dados, páginas web e outros dados
Expressões FLWOR do Xquery
for – seleciona uma sequência de nós
let – vincula uma sequência a uma variável
where – filtra os nós
order by – ordena os nós
return – define o que retornar
(avaliado uma vez para cada nó)
for $opcao in doc("ConteudoItem.xml")
/ConteudoItem/Opcoes/Opcao
where $opcao/Id > 'b'
order by $opcao/@Id
return $opcao
12. Funções de XPath e XQuery
Funções de agregação
count($arg) – número de itens de $arg
sum($arg) – soma dos valores de $arg
avg($arg) – média dos valores de $arg
max($arg) – maior valor de $arg
min($arg) – menor valor de $arg
Funções numéricas
round($arg) – arredonda o valor de $arg
abs($arg) – valor absoluto de $arg
Funções de extensão da Microsoft
sql:column($col) – Valor da coluna $col
sql:variable($var) – Valor da variável
$var
Funções em valores string
concat($arg1, $arg2, ...) – concatena os strings
contains($arg1, $arg2) – $arg1 contém $arg2
starts-with($arg1, $arg2) – $arg1 começa com $arg2
ends-with($arg1, $arg2) – $arg1 termina com $arg2
substring($str, $inicio, $comprimento)
substring($str, $inicio) – retorna parte do string
substring-before($arg1, $arg2) – substring antes
substring-after($arg1, $arg2) – substring depois
concat($arg1, $arg2, ...) – concatena os strings
string-length($arg) – comprimento do string
upper-case($arg) – converte para letras maiúsculas
lower-case($arg) – converte para letras minúsculas
Funções por categoria
13. Transformação de XML com XSLT
O que é XSLT?
É uma linguagem projetada para transformar documentos XML em outros
documentos XML
Especificação mais recente no W3C
XSL Transformations (XSLT) Version 3.0
W3C Candidate Recommendation 19 November 2015: https://www.w3.org/TR/xslt-30/
14. Imagens vetoriais no formato SVG
O que é SVG?
É uma linguagem para descrever gráficos bidimensionais em XML
Permite três tipos de objetos gráficos:
Formas gráficas vetoriais (linhas e curvas)
Imagens
Texto
Especificação no W3C
Scalable Vector Graphics (SVG) 1.1 (Second Edition)
W3C Recommendation 16 August 2011: https://www.w3.org/TR/SVG11/
15. Equações matemáticas com MathML
O que é MathML?
É uma linguagem de marcação para descrever elementos matemáticos
Especificação no W3C
Mathematical Markup Language (MathML) Version 3.0 2nd Edition
W3C Recommendation 10 April 2014: https://www.w3.org/TR/MathML3/
16. Demonstração 2: Usando XQuery para consultar XML
Livros com mais de 500 páginas?
Total de páginas dos livros
Livro com menos páginas
Livros publicados em fevereiro
Títulos dos livros com mais de um autor
Autores com Ben no nome
Autores de todos livros em ordem alfabética
Autores com último sobrenome Albahari
ID Titulo Autor(es)
Número
de páginas
Editora
Data de
publicação
1 Clean Code Robert C. Martin 464 Prentice Hall 01/08/2008
2 T-SQL Querying
Itzik Ben-Gan
Adam Machanic
Dejan Sarka
Kevin Farlee
861 Microsoft Press 17/02/2015
3 C# 6.0 in a Nutshell
Joseph Albahari
Ben Albahari
1138 O’Reilly 04/11/2015
17. Laboratório 1: Usando XQuery para consultar XML
Contato de ID igual a 2
Contatos com mais de um e-mail
Todos os e-mails do Gmail
Nomes completos ordenados alfabeticamente
ID
Primeiro
nome
Sobrenome Sexo
Data de
nascimento
Telefones E-mails
1 Camila da Silva Pereira F 15/02/1987
Celular: (61) 98888-8888
Residencial: (61) 3222-2222
Trabalho: (61) 2111-1111
Pessoal:
marias@gmail.com
Trabalho:
maria.silva@bb.com.br
2 Pedro Marques Brito M 01/12/1995
Celular: (11) 98222-2222
Residencial: (11) 2333-3333
Pessoal:
pedromb@hotmail.com
3 Bárbara Albuquerque F 20/03/2000
Residencial: (21) 3444-4444
Trabalho: (21) 3777-7777
Pessoal:
barbara25@gmail.com
Trabalho:
barbaraa@brb.com.br
19. O que é XML Schema?
XML Schema (Esquema XML)
É uma linguagem para expressar restrições em documentos XML
Esquemas de validação XML definidos pelo W3C
Document Type Definition (DTD)
XML Schema Definition (XSD)
Usos de esquemas XML
Fornecer um vocabulário de elementos e atributos e onde podem aparecer
Associar tipos de dados com os valores encontrados num documento XML
Para fornecer uma descrição formal de um conjunto de documentos XML
20. Estrutura de um documento XSD
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://www.cebraspe.org.br/TesteEletronico/ConteudoItem"
targetNamespace="http://www.cebraspe.org.br/TesteEletronico/ConteudoItem"
elementFormDefault="qualified">
<xs:element name="ConteudoItem">
<xs:complexType>
<xs:sequence>
<xs:element name="SituacaoEstimulo" type="xs:string" />
<xs:element name="Comando" type="xs:string" />
...
</xs:sequence>
</xs:complexType>
</xs:element>
...
</xs:schema>
Um documento XML que
satisfaz uma gramática XSD é
considerado um documento
XML válido
22. Tipo de dado xml
O que é o tipo de dado xml no SQL Server?
Tipo de dado para armazenar dados XML
Permite armazenar documentos ou fragmentos XML num banco de dados
É possível criar colunas e variáveis do tipo xml para armazenar instâncias XML
A representação do tipo de dado xml não pode ultrapassar o limite de 2 GB
XML tipado
Tipos de dado xml associado com um XML Schema Collection
Os esquemas na coleção são usados para validar e tipificar as instâncias XML
DECLARE @conteudoItem xml (TesteEletronico.ConteudoItemSchemaCollection);
23. XML Schema Collections
O que são XML Schema Collections no SQL Server?
Armazenam XML Schemas importados e são usados para:
Validar instâncias de XML
Tipificar dados XML quando armazenados no banco de dados
DDL para gerenciar coleções de esquemas XML
CREATE XML SCHEMA COLLECTION
ALTER XML SCHEMA COLLECTION
DROP XML SCHEMA COLLECTION
CREATE XML SCHEMA COLLECTION TesteEletronico.ConteudoItemSchemaCollection AS
N'<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" ... > ... </xsd:schema>';
24. Métodos do tipo de dado xml
Há cinco métodos do tipo de dado xml
value('XQuery', 'Tipo de dado do SQL Server')
Método para consultar uma instância XML e retornar um valor escalar do tipo do SQL Server
query('XQuery')
Método para consultar uma instância XML e retornar uma instância de XML não tipado
exist('XQuery')
Método para consultar uma instância XML e retornar um valor do tipo bit
1 (resultado não vazio), 0 (resultado vazio), NULL (instância nula do XML)
nodes('XQuery') AS Tabela(Coluna)
Método para consultar uma instância XML e transformas nós XML em dados relacionais
modify('XML_DML')
Método para modificar o conteúdo de uma instância XML (incluir, excluir e atualizar nós XML)
25. Declaração de XML namespaces
Declaração de XML namespace na instrução XQuery
declare namespace prefixo = "namespace";
Sintaxe da instrução Transact-SQL WITH XMLNAMESPACES
WITH XMLNAMESPACES (
prefixo1 = "namespace1"
, prefixo2 = "namespace2"
, ...
, prefixoN = "namespaceN"
, DEFAULT "namespaceDefault"
)
...
27. Documentação no W3C
Extensible Markup Language (XML) 1.0 (Fifth Edition)
W3C Recommendation 26 November 2008: https://www.w3.org/TR/xml/
W3C XML Schema Definition Language (XSD) 1.1 Part 1: Structures
W3C Recommendation 5 April 2012: https://www.w3.org/TR/xmlschema11-1/
W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes
W3C Recommendation 5 April 2012: https://www.w3.org/TR/xmlschema11-2/
XML Path Language (XPath) 3.0
W3C Recommendation 08 April 2014: https://www.w3.org/TR/xpath-30/
XQuery 1.0: An XML Query Language (Second Edition)
W3C Recommendation 14 December 2010: https://www.w3.org/TR/xquery/
28. Documentação no W3C
XQuery 1.0 and XPath 2.0 Functions and Operators (Second Edition)
W3C Recommendation 14 December 2010: https://www.w3.org/TR/xquery-operators/
XQuery 3.0: An XML Query Language
W3C Recommendation 08 April 2014: https://www.w3.org/TR/xquery-30/
XSL Transformations (XSLT) Version 3.0
W3C Candidate Recommendation 19 November 2015: https://www.w3.org/TR/xslt-30/
Scalable Vector Graphics (SVG) 1.1 (Second Edition)
W3C Recommendation 16 August 2011: https://www.w3.org/TR/SVG11/
Mathematical Markup Language (MathML) Version 3.0 2nd Edition
W3C Recommendation 10 April 2014: https://www.w3.org/TR/MathML3/