SlideShare uma empresa Scribd logo
1 de 28
Baixar para ler offline
Tecnologias XML e XML no SQL Server
Rogério Moraes de Carvalho
Consultor e instrutor de TI
rogeriom.wordpress.com | @rogeriomc
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
Noções de XML
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 &amp;#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>
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 &amp;#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
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 <
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
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
Algumas tecnologias XML
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)
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
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
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/
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/
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/
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
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
Noções de XML Schema
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
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
Suporte a XML no SQL Server
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);
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>';
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)
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"
)
...
Documentação
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/
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/

Mais conteúdo relacionado

Destaque

Clasificación de equipos de computo
Clasificación de equipos de computoClasificación de equipos de computo
Clasificación de equipos de computogeordany
 
Presentaciones Multimedia
Presentaciones MultimediaPresentaciones Multimedia
Presentaciones MultimediaRoo Recatume
 
Tipos de comunidades virtuales
Tipos de comunidades virtualesTipos de comunidades virtuales
Tipos de comunidades virtualesPao Gomez
 
METODOLOGIAS PARA EL ANALISI Y DISEÑO DE SISTEMAS
METODOLOGIAS PARA EL ANALISI Y DISEÑO DE SISTEMASMETODOLOGIAS PARA EL ANALISI Y DISEÑO DE SISTEMAS
METODOLOGIAS PARA EL ANALISI Y DISEÑO DE SISTEMASLenin Acosta Mata
 
Formatosarchivos
FormatosarchivosFormatosarchivos
FormatosarchivosAlevg CG
 
Proyecto de hoja de calculo
Proyecto de hoja de calculoProyecto de hoja de calculo
Proyecto de hoja de calculomemesanchez
 
Unidades de medida de almacenamiento de información
Unidades de medida de almacenamiento de informaciónUnidades de medida de almacenamiento de información
Unidades de medida de almacenamiento de informaciónyeissonmena
 
Comunicación en línea. rebeca quesada
Comunicación en línea. rebeca quesadaComunicación en línea. rebeca quesada
Comunicación en línea. rebeca quesadaianjalal
 
Presentaciones multimedia
Presentaciones multimediaPresentaciones multimedia
Presentaciones multimediadocenciaempleo
 
Consejos para buscar en Internet
Consejos para buscar en InternetConsejos para buscar en Internet
Consejos para buscar en InternetMariana Fossatti
 
Sesion Nº 02 Fundamentos Del Software Libre Instalacion Y Configuración D...
Sesion Nº 02   Fundamentos Del Software Libre   Instalacion Y Configuración D...Sesion Nº 02   Fundamentos Del Software Libre   Instalacion Y Configuración D...
Sesion Nº 02 Fundamentos Del Software Libre Instalacion Y Configuración D...Edgar A. Cruz Huaman
 
Hoja de calculo
Hoja de calculoHoja de calculo
Hoja de calculofraksmolls
 
Procesador De Texto Rodrigo Vargas
Procesador De Texto Rodrigo VargasProcesador De Texto Rodrigo Vargas
Procesador De Texto Rodrigo Vargasguestef2f74
 
Medidas de información y Sistemas de Numeración
Medidas de información y Sistemas de NumeraciónMedidas de información y Sistemas de Numeración
Medidas de información y Sistemas de Numeraciónrichard_avariano
 
Comó buscar y comó encontrar informacion en internet
Comó buscar y comó encontrar informacion en internetComó buscar y comó encontrar informacion en internet
Comó buscar y comó encontrar informacion en internetMafe Velosa Rodriguez
 

Destaque (20)

Clasificación de equipos de computo
Clasificación de equipos de computoClasificación de equipos de computo
Clasificación de equipos de computo
 
Presentaciones Multimedia
Presentaciones MultimediaPresentaciones Multimedia
Presentaciones Multimedia
 
Tipos de comunidades virtuales
Tipos de comunidades virtualesTipos de comunidades virtuales
Tipos de comunidades virtuales
 
METODOLOGIAS PARA EL ANALISI Y DISEÑO DE SISTEMAS
METODOLOGIAS PARA EL ANALISI Y DISEÑO DE SISTEMASMETODOLOGIAS PARA EL ANALISI Y DISEÑO DE SISTEMAS
METODOLOGIAS PARA EL ANALISI Y DISEÑO DE SISTEMAS
 
