• No se han encontrado resultados

XML práctico Bases esenciales, conceptos y casos prácticos (2ª edición)

N/A
N/A
Protected

Academic year: 2021

Share "XML práctico Bases esenciales, conceptos y casos prácticos (2ª edición)"

Copied!
15
0
0

Texto completo

(1)

Introducción al lenguaje XML

1. De SGML a XML 17

2. Los conceptos básicos del XML 18

2.1 Recordatorio sobre el HTML 18

2.2 Creación de un primer documento XML 19

2.3 Las ventajas del XML 21

3. La sintaxis XML 21

3.1 La primera línea del documento XML 23

3.1.1 Declaración XML 23

3.1.2 Codificación de caracteres 24

3.1.3 Parámetros de validación y estilos 24

3.2 ¿ Los elementos ? 24

3.2.1 Los elementos vacíos 24

3.2.2 La sensibilidad a mayúsculas y minúsculas 25

3.2.3 Los caracteres no permitidos 25

3.2.4 Los caracteres permitidos 25

3.2.5 La primera letra 26

3.2.6 Nombres especiales 26

3.3 Los atributos 27

3.4 La raíz de un documento 27

3.5 Los comentarios 29

3.6 Los espacios de nombres 29

3.6.1 Definición 29 3.6.2 Sintaxis 29 3.6.3 Aplicación 30

La importancia de la validación

1. La validación por DTD 33 1.1 El vocabulario utilizado 33

(2)

1.1.1 Los documentos bien formados 33

1.1.2 Los documentos válidos 36

1.1.3 Los analizadores 36

1.2 Creación de una DTD 37

1.3 Vincular una DTD a los datos XML 38

1.3.1 Declaraciones DTD dentro del documento XML 38

1.3.2 Declaraciones DTD en un archivo .dtd 39

1.4 Definir los elementos 40

2. Los diferentes tipos de declaración 40

2.1 Los grupos 41

2.1.1 Las palabras clave ANY y EMPTY 41

2.1.2 Los operadores ? , + y * 41

2.1.3 El operador de elección | 42

2.1.4 Los datos textuales #PCDATA 42

2.2 Los atributos 43

2.2.1 Lista de atributos 43

2.2.2 Los atributos IMPLIED, REQUIRED y FIXED 44

2.3 Los tipos de atributos 44

2.3.1 Los datos textuales (tipo CDATA y enumeraciones) 45

2.3.2 Los atributos de tipo NOTATION 45

2.3.3 Los atributos de tipo ID o IDREF 45

2.3.4 Los atributos de tipo ENTITY 46

2.3.5 Los atributos de tipo NMTOKEN 47

2.4 Las entidades 47

2.4.1 Las entidades internas 48

2.4.2 Las entidades externas 48

2.5 Las secciones condicionales 49

3. Introducción al concepto de esquemas XML 49

3.1 ¿ Qué diferencias hay entre DTD y XMLSchema ? 50 3.1.1 La inclusión de la especificación del tipo 50

3.1.2 La contribución de la sintaxis XML 51

3.2 ¿ Cómo construir un esquema ? 51

(3)

3.2.2 Construcción por clonación 55

3.3 Conceptos adicionales de construcción 56

3.3.1 Los grupos 57

3.3.2 El compositor choice 57

3.3.3 El compositor all 58

3.4 ¿ Cómo utilizar los tipos ? 58

3.4.1 Los tipos predefinidos 58

3.4.2 Crear sus propios tipos 58

3.4.3 Otros métodos de derivación 61

3.5 ¿ Cómo vincular un esquema a un documento XML ? 62

Relax NG

1. Principio de Relax NG 63

2. Sintaxis XML y sintaxis compacta 64

2.1 Sintaxis XML 64 2.1.1 Choice 66 2.1.2 Atributo 67 2.1.3 Patrones 68 2.1.4 Datatypes 70 2.1.5 Enumeraciones 70 2.1.6 Listas 71 2.1.7 Interleave 71 2.2 Sintaxis compacta 72 2.2.1 Choice 72 2.2.2 Atributo 73 2.2.3 Patrones 73 2.2.4 Datatypes 74 2.2.5 Enumeraciones 74 2.2.6 Listas 74 2.2.7 Interleave 75 3. Conclusión 75

