XML Flashcards
¿Que signifca el atributo standalone=”yes” en el prologo de un documento xml?
Que dentro del documento está embebido también el DTD
¿Con que API de JAXP se crea un arbol de objetos en memoria de los tipos Node, Elment, Attr, etc ?
DOM
¿Cual es el estandar que le corresponde a JSON?
ECMA 404
¿Que tipos de datos soporta JSON?
boolean
string
numbers
object (para subdocumentos por ej.)
array
null
¿Con que API conseguimos que la información xml leida/parseada se transforme en un objeto de nuestras clases de negocio?
JAXB
Recordar que todo funciona con anotaciones como @XmlElement, @XmlAttribute, etc
¿Con que lenguaje xml podemos llegar a generar PDF’s a partir de un xml de datos?
XSL-FO
Al software que hace esto se le denomina Processor
Nombre dos implementaciones en Java que implementen XSL-FO
Apache FOP
XEP
Si analizamos con DOM un documento en xml, ¿en que se convierten los textos que hay entre una etiqueta de inicio y su correspodiente de fin?
En un nodo de tipo Text (paquete org.w3c.dom)
¿Que es Xerces?
Un proyecto de Apache que implementa las API’s de JAXP (DOM, SAX y StaX)
Si analizamos con DOM un documento en xml, ¿se hace con los comentarios xml?
Si, se convierten en nodos de tipo Comment (paquete org.w3c.dom)
¿Quien se encarga del estandar SGML?
ISO
¿Qué representa en un documento xml cuando escribimos & ?
Es una entidad que el parser va a sustituir por el caracter especial &
¿Qué significa que un documento xml esté bien formado?
Que está escrito de acuerdo a las siguientes reglas de xml:
- Toda etiqueta tiene que tener un cierre
- Los valores de los atributos deben de ir entrecomillados
- Las etiquetas tienen que estar correctamente anidadas (no se permiten cruces entre etiquetas)
- Todo documento debe contener una y solo una raiz
- xml es sensible a mayusculas
- xml no trunca multiples espacios en blanco
¿Qué significa que un documento xml sea valido?
Que está perfectamente escrito conforme a su gramática (bien sea DTD o XSD)
¿Qué solucionan principale los Namespaces en xml?
La posible duplicidad en los nombre de las etiquetas cuando se trabaja con varias fuentes
¿Cuales son los tipos mime de xml y json?
Para xml tenemos (application/xml y text/xml)
Para json tenemos application/json
Nombre dos librerias para manipular documentos JSON
Jackson
Gson de Google
En la declaración DOCTYPE para asociar un dtd a un xml, ¿qué significa la palabra SYSTEM?
Que es un dtd que solo tiene sentido en un ambito privado
¿Que tres elementos fundamentales podemos definir dentro de un DTD?
ELEMENT
ATTLIST
ENTITY
Dentro de un JSON, ¿las propiedades tienen alguna sintaxis especial?
Si, todas van entre dobles comillas
Nombre 8 tipos de datos que están disponibles en los XSD
string
decimal
integer
byte
boolean
date
time
dateTime
duration
base64Binary (interesante para embeber un archivo binario en el xml)
positiveInteger
ID
¿Cuando se define un xsd que uri se utiliza para definir su espacio de nombres?
http://www.w3.org/2001/XMLSchema
¿Cuando se vincula un xsd a un xml, que uri se utiliza para espacio de nombres?
http://www.w3.org/2001/XMLSchema-instance
¿Cual sería la expresion XPath para “seleccionar” todos los atributos precio que están asociados con la etiqueta producto?
//producto/@precio
(practicar con el software BaseX y los fichero xml de ejemplo de GitHub)
En un DTD, a nivel de definición de atributos, ¿que otras opciones tenemos a parte de #REQUIRED para especificar que son obligatorios?
IMPLIED para definir que es opcional
# FIXED para dar una valor fijo
¿Las expresion FLWOR con que lenguaje xml tienen que ver?
Lenguaje XQuery
http://docs.basex.org/wiki/XQuery_3.0 (ejemplo)
En un parser de tipo SAX, ¿que se recibe como parametros del metodo de evento “startElement”?
- En nombre la etiqueta (con o sin prefijo de espacio de nombres)
- Atributos
Si tenemos que realizar una lectura de un xml del cual nos dan su xsd, ¿que pasos inciales habría que dar para su procesamiento con JAXB y que herramienta hay que usar?
Habría que realizar un primer paso de generacion de las clases Java a patir del xsd para que el proceso de unmarshal se realice correctamente.
La herramienta está en la JDK y se llama xjc
En el contexto de JAXB, ¿a que le llamamos realizar un marshal?
A generar un xml a partir de un conjunto de objetos java
Enumere las cuatro API’s relacionadas con JAXP 1.4
SAX
DOM
StaX
TraX
¿Qué funcionalidad nos ofrece el lenguaje xsl-t?
Mediante un xml de datos, una hoja xsl-t y un procesador xsl podemos generar otros documentos como por ej html
¿Conoce alguna libreria en Java especializada en el API XSL-T?
Xalan
Saxon