O que é XML, DTD, XML Schema e XSL


XML (Extensible Markup Language) é um subtipo de SGML (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.

Exemplo:

 

[php]
<?xml version="1.0" encoding="ISO-8859-1"?>
 <note>
 <to>Tove</to>
 <from>Jani</from>
 <heading>Reminder</heading>
 <body>Don't forget me this weekend!</body>
 </note>
[/php]



Alguns cuidados para gerar um bom arquivo XML:

  • Documentos XML devem ter um elemento raiz
  • Os elementos XML devem ter uma tag de fechamento
  • Cuidado com letras maiúsculas e minúsculas, o XML são case sensitive
  • Os elementos XML devem estar devidamente aninhados
  • Valores de atributos XML devem ser adicionados
Para o XML temos duas linguagens para validação DTD e XML SCHEMA.

DTDs (Document Type Definitions) é uma linguagem para definir a estrutura de um documento XML.

Exemplo:
[php]
<!DOCTYPE note

<pre>
<pre> [
 <!ELEMENT note (to,from,heading,body)>
 <!ELEMENT to (#PCDATA)>
 <!ELEMENT from (#PCDATA)>
 <!ELEMENT heading (#PCDATA)>
 <!ELEMENT body (#PCDATA)>
 ]>

[/php]



XML Schema é uma linguagem baseada no formato XML para definição de regras de validação (“esquemas”) em documentos no formato XML, ou seja, é possível validar se um campo é numérico, data etc.

Exemplo: [php]
<pre>
<pre><xs:element name="note">
<xs:complexType>
<xs:sequence>
<xs:element name="to" type="xs:string"/>
<xs:element name="from" type="xs:string"/>
<xs:element name="heading" type="xs:string"/>
<xs:element name="body" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
[/php]

XSL (linguagem extensível para folhas de estilo de transformações), é uma linguagem de marcação XML usada para criar documentos XSL que, por sua vez, definem a apresentação dos documentos XML nos browsers e outros aplicativos que a suportem.Sua funcionalidade é bem parecida com um arquivo CSS, apenas determina como o browser apresenta o documento XML ao qual ele está associado ou anexado.O browser recebe o documento XML original, na íntegra, como ele foi criado. E apresenta-o como o documento XSL determina.

Exemplo:Arquivo XML:

[php]
<pre>
<pre><?xml version="1.0" encoding="ISO-8859-1"?>
<breakfast_menu>
<food>
<name>Belgian Waffles</name>
<price>$5.95</price>
<description>two of our famous Belgian Waffles with plenty of real maple syrup</description>
<calories>650</calories>
</food>
</breakfast_menu> [/php]

Arquivo XSL:

[php]
<?xml version="1.0" encoding="ISO-8859-1"?>
<html xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml">
<body style="font-family:Arial;font-size:12pt;background-color:#EEEEEE">
<xsl:for-each select="breakfast_menu/food">
<div style="background-color:teal;color:white;padding:4px">
<span style="font-weight:bold"><xsl:value-of select="name"/></span>
- <xsl:value-of select="price"/>
</div>
<div style="margin-left:20px;margin-bottom:1em;font-size:10pt">
<xsl:value-of select="description"/>
<span style="font-style:italic">
<xsl:value-of select="calories"/> (calories per serving)
</span>
</div>

</xsl:for-each>
</body>
</html>
[/php]

Ambiente de teste: http://www.w3schools.com/xml/tryxslt.asp?xmlfile=simple&xsltfile=simple

Deixe um comentário

O seu endereço de e-mail não será publicado.

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.