(4)

Navegar en los documentos XML

1. Preámbulo 77

2. XPath: un lenguaje de designación 78

2.1 Principio 78

2.2 Modelo de datos Xpath 80

2.3 Ejemplos 80

3. XLL: lenguaje de descripción de vínculos 81

3.1 Presentación y vocabulario 82

3.2 Xlink 82

3.3 XPointer: lenguaje de direccionamiento de XML 89

4. Xbase 93 4.1 Principio 94 4.2 Ejemplo 94 5. XInclude 95 5.1 Principio 95 5.1.1 El atributo href 96 5.1.2 El atributo parse 96 5.1.3 El atributo encoding 97 5.2 Declaración DTD 97 5.3 Ejemplo 97

Presentación de XQuery

1. Presentación de XQuery 99 1.1 XQuery y el SQL 100 1.2 Un procesador XQuery 100 1.3 Su primera consulta 101

(5)

2. El lenguaje 102 2.1 Los comentarios 103 2.2 Posición en un árbol 103 3. Las expresiones 103 3.1 Expresiones de comparación 103 3.1.1 Comparación general 103 3.1.2 Comparación de valores 104 3.1.3 Comparación de nodos 105 3.2 Expresiones condicionales 106 3.3 Expresiones de conjunto 107 3.3.1 Union 107 3.3.2 Intersect 107 3.3.3 Except 108 3.4 Las variables 108

3.5 Las expresiones FLWOR 108

3.5.1 Descripción 108 3.5.2 For, in y return 108 3.5.3 Anidamiento 109 3.5.4 Let 110 3.5.5 Where 110 3.5.6 Order by 111

3.6 Las expresiones cuantificadas some y every 111

3.7 Las funciones 112

3.7.1 Las funciones incluidas en XQuery 112

3.7.2 Crear sus propias funciones 113

3.8 Las uniones 114

4. Conclusión 114

SAML: intercambios seguros con XML

(6)

1.1 El protocolo 116

1.2 Las vinculaciones (binding) 118

1.3 Perfiles 120

2. Hacia el SSO OASIS 121

2.1 ¿ Qué es el SSO ? 121

2.2 El SSO en detalle 122

2.3 Web Browser SSO Profile 124

Optimización del XML: el EXI

1. El EXI 127

1.1 Presentación 127

1.2 Los inconvenientes del XML 128

1.3 Optimizar el XML 129 2. Funcionamiento 130 2.1 El mecanismo 134 2.2 Las bibliotecas 135 3. Conclusión 135

Aplicación

1. Introducción 137 2. DTD: la librería 137

2.1 Definición de la gramática de la lista de libros 138

2.2 Ejemplo de archivo de datos XML 140

(7)

4. XMLSchema: la biblioteca 145

4.1 Esquema de descripción de un libro 146

4.2 Esquema de descripción de un empleado 147

4.3 Ejemplo de archivo de datos XML 147

5. Relax NG: la biblioteca 148

5.1 Sintaxis de un libro 149

5.2 Sintaxis compacta de un empleado 149

6. Probar las rutas XPath con la ayuda de XPath Visualizer 150

7. Crear consultas XQuery sobre un documento XML 154

7.1 Consultas simples 154

7.2 Las instrucciones FLWOR 155

7.3 Ejercicio: crear una función que evalúe la acidez 155

8. El SSO en JavaScript 158

8.1 Las bibliotecas 158

8.2 Caso práctico con Google 159

8.3 Instalación 159

8.4 Prueba de implementación 159

8.5 Conclusión 162

Las transformaciones

1. ¿ Qué es el XSL ? 165

2. Vincular un documento XML a una hoja de estilo XSL 167

(8)

4. XSLT 168

4.1 ¿ Qué es una transformación XSLT ? 168

