1 / 24

XML Namespaces

XML Namespaces. XML Namespaces provê um método para evitar conflito de nomes de elementos. Conflito de Nomes.

zia
Download Presentation

XML Namespaces

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XML Namespaces XML Namespaces provê um método para evitar conflito de nomes de elementos.

  2. Conflito de Nomes • Desde que nomes de elementos em XML não são fixados, frequentemente, há um conflito de nomes quando dois diferentes documentos usam os mesmos nomes descrevendo dois diferentes tipos de elementos.

  3. Este documento portainformação em uma tabela <table> <tr> <td>Apples</td> <td>Bananas</td> </tr> </table>

  4. Este documento porta informação sobre uma tabela <table> <name>African Coffee Table</name> <width>80</width> <length>120</length> </table>

  5. Conflito de Nomes • Se estes dois documentos XML forem colocados juntos num mesmo documento, existirá um conflito de nomes porque em ambos os documentos existe o elemento <table> com definição e conteúdo diferente

  6. <table> <name>African Coffee Table</name> <width>80</width> <length>120</length> </table> <table> <tr> <td>Apples</td> <td>Bananas</td> </tr> </table>

  7. Resolvendo Conflito de Nomes usando Prefixo • Este documento XML contém informações de uma tabela: <h:table> <h:tr> <h:td>Apples</h:td> <h:td>Bananas</h:td> </h:tr> </h:table>

  8. Resolvendo Conflito de Nomes usando Prefixo • Este documento contém informações sobre uma parte da tabela: <f:table> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table>

  9. Agora não haverá conflito de nomes porque os dois elementos usam diferentes nomes para as tabelas<table> (<h:table> e <f:table>). • Usando prefixo foi criado dois diferentes tipos de elementos <table>.

  10. Usando Namespaces • Este documento contém informações de uma tabela: <h:table xmlns:h="http://www.w3.org/TR/html4/"> <h:tr> <h:td>Apples</h:td> <h:td>Bananas</h:td> </h:tr> </h:table>

  11. Usando Namespaces • Este documento contém informações sobre uma parte da tabela: <f:table xmlns:f="http://www.w3schools.com/furniture"> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table> Ao invés de usar somente prefixos, foi adicionado um atributo xmlns ao tag <table> para dar ao elemento prefixo um nome qualificado associado com um namespace

  12. Atributo Namespace • O atributo namespace é colocado no início da tag como um elemento, conforme a sintaxe seguinte: xmlns:namespace-prefix="namespace“ • No exemplo abaixo, o namespace é definido usando um endereço na Internet: xmlns:f="http://www.w3schools.com/furniture • O W3C é uma especificação de namespace que estabelece que o próprio namespace deve ser uma Uniform Resource Identifier (URI).

  13. Atributo Namespace • Quando um namespace é definido no início da tag como um elemento, todos os elementos filhos com o mesmo prefixo são associados com o mesmo namespace. • Note que o endereço usado para identificar o namespace, não é o usado pelo analisador sintático para obter informação. O único propósito é dar ao namespace um único nome.Contudo, frequentemente usa-se o namespace como ponteiro para uma página Web contendo informação sobre o namespace.

  14. Uniform Resource Identifiers • Um Uniform Resource Identifier (URI) é uma string de caracteres a qual identifica um recurso da Internet.O mais comum é o Uniform Resource Locator (URL) que identifica um endereço de domínio.Outro, não comum tipo de URI é Universal Resource Name (URN).

  15. DefaultNamespace • Definindo um default namespace para nos poupar de usar prefixos em todos os elementos filhos.Como mostra a seguinte sintaxe: <element xmlns="namespace">

  16. Default Namespace • Este elemento contém informações de uma tabela: <table xmlns="http://www.w3.org/TR/html4/"> <tr> <td>Apples</td> <td>Bananas</td> </tr> </table>

  17. Default Namespace • Este documento XML contém informações sobre uma parte da tabela: <table xmlns="http://www.w3schools.com/furniture"> <name>African Coffee Table</name> <width>80</width> <length>120</length> </table>

  18. XML Schemas

  19. Oque é um XML Schema • O propósito de um XML Schema é definir a construção de blocos válidos como um DTD. • define elementos que aparecerão no documento • define atributos que poderão aparecer em um documento • define quais elementos terão elementos filhos • define qual a ordem dos elementos filhos • define o número de elementos filhos • define se um elemento é vazio ou pode incluir texto. • define tipos de dados para elementos e atributos • define padrões e fixa valores para elementos e atributos

  20. XML Schemas • XML Schemas são usados na maior parte das aplicações Web como substituição para DTDs. Aqui estão algumas razões: • XML Schemas são extensíveis para futuras adições • XML Schemas são mais ricos e mais utéis que • XML Schemas são escritos em XML • XML Schemas suportam typos de dados data types • XML Schemas suportam namespaces

  21. XML Schemas Algumas razões porque XML Schema é melhor que DTD XML Schema tem suporte para Data Types e com este suportes é possível: • Descrever permissões contendo documentos • Validar a correção de dados • Trabalhar com dados de um Banco de Dados • Definir restrições de dados • Definir formatos de dados • Converter dados entre diferentes data types

  22. XML Schemas XML Schemas usa sintaxe XML • Outra grande vantagem em se utilizar XML Schemas é que eles são escritos em XML. • Com isso não é necessário aprender outra linguagem • É possível você usar um editor XML para editar seus arquivos Schemas • You can use your XML editor to edit your Schema files • É possível utilizar seu analisador sintático (parser) para o parser no seu arquivo de Schemas • É possível manipular seu Schema com o XML DOM (Document Object Model) • É possível transformar seu Schema com XSLT

  23. XML Schemas XML Schemas-Comunicação Segura de Dados When data is sent from a sender to a receiver it is essential that both parts have the same "expectations" about the content. • With XML Schemas, the sender can describe the data in a way that the receiver will understand. • A date like 1999-03-11 might (in some countries) be interpreted as 3. November or (in some other countries) as 11. March, but an XML element with a data type like this: • <date type="date">1999-03-11</date> • ensures a mutual understanding of the content because the XML data type date requires the format CCYY-MM-DD.

More Related