99
Ciclo Formativo de Grado Superior de Administración de Sistemas Informáticos en red Módulo Profesional: LMSGI Unidad de Trabajo 7.- XML, Extensible Markup Language (lenguaje de marcas extensible). W3C DTD/XML Schema Departamento de Informática y Comunicación IES San Juan Bosco (Lorca-Murcia) Profesor: Juan Antonio López Quesada

UT7

Embed Size (px)

DESCRIPTION

lenguaje de Marcas

Citation preview

  • Ciclo Formativo de Grado

    Superior de Administracin de

    Sistemas Informticos en red

    Mdulo Profesional: LMSGI

    Unidad de Trabajo 7.- XML, Extensible Markup Language

    (lenguaje de marcas extensible). W3C DTD/XML Schema

    Departamento de Informtica y ComunicacinIES San Juan Bosco (Lorca-Murcia)Profesor: Juan Antonio Lpez Quesada

    http://www.carm.es/neweb2/servlet/integra.servlets.ControlPublico?IDCONTENIDO=816&IDTIPO=140&RASTRO=c77$mhttp://www.iessanjuanbosco.es/

  • 2

    La necesidad de jerarquizar y estructurar correctamente la informacin,no slo para almacenarla, sino tambin para acceder a ella, se haconvertido en una labor que ha cobrado especial relevancia en los ltimosaos, en los que se han producido importantes avances en este campo.

    Inicialmente se usaron las Definiciones del Tipo de Documento (DTDs)para describir el vocabulario necesario para identificar todos loselementos de que iba a constar el documento y para expresar laestructura.

    Pero las DTDs no satisficieron todas las necesidades inherentes a XML ypronto se vio necesario utilizar otros mtodos ms rigurosos ysofisticados para tratar la estructura y la semntica dentro de undocumento XML. As surgieron los Esquemas XML (XML Schema), comouna forma de ampliacin y mejora de las primitivas DTDs. Las DTDs y losSchemas son usados por los analizadores sintcticos o parsers paracomprobar si un documento XML es vlido.

    As pues, vemos que para proceder a la estructuracin o especificacinformal dentro de un documento XML existen distintas soluciones, entrelas que cabe destacar principalmente dos: las DTDs y los XML Schemas

  • 3

  • 4

    Un repaso al XML

    Definicin de Tipos de documentos

    (DTD)

    XML Schema(xsd)

    Herramientas CASE

    Ejercicios y Cuestiones

    Ejercicios.pdfEjercicios.pdf

  • Ya se adelant la definicin de documento XML como una informacinjerarquizada, en forma de texto, que constituye un objeto de datos quepuede ser presentado mediante una estructura de rbol, que puede estaralmacenado en un nico archivo o estar dividido en varios.

    Para crear un documento XML se puede utilizar cualquier editorespecializado; son cada vez ms los paquetes de software que facilitanque sus datos puedan salvarse como tales documentos XML.

    La presentacin textual de un documento XML, como en todo ML, sepuede resumir de la forma : Texto XML = datos + marcado. Estosignifica que el texto de un documento XML consta de dos conjuntos :marcado y datos. El marcado corresponde a las instrucciones que elanalizador XML debe procesar ( que se incluyen entre los parntesisangulares ) mientras que los datos son el texto entre las marca o etiquetadelimitada, en inicio y final por parntesis angulares. El procesador, unavez determinado que todos los caracteres de un documento sonaceptables, los diferencia entre texto de marcado y caracteres de datos (CDATA ).

  • Es importante resear que desde el principio debe distinguirse entre datosanalizables ( Parsed Carcter Data o PCDATA ) y no analizables, y que sumezcla, en principio, no es un problema ya que admite esta posibilidad sinproblema alguno, de la misma forma que en un texto en castellano sepuede incluir un texto ingls, siempre que se seale adecuadamente.

    Los caracteres de datos corresponden a todo lo que no es marcado. Lasecuencia es: un inicio < >, seguido de un contenido, y de una finalizacin< / > ( la nica excepcin son las referencias a entidades que, comoveremos, comienzan con el carcter &, y terminan con el carcter ;).

  • Etiquetas de Elemento

    Las etiquetas constituye el componente ms evidente de lasintaxis XML y se emplean para describir elementos. y.

    Los elementos XML pueden tener contenido (ms elementos, caracteres, o ambos a la vez), o bien ser elementos vac&iacuteos.

    Un elemento con contenido es, por ejemplo:

    Fernando Damin

    Que no cunda el pnico

    Siempre empieza con una que puede contener atributos o no, y termina con una que debe tener el mismo nombre.

  • Etiquetas de Elemento

    Un elemento puede estar vaco, por lo que no tiene contenido. Por ejemplo;

    Al no tener una etiqueta de cierre que delimite un contenido, seutiliza la forma , que puede contener atributos o no.

    Los elementos pueden tener atributos, que son una manera de incorporar caractersticas o propiedades a los elementos de un documento.

    Por ejemplo, un elemento "chiste" puede tener un atributo "tipo" y un atributo "calidad", con valores "vascos" y "bueno" respectivamente.

    Esto es un da que Patxi y Josu vanpaseando...

  • Etiquetas de Elemento

    En una Definicin de Tipo de Documento, se especifican los atributos quepueden tener cada tipo de elemento, as como sus valores y tipos de valorposible.

    Al igual que en otras cadenas literares de XML, los atributos pueden estarmarcados entre comillas simples (') o doble ("). Cuando se usa uno paradelimitar el valor del atributo, el otro tipo se puede usar dentro.

    A veces, un elemento con contenido, puede modelarse como un elementovaco con atributos.

    MicifPersaMicif

  • Instrucciones de procesamiento

    Angel Barbero c/Ulises, 36

    Lo primero que tenemos que observar es la primera lnea. Con ella deben empezar todoslos documentos XML, ya que es la que indica que lo que la sigue es XML. Aunque esopcional, es recomendable incluirla. Puede tener varios atributos, algunos obligatorios yotros no:

    version: Indica la versin de XML usada en el documento. Es obligatorioponerlo, a no ser que sea un documento externo a otro que ya lo inclua.encoding: La forma en que se ha codificado el documento. Se puede ponercualquiera, y depende del parser el entender o no la codificacin. Por defectoes UTF-8, aunque podran ponerse otras, como UTF-16, US-ASCII, ISO-8859-1, etc.standalone: Indica si el documento va acompaado de un DTD ("no"), o nolo necesita ("yes"); en principio no hay porqu ponerlo, porque luego seindica el DTD si se necesita.

  • Instrucciones de procesamiento

    La tiendecilla 953 87 12 23

    Generado con tienda-html.xsl

  • Declaracin de Tipo de Documento

    ]>

    Jos Garca

    25/04/1984

    Varn

  • Declaracin de Tipo de Documento

    La "declaracin de tipo de documento" define qu tipo de documento estamoscreando para ser procesado correctamente. Es decir, definimos quedeclaracin de tipo de documento (DTD) valida y define los datos quecontiene nuestro documento XML.

    En ella se define el tipo de documento, y dnde encontrar la informacinsobre su Definicin de Tipo de Documento, mediante:

    Un identificador pblico (PUBLIC): que hace referencia a dichaDTD.Identificador universal de recursos (URI): precedido de lapalabra SYSTEM.

    Ejemplos:

  • Referencias a Entidades

    Existen varios tipos de entidades que podemos definir en nuestras DTD's:

    Entidades internas

    Tambin llamadas macros constantes de texto, las entidades internas son las que seasocian a una cadena de caracteres. Se referencian nica y exclusvamente desde elfichero.

    Ej:

    As, si escribo en mi documento (en el cdigo fuente): &nom; es como si estuvieraescribiendo Juan Prez Lpez.

    XML proporciona 5 entidades predefinidas que se declaran automticamente y que estna disposicin de todo documento XML:

    < Es sustitdo por el smbolo < , > Es sustitdo por el smbolo > , & Es sustitdopor el smbolo & , ' Es sustitdo por el smbolo ' , " Es sustitdo por el smbolo "

    Entidades externas, de parmetros,

  • Comentarios

    A veces es conveniente insertar comentarios en el documentos XML, que sonignorados por el procesado de la informacin y las reproducciones deldocumento. Los comentarios tienen el mismo formato que los comentarios deHTML. Es decir, comienza por la cadena "".

    Se pueden introducir comentarios en cualquier parte del documento salvodentro de las declaraciones, etiquetas, u otros comentarios.

  • Secciones CDATA

    Existe otra construccin llamada CDATA (Character DATA) en XML que permite especificardatos, utilizando cualquier carcter, especial o no, sin que se interprete como marcadoXML.

    Ejemplo primero usando entidades predefinidas y luego con un bloque CDATA

    Lo siguiente es un ejemplo de HTML. Rock & Roll Rock & Roll ]]>

    Como hemos visto dentro de una seccin CDATA podemos poner cualquier cosa, que noser interpretada. Existe una excepcin y es la cadena "]]>" con el que termina el bloqueCDATA. Esta cadena no puede utilizarse dentro de una secci CDATA.

  • Espacios de Nombres

    Un espacio de nombres XML es una recomendacin W3C para proporcionarelementos y atributos con nombre nico en una instancia XML. Una instanciaXML puede contener nombres de elementos o atributos procedentes de msde un vocabulario XML. Si a cada uno de estos vocabularios se le da unespacio de nombres, se resuelve la ambigedad existente entre elementos oatributos que se llamen igual. Los nombres de elementos dentro de unespacio de nombres deben ser nicos.

    Un ejemplo sera una instancia XML que contuviera referencias a un cliente ya un producto solicitado por ste. Tanto el elemento que representa el clientecomo el que representa el producto pueden tener un elemento hijo llamado"numero_ID". Las referencias al elemento "numero_ID" podran serambiguas, salvo que los elementos, con igual nombre pero significadodistintos, se llevaran a espacios de nombres distintos que los diferenciaran.

  • Espacios de Nombres

    1232654 Fulanito de Tal 99999999 6523213 Caja de herramientas 187,90

    Un espacio de nombres se declara usando el atributo XML reservado xmlns, cuyo valor debe ser un identificador uniforme de recurso.

    Por ejemplo:

    xmlns="http://www.w3.org/1999/xhtml"

  • Introduccin Elementos Atributos

    ComentariosEntidadesDiseo y

    Validacin

  • Una DTD indica:

    Qu elementos pueden ser utilizados en un tipo de documentoespecfico

    Cuales son obligatorios y cuales opcionales

    Cuales son repetibles y cuales no

    En qu orden deben aparecer

    Cmo deben anidarse los elementos que conforman un documento

    La DTD tambin contiene:

    La declaracin de las entidades que se utilizan en el documento:

    Recursos externos XML

    Recursos externos no XML: grficos, multimedia, etc.

    Texto que acta como comodn o abreviatura para palabrasde uso frecuente o trminos que cambian con facilidad

    La declaracin de notaciones (intrucciones para procesar lasentidades no xml)

  • La DTD utiliza una sintxis especial para definir la estructura de un tipo de documento.

    Esta sintxis utiliza los siguientes elementos:

    ELEMENT

    ATTLIST

    ENTITY

    NOTATION

    Comentarios

  • La DTD contiene declaraciones de los distintoselementos, entidades y notaciones que puedenaparecer en un documento XML.

    Cada declaracin se escribe entre los caracteres, indicando el tipo de componente que sedeclara, por ejemplo:

  • Los elementos se corresponden con los componentesestructurales de un documento, y definen suestructura lgica.

    Un elemento puede contener datos de tipo carcter,otros elementos o ambos a la vez.

    Los elementos pueden contenerse unos a otros,formando una jerarqua o rbol.

    Un documento XML siempre tiene un elemento raz oelemento documento, que engloba a todos losdems.

  • El elemento raz se debe llamar igual que su tipode documento (por ejemplo, si creamos un tipode documento articulo, el elemento raz deberllamarse articulo

    El nombre de los elementos puede contenercaracteres a-z, A-Z y _. El nombre no debecontener el carcter & o empezar con las letrasX,M,L.

    Los nombres de elementos son sensibles a la

    diferencia entre maysculas y minsculas

    no es igual que

  • La declaracin de un elemento en la DTD indica:

    El nombre del elemento

    El contenido que puede tener, tambin llamadadeclaracin de contenido.

    La declaracin de contenido se escribe entre parntesis.

    La declaracin de un elemento se encierra entre lasmarcas .

    En la declaracin de contenido se puede indicar:

    El nombre de otros elementos. No es necesario haber declarado

    un elemento para poder utilizarlo en la declaracin de contenido

    de otro elemento de la misma DTD

    La palabra reservada #PCDATA, que indica que el elemento

    puede contener datos de tipo carcter.

  • #PCDATA

    Esta declaracin de contenido indica que el elementopuede contener cualquier tipo de texto que no sea markup.

    Es decir, cualquier letra menos o &

    En lugar de estos caracteres, su usarn las entidades &

    Las comillas simples y dobles pueden sustituirse por lasentidades " y '

    Los elementos con contenido #PCDATA pueden contenerreferencias a entidades.

  • Un elemento puede tener contenidode tipo:

    datos #PCDATA,

    elementos (anida otros elementos)

    mixto (datos y elementos)

    vaco (el elemento no contiene nidatos ni elementos) EMPTY

    any (no hay restricciones para sucontenido)

  • La declaracin de contenido ANY indica que un elemento puede contenercualquier combinacin de datos de tipo carcter y de elementos (no hayninguna restriccin).

    Esta declaracin de contenido no se suele utilizar. Slo se usa en fases dediseo y prueba de DTDs.

    Si la declaracin de contenido del elemento contiene otros elementos, se

    puede indicar:

    si estos elementos son obligatorios o no y

    cuantas veces pueden aparecer

    Estas restricciones se indican escribiendo un carcter especial tras el

    nombre del elemento utilizado

    ? el elemento puede aparecer 0 1 veces (opcional no repetible)

    * el elemento puede aparecer 0 ms veces (opcional y repetible)

    + el elemento debe aparecer 1 ms veces (obligatorio y repetible)

    el elemento debe aparecer 1 vez (obligatorio no repetible)

    | eleccin entre una serie de elementos (equivale a OR)

    , orden de aparicin (equivale a AND)

  • Symbol Meaning Example

    , AND header (sender, recipient*, date)

    | OR message (email | letter)

    () Occurs only Once (email | letter)

    + must occur at least once (header, subject?, text+)

    ? occurs either once or not at all (header, recipient* , date?)

    * can occur zero or more times (sender, recipient*, date)

  • Los elementos vacos no contienen datos de tipo carcter ni a otroselementos

    En la DTD, estos elementos se definen con una declaracin de contenidoEMPTY

    Los elementos vacos pueden contener atributos:

    src ENTITY #REQUIRED

    height CDATA #IMPLIED

    weight CDATA #IMPLIED>

    Los elementos vacos se utilizan en los documentos de dos formas:

    Con una etiqueta de inicio y de fin, sin indicar ningn contenido entre ellas:

    Con una nica etiqueta:

  • Los elementos pueden tener atributos asociados,que permiten matizar su significado o rea deaplicacin.

    Los atributos tienen asociado un tipo de dato, unvalor por defecto y un indicador que seala si sonobligatorios o no.

  • Un atributo puede recoger un tipo de dato: CDATA (Character DATA) - datos de tipo carcter. Datos de

    caracteres no analizados sintcticamente. Estos atributos son los ms sencillos, y pueden contener casi cualquier cosa.

    Los atributos NMTOKEN (NaMe TOKEN) son parecidos, pero slo

    aceptan: letras, nmeros, puntos, guiones, subrayados y los dos

    puntos).

    Los atributos NMTOKENS Mltiples nombres NMTOKEN

    separados por espacios.

    (valor | valor2 | | valorn) - enumeracin

    ID Identificador nico

    IDREF Una referencia a un ID

    ENTITY - referencias a una entidades

    ENTITIES Mtiples referencias a entidades separados porespacios en blanco

  • aaa CDATA #IMPLIED

    bbb NMTOKEN #REQUIRED

    ccc NMTOKENS #REQUIRED>

    < elemento aaa="#d1" bbb="a1:12" ccc=" 3.4 div -4"> xx

    < /elemento>

    < elemento bbb="a1:12"

    ccc="3.4

    div

    -4"> xx < /elemento>

  • Para indicar la obligatoriedad o carcteropcional de un atributo, se utilizan las palabras

    reservadas:

    #IMPLIED - el atributo ser opcional.

    #REQUIRED - el atributo es obligatorio.

    #FIXED - el atributo es asignado por defecto por el

    sistema, y no es necesario que el autor lo indique.

    Los atributos no son repetibles.

  • Ejemplos:

    lastupdate CDATA #IMPLIED>

    personId CDATA #REQUIRED

    hiredate CDATA #REQUIRED

    company (IBM | Lotus) IBM>

    Valor por defecto

  • En una DTD se pueden aadir comentarios paradocumentar la semntica de los elementos y atributos quese declaran.

    Los comentarios se aaden entre las marcas especiales .

    Ejemplo:

    Los comentarios pueden abarcar ms de una lnea.

    En el texto del comentario se pueden incluir los caracteres

    reservados que utiliza el mark up: , &, etc.

    No pueden incluirse dos guiones seguidos a parte de los utilizados

    en su inicio y final.

  • Las entidades determinan la estructura fsica de un documento

    XML.

    Un documento XML siempre est formado al menos por una entidad

    - la entidad documento - que es el propio documento.

    Todas las referencias a archivos no xml (imgenes, multimedia,

    etc.) se gestionan mediante entidades.

    Las entidades cumplen distintas funciones:

    Insercin de caracteres propios de juegos de caracteres

    especficos (vocales acentuadas) y caracteres utilizados en el

    mark up.

    Utilizacin de comodines para nombres no fijados o frases

    largas.

    Insercin de componentes multimedia.

    Modularizacin de los documentos.

  • Las entidades se pueden clasificar en grupos no excluyentes:

    Internas y/o externas

    Las internas se resuelven en la entidad documento

    Las externas se refieren a un archivo externo

    Procesables (o de texto) y no procesables

    Las procesables son documentos XML

    Las no procesables son archivos no XML: imgenes, HTML, video, etc.

    Entidades de carcter

    Entidades de texto internas

    Entidades de texto externas

    Entidades externas no procesables (notaciones)

  • Se utilizan en lugar de caracteres especiales (acentos, markup, etc.) difciles de introducir en el teclado o que secodifican de forma diferente en distintas plataformas.

    En el documento se har referencia a las entidadesescribiendo su cdigo ASCII entre los caracteres y ;,por ejemplo:

    Alcalz de Henares

    XML incluye entidades predefinidas para los caracteres , &, y

    Para definir entidades para otros caracteres, tenemos queconocer su cdigo Unicode (ISO 10646)

    Se puede utilizar el cdigo decimal (precedido por ) o elhexadecimal (precedido por ) seguidas de ;

  • Predefinidas en XML

    lt

    apos

    quot

    amp &

    Otras entidades tiles aacute

    eacute

    iacute

    oacute

    uacute

    Aacute

    Eacute

    Iacute

    Oacute

    Uacute

  • Entidades de Texto Internas

    Permiten sustituir una cadena de texto por unoscaracteres ms fciles de recordar y de teclear

    Se declaran con la sintxis:

    Se referencian en el documento escribiendo el identificador de la entidad entre los caracteres & y ; por ejemplo:

    &nuevoprod;

  • Entidades de Texto Externas

    Referencian documentos XML externos a la entidad

    documento, que pueden verse como si se tratase de una

    nica unidad.

    Permiten la reutilizacin, el trabajo en colaboracin y la

    modularidad.

    Se declaran con la sintxis:

    Se referencian con la sintxis habitual:

    &licencia;

  • Entidades de Texto Externas

    En un documento modular, slo la entidad documento puede

    contener una declaracin de tipo de documento.

    Para poder asociar cada entidad de texto externa con un tipo de

    documento, se suele crear un documento XML con declaracin que

    slo contiene la declaracin de la entidad.

    &tema;

    &tema;

    ccc

    bbbb

  • Entidades externas no procesables

    Referencian cualquier archivo que no sea XML.

    Se declaran utilizando el calificador SYSTEM o PUBLIC, y van acompaadasde una notacin (informacin adicional de estas entidades no analizables).

    La notacin se escribe al comienzo de la DTD.

    Las notaciones pueden cumplir distintos propsitos:

    Indicar el path del programa encargado de procesar la entidad (por ejemplo un visor especial)

    Apuntar a un lugar en el que existe documentacin sobre el formato

    etc.

    La norma es abierta en este aspecto.

  • Entidades externas no procesables

    ]>

    &tema;

    &tema;

  • Entidades parmetro internas y externas

    Se utilizan exclusivamente en la DTD (se declaran en laDTD al igual que las entidades normales, pero se les hacereferencia slo en la DTD).

    Se declaran utilizando un carcter especial:

    Para referenciarlas se escribe su nombre entre loscaracteres % y ;, por ejemplo:

  • De esta forma, la declaracin de contenido del elemento body equivale a (subp, pp, foot)

    El modelo de contenido al que sustituye la entidad se podr reutilizar en otras partes de

    la DTD

    ...

    %elemento-alf;

    ]>

    Tambin puede ser externa:

    ...

    %elemento-alf;

    ]

  • La DTD puede incluirse totalmente junto aldocumento XML (cuidado, en XML documento esla DTD y los datos!).

    La DTD puede estar definida en un archivoexterno al documento al que se har referenciadesde este (en este caso, la DTD se podrreutilizar y mantener con facilidad.

    La DTD puede estar definida en un documentoexterno, y tambin puede haber declaraciones enla entidad documento

  • (#PCDATA)>

    ejemplo

    ]>

    ejemplo

    Ejemplo &car;

  • Las DTDs externas son ms fciles de mantener,ya que los cambios se aplican automticamente atodas sus instancias.

    Un documento ser vlido si cumple las restricciones que

    se indican en su DTD.

    Un documento ser bien formato si los elementos estn

    anidados correctamente, y si las entidades que referencia

    se han declarado.

    Un documento puede estar bien formado y ser no vlido,

    ya que un documento XML puede no contener una

    declaracin de tipo de documento.

  • Ricardo Borriquero

    951345678

    Eva Risto

    955837659

  • IntroduccinElemento Schema

    Elementos Simples

    Atributos

    Faceta/RestricionesElementos Complejos

  • Son una sintxis alternativa para las DTDs, propuesta inicialmentepor Microsoft, , etc.

    Utilizan la sintxis propia de XML.

    Ventajas:

    Fciles de aprender (se usa tambin XML).

    Soportan tipos de datos: numricos, fechas

    Procesables igual que los documentos XML.

    Un esquema XML define la estructura vlida para un tipo de documento XML (al igual que las DTD), es decir: Los elementos que pueden aparecer en el documento. Los atributos que pueden utilizarse junto a cada elemento. Cmo se pueden anidar los elementos (padres e hijos). El orden en el que deben aparecer los elementos hijos de un mismo

    padre. El nmero permitido de elementos hijos. Si un elemento puede ser vaco o no. Tipos de datos para elementos y atributos. Valores por defecto y fijos para elementos y atributos.

  • La propuesta inicial de Microsoft dio lugar a losllamados esquemas XDR.

    Posteriormente, el W3C dise un modelo deesquemas que es la propuesta oficial y la quedebemos conocer (llamados esquemas XSD)

    XSD se public como una recomendacin el 31de marzo del 2001 (se considera oficial desdemayo)

    XSD es ms complejo que otras alternativasanteriores, pero supuso un importante pasohacia adelante en la estandarizacin de XML

  • XDS permite una mayor precisin en ladefinicin de tipos de datos mediante formatosy facetas

    Por ejemplo, la fecha:

    1999-03-11

    es el 11 de marzo o el 3 de noviembre?

    Los esquemas se definen como documentosXML, en un documento aparte con extensin.XSD

    En los documentos XML que se basen en eseesquema, incluiremos una referencia al archivo.XSD

  • Tove

    Jani

    Reminder

    Don't forget me this weekend!

  • Los elementos utilizados en la creacin de un esquemaproceden del espacio de nombres:

    http://www.w3.org/2001/XMLSchema

    El elemento schema es el elemento raz del documento en elque se define el esquema:

    ..

    ..

  • Un elemento simple es un elemento que slopuede contener texto (cualquier tipo de dato),pero no a otros elementos ni atributos

    Para definir un elemento simple, utilizamos lasintxis:

    Ejemplos:

  • Los tipos de datos ms utilizados son:

    xsd:string

    xsd:decimal

    xsd:integer

    xsd:boolean

    xsd:date

    xsd:time

    Un elemento simple puede tener un valor pordefecto y un valor fijo.

    Esto se indica mediante los atributos default y fixed.

  • Los atributos se deben declarar de forma similar a los elementos simples

    Si un elemento puede ir acompaado de atributos, el elemento se deberdeclarar como un elemento complejo

    Un atributo se declara de la siguiente forma:

    Ejemplo:

  • Las facetas o restricciones permiten restringir el valor que sepuede dar a un elemento o atributo XML.

    Mediante restricciones podemos indicar que un valor debeestar comprendido en un rango determinado, debe ser un valor de una lista de valores cerrada, o debe ser mayor o menor que otro valor

    Tipos de facetas o restriciones:

    Valor comprendido en un rango

    El valor est restringido a un conjunto de valores posibles

    Restringir el valor de un elemento a una serie de caracteres

    Longitud de los valores de los elementos

    ..

  • En este ejemplo, el elemento letter debe tomar como

    valor 1 letra minscula (slo 1)

  • En este ejemplo, el elemento initials debe tomar como valor 3 letras

    maysculas o minscula (slo 3)

  • En este ejemplo, el elemento choice debe tomar como valor

    una de estas letras: x, y o z

  • En este ejemplo, el valor del campo password debe ser 8

    caracteres

  • {nim , max}

  • enumeration Establece una lista de valores aceptados

    fractionDigits Nmero de cifras decimales

    length Nmero de caracteres obligatorios

    maxExclusive y maxInclusive Valor mximo de un rango

    minExclusive y minInclusive Valor mnimo en un rango

    maxLength y minLength Nmero mximo y mnimo de caracteres permitidos

    pattern Define una secuencia de caracteres permitida

    totalDigits Nmero exacto de dgitos permitidos

    whiteSpace Indica cmo se deben de tratar los espacios en blanco

  • Son elementos que contienen a otros elementoshijos, o que tienen atributos.

    Se suelen dividir en 4 tipos:

    Elementos vacos.

    Elementos no vacos con atributos.

    Elementos con elementos hijos.

    Elementos con elementos hijos y con texto ovalor propio (como el contenido mixto de lasDTD).

  • Ejemplos:

    Caso 1.-

    Caso 2.- Ice cream

    Caso 3.- Sucedi el 03.03.99 .

    Caso 4.-

    John

    Smith

  • Para definir elementos complejos se utiliza la siguiente sintaxis:

  • Podemos usar otra sintxis para reutilizar ladefinicin de los elementos hijos en varioselementos:

    En la declaracin de elementos complejos, es posible utilizar un mecanismo de

    herencia para reutilizar o extender elementos definidos con anterioridad (ver

    la siguiente pgina)

  • Para declarar un elemento vaco con atributos, se

    utilizar la siguiente sintxis:

  • Para declarar un elemento no vaco con atributos, y sin elementos hijos, se utilizar la siguiente sintxis:

  • Para declarar un elemento con contenido mixto, basta con aadir un atributo mixed al elemento xsd:complexType:

    Estimado cliente: Juan Perez. Su pedido nmero 1032 se

    enviar el da 2001-07-13.

  • En los ejemplos anteriores hemos utilizado elelemento xsd:sequence como elemento hijo delelemento xsd:complexType.

    xsd:sequence indica que los elementos anidados enl deben aparecer en un orden determinado.

    Los esquemas XML nos ofrecen otras alternativas,adems de xsd:sequence, para indicar cmo sedeben tratar los elementos que aparecen anidadosen un elemento complejo.

    Las opciones o indicadores son: xsd:all yxsd:choice.

  • El indicador xsd:all indica que los elementos que contiene puedenaparecer en cualquier orden, pero como mximo slo una vez.

  • El indicador xsd:choice indica que puede aparecer

    slo uno de los elementos que contiene

  • minOccurs, maxOccurs se utilizan para indicar el nmero mximo y mnimo

    de veces que puede aparecer un elemento hijo de un elemento complejo

    El atributo maxOccurs puede tomar el valor unbounded, que indica queno existe ningn lmite

  • En esquemas XML tambin contamos con un modelode contenido ANY, que permite incluir elementos nodeclarados inicialmente en el esquema.

  • Tambin contamos con un elemento que permite extender el nmero de atributos de un elemento:

  • Esquema de hoja de pedido para Example.com.

    Copyright 2000 Example.com. Todos los derechos reservados.

  • Referencia a un elemento global

  • http://dis.um.es/~lopezquesada/documentos/IES_1112/LMSGI/curso/UT7/canal_noticias.xmlhttp://dis.um.es/~lopezquesada/documentos/IES_1112/LMSGI/curso/UT7/canal_datos_definicion_2.xsdcanal_datos_definicion_1.dtdcanal_datos_definicion_1.dtd

  • Xmlspy Professional Edition. XMetaL

    XML Copy Editor es un editor de documentos XML libre (GPL 2.0) y

    multiplataforma cuya pgina web es http://xml-copy-editor.sourceforge.net/.

    La ltima versin disponible actualmente (febrero de 2011) es la versin XML

    Copy Editor 1.2.0.7 (del 11 de diciembre del 2009).

    La versin para Windows se puede descargar de SourceForge (6,28 MB). La

    versin para Ubuntu se puede instalar desde los repositorios oficiales de la

    distribucin.

    http://xml-copy-editor.sourceforge.net/http://xml-copy-editor.sourceforge.net/http://xml-copy-editor.sourceforge.net/http://xml-copy-editor.sourceforge.net/http://xml-copy-editor.sourceforge.net/http://xml-copy-editor.sourceforge.net/http://xml-copy-editor.sourceforge.net/http://xml-copy-editor.sourceforge.net/http://xml-copy-editor.sourceforge.net/http://xml-copy-editor.sourceforge.net/http://xml-copy-editor.sourceforge.net/http://xml-copy-editor.sourceforge.net/http://xml-copy-editor.sourceforge.net/http://xml-copy-editor.sourceforge.net/http://xml-copy-editor.sourceforge.net/http://xml-copy-editor.sourceforge.net/http://sourceforge.net/projects/xml-copy-editor/files/xmlcopyeditor-windows/1.2.0.7/xmlcopyeditor-1.2.0.7-2-install.exe/downloadhttp://sourceforge.net/projects/xml-copy-editor/files/xmlcopyeditor-windows/1.2.0.7/xmlcopyeditor-1.2.0.7-2-install.exe/downloadhttp://sourceforge.net/projects/xml-copy-editor/files/xmlcopyeditor-windows/1.2.0.7/xmlcopyeditor-1.2.0.7-2-install.exe/downloadhttp://sourceforge.net/projects/xml-copy-editor/files/xmlcopyeditor-windows/1.2.0.7/xmlcopyeditor-1.2.0.7-2-install.exe/downloadhttp://sourceforge.net/projects/xml-copy-editor/files/xmlcopyeditor-windows/1.2.0.7/xmlcopyeditor-1.2.0.7-2-install.exe/download

  • Ejercicios y Cuestiones

    http://dis.um.es/~lopezquesada/documentos/IES_1112/LMSGI/curso/UT7/ejercicios.pdf