Hardware
Hardware Hardware
Hardware
 
Eq. 6 unidades
Eq. 6 unidadesEq. 6 unidades
Eq. 6 unidades
 
Formatosarchivos
FormatosarchivosFormatosarchivos
Formatosarchivos
 
Proyecto de hoja de calculo
Proyecto de hoja de calculoProyecto de hoja de calculo
Proyecto de hoja de calculo
 
Unidades de medida de almacenamiento de información
Unidades de medida de almacenamiento de informaciónUnidades de medida de almacenamiento de información
Unidades de medida de almacenamiento de información
 
Comunicación en línea. rebeca quesada
Comunicación en línea. rebeca quesadaComunicación en línea. rebeca quesada
Comunicación en línea. rebeca quesada
 
Manual De Word
Manual De WordManual De Word
Manual De Word
 
Presentaciones multimedia
Presentaciones multimediaPresentaciones multimedia
Presentaciones multimedia
 
Consejos para buscar en Internet
Consejos para buscar en InternetConsejos para buscar en Internet
Consejos para buscar en Internet
 
Sesion Nº 02 Fundamentos Del Software Libre Instalacion Y Configuración D...
Sesion Nº 02   Fundamentos Del Software Libre   Instalacion Y Configuración D...Sesion Nº 02   Fundamentos Del Software Libre   Instalacion Y Configuración D...
Sesion Nº 02 Fundamentos Del Software Libre Instalacion Y Configuración D...
 
Busqueda de informacion
Busqueda de informacion Busqueda de informacion
Busqueda de informacion
 
Comunicacion en linea
Comunicacion en lineaComunicacion en linea
Comunicacion en linea
 
Hoja de calculo
Hoja de calculoHoja de calculo
Hoja de calculo
 
Procesador De Texto Rodrigo Vargas
Procesador De Texto Rodrigo VargasProcesador De Texto Rodrigo Vargas
Procesador De Texto Rodrigo Vargas
 
Medidas de información y Sistemas de Numeración
Medidas de información y Sistemas de NumeraciónMedidas de información y Sistemas de Numeración
Medidas de información y Sistemas de Numeración
 
Comó buscar y comó encontrar informacion en internet
Comó buscar y comó encontrar informacion en internetComó buscar y comó encontrar informacion en internet
Comó buscar y comó encontrar informacion en internet
 

Semelhante a Tecnologias XML e XML no SQL Server 2016

Semelhante a Tecnologias XML e XML no SQL Server 2016 (20)

Suporte XML nativo no SQL Server 2014/2016
Suporte XML nativo no SQL Server 2014/2016Suporte XML nativo no SQL Server 2014/2016
Suporte XML nativo no SQL Server 2014/2016
 
Aplicando Transformação em XML usando XSLT e XSL-FO - 1
Aplicando Transformação em XML usando XSLT e XSL-FO - 1Aplicando Transformação em XML usando XSLT e XSL-FO - 1
Aplicando Transformação em XML usando XSLT e XSL-FO - 1
 
Parte5 xml
Parte5 xmlParte5 xml
Parte5 xml
 
Xml pucminas2013
Xml pucminas2013Xml pucminas2013
Xml pucminas2013
 
XML_WS.pdf
XML_WS.pdfXML_WS.pdf
XML_WS.pdf
 
A e xtensible markup language (xml)
A e xtensible markup language (xml)A e xtensible markup language (xml)
A e xtensible markup language (xml)
 
Arquitetura: XML + RDF ate WebSemantica
Arquitetura: XML + RDF ate WebSemanticaArquitetura: XML + RDF ate WebSemantica
Arquitetura: XML + RDF ate WebSemantica
 
JustJava 2004: JAXB
JustJava 2004: JAXBJustJava 2004: JAXB
JustJava 2004: JAXB
 
Tp 4 xml
Tp 4   xmlTp 4   xml
Tp 4 xml
 
XSL, XSL-FO e XSLT + XPath
XSL, XSL-FO e XSLT + XPathXSL, XSL-FO e XSLT + XPath
XSL, XSL-FO e XSLT + XPath
 
XML - Parte 1
XML - Parte 1XML - Parte 1
XML - Parte 1
 
Aula Introdução a Linguagem XML
Aula Introdução a Linguagem XMLAula Introdução a Linguagem XML
Aula Introdução a Linguagem XML
 