4.2 Las reglas de plantilla (template rules) 170

4.3 Aplicación de las reglas de plantilla 174

4.4 Los elementos de transformación 174

4.5 Crear elementos con xsl:element 175

4.6 Crear atributos con xsl:attribute 176

4.7 Crear conjuntos de atributos con nombre con xsl:attribute-set 176

4.8 Crear texto con xsl:text 177

4.9 Crear comentarios con xsl:comment 177

4.10 Copiar un nodo con xsl:copy 178

4.11 Generar texto con xsl:value-of 179

4.12 Calcular con xsl:number 180

4.13 Importar reglas con xsl:apply-imports 181

4.14 Repetir un procesamiento con xsl:for-each 181

4.15 Procesamiento condicional mediante xsl:if 183

4.16 Procesamiento condicional mediante xsl:choose 184

5. XSL-FO 184

5.1 Inicialización y estructura del documento 185

5.2 La disposición de las páginas 186

5.3 La zona de contenido 188

5.4 El orden de aparición de los tipos de página 189

5.5 Insertar contenido 190

5.6 Generar el documento PDF 192

CSS y XLS: aplicación

1. Introducción 193

2. Aplicar una hoja de estilo CSS a un documento XML 194

2.1 El documento XML 194

(9)

3. Aplicación de una hoja de estilo XSL 199 3.1 El documento XML de base 199 3.2 La transformación XSL 199 4. Transformación XSL de un documento XML 204 4.1 El documento XML de base 204 4.2 La transformación XSL 206

4.3 Otros ejemplos de transformación 208

4.3.1 Transformación de un documento XML en texto 208

4.3.2 Transformación de un documento en CSV 209

5. Creación de un documento PDF con XSL-FO 211

5.1 El ejemplo completo 211

5.2 La generación del documento PDF con la herramienta FOP 215

6. Un último truco para integrar XML en HTML 217

6.1 Inclusión simple de contenido XML en HTML 218

6.2 Inclusión mediante “data island” 219

7. Conclusión 222

Los servicios web

1. De SGML a los servicios web 225

1.1 De SGML a XML 226

1.2 Los servicios web: el futuro previsible de XML 226

2. El concepto de servicios web 227

2.1 ¿ Qué es un servicio web ? 228

(10)

3. Los directorios de servicios web 230

3.1 WSDL 230

3.2 UDDI 231

3.2.1 Directorios UDDI 231

3.2.2 Las interfaces UDDI 232

3.2.3 Acerca de UDDI 233

4. Introducción a SOAP, el protocolo de los servicios web 233

El protocolo SOAP y los analizadores XML

1. Principio básico de SOAP 235

1.1 Llamar a un método remoto 236

1.2 La consulta SOAP 237

1.3 La respuesta 238

2. Aplicación de SOAP 239

2.1 ¿ Qué necesita ? 239

2.2 Realizar una transación SOAP 240

2.3 Interoperabilidad 241

3. La interpretación de los documentos XML: los analizadores 242

3.1 ¿ Qué hace el analizador XML ? 242

3.2 Introducción a los analizadores XML DOM 243

3.3 Introducción a los analizadores XML SAX 243

3.4 ¿ DOM o SAX ? 244

3.5 XML Pull Parsing 245

3.6 Stax 246

(11)

1. XHTML: ¿ XML + HTML ? 247

2. Principios fundamentales del XHTML 249

2.1 ¿ Qué es un documento XHTML conforme ? 249

2.2 Estructura de un documento XHTML 249

3. Diferencias entre HTML 4.0 y XHTML 1.0 251

4. Los formularios XHTML: los XForms 252

4.1 Los límites impuestos por los formularios HTML 253 4.1.1 Los siete tipos de elementos de los formularios HTML 253 4.1.2 Los dos métodos de procesamiento de los formularios HTML: GET y POST 258 4.1.3 Los límites de accesibilidad de los formularios HTML 258

4.2 Principios fundamentales de los XForms 259

4.3 Los controles de formularios XForms 259

4.4 Declarar los XForms 260

4.5 Dominar los componentes XForms 261

4.5.1 Las zonas de texto 262

4.5.2 Selección múltiple (botones radio, casillas, áreas de selección múltiple y menús)

262

4.5.3 Cargar archivos 264

4.5.4 Los grupos de opciones 264

4.5.5 Los eventos 265

4.5.6 Los valores iniciales 265

4.5.7 Los métodos de envío 266

4.6 Un sencillo ejemplo de XForms 267

5. XHTML5 268

5.1 Presentación 268

5.2 Qué cambia 270

(12)

XML y JavaScript

1. JavaScript 279

1.1 Breve introducción 279

1.2 Límites del JavaScript 280

1.3 JavaScript y los navegadores 280

2. DOM 281

2.1 DOM HTML y XML 281

2.2 DOM y JavaScript 282

2.3 Un ejemplo de utilización de JavaScript con DOM 283

3. XMLHttpRequest 285 3.1 Principio 285 3.2 AJAX 286 3.3 Ejemplo 286 4. jQuery y el XML 288 4.1 jQuery 288

4.1.1 Las ventajas de jQuery 289

4.1.2 El funcionamiento básico 290

4.1.3 Consultar el XML 291

4.1.4 Traducir el XML 291

4.1.5 Generar XML 291

5. Conclusión 293

El XML en las interfaces persona-máquina

1. El XAML 295

1.1 Una interfaz para la Web y el escritorio 295

(13)

2. Android 302

2.1 Una interfaz para la Web y el escritorio 302

2.2 Los estilos 305 3. JavaFX 306 4. Conclusión 308

WML, SMIL, RDF y RSS

1. Introducción 309 2. WML 309

2.1 Presentación del lenguaje WML 310

2.2 La sintaxis del lenguaje WML 310

2.3 Diferencias entre WML y HTML 313

2.4 ¿ Qué necesita para crear y publicar documentos WML ? 314

2.5 ¿ Cómo hacer el WML más dinámico ? 314

3. SMIL 315

3.1 Estructura de un documento SMIL 316

3.2 Conceptos básicos para construir animaciones interactivas SMIL 317 3.2.1 Los elementos <seq> y <par> 317

3.2.2 Las iteraciones 318

3.3 SMIL, para ir más lejos 319

4. RDF 319

4.1 Objetivos 320

4.1.1 Los metadatos 320

4.1.2 Hacia una Web semántica... 320

4.2 Principios 321

(14)

4.2.2 Ejemplo 321

4.2.3 RDF, para ir más lejos 322

5. RSS 323

5.1 Objetivos 323

5.2 Las diferentes versiones de RSS 324

5.3 Construir una fuente RSS 0.91, 1.0 o 2.0 325

5.3.1 Estructura de un documento RSS 0.91 325

5.3.2 Estructura de un documento RSS 1.0 328

5.3.3 Estructura de un documento RSS 2.0 332

5.4 ¿ Cómo usar las fuentes RSS en un sitio ? 335

6. Conclusión 336

SVG (Scalable Vector Graphics)

1. Generalidades 339

2. Interpretar el SVG 340

3. La sintaxis de SVG 340

3.1 La inicialización del documento 340

3.2 Añadir elementos gráficos 342

3.3 Aplicar transformaciones: traslaciones, rotaciones, escala 346

3.4 Operaciones sobre los objetos gráficos 349

3.5 Añadir texto 351

3.6 Aplicar filtros 353

3.7 Caso práctico: crear un histograma en SVG 355

3.8 Descomposición 356

3.9 Ejecución 358

(15)

Otros lenguajes derivados del XML

1. Introducción 361 2. Los subconjuntos de XML 362 3. Lenguajes basados en XML 363 3.1 YAML 363 3.2 JSON 364 4. XML en el servicio de intercambios B2B 365

4.1 Los servicios web XML 365

4.2 Los lenguajes "dedicados" 366

5. Conclusión 367

Referencias

Documento similar