ESPECIFICACIÓN XML 1.0 Alberto Gimeno Arnal

1 Alberto Gimeno Arnal [email protected]...
Author: Chicky Armijo
0 downloads 0 Views

1 Alberto Gimeno Arnal [email protected]ESPECIFICACIÓN XML 1.0 Alberto Gimeno Arnal Área de Lenguajes y Sistemas Informáticos Dpto. de Informática e Ingeniería de Sistemas Universidad de Zaragoza

2 XML: Reglas. XML debe ser utilizable directamente sobre Internet.XML debe soportar una amplia variedad de aplicaciones. XML debe ser compatible con SGML. Ha de resultar fácil escribir programas que procesen documentos XML. El número de características opcionales en XML debe ser mantenido en un mínimo, idealmente cero. Los documentos XML deben ser legibles por un ser humano y razonablemente claros. El diseño de XML debe ser preparado rápidamente. El diseño de XML debe ser formal y conciso. Los documentos XML han de ser fáciles de crear. La brevedad en la marcación reviste mínima importancia. Alberto Gimeno Arnal XML 1.0 2

3 XML: Soporta. Etiquetas de elemento Instrucciones de procesamientoDeclaraciones de tipos de documentos Referencia de entidades Comentarios Secciones marcadas Alberto Gimeno Arnal XML 1.0

4 XML: Estructura. Prueba Primer elemento Segundo elemento Alberto Gimeno Arnal XML 1.0

5 XML: Elementos. Alberto Gimeno Arnal XML 1.0

6 XML: Instruc. de procesamiento.Los documentos XML deben empezar con la directiva , opcionalmente: standalone encoding XML: Declaración de tipo de documento(DTD) Especificar el elemento raiz del documento. Definir elementos, atributos y entidades especificas del documento (DTD interno). Identificar una DTD externa en el documento. Alberto Gimeno Arnal XML 1.0 6

7 XML: Referencias a entidades.Por ejemplo, podrían ser: En el documento xml, bastará con poner < o € Alberto Gimeno Arnal XML 1.0 7

8 XML: Secciones CDATA. Se evita el análisis sintáctico del texto: *p=&qcampo; a=(x ]]> Alberto Gimeno Arnal XML 1.0 8

9 XML: Espacios de nombre.Los espacios de nombres son un prefijo que ponemos a las etiquetas de XML para indicar a qué contexto se refiere la etiqueta en cuestión. : para uso por los administrativos. : para uso por el profesorado. Para usar los espacios de nombres en un documento, debemos declararlo previamente (xmlns): xmlns:alumn=“http://cps.unizar.es/PAS” xmlns:pdi=“http://cps.unizar.es/PDI” Alberto Gimeno Arnal XML 1.0 9

10 XML: Modelar datos Existen dos tipos:Forma simple: DTD’s (internas /externas) Forma extensa: XML Schema’s Alberto Gimeno Arnal XML 1.0 10

11 DTD: Estructura. Alberto Gimeno Arnal XML 1.0 11

12 Ingredientes?, Instrucciones?)Símbolo Descripción () Los paréntesis agrupan subetiquetas , Ordenación exacta de los elementos (Nombre, Descripcion?, Ingredientes?, Instrucciones?) | Uno sólo de los elementos indicados (Cocer | Freir) Si no indicamos nada los elementos aparecen una sola vez (Cantidad, Item) + Una o más veces Paso+ ? Elemento opcional Instrucciones? * Cero o más veces Ingrediente* #PCDATA Parsed Character Data DTD: Alberto Gimeno Arnal XML 1.0 12

13 DTD: Tipos de Declaraciones.Tipos de elementos. ( EMPTY #PCDATA ANY Listas de atributos. ( Entidades. ( Notaciones. ( Alberto Gimeno Arnal XML 1.0 13

14 DTD: Atributos. Valor Descripción CDATAEl valor son caracteres alfanuméricos (v1 | v2 | ..) El valor será uno de la lista explicitada ID El valor será un identificador único IDREF El valor es el ID de otro elemento IDREFS El valor es una lista de ID otros elementos NMTOKEN El valor es un nombre XML válido NMTOKENS El valor es una lista de nombres XML válidos ENTITY El valor es una entidad ENTITIES El valor es una lista de entidades NOTATION El valor es el nombre de una notación xml: El valor es un valor XML predefinido Alberto Gimeno Arnal XML 1.0 14

15 DTD: Atributos. ValoresDescripción valor El valor por defecto del atributo #REQUIRED El valor del atributo debe aparecer obligatoriamente en el elemento #IMPLIED El atributo no tiene por qué ser incluido #FIXED valor El valor del atributo es fijo Alberto Gimeno Arnal XML 1.0 15

16 DTD. Referencias. Embebido o interna: Enlace externo: …….]> Enlace externo: ……. Alberto Gimeno Arnal XML 1.0 16

17 XML Schema. Ventajas sobre DTDXML Schema se basa en XML, lo cual permite validar los documentos. Soporta una serie de tipos de datos (int, float, boolean, date, etc.). Vocabulario abierto: permite definir nuevos tipos de datos y establecer nuevas relaciones de herencia. Soporta spacenames  asociar nodos individuales con las declaraciones de tipos de esquema. Soporta grupos de atributos  combinación de atributos. Alberto Gimeno Arnal XML 1.0 17

