Bloque3-Tema8-XML Flashcards
ISO de SGML?
ISO 8879
Que es SGML?
El lenguaje de marcado generalizado estándar o SGML es un estándar para definir lenguajes de marcado generalizados para documentos
Restricciones que XML añade sobre SGML?
- Todas las etiquetas tienen que llevar cierre (inclusive las empty elements)
- Los atributos deben de ir entre dobles comillas
- Case-Sensitive
Que es XML?
Extensible Markup Language. es un metalenguaje que permite definir lenguajes de marcas utilizado para almacenar datos en forma legible.
Comentario en XML?
comienza con <! – y termina con –>
Un Empty Element puede tener hijos?
No, pero si atributos.
Que es una Emptity
ejemplo: &
Emptity. Sirve como una macro. Sustituye todo eso por lo que este asociado la macro amp. por ejemplo podria ser un <
Cual es la sintaxis de un empty element?
por ejemplo
<role></role>
(Es valido dejar el espacio entre role y / , tambien que no este.)
o
<role> </role>
Que indica el stadalone de:
<?xml versión=“1.0” encoding=“utf-8” standalone=“no”?>
- standalone=“no” indica que el DTD está en un fichero externo
- La versión es obligatoria pero el encoding no
Que es CDATA en XML?
El término indica que una cierta parte del documento son datos de carácter general, en lugar de datos que no son de carácter o datos de carácter con una estructura más específica y limitada
Pone el texto tal cual, sin interpretar. El parser no lo analiza.
Caracteristicas de un XML bien formado?
- Sólo 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 una etiqueta de fin.
- Los nombres de las etiquetas pueden ser alfanuméricos, pero siempre comenzando con una letra
- Las etiquetas no pueden estar cruzadas, no puedes abrir nombre, abrir intereses, y luego cerrar nombre.
Cuando es un XML Valido (Gramatica)?
- Cumple las reglas de la gramática especificadas en el DTD / XSD(Schemas).
Formas de definir la gramatica de un XML?
DTD o XSD
Como se llama a las etiquetas en XML?
Element-> bloques de construcción de un XML
Definiendo un DFD, que indica #IMPLIED?
y #REQUIRED?
y #Fixed?
Implied-> Que es opcional
Required-> Que es obligatorio
Fixed-> Para un valor fijo
Que indica la * al final de un element?
<!ELEMENT deportistas (futbol | f1 | tenis)*>
Cardinalidad 0 o muchos
un + indica cardinalidad 1 o muchos.
Que indica (#PCDATA) en una XML?
Indica que tiene solo data. No debe tener hijos para ser valido.
Nota: Otros tipos de contenido para un ELEMENT serían ANY (Etiquetas o texto) o EMPTY (Empty Element)
Nota: Otros tipos de atributos son ID e IDREF (similar al concepto de clave primaria y ajena)
Definicion de un XSD
<aeropuerto>
</aeropuerto>
Que indica el minOccurs:
<xs:element>
</xs:element>
Numero minimo de ocurrencias.
Si no se pone cada, por defecto es 1.
Que tipos hay en un XSD?
<xs:complexType>
<xs:simpleType>
</xs:simpleType></xs:complexType>
Transformaciones de un XSL:
-Con el lenguaje XSLT y un Processor (ej. Apache Xalan) podemos fusionar un XML con un XSL y como resultado obtener otro documento de marcas
-Con XSLFO el resultado de fusionar un XML con un XSL (ej. Apache FOP) sería un Pdf, Imagen,..
Api’s de programacion relacionadas con XML?
DOM(Multiplataforma)
SAX y JAXB (Estas dos mundo java)
Como funciona DOM?
El Parser genera del documento XML un árbol de objetos en
memoria que podremos modificar añadiendo nuevos nodos,
eliminando o modificando.
Todos los nodos son de tipo/interface Node pero también
tenemos unas especializaciones de Node (Element, Attr, Text y Document)
Nota: Document es instrumental, representa a todo. Tambien hereda de node. No es la raiz fisica.
En Dom, que especializaciones de Node hay?
Element, Attr, Text y Document
Como funciona SAX?
El Parser comienza a leer el documento y le envía a una clase
que se ha definido previamente los distintos eventos que
detecta (inicio del documento, inicio de etiqueta, …)
Funciona forward-only, no tenemos posibilidad de ningún
recorrido pero es el más rápido de todos los métodos.
Como funciona JAXB?
El Parser genera del documento XML un árbol de objetos en
memoria, pero al contrario que el DOM, estos objetos serán
de clases de tu modelo de dominio (Ej. Factura, Empleado,
etc)
Para que sirve la utilidad xjc de la JDK?
Generar clases automáticamente a partir de un XSD
Que es XPath?
estándar para “seleccionar” nodos de un XML (equivalente a los CSS Selectors)
XPath es un lenguaje que permite construir expresiones que recorren y procesan un documento XML
Que es StAX?
Variante de JAXB que en lugar de levantar todo el árbol de objetos lo puede
controlar el programador e ir leyendo por “trozos”
es una interfaz de programación de aplicaciones (API) para leer y escribir documentos XML
Que es Xerces?
Es una colección de bibliotecas para el análisis sintáctico, validación, serialización y manipulación de documentos XML de la Apache Software Foundation. Para parsing (TIPO SAX y TIPO DOM)
En JaxB, que es Unmarshal?
Desde el xml, levantar el arbol de los objetos de negocio en memoria.
En JaxB, que es marshal?
Desde el arbol de objetos de negocio generar el XML
NOTA: En HTML5 podemos extender el lenguaje mediante el uso de Microdatos (atributos itemscope, itemtype, itemprop, etc) y DataSets (atributos
data-xxx). Las dos opciones representan API’s
Que son los lenguajes de marcas ligeros?
Un lenguaje de marcas ligero es un tipo de formateo de texto más o menos estandarizado, que ocupa poco espacio y es fácil de editar con un editor de texto.
Se basan en una sintaxis menos compleja que XML y suelen utilizarse para generar documentación.
Ejemplos de lenguajes de marca ligeros?
-Markdown (.md)
-restructuredText(.rst)
Estandar ECMA DE JSON?
404
Estandar ISO de JSON?
21778
Caracteristicas de JSON?
Lenguaje Schema-less, nativo para javascript y muy utilizado para intercambio de datos. Basado en atributo-valor
Tipo MIME de json?
application/json
Librerias para procesar JSON?
Jackson y GSON
API’s de programacion JSON?
JSON-B(Alto nivel)
JSON-P(Bajo nivel)
Todos los atributos deben ir siempre entre dobles comillas en JSON?
Si
Para que se usa JSON Schema?
Para validar gramatica.
En JSOn el null, true y false, van entre dobles comillas?
Nope
Nota: En json los decimales se representan con puntos en los numeros. Los arrays si usan comas.
Que es YAML?
YAML es un acrónimo recursivo que significa YAML Ain’t Markup Language (en castellano, ‘YAML no es un lenguaje de marcado’)
Que tipo de ficheros usan herramientas como Docker Compose(Despliegue multicontenedor), Swagger/OpenAPI(Documentar API rest) o los Playbooks de Ansible?
Yaml.
De que tipo puede ser un valor en JSON?
-object
-array
-number
-string
-true
-false
-null
Preguntas de o