XML Flashcards

1
Q

XML añade restricciones a SGML

A
  • Todas las etiquetas llevan cierre
  • Los valores de los atributos deben ir entre ‘ ‘ ó “ “
  • Case-sensitive
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

XML bien formado

A
  • Solo existe un único elemento raíz
  • Todos los elementos se encuentran anidados y correctamente cerrados
  • Los valores de atributos deben ir entre comillas simples o dobles
  • Los elementos vacíos deben terminar con ‘/’ (autocierre) o añadiendo etiqueta de fin
  • Los nombres de las etiquetas pueden ser alfanuméricos pero siempre empezando con una letra
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

XML válido

A

Cumple las reglas de la gramática especificadas en el DTD/XSD

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

DTD

A

Document Type Definition
Menos flexible en definición de tipos de datos, restricciones, etc
DTD no especifica tipo de datos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

XSD

A

Schema Definition
Permite definir restricciones a los posibles valores de los tipos de datos y se pueden establecer en diferentes aspectos, llamadas facetas: xs:length | xs:pattern,…

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Transformaciones XSL

A

XSL obsoleto
Con XSLT y un Processor (ej: Apache Xalan) podemos fusionar un XML con un XSL y da como resultado otro documento de marcas.
Con XSL-FO (Formating Object), el resultado de fusionar un XML con un XSLFO (ej: Apache FOP) sería un entregable (PDF, imagen,..)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

API’s de programación

A
  • DOM
  • SAX
  • JAXB
    -XPath
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

DOM

A

Estándar W3C. No se usa ya.
Apache Xerces
El parser genera del XML un árbol de objetos en memoria que podremos modificar añadiendo nuevos modos, eliminando o modificando
Libertad para recorrer el árbol pero tiene la desventaja de ocupar mucha memoria si el XML es grande
Todos los nodos son de tipo/interface Node
Con el API Trax

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

SAX

A

Del mundo Java.
Más complejo de desarrollar.
Apache Xerces.
El parser empieza a leer el XML y le envía a una clase que se ha definido previamente los distintos eventos que detecta.
Funciona forward-only.
SAXParser es el parser SAX de Java

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

JAXB

A

Similar al API del DOM pero genera objetos de tus clases de negocio.
El parser genera, del elemento XML, un árbol de objetos en memoria, pero al contrario que el DOM estos objetos serán de clases de tu modelo de dominio
Con la utilidad xjc de la JDK podemos generar esas clases automáticamente a partir de un XSD.
Hay una variante de JAXB llamada StAX que en lugar de levantar todo el árbol de objetos lo puede controlar el programador e ir leyendo bajo demanda.
Procesos:
-UNMARSHAL: leer el XML y levantar el árbol de objetos de negocio en memoria (≈Deserializar)
-MARSHAL: llevar el árbol de objetos de negocio a su XML correspondiente (≈Serializar)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

XPath

A

XML Path Language.
Estándar W3C.
Para seleccionar nodos de un XML

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Lenguajes de marcado ligeros

A

Basados en una sintaxis más ligera que XML y suelen usarse para generar documentación (como GitHub).
Ej: Markdown y RestructuredText

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

JSON

A

JavaScript Object Notation.
Estándar ECMA 404
Tipo MIME: application/json
Lenguaje Schema-less
Tipos de datos: Object, Array, Number, String, true, false y null
Basado en atributo-valor
Todos los atributos van siempre entre comillas
Uso importante en ámbito de seguridad, para autenticación web (JWT)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Librerías para procesado JSON

A

Jackson y GSON (google)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

API’s programación JSON

A

JSON-B (alto nivel) y JSON-P (bajo nivel)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

YAML

A

Acrónimo que significa YAML Aint Markup Language ( YAML no es un lenguaje de marcado)
Formato de serialización legible por humanos

17
Q

Usos YAML

A

Definición de un API Rest en formato Swagger/OpenAPI
Para definir un playbook de Ansible
Para definir el entorno de trabajo de un desarrollador de DockerCompose