18 XML Schema: Estructura. xmlns:dt="urn:schemas-microsoft-com:datatypes"> dt:values="drama comedia aventuras sci-fi misterio horror romance documental" default="drama"/> dt:values="G PG PG-13 R X" default="PG"/> dt:values=" " default="3"/> Alberto Gimeno Arnal XML 1.0 18

19 XML Schema: Tipos de Declaraciones.Describe los tipos de datos en los elementos y los atributos. ( Describe tipos de elementos. ( Identifica un elemento que puede reproducirse dentro de otro. ( Organiza los elementos en grupos. (group) Describe un tipo de atributo. ( Identifica un atributo que puede reproducirse dentro de otro. ( Alberto Gimeno Arnal XML 1.0 19

20 XML Schema: ElementType.name, nombre del elemento. model content, tipo de contenido (textOnly, eltOnly, empty, mixed) order, orden de los elementos secundarios y grupos que hay en el elemento (one, seg, many) dt:type, tipo de elemento. (coincide con los tipos de datatype) Alberto Gimeno Arnal XML 1.0 20

21 XML Schema: AttributeType.name, nombre del tipo de atributo. dt:type, tipo de datos del atributo. dt:values, lista de los posibles valores del atributo (dt:type=“enumeration”) default. required. Alberto Gimeno Arnal XML 1.0 21

22 XML Schema: element/attribute.type, tipo del elemento/atributo. Debe ser el nombre de un tipo de elemento ya declarado. minOccurs, numero mínimo de veces que el elemento/atributo debe producirse. maxOccurs, numero máximo de veces que el elemento/atributo debe producirse Alberto Gimeno Arnal XML 1.0 22

23 XML Schema: Tipos de datos.Declaración al principio del documento XML Schema  xmlns:dt char boolean int float number i1 fixed 14.4 ui1 bin.hex dateTime i2 r4 ui2 bin.base64 dateTime.tz i4 r8 ui4 date time uuid uri time.tz Alberto Gimeno Arnal XML 1.0 23

24 Plantilla XSL: Estructura. AGENDA XML ,

( )
Tfno.: -


Alberto Gimeno Arnal XML 1.0 24

25 XSLT: Tipos de elementos.xsl:value-of, insertar el valor de un elemento o atributo (select). xsl:if, establece una ramificación condicionada (match). xsl:for-each, bucle (select, order-by) xsl:apply-templates, aplica plantillas secundarias (select). Alberto Gimeno Arnal XML 1.0 25

26 XPath. Es un lenguaje no XML.Proporciona una vía abstracta de dirigirse a partes de documentos XML. Sintaxis diseñada para ser usada con URI y valores de atributos XML (máxima simplicidad). Organización del documento en árbol de nodos Recorre el árbol a través de expresiones. Alberto Gimeno Arnal XML 1.0 26

27 Árbol XPath: Nodos raíz. Nodos de elementos. Nodos de texto.Nodos de atributos. Nodos de espacios de nombres. Nodos de instrucciones de procesamiento. Nodos de comentarios. Alberto Gimeno Arnal XML 1.0 27

28 XPath: Tipos de datos mode-set, conjunto de datos.boolean, (true|false). number, número de coma flotante. string, cadena de texto. Alberto Gimeno Arnal XML 1.0 28

29 Vincular documentos: XLink y XPointer.XLink, determina el documento al que se desea enlazar. type(locator, simple, extend, arc, group), href, from, to, show, actuate, role, title. XPointer, marca el lugar exacto de dicho documento. Rutas absolutas: Root(/), id(Name), here(), origin() Rutas relativas: child, parent, descendant, descendant-or-seft, ancestor, ancestor-or-seft, preceding-sibling, following-sibling, preceding, following, seft, attribute. Alberto Gimeno Arnal XML 1.0 29

30 XLink: Estructura. Extendido: Simple: Juan Primero Segundo Extendido: Alberto Gimeno Arnal XML 1.0 30

31 Patrón XSL: Estructura.Search context agenda.xml Query ./tfno Result Set Alberto Gimeno Arnal XML 1.0 31

32 XSL: Cadenas de consulta.Jerárquicas: Consultas primarias-secundarias, / Ascendiente-Descendiente, // Comodines, * Secuenciales: Precedencias inmediatas, ; Precedencias, ;; Localizar un atributo: Devolver Filtrar, Métodos: text(), value(), nodeType(), nodeName(), index(), end(). Alberto Gimeno Arnal XML 1.0 32

33 XSL: Consultas.
Alberto Gimeno Arnal XML 1.0 33

34 Analizadores sintácticos: parser.Validación de los documentos XML, interfaz (API) que proporciona llamadas a funciones y procedimientos que proporcionen métodos y mecanismos para manipular documentos XML, existen dos tipos: DOM, script’s (java, vb, c++, c#,…) SAX, JAVA. Alberto Gimeno Arnal XML 1.0 34

35 DOM: Modelo de Objeto de Documento.Interfaz (Document, DocumentFragment, Node, NodeList, NamedNodeMap, CharacterData, Attr, Element, Text) Nodos y secciones (CDATASection, Notation, EntityReference, Entity, ProcessingInstruction) Objetos. Métodos. Atributos. Alberto Gimeno Arnal XML 1.0 35

36 SAX: Simple API para XML.Parser.parser()/HandlerBase() Interfaz DocumentHandler Retrollamadas (elementos, documentos, texto) Procesamiento (instrucciones, plantillas) Objetos (ErrorHandler, InputSource, Locator) Alberto Gimeno Arnal XML 1.0 36