# data[].attributes.body
+ uno o más ocurrencias

* 0 o mñas

? cero o uno

# data[].attributes.body
DTD:

ELEMENTOS

ATRIBUTOS

ENTIDADES

NOTACIONES

# data[].attributes.body
nombre del elemento y tipo de elemento

# data[].attributes.body
attlist: nombre, atributo, tipo y valor por defecto

# data[].attributes.headline
entidad:(como una variable en programación)

# data[].attributes.subject
entidad:(como una variable en programación)

# data[].attributes.body
nombre entidad y valor

# data[].attributes.body
Declaración externa

Declaración interna

# data[].attributes.body
importante poner |

<!ELEMENT actores (actor|actriz)+>

# data[].attributes.body
sirve para que no haya conflictos entre los elementos con igual nombre en el xs y en el xml

el espacio de nombres está vinculado a url

# data[].attributes.body
Nodo raíz schema

puede tener elementos simples y elementos complejos

# data[].attributes.body
no pueden contener ningún otro elemento ni atributo (elementos que solo pueden contener texto por ejemplo como pcdata en xml)

<xs:element name="nombre" type="tipo"/>

# data[].attributes.body
Los elementos complejos, hay 4 tipos:

Elementos vacíos

Contiene otros elementos

Atributos que contienen solo texto

Elementos que contienen tanto otros elementos como texto

Tenemos dos formas de declararlos

diciendo el tipo de elemento y despues definiendo el complejo

declarando el elemento definiendo el tipo uy l elemento que dice que pertenece a ese tipo

si hacemos varias declaraciones de mismo elemento lo idóneo es hacer el segundo tipo.

Es algo impiortantisimo agrupar declaraciones en el exámen

Elementos vacios: (Pueden contener atributos y eso ,los hace complejos).

Elemento complejo con solo elementos: declaro elemeto, nombre y digo que es complejo, defino una secuencia d elementos y listo

Atributos que contienen solo texto

# data[].attributes.body
se declaran como elementos simples

<xs:attribute name="lang type=xs:string"/>

el valor puede ser:

default

fixed

use

nombre , tipo y xs:string

# data[].attributes.body
Sympletype

Complextype

Indcadiores: se tuilizan para establecer como vamos a utilizar los elementos en xml

.Secuencia

.Ocurrencia (Max-Min-unbonded)

.Grupo : para agrupar declaraciones ya sean elementos o atributos;

# data[].attributes.body
Xpath es un lenguaje que permite definir expresiones para referenciar elementos que componen el XML

XPath considera un documento XML como un Árbol de nodos

Existen 7 tipos de nodos:

Raíz

Elemento

Atributo

Texto

XPath es una cadena de texto que representa un recorrido en el árbol del documento.

devuelve un conjunto de nodos.

Expresiones XPath

Absolutas: Son validas independientemente de donde te encuentres

Relativas: se procesan a partir del nodo de contexto

formas de escribirlas :

Abreviada

Completas

# data[].attributes.body
<xs:element name="nota">

elemento nota

atributo name

valor nota

<xs:simpleType> : Nos dice que es un elemento simple

# data[].attributes.body
Podemos crear un tipo de dato nuestro en el caso de que lo vayamos a utilizar mucho

# data[].attributes.body
INTRODUCCIÓN

(Suscribirnos a un sitio web para que te lleguen avisos de nuevas publicaciones y demás.)

Ventajas para los suscriptores: unico lugar para las noticias, flexibilidad

Ventajas para los editores: Fácil publicación, procesos de estructura sencillo, seguridad de legar a los suscriptores, mejora la relacion con los suscriptores, facilita que los suscriptores revisen la pagina con mas frecuencia, vinculos al sitio.

EJEMPLOS DE USO:

Sector inmobiliario

ESTÁNDARES DE SINDICACIÓN DE COTENIDOS

Podemos clasificarlos en dos grupos, los cuales se basan en XML:

- RSS

- ATOM

AGREGADORES

RSS REALLY SIMPLE SYNDICATION

DIRECTORIOS DE CANALES DE CONTENIDOS.