Introducción xml
-
Upload
philippe-jean-bunau-varilla -
Category
Documents
-
view
2.653 -
download
0
description
Transcript of Introducción xml
10/04/2310/04/23 11
Lenguajes para la estructuración de Lenguajes para la estructuración de documentos: Introducción a XMLdocumentos: Introducción a XML
Eduardo PeisEduardo PeisUniversidad de GranadaUniversidad de Granada
10/04/2310/04/23 22
ÍndiceÍndice
1. 1. El estándar matriz: SGML (Standard El estándar matriz: SGML (Standard Generalized Markup Language)Generalized Markup Language)
2. La alternativa: XML2. La alternativa: XML
3. La “familia” de especificaciones3. La “familia” de especificaciones
4. Vocabularios4. Vocabularios
5. Viviendo con contenidos: la “Web 5. Viviendo con contenidos: la “Web semántica”semántica”
6. Recursos6. Recursos
10/04/2310/04/23 33
1.1. El estándar matriz: SGML El estándar matriz: SGML (Standard Generalized Markup (Standard Generalized Markup Language)Language)
10/04/2310/04/23 44
SGML (ISO 8879-1986) – Standard SGML (ISO 8879-1986) – Standard Generalized Markup LanguageGeneralized Markup Language
Punto de partida: la edición electrónicaPunto de partida: la edición electrónica• El procesamiento de textosEl procesamiento de textos
• WYSIWYGWYSIWYG Lenguajes de etiquetadoLenguajes de etiquetado
• Procedimentales: Procedimentales: Troff / TeX / LaTeX…Troff / TeX / LaTeX…
• Descriptivos: SCRIBE / GMLDescriptivos: SCRIBE / GML SGMLSGML
• Etiquetado generalizadoEtiquetado generalizado Separa formato de estiloSepara formato de estilo Independiente de plataformas y sistemasIndependiente de plataformas y sistemas
• Etiquetado descriptivoEtiquetado descriptivo
• Tipos de documentosTipos de documentos
• Independencia de los datosIndependencia de los datos
10/04/2310/04/23 55
SGML: sintaxis básica (1) modelo de SGML: sintaxis básica (1) modelo de documentodocumento<!SGML “ISO 8879:1986” charset baseset “ISO 646-1983//charset International Reference Version (IRV)//ESC 2/5 4/0”><!DOCTYPE biblioteca system “c:/sgml/biblioteca.dtd”> <biblioteca> <!-- comienzo del registro de un libro --><libro><titulo>Los corsarios vacilantes</titulo><autor>Pompeyo Mañas
<email>pomp.mcu.es</email></autor><editorial>Labor</editorial><cubierta tipo=”blanda”></cubierta><categoría clase=”noficción”></categoría><isbn>84-045-87498-0</isbn><nota número=”5”></nota><comentarios>Libro reservado</comentarios></libro><!– más registros aquí --></biblioteca>
declaración SGML
tipo de documento
entidad de sistema
elementos
contenido(#PCDATA) comentarios SGML
atributos
referencia de entidad
10/04/2310/04/23 66
SGML: sintaxis básica (2) DTD –Document SGML: sintaxis básica (2) DTD –Document Type Definition-Type Definition-
<!DOCTYPE biblioteca [<!ENTITY @ “.”><!ELEMENT biblioteca - - (libro+)><!ELEMENT libro – O (título, autor+, editorial, cubierta, categoría, isbn, nota, comentarios?)><!ELEMENT título – O (#PCDATA)><!ELEMENT autor – O (#PCDATA, email)><!ELEMENT email – O (#PCDATA)><!ELEMENT editorial – O (#PCDATA)><!ELEMENT cubierta – O EMPTY><!ATTLIST cubierta
tipo (blanda | dura) “blanda”><!ELEMENT categoría – O EMPTY><!ATTLIST categoría
clase (ficción | fantasía | cficción | misterio | terror | noficción | histórico | biografía) “ficción” >
<!ELEMENT isbn – O (#PCDATA)><!ELEMENT nota – O EMPTY><!ATTLIST nota
número (1 | 2 | 3 | 4 | 5) #REQUIRED><!ELEMENT comentarios – O (#PCDATA)>]>
declaración de tipo de documento
declaraciones de elementos
declaraciones de listas de atributos
declaración de entidad
10/04/2310/04/23 77
SGML: sintaxis básica (2.1) declaración de SGML: sintaxis básica (2.1) declaración de elementoselementos
Indicadores de aparición
<!ELEMENT libro – O (título, autor+, editorial, cubierta, categoría, isbn, nota, comentarios?)>
reglas de minimizaciónmodelo de contenido
conectoresidentificador genérico
clave SGML
EMPTY elemento vacío#PCDATA cualquier cadena de caracteres
en cualquier ordenen cualquier orden&&
o uno o el otroo uno o el otro||
ambos y en ese ordenambos y en ese orden,,
conectores
Opcional y repetible (0 o Opcional y repetible (0 o más veces)más veces)**
opcional (0 o 1 vez)opcional (0 o 1 vez)??
necesario y repetible (1 necesario y repetible (1 o más veces)o más veces)++
indicadores de aparición indicadores de aparición
opcionalopcionaloo
obligatoria etiquetaobligatoria etiqueta--
1ª posición etiqueta inicio2ª posición etiqueta fin
claves SGML para modelos de contenido
10/04/2310/04/23 88
SGML: sintaxis básica (2.2) declaraciones SGML: sintaxis básica (2.2) declaraciones de lista de atributosde lista de atributos
especificadoespecificadodefaultdefault
último especificadoúltimo especificado#CURRENT#CURRENT
opcionalopcional#IMPLIED#IMPLIED
obligatorioobligatorio#REQUIRED#REQUIRED
caracteres numéricoscaracteres numéricos
cualquier cadena de caracterescualquier cadena de caracteres
datos de caracteres no analizablesdatos de caracteres no analizables
puntero a algún otro elementopuntero a algún otro elemento
identificador únicoidentificador único
NUMBERNUMBER
NMTOKENNMTOKEN
CDATACDATA
IDREFIDREF
IDID
<nombre nacionalidad=“SP” sexo=“V”>Eduardo Peis</nombre>nombre de atributo valor de atributo
<!ATTLIST nombrenacionalidad (AU | AS | BG |…| SP | NZ) “SP”sexo (V | H) #REQUIRED>
elemento al que cualifican nombre de atributo AttrName
posibles valores AttrType
valor por defecto Default
10/04/2310/04/23 99
SGML: sintaxis básica (2.3) declaraciones SGML: sintaxis básica (2.3) declaraciones de entidadesde entidades
<!DOCTYPE texto [<!ENTITY lfp “liga de fútbol profesional”>]><texto>el hecho fue estudiado por la &lfp; en previsión de posibles sanciones</texto>
entidad general interna
<!ENTITY miscosas SYSTEM “http://www.ugr.es/~epeis/miscosas.sgm”>
general externa analizada
<!ENTITY logo SYSTEM “http://www.ugr.es/~epeis/logo.gif”> no analizada
<!DOCTYPE texto [<!ENTITY % elemento-epr “<!ELEMENT epr (#PCDATA)>”>%elemento-epr; ]>
de parámetro
<!ENTITY @ “.”> de carácter
““""
‘‘''
>>>>
<<<<
&&&&
entidades predefinidas
10/04/2310/04/23 1010
SGML: softwareSGML: software
Parsers Parsers analizadoresanalizadores CompiladoresCompiladores Editores / procesadoresEditores / procesadores FormateadoresFormateadores ConversoresConversores Gestión de datosGestión de datos
Es tal la potencialidad de SGML que no es posible su explotación con el software de red
disponible en la actualidad
10/04/2310/04/23 1111
2.2. La alternativa: XMLLa alternativa: XML
10/04/2310/04/23 1212
SGML
HTML EAD
CDF MathML
SGML
HTML
EADCDF
MathML
SGML
HTML
XML
10/04/2310/04/23 1313
El usurpador: HTMLEl usurpador: HTML
HTML es, en realidad, un DTD SGMLHTML es, en realidad, un DTD SGML Problemas:Problemas:
• Define más la presentación que el contenidoDefine más la presentación que el contenido• Escasas flexibilidad y extensibilidadEscasas flexibilidad y extensibilidad• No es fácilmente procesable por “máquinas”No es fácilmente procesable por “máquinas”• Problemas de internacionalizaciónProblemas de internacionalización• Estructura caóticaEstructura caótica• Interpretación ambigua según el softwareInterpretación ambigua según el software• Sólo tiene un uso: páginas WebSólo tiene un uso: páginas Web
La convergencia: XHTMLLa convergencia: XHTML
10/04/2310/04/23 1414
HTMLHTML XMLXML
<table><tr>
<td>título</td><td>autor</td><td>precio</td>
</tr><tr>
<td>Pensar</td><td>B. Ortega</td><td>42</td>
</tr><tr>
<td>La leña</td><td>M. Lao</td><td>53</td>
</tr></table>
<libros><libro>
<titulo>título</titulo><autor>autor</autor><precio>precio</precio>
</libro><libro>
<titulo>Pensar</titulo><autor>B. Oña</autor><precio>42</precio>
</libro><libro>
<titulo>La leña</titulo><autor>M. Lao</autor><precio>53</precio>
</libro></libro>
10/04/2310/04/23 1515
Principales diferencias SGML/XMLPrincipales diferencias SGML/XML• Documentos XML Documentos XML well formedwell formed:: sin DTDsin DTD• Instrucciones de procesamientoInstrucciones de procesamiento
• Declaraciones de elementos. Modelos de contenido:Declaraciones de elementos. Modelos de contenido:• Conector “&” no permitidoConector “&” no permitido• Prohibidas las “exception”Prohibidas las “exception”• No se utilizan los indicadores de minimización.No se utilizan los indicadores de minimización.
• Uso generalizado de elementos vacíosUso generalizado de elementos vacíos• Secciones “cdata”Secciones “cdata”
• Notation declarationsNotation declarations
• Los espacios en blanco, cambios de línea o “retornos” Los espacios en blanco, cambios de línea o “retornos” son significativosson significativos
<?xml version=“1.0” encoding=“ISO-8859-1” standalone=“yes”?>
<Elemento_ASP><![CDATA[ <FORM ACTION=“<% = Request (“SCRIPT_NAME”) %>” METHOD=“POST”> ]]></Elemento_ASP>
<!NOTATION GIF SYSTEM “Iexplore.exe”>
10/04/2310/04/23 1616
Documentos XML: (1) Well-FormedDocumentos XML: (1) Well-Formed Cumplen estrictamente la especificación Cumplen estrictamente la especificación
(Versión 1.0)(Versión 1.0)• Estructura jerárquica de los elementosEstructura jerárquica de los elementos
Estrictamente jerárquica (árbol)Estrictamente jerárquica (árbol) Correctamente anidadosCorrectamente anidados No superposiciónNo superposición Sólo un elemento raizSólo un elemento raiz
• EtiquetasEtiquetas Siempre etiquetas de inicio y de finSiempre etiquetas de inicio y de fin ““Case-sensitive”Case-sensitive” Comienzo de GI’s:Comienzo de GI’s:
• Un carácter alfabético no acentuadoUn carácter alfabético no acentuado• Signo de “subrayado” o “guión bajo” Signo de “subrayado” o “guión bajo” • Sin espaciosSin espacios
Elementos “vacíos”: sintaxis especialElementos “vacíos”: sintaxis especial<img src=“….”/><img src=“….”/>
• AtributosAtributos Valor de atributo entre comillas dobles (“) o simples (‘)Valor de atributo entre comillas dobles (“) o simples (‘)
10/04/2310/04/23 1717
Documentos XML: (2) Validación y Documentos XML: (2) Validación y definicióndefinición
XML XML well formedwell formed + DTD = + DTD = valid XMLvalid XML XML SchemasXML Schemas
• Sintaxis XMLSintaxis XML• Tipos de datos asociados a elementos (validación de Tipos de datos asociados a elementos (validación de
contenido)contenido)• Modelo de datos abierto:Modelo de datos abierto:
vocabularios extensiblesvocabularios extensibles relaciones de herenciarelaciones de herencia integración de Namespacesintegración de Namespaces
• Combinación lógica de atributosCombinación lógica de atributos<Schema xmlns=“urn:schemas-microsoft-com:xml-data”
xmlns:dt=“urn:schemas-microsoft-com:datatypes”><AttributeType name=“id” dt:type=“string” required=“yes” /><ElementType name=“nombre” content=“textOnly” /><ElementType name=“persona” content=“mixed” />
<attribute type=“id” /><element type=“nombre” />
</ElementType><ElementType name=“documento” content=“eltOnly”>
<element type=“persona” /></ElementType>
</Schema>
10/04/2310/04/23 1818
3.3. La “familia” de La “familia” de especificacionesespecificaciones
10/04/2310/04/23 1919
““Familia” de especificaciones. La “sopa de Familia” de especificaciones. La “sopa de letras”letras”
XML XLink
Namespaces
XSL
DOM
XPointer
XPath
RDF
SAX
XSLT
XSL-fo
XML Query
SchemaDTD
XML Encription
XML SignatureXML Base
Web OntologySemantic Web
CSS
10/04/2310/04/23 2020
XSL (1): XSLT + XPathXSL (1): XSLT + XPath
Árbol de origen
Búsqueda de plantilla
Patrón de localización
Transformación de nodo de origen en
nodo resultante
¿Hay más plantillas?NO SI
Plantilla
Dar formato a árbol resultante
Mostrar árbol resultante
XSLT
XPath
Filtros
documento XMLárbol origen
hoja de estilo XSL
transformación
árbol resultante
formato
XSLT XSL-fo
10/04/2310/04/23 2121
XSL (2)XSL (2)<?xml version="1.0" encoding="ISO-8859-1"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/TR/WD-xsl"xmlns="http://www.w3.org/TR/REC-html40"result-ns="">
<xsl:template match="/"><HTML><HEAD><TITLE><xsl:apply-templates select="/normas//Título" /></TITLE></HEAD><BODY><link rel="stylesheet" type="text/css" href="normas.css" /><H1><xsl:apply-templates select="/normas/Título" /></H1><xsl:apply-templates select="/normas/norma" /></BODY></HTML></xsl:template><xsl:template match="norma[Observación]"><P>Esta norma incluye un elemento "Observación":<BR /><B><xsl:value-of /></B></P></xsl:template></xsl:stylesheet>
elementos XSLT
filtros XSL
patrones de localización XPath
prólogo
Namespaces
operadores
10/04/2310/04/23 2222
XML Linking and Addressing Language
● XLink (XML Linking Language)● enlaces externos entre documentos XML● se apoya en XPointer (gestionar partes)
● XPointer (XML Pointer Language)● controla los enlaces internos● se apoya en XPath
● Enlaces simples o extendidos (fuera de línea y multidireccionales)
● Anclaje a cualquier elemento
● Referencia a un punto específico de un documento XML (XPointer)
● Variabilidad de procesado
● “actuate” (cómo se activará)
● “show” (cómo se mostrará)…
● Descripción en un documento que no forma parte del vínculo
10/04/2310/04/23 2323
Lenguajes de consulta: XML QueryLenguajes de consulta: XML Query
XQL’99
XQL’98
XML QL
SQL
XQuery
QUILT
LOREL
OQL
Xpath 1.0
Xpath 2.0
XSLT
patrones XSL
• Modelo de secuencia de nodos de Xpath 2.0
• Resultado: secuencia de nodos –sin raiz común-
• Cláusulas de selección con patrón, filtro y constructor
• Inclusión estructural, inclusión posicional y orden estructural
• Operadores y funciones de texto para la búsqueda de patrones
• Falta: búsqueda texto libre, pesos, proximidad.
10/04/2310/04/23 2424
Interfaces software. DOMInterfaces software. DOM
API. Interfaz genérica descrita en IDLAPI. Interfaz genérica descrita en IDL• Independiente del lenguajeIndependiente del lenguaje• Independiente del fabricanteIndependiente del fabricante
Implementación para el lenguaje deseadoImplementación para el lenguaje deseado• Java, C++, Perl, Python,....Java, C++, Perl, Python,....
Modelo basado en objetos (arbóreo):Modelo basado en objetos (arbóreo): • Interfaces y objetos para representar y manipular un Interfaces y objetos para representar y manipular un
documento documento • Semántica (comportamiento y atributos) Semántica (comportamiento y atributos) • Relaciones y colaboraciones entre interfaces y objetosRelaciones y colaboraciones entre interfaces y objetos
Otra posibilidad: SAX (basada en eventos)Otra posibilidad: SAX (basada en eventos)
10/04/2310/04/23 2525
4.4. Vocabularios. Algunas Vocabularios. Algunas aplicaciones sectorialesaplicaciones sectoriales
10/04/2310/04/23 2626
VocabulariosVocabularios
WML
SMIL
P3P
CDF
SVG
VML
3DML
MathML
WML
VoxML
VISA Invoice Specification
ICEXMLNews
IEEE Standards
DTD
TEI
PSI
OIM
VocML
RML
WAPXDNL
GEML
GAME
OFX
MDDL
XMP
VRML
EAD
10/04/2310/04/23 2727
Voz interactiva: VoxMLVoz interactiva: VoxML
Servidor Web
pasos
diálogo
pasos
diálogoArchivo VoxML
Archivo VoxML
pasos
diálogo
Archivo VoxML
10/04/2310/04/23 2828
Gráficos vectoriales: VMLGráficos vectoriales: VML
Vocabularios:Vocabularios:• PGML (Precision Graphic Markup Language)PGML (Precision Graphic Markup Language)• VML (Vectors Markup Language)VML (Vectors Markup Language)• SVG (Scalable Vector Graphics)SVG (Scalable Vector Graphics)
VML se basa en rutas que describen líneas y VML se basa en rutas que describen líneas y curvas conectadascurvas conectadas
Elementos principales:Elementos principales:• shape: elemento de gráfico de vectores elemento de gráfico de vectores• group: combina formascombina formas
VML
DOM
CSS2
Namespaces
10/04/2310/04/23 2929
Multimedia: SMILMultimedia: SMIL
• Relaciones físicas entre objetos multimedia y sincronía
• Presentación dividida en regiones rectangulares
• Espacios físicos separados para audio, video, imágenes y texto
• Adecuación a los parámetros del sistema local
<smil><head><meta name="title" content="WDVL Demo" /> <meta name="author" content="[email protected]" /><meta name="copyright" content="©1998" /> <layout type="text/smil-basic-layout"> <region id = "VideoChannel“title = "VideoChannel" left = "0“top = "0" height = "120" width = "160" background-color = "#888888" fit = "fill"/><region id = "PixChannel”...
10/04/2310/04/23 3030
Otras posibles aplicacionesOtras posibles aplicaciones
Integración de bases de datos distribuidas, Integración de bases de datos distribuidas, modificando contenido y estructuramodificando contenido y estructura
Transferencia (con un subprograma JAVA) de una Transferencia (con un subprograma JAVA) de una parte significativa de la carga del proceso del parte significativa de la carga del proceso del servidor al cliente Webservidor al cliente Web
Aplicaciones que precisen que el cliente Web Aplicaciones que precisen que el cliente Web presente diferentes versiones de los mismos presente diferentes versiones de los mismos datos a diferentes usuariosdatos a diferentes usuarios
Aplicaciones en las que agentes Web adapten la Aplicaciones en las que agentes Web adapten la búsqueda de información a las necesidades de búsqueda de información a las necesidades de usuarios individualesusuarios individuales
Sincronía de actualizaciones de vistas en portalesSincronía de actualizaciones de vistas en portales
…
10/04/2310/04/23 3131
5.5. Viviendo con contenidos: la Viviendo con contenidos: la “Web semántica”“Web semántica”
10/04/2310/04/23 3232
10/04/2310/04/23 3333
La “Web semántica”La “Web semántica”
Unicode URI
XML + NS + XMLSchema
RDF + RDFSchema
Fir
ma d
igit
al
Ontologías vocabularios
Lógica
Pruebas
ConfianzaSIGNIFICADOS
sintaxis
DATOS
DATOS
REGLAS
10/04/2310/04/23 3434
Expresando significadoExpresando significado
Contenido web actual diseñado para lectura Contenido web actual diseñado para lectura humanahumana
La Web semántica como un espacio La Web semántica como un espacio Hiperconceptual (XLink)Hiperconceptual (XLink)
El URI como identificador de objetosEl URI como identificador de objetos Añadir semántica a la WebAñadir semántica a la Web
• OntologíasOntologías
• Etiquetado descriptivo (XML)Etiquetado descriptivo (XML)
UnicodeUnicode
10/04/2310/04/23 3535
Representación del conocimientoRepresentación del conocimiento La base sintáctica de la Web semánticaLa base sintáctica de la Web semántica
• Documentos y estructura lógica Documentos y estructura lógica (XML/DTD’s/XMLSchema)(XML/DTD’s/XMLSchema)
Lenguaje único para los datos y las reglasLenguaje único para los datos y las reglas• Exportación e importación (XMLNamespaces)Exportación e importación (XMLNamespaces)
Hiperdocumentos con etiquetas semánticasHiperdocumentos con etiquetas semánticas TecnologíasTecnologías
• XMLXML Creación de lenguajes de etiquetado descriptivos propiosCreación de lenguajes de etiquetado descriptivos propios Separación de contenido y estilo Separación de contenido y estilo
• RDF/RDFSchemaRDF/RDFSchema
10/04/2310/04/23 3636
Descripción de recursos: RDF/RDFSchemaDescripción de recursos: RDF/RDFSchema Modelo básico para establecer asertos (RDF)Modelo básico para establecer asertos (RDF)
• Descripción de recursos orientada a objetos:Descripción de recursos orientada a objetos: Tripletes sujeto –recurso- (URI), predicado –propiedad- Tripletes sujeto –recurso- (URI), predicado –propiedad-
(URI) y objeto –valor- (URI o literal)(URI) y objeto –valor- (URI o literal)
• Interoperabilidad en descripción de recursosInteroperabilidad en descripción de recursos Relaciones –clases y objetos- (RDFSchema)Relaciones –clases y objetos- (RDFSchema)
• Describe jerarquías de clasesDescribe jerarquías de clases
http://www.ugr.es/~epeis/Peis Eduardo Peis
Jorge Fernández
rdf:Statements:Creador
rdf:subject
rdf:type
rdf:object
rdf:predicate
a:atribuidoA
“reified statement”
10/04/2310/04/23 3737
Capa lógica (1): OntologíasCapa lógica (1): Ontologías
Colecciones de información. Colecciones de información.
Mejora de la precisión en la recuperaciónMejora de la precisión en la recuperación Relaciones de dependenciaRelaciones de dependencia Relaciones de equivalenciaRelaciones de equivalencia Relaciones de asociaciónRelaciones de asociación Servicios Web W2W (Web site to Web site)Servicios Web W2W (Web site to Web site)
Taxonomía Reglas de inferencia
10/04/2310/04/23 3838
Capa lógica (2): Agentes softwareCapa lógica (2): Agentes software
Intercambio de “pruebas” escritas en el Intercambio de “pruebas” escritas en el lenguaje unificado de la Web semánticalenguaje unificado de la Web semántica• firmas digitalesfirmas digitales
• service discoveryservice discovery
• intercambio de ontologíasintercambio de ontologías
• desarrollar “por sí mismos” nuevas capacidades de desarrollar “por sí mismos” nuevas capacidades de “razonamiento”“razonamiento”
• ““cadenas de valor”cadenas de valor”
• extensión al dominio físicoextensión al dominio físico descripción de capacidades funcionalesdescripción de capacidades funcionales
• Composite Capability/Preference Profile (CC/PP)Composite Capability/Preference Profile (CC/PP)
10/04/2310/04/23 3939
6. Recursos6. Recursos
10/04/2310/04/23 4040
Tan sólo algunos recursosTan sólo algunos recursos
Goldfarb, C.; Prescod, P. (1999) Manual de Goldfarb, C.; Prescod, P. (1999) Manual de XML. Madrid [etc.]: Prentice HallXML. Madrid [etc.]: Prentice Hall Traducción del manual de GoldfarbTraducción del manual de Goldfarb
http://www.w3.orghttp://www.w3.org
Web del World Wide Web Web del World Wide Web Consortium, donde se desarrollan, Consortium, donde se desarrollan, se oficializan y se distribuyen las se oficializan y se distribuyen las especificacionesespecificaciones
http://www.oasis-open/cover/sgml-xml.htmlhttp://www.oasis-open/cover/sgml-xml.html El “sitio” por excelenciaEl “sitio” por excelencia
http://www.xml.comhttp://www.xml.comRecursos para desarrolladores. Recursos para desarrolladores. Contiene la especificación XML 1.0 Contiene la especificación XML 1.0 comentada por Tim Braycomentada por Tim Bray
http://www.ibm.com/xmlhttp://www.ibm.com/xml Borradores, tecnologías Borradores, tecnologías descargables, tutoriales…descargables, tutoriales…
http:www.microsoft.com/xmlhttp:www.microsoft.com/xml Buenos tutoriales, herramientas y Buenos tutoriales, herramientas y demosdemos
http://www.xmlsoftware.comhttp://www.xmlsoftware.com Enlaces a herramientas XMLEnlaces a herramientas XML