Introdução à XML - Serviço de Biblioteca da EEFE-USP
Introdução à XML - Serviço de Biblioteca da EEFE-USPIntrodução à XML - Serviço de Biblioteca da EEFE-USP
Introdução à XML - Serviço de Biblioteca da EEFE-USP
 
01- Introdução ao XML
01- Introdução ao XML01- Introdução ao XML
01- Introdução ao XML
 
XML
XMLXML
XML
 
Aplicando Transformação em XML usando XSLT e XSL-FO - 2
Aplicando Transformação em XML usando XSLT e XSL-FO - 2Aplicando Transformação em XML usando XSLT e XSL-FO - 2
Aplicando Transformação em XML usando XSLT e XSL-FO - 2
 
Apostila xml
Apostila xmlApostila xml
Apostila xml
 
Xml Ws
Xml WsXml Ws
Xml Ws
 
Curso de xml
Curso de xmlCurso de xml
Curso de xml
 
XML & HTML
XML & HTMLXML & HTML
XML & HTML
 

Mais de Rogério Moraes de Carvalho

TDC 2016 POA: O novo ASP.NET Core 1.0 multiplataforma
TDC 2016 POA: O novo ASP.NET Core 1.0 multiplataformaTDC 2016 POA: O novo ASP.NET Core 1.0 multiplataforma
TDC 2016 POA: O novo ASP.NET Core 1.0 multiplataformaRogério Moraes de Carvalho
 
dotnetConf 2016 Goiânia: .NET Core | ASP.NET Core
dotnetConf 2016 Goiânia: .NET Core | ASP.NET CoredotnetConf 2016 Goiânia: .NET Core | ASP.NET Core
dotnetConf 2016 Goiânia: .NET Core | ASP.NET CoreRogério Moraes de Carvalho
 
Visual Studio Summit 2016: C# 7 - Olhando para o futuro
Visual Studio Summit 2016: C# 7 - Olhando para o futuroVisual Studio Summit 2016: C# 7 - Olhando para o futuro
Visual Studio Summit 2016: C# 7 - Olhando para o futuroRogério Moraes de Carvalho
 
Um novo .NET multiplataforma: ASP.NET Core, .NET Core e Entity Framework Core
Um novo .NET multiplataforma:ASP.NET Core, .NET Core e Entity Framework CoreUm novo .NET multiplataforma:ASP.NET Core, .NET Core e Entity Framework Core
Um novo .NET multiplataforma: ASP.NET Core, .NET Core e Entity Framework CoreRogério Moraes de Carvalho
 
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvemASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvemRogério Moraes de Carvalho
 
Explorando o novo .NET multiplataforma: ASP.NET Core, .NET Core e EF Core
Explorando o novo .NET multiplataforma:ASP.NET Core, .NET Core e EF CoreExplorando o novo .NET multiplataforma:ASP.NET Core, .NET Core e EF Core
Explorando o novo .NET multiplataforma: ASP.NET Core, .NET Core e EF CoreRogério Moraes de Carvalho
 
Plataforma de compiladores .NET, Visual Studio 2015, C# 6 e futuro C# 7
Plataforma de compiladores .NET,Visual Studio 2015, C# 6 e futuro C# 7Plataforma de compiladores .NET,Visual Studio 2015, C# 6 e futuro C# 7
Plataforma de compiladores .NET, Visual Studio 2015, C# 6 e futuro C# 7Rogério Moraes de Carvalho
 
The Developer’s Conference (TDC) 2015 Florianópolis: O Entity Framework 7 na ...
The Developer’s Conference (TDC) 2015 Florianópolis: O Entity Framework 7 na ...The Developer’s Conference (TDC) 2015 Florianópolis: O Entity Framework 7 na ...
The Developer’s Conference (TDC) 2015 Florianópolis: O Entity Framework 7 na ...Rogério Moraes de Carvalho
 
MVP Virtual Conference (MVP V-Conf) 2015: Executando ASP.NET MVC 6 no Mac OS ...
MVP Virtual Conference (MVP V-Conf) 2015: Executando ASP.NET MVC 6 no Mac OS ...MVP Virtual Conference (MVP V-Conf) 2015: Executando ASP.NET MVC 6 no Mac OS ...
MVP Virtual Conference (MVP V-Conf) 2015: Executando ASP.NET MVC 6 no Mac OS ...Rogério Moraes de Carvalho
 
Plataforma de compiladores .NET, C# 6 e Visual Studio 2015
Plataforma de compiladores .NET, C# 6 e Visual Studio 2015Plataforma de compiladores .NET, C# 6 e Visual Studio 2015
Plataforma de compiladores .NET, C# 6 e Visual Studio 2015Rogério Moraes de Carvalho
 
Plataforma de compiladores .NET (“Roslyn”), C# 6 e Visual Studio “14”
Plataforma de compiladores .NET (“Roslyn”), C# 6 e Visual Studio “14”Plataforma de compiladores .NET (“Roslyn”), C# 6 e Visual Studio “14”
Plataforma de compiladores .NET (“Roslyn”), C# 6 e Visual Studio “14”Rogério Moraes de Carvalho
 
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...Rogério Moraes de Carvalho
 
Programação assíncrona com C# 5 no Visual Studio 2013 [MVP ShowCast 2013 - DE...
Programação assíncrona com C# 5 no Visual Studio 2013 [MVP ShowCast 2013 - DE...Programação assíncrona com C# 5 no Visual Studio 2013 [MVP ShowCast 2013 - DE...
Programação assíncrona com C# 5 no Visual Studio 2013 [MVP ShowCast 2013 - DE...Rogério Moraes de Carvalho
 
Uma visão de mercado das linguagens de programação
Uma visão de mercado das linguagens de programaçãoUma visão de mercado das linguagens de programação
Uma visão de mercado das linguagens de programaçãoRogério Moraes de Carvalho
 
SQLSaturday #253 | Brasília 2013 - Mapeamento Objeto-Relacional com o Entity ...
SQLSaturday #253 | Brasília 2013 - Mapeamento Objeto-Relacional com o Entity ...SQLSaturday #253 | Brasília 2013 - Mapeamento Objeto-Relacional com o Entity ...
SQLSaturday #253 | Brasília 2013 - Mapeamento Objeto-Relacional com o Entity ...Rogério Moraes de Carvalho
 
HTML5 + CSS3 em múltiplos browsers, em múltiplas plataformas e em múltiplos d...
HTML5 + CSS3 em múltiplos browsers, em múltiplas plataformas e em múltiplos d...HTML5 + CSS3 em múltiplos browsers, em múltiplas plataformas e em múltiplos d...
HTML5 + CSS3 em múltiplos browsers, em múltiplas plataformas e em múltiplos d...Rogério Moraes de Carvalho
 
The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...
The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...
The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...Rogério Moraes de Carvalho
 

Mais de Rogério Moraes de Carvalho (20)

Docker com ASP.NET Core e Hospedagem no Azure
Docker com ASP.NET Core e Hospedagem no AzureDocker com ASP.NET Core e Hospedagem no Azure
Docker com ASP.NET Core e Hospedagem no Azure
 
TDC 2016 POA: O novo ASP.NET Core 1.0 multiplataforma
TDC 2016 POA: O novo ASP.NET Core 1.0 multiplataformaTDC 2016 POA: O novo ASP.NET Core 1.0 multiplataforma
TDC 2016 POA: O novo ASP.NET Core 1.0 multiplataforma
 
Cebraspe 2016: .NET Core e ASP.NET Core
Cebraspe 2016: .NET Core e ASP.NET CoreCebraspe 2016: .NET Core e ASP.NET Core
Cebraspe 2016: .NET Core e ASP.NET Core
 
dotnetConf 2016 Goiânia: .NET Core | ASP.NET Core
dotnetConf 2016 Goiânia: .NET Core | ASP.NET CoredotnetConf 2016 Goiânia: .NET Core | ASP.NET Core
dotnetConf 2016 Goiânia: .NET Core | ASP.NET Core
 
Visual Studio Summit 2016: C# 7 - Olhando para o futuro
Visual Studio Summit 2016: C# 7 - Olhando para o futuroVisual Studio Summit 2016: C# 7 - Olhando para o futuro
Visual Studio Summit 2016: C# 7 - Olhando para o futuro
 
Um novo .NET multiplataforma: ASP.NET Core, .NET Core e Entity Framework Core
Um novo .NET multiplataforma:ASP.NET Core, .NET Core e Entity Framework CoreUm novo .NET multiplataforma:ASP.NET Core, .NET Core e Entity Framework Core
Um novo .NET multiplataforma: ASP.NET Core, .NET Core e Entity Framework Core
 
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvemASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem
ASP.NET Core, .NET Core e EF Core: multiplataforma e otimizados para a nuvem
 
Explorando o novo .NET multiplataforma: ASP.NET Core, .NET Core e EF Core
Explorando o novo .NET multiplataforma:ASP.NET Core, .NET Core e EF CoreExplorando o novo .NET multiplataforma:ASP.NET Core, .NET Core e EF Core
Explorando o novo .NET multiplataforma: ASP.NET Core, .NET Core e EF Core
 
Plataforma de compiladores .NET, Visual Studio 2015, C# 6 e futuro C# 7
Plataforma de compiladores .NET,Visual Studio 2015, C# 6 e futuro C# 7Plataforma de compiladores .NET,Visual Studio 2015, C# 6 e futuro C# 7
Plataforma de compiladores .NET, Visual Studio 2015, C# 6 e futuro C# 7
 
The Developer’s Conference (TDC) 2015 Florianópolis: O Entity Framework 7 na ...
The Developer’s Conference (TDC) 2015 Florianópolis: O Entity Framework 7 na ...The Developer’s Conference (TDC) 2015 Florianópolis: O Entity Framework 7 na ...
The Developer’s Conference (TDC) 2015 Florianópolis: O Entity Framework 7 na ...
 
MVP Virtual Conference (MVP V-Conf) 2015: Executando ASP.NET MVC 6 no Mac OS ...
MVP Virtual Conference (MVP V-Conf) 2015: Executando ASP.NET MVC 6 no Mac OS ...MVP Virtual Conference (MVP V-Conf) 2015: Executando ASP.NET MVC 6 no Mac OS ...
MVP Virtual Conference (MVP V-Conf) 2015: Executando ASP.NET MVC 6 no Mac OS ...
 
Plataforma de compiladores .NET, C# 6 e Visual Studio 2015
Plataforma de compiladores .NET, C# 6 e Visual Studio 2015Plataforma de compiladores .NET, C# 6 e Visual Studio 2015
Plataforma de compiladores .NET, C# 6 e Visual Studio 2015
 
Plataforma de compiladores .NET (“Roslyn”), C# 6 e Visual Studio “14”
Plataforma de compiladores .NET (“Roslyn”), C# 6 e Visual Studio “14”Plataforma de compiladores .NET (“Roslyn”), C# 6 e Visual Studio “14”
Plataforma de compiladores .NET (“Roslyn”), C# 6 e Visual Studio “14”
 
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
Aplicações e serviços Web interoperáveis com o padrão Cross-Origin Resource S...
 
Programação assíncrona com C# 5 no Visual Studio 2013 [MVP ShowCast 2013 - DE...
Programação assíncrona com C# 5 no Visual Studio 2013 [MVP ShowCast 2013 - DE...Programação assíncrona com C# 5 no Visual Studio 2013 [MVP ShowCast 2013 - DE...
Programação assíncrona com C# 5 no Visual Studio 2013 [MVP ShowCast 2013 - DE...
 
Uma visão de mercado das linguagens de programação
Uma visão de mercado das linguagens de programaçãoUma visão de mercado das linguagens de programação
Uma visão de mercado das linguagens de programação
 
SQLSaturday #253 | Brasília 2013 - Mapeamento Objeto-Relacional com o Entity ...
SQLSaturday #253 | Brasília 2013 - Mapeamento Objeto-Relacional com o Entity ...SQLSaturday #253 | Brasília 2013 - Mapeamento Objeto-Relacional com o Entity ...
SQLSaturday #253 | Brasília 2013 - Mapeamento Objeto-Relacional com o Entity ...
 
`
``
`
 
HTML5 + CSS3 em múltiplos browsers, em múltiplas plataformas e em múltiplos d...
HTML5 + CSS3 em múltiplos browsers, em múltiplas plataformas e em múltiplos d...HTML5 + CSS3 em múltiplos browsers, em múltiplas plataformas e em múltiplos d...
HTML5 + CSS3 em múltiplos browsers, em múltiplas plataformas e em múltiplos d...
 
The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...
The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...
The Developer's Conference (TDC) 2013 - São Paulo: Programação assíncrona com...
 

Tecnologias XML e XML 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 &amp;#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 &amp;#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
  • 18. Noções de XML Schema
  • 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
  • 21. Suporte a XML no SQL Server
  • 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/