jueves, 15 de diciembre de 2011

Enunciadocoches

Crear una DTD que permita definir el almacenamiento de
coches de un concesionario de coches de segunda mano
Para ello, los campos a almacenar serán:
- Código de coche
- Marca
- Modelo
- Matrícula
- Potencia(Caballos)
- Plazas
- Número de puertas

Crear un documento XML que alamacene un conjunto de coches
Asignar a dicho documento la DTD y comprobar su
validez

Enunciado de Vecinos

Una comunidad de propietarios,
en su Junta General Ordinaria decide crear un
sistema de almacenamiento de la información
para almacenar datos de la comunidad.
De esta manera podrán realizar las gestiones
de manera más ágil y con un estándar de
comunicación con el resto de acreedores y
deudores de la comunidad. En principio,
los campos a almacenar son los siguientes:
- Código de vecino
- Nombre
- Apellidos
- Portal
- Piso y letra
- Código de cuenta corriente
-Cargo(Presidente, Vicepresidente, Secretario
Vocal, Ninguno)
Se pide lo siguiente:
- Generar una DTD que defina esta estructura
de información: Vecinos.xml, Vecinos.dtd
- Generar un documento xml con al menos 10
vecinos. Dos de ellos tendrán el cargo de
Presidente y Vicepresidente (al menos). 

miércoles, 14 de diciembre de 2011

Archivo pedidos1.DTD<!ELEMENT pedidos (pedido+)>
<!ELEMENT pedido
((empresa|persona),producto+,fecha,
factura?)>
<!ELEMENT empresa (#PCDATA)>
<!ELEMENT persona (#PCDATA)>
<!ELEMENT producto (#PCDATA)>
<!ELEMENT fecha (#PCDATA)>
<!ELEMENT factura (emisor,total,fecha)>
<!ELEMENT emisor (#PCDATA)>
<!ELEMENT total (#PCDATA)>
<!ATTLIST empresa cif ID #REQUIRED>
<!ATTLIST producto idproducto ID #REQUIRED>
<!ATTLIST persona nif ID #REQUIRED>
<!ATTLIST factura numfactura ID #REQUIRED
 cliente IDREF #REQUIRED
producto IDREFS #REQUIRED> 

Archivo XML
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE pedidos SYSTEM "pedidos1.dtd">
<pedidos>
 <pedido>
  <empresa

cif="W0000001">Warner</empresa>
  <producto

idproducto="W000002">peliculas</producto>
<fecha>11-11-11</fecha> 

</pedido>

</pedidos>

lunes, 5 de diciembre de 2011

Ejercicios de DTD

Hola a todos. 
A continuación, expongo algunos ejercicios de DTD:
  1. Crear documento xml que almacene información de alumnos. Por cada alumno se tendrá nombre, apellidos, domicilio, teléfono (teniendo en cuenta que puede tener más de uno).
a.      Con DTD interna             
b.       Con DTD externa
2.      Realizar los siguientes cambios al ejercicio anterior:
a.      El alumno puede pertenecer opcionalmente a uno de los equipos deportivos del centro.
b.     El alumno puede indicar si lo desea una o más aficiones de las que tenga.
c.      Se desea almacenar el origen del alumno, la provincia si es español, o bien el país de origen si es extranjero.
d.     Modificar el esquema para poder poner opcionalmente comentarios sobre los alumnos. Crear un elemento definido como ANY que permita incluir cualquier información de tipo texto junto con elementos definidos en el esquema.
e.      Incluir un elemento mixto de nombre notas que permita indicar texto libre y/o los elementos evaluación y calificación. Probar el funcionamiento incluyendo un elemento no definido en el esquema.
3.      Realizar los siguientes cambios al ejercicio anterior:
a.      Incluir un atributo num_alumno que identifique a los alumnos de forma única. Comprobar que el valor debe comenzar por una letra, y que deben ser valores únicos
b.      Se desea incluir opcionalmente información sobre la altura en cm. del alumno.
c.       Se desea conocer el sexo de los alumnos: hombre o mujer, si bien no será obligatorio que aparezca esta información.
d.      Se desea reflejar para cada número de teléfono almacenado para un alumno, si es propio, del padre, de la madre, o del tutor. Poner un valor que no esté en la lista enumerada para comprobar que da error.
e.      Algunos alumnos son ayudados por otro alumno, interesando reflejar la información del alumno que le ayuda. Comprobar que el valor de un  atributo IDREF debe coincidir con el valor de un atributo ID.
4.      Crear un documento xml con DTD externa que permita almacenar pedidos de clientes, con las siguientes características:
a.      Nombre del DTD: pedidos. Contendrá 1 o varios elementos de nombre pedido.
b.     El elemento pedido se compondrá de: empresa o cliente que realiza el pedido (uno u otro pero no dos en el mismo pedido), productos solicitados (al menos uno), fecha, y opcionalmente un elemento llamado factura.
                                                               i.     El elemento empresa será de tipo PCDATA y tendrá un atributo llamado CIF como identificador único.
                                                             ii.     El elemento persona será de tipo PCDATA y tendrá un atributo llamado NIF como identificador único.
                                                            iii.     El elemento producto será de tipo PCDATA.
                                                           iv.     El elemento fecha será de tipo PCDATA
                                                             v.     El elemento factura se compone a su vez de los elementos emisor, total y fecha. Además tendrá dos atributos: numfactura que será identificador único; cliente (obligatorio) que referenciará a la empresa o cliente que aparece en el elemento pedido; y productos que referenciará a uno varios identificadores de producto.

Comprobar la validez de los valores de atributos ID, IDREF e IDREFS.

5.       Modificar el esquema anterior, incorporando los siguientes cambios:
a.      Incorporar una entidad general de nombre MiEmpresa y texto “Mi Empresa”, y utilizarla para indicar el valor de emisor en el elemento factura del documento XML.
b.     Añadir una entidad general externa analizable. Crear un fichero de tipo texto de nombre entgenextana.txt y contenido: “Mi Empresa (CIFQ2899999Z)”. Utilizar esta entidad como valor en el elemento emisor de uno de los pedidos.
c.      Añadir una entidad general externa analizable.
d.     Añadir una entidad paramétrica interna para representar nombre y apellidos de una persona. Después modificar el elemento persona para definirlo con la entidad.
e.      Agregar una entidad paramétrica externa para representar la estructura de los productos. Para ello crear un fichero DTD para producto compuesto de elementos descrip y pvp de tipo PCDATA. Comprobar la validez de los valores de atributos ID,  IDREFS para productos.
f.       Agregar dos nuevos atributos al elemento empresa: sector de tipo NMTOKEN y actividad de tipo NMTOKENS. El tipo NMTOKEN sólo puede contener letras, dígitos, punto [ . ], guión [ - ], subrayado [ _ ] y dos puntos [ : ] . El tipo NMTOKENS pueden contener los mismos caracteres que NMTOKEN más espacios en blanco. Un espacio en blanco consiste en uno o más espacios, retornos de carro o tabuladores. Comprobarlo introduciendo valores erróneos para los nuevos atributos.
Saludos,
Alfredo

domingo, 4 de diciembre de 2011

Ejemplo de uso de xml para la creación de un gráfico escalar vectorizado

Hola a todos
El archivo Ejemplo.svg contiene la siguiente información:



<?xml version="1.0" encoding="utf-8"?>
 <svg xmlns="http://www.w3.org/2000/svg" width="12cm" height="8cm">
<title>El triángulo rojo</title>
<polygon style="fill:red" points="0, 311,180,0,360,311" />
</svg>


Si lo guardáis con la extensión svg y lo abrís con un navegador capaz de entender svg, os aparecerá un triangulo rojo, tal y como podéis ver en la figura.

Saludos,
Alfredo

viernes, 2 de diciembre de 2011

Definición de esquemas y vocabularios en XML

Hola a todos
Os dejo aquí unos apuntes con los que vamos a ir realizando los ejercicios propuestos en el libro de Javier S., Zurdo, Pablo Toharia y Laura Raya, sobre definición de esquemas y vocabularios en XML,  añadidos a los anteriores en un mismo documento
XML
Saludos,
Alfredo

martes, 29 de noviembre de 2011

Introducción a XML

Hola a todos

Introducción/Definición de XML
XML (Extended Markup Language) Es un metalenguaje extensible de etiquetas desarrollado por el W3C que permite definir la gramatica de lenguajes específicos(de la misma manera que HTML es a su vez un lenguaje definido por SGML)
Por tanto, XML no es realmente un lenguaje en particular, sino una manera de definir lenguajes para diferentes necesidades
Se puede ver como un subconjunto de SGML mucho más simple, hasta el punto de que la especificación de XML es una décima parte que SGML. Por otro lado, el lenguaje XML se puede definir como un metalenguaje, esto es, XML puede ser usado para definir otros lenguaje, al igual que SGML. Por ejemplo, el lenguaje XHTML, ampliamente usado hoy en día en la web, se ha construido usando como base XML.

Estructura y sintaxis de XML
Un documento XML está formado, en principio, por lo que se conoce como “texto plano”, esto es, texto en el cual todos los caracteres se representan visualmente, sin existir caracteres no visible exceptuando los de salto de línea, tabulador o espacio.
Los documentos escritos usando XML contendrán marcas para separar la información que estructura el documento de la información que se quiere almacenar. Para construir dichas marcas, en XML se usan los caractere “<” y “>” para delimitar el texto que se desea marcar, mientras que el carácter “/” sirve para indicar la etiqueta de finalización del marcado. Un posible ejemplo de documento XML sería el siguiente:
<nombre>Luis</nombre>
Esta construcción se denomina habitualmente “elemento” y constituye la base principal de los documentos XML. Además de los elementos, un documento XML puede contener otros tipos de información. A continuación, se especificarán los más relevantes.

Etiquetas, Elementos y atributos.
Las etiquetas son el componente de XML que permite definir los elementos que conformarán un documento de la siguiente forma:

<etiqueta>Valor</etiqueta>

Como se puede observar los elementos se formarán usando una etiqueta de inicio, otra de fin, delimitadas por los caracteres “>” y “<”, y que comparten el identificador textual, pero añadiendo el carácter  “/” al principio. En medio de las etiquetas de inicio y fin del elemento se representará el contenido que se desee almacenar en ese elemento . Este contenido puede a su vez englobar otros elementos. Por otro lado, los elementos pueden no contener ningún valor, pero en ese caso se deberá usar solamente la etiqueta de finalización.
Se considera que en el elemento XML engloba todo lo que se encuentra entre las correspondentes etiquetas de inicio y de fin y pueden contener tanto otros elementos como simplemente texto o una combinación de ambos

Ejemplo de XML para representar la ficha de un alumno sería sintácticamente correcto:

<alumno>
         <nombre>Pablo</nombre>
         <apellido>Pérez</apellido>
         <telefono>91555555</telefono>
</alumno>
Los nombres de los elementos deberán empezar por una letra o bien por el carácter “_” o “:” siempre y cuando el principio no contenga la palabra “xml en cualquier combianción posible de mayúsculas y minúsculas. Además, los nombres son “case sensitive”(Sensibles a las mayúsculas) y solo podrán contener letras, números y los caracteres “_”, ”.”, ”:”

Los elementos pueden asimismo contener atributos, los cuales se especificarán en la etiqueta de inicio del elemento. El objetivo de los atributos es poder proporcionar una información adicional sobre un elemento concreto. La sintaxis para representar los atributos consiste en especificar el nombre del atributo dentro de la etiqueta de inicio, a continuació un símbolo “=” y finalmente el valor del atributo delimitado por comillas dobles o por comillas simples.

<Elemento1 atrib1=”val1” atrib2=”val2”>Valor</Elemento1>
<Elemento2 atrib1=”Val3” atrib3=”val3”>Valor</Elemento2>

Incluyendo atributos en nuestro ejemplo anterior

<alumno sexo=”varon” FechaNacimiento=”5/6/1990”>
         <nombre>Pablo</nombre>
         <apellido>Pérez</apellido>
         <telefono>91555555</telefono>
</alumno>

Se puede observar que generalmente se pueden usar tanto atributos como nuevos elementos para representar información. Sin emabrgo, el uso de un número excesivo de atributos puede provocar que el documento XML sea menos legible, más difícil de mantener y difícilmente extensible. Además hay que tener en cuenta que los atributos no pueden contener información en forma de árbol, esto es, no pueden contener otros elementos o atributos tal y como sucede con los elementos. De forma general, se puede establecer la recomendación no usar atributos en exceso y dejarlos casi exclusivamente para representación de metadatos

Siguiendo esta recomendación, tanto el atributo “sexo” como el atributo “FechaNacimiento” se pueden convertir en elementos. Además, en este ejemplo, se añade un identificador del alumno como atributo

<?xml version="1.0" encoding="utf-8"?>
<alumno id="532">
         <nombre>Pablo</nombre>
         <apellido>Pére</apellido>
         <FechaNacimiento>
                   <dia>5</dia>
                   <mes>6</mes>
                   <año>90</a>
         </FechaNacimiento>
         <sexo>varon</sexo>
         <telefono tipo="movil">555-555-555</telefono>
         <direccion>Ronda de Segovia</direccion>
        
</alumno>

Caracteres especiales
En XML algunos símbolos son reservados del lenguaje por lo que para poder representarlos es necesario usar unos código. Estos se definen usando el símbolo & seguido de una palabra clave y terminados por punto y coma. Estas construcciones son entidades predefinidas (Luego veremos las entidades) A continuación, se detallan algunos de los más relevantes:

Código
Carácter
&quot;
&amp;
&
&apos;
&lt;
< 
&gt;
> 


Instrucciones de procesamiento
Más allá de los propios datos contenidos en los ficheros XML y las etiquetas de marcado en un fichero XML se pueden encontrar instrucciones especiales llamadas instrucciones de procesamiento. Éstas comienzan con <? Y terminan con ¿> Una de las instrucciones procesamiento más habituales es la que se usa para indicar qué versión de XML se va a usar y cuál es la codificación de caracteres que se va a usar. Por ejemplo, si se usa XML 1.0 y UTF-8 la instrucción de procesamiento sería la siguiente:

<?xml version=”1.0” encoding=”UTF-8”?>

Comentarios y secciones CDATA
Dentro de un documetno XML se puede añadir información que no pertenezca ni al marcado ni la información contenida en el documento y que sirve para documentarlo en forma de comentarios internos. La sintaxis de un comentario consta de un texto delimitado por una marca inicial “<!--“ y una marca final “-->”
<!—Comentario válido en XML-->

Los comentarios son elementos especiales y no necesita ninguna marca de cierre. Además hay que tener en cuenta que dentro de un comentario no se pueden usar dos guiones seguidos “--“
Además, en XML se encuentran disponibles las secciones CDATA que permiten marcar un texto para que éste no sea procesado por el parser, es decir, no serán analizadas sintácticamente. CDATA proviene de “Character Data” (Datos de carácter) en contraposición a datos de marcado. La sintaxis de estas secciones se basa en la etiqueta de inicio “<![CDATA[“ y la etiquea de fin, “]]>”

Ejemplo:
<?xml version="1.0" encoding="utf-8"?>
<!--Las dos definiciones del elemento serían interpretadas de la misma forma -->
<alumnos>

<!CDATA[
         <alumno id="321">
                   <nombre>Luis</nombre>
         </alumno>
</alumnos>


<alumnos>
         &lt;alumno id "321"&gt;
         &lt;nombre&gt;luis&lt;/nombre&gt;
         &lt;alumno&gt;
</alumnos>

Documentos XML bien formados y válidos
Una vez hemos visto los elementos que pueden formar parte de un documento XM y sus características el siguiente paso será establecer cuando un documento es correcto. En este sentido, en XML se puede hablar de documentos “bien formados” y documentos “válidos”

Los documentos bien formados son aquellos que son sintácticamente correctos, es decir, que cumplen las reglas expuestas anteriormente. Sin embargo, los documentos válidos son aquellos que además de estar bien formados, cumplen los requisitos de una definición de estructura o DTD

Además de las reglas expuestas anteriormente, se pueden destacar algunos otros aspectos en los que no se ha incidido de forma directa:
-          Un documento XML debe contener un único elemento raíz
-           Los elementos son case-sensitive, por lo que las etiquetas de inicio y fin de un   
      elemento deben concordar en mayúsculas y minúsculas
-           El documento sólo contendrá caracteres válidos dependiendo del tipo de codificación  
      del documento
-          Los caracteres “<”, “>”, y “&” solo deben aparecer para delimitar las etiquetas de los elementos y para usar caracteres especiales

Espacios de nombres
De forma general, los documentos XML se suelene combinar con otros documentos XML existentes, esto es, es habitual que se desee usar uno o varios módulos desarrollados previamente por terceras personas. Esta modularida es una característica esenciall de XML y permite al desarrollador poder reutilizar código existente que en muchos casos ya sido depurado y ampliamente probado.
El problema que sirge en estos casos es la posible colisión que se puede producir en los nombres d elos elementos que conformen los módulo que se quieren usar. Para solucionar este problema XML proporciona un mecanismo denominado “espacio de nombres”, que permite asignar nombres extendidos a los elementos de forma que se puedan evitar las colisiones

Declaración de un espacio de nombres
Un espacio de nombres se define como una referencia URI que servirá para identificar los elementos que pertenecen a dicho espacio de nombres. Otra forma de verlo es que los elementos tendrán un nombre compuesto por dos partes: una primera con su nombre y una segunda con el nombre deespacio de nombres. Este nombre compuesto permitirá identificar de forma unívoca al elemento en cuestión y de esta forma conocer siempre a qué elemento se está refiriendo el documento.
La contrucción de estos nombres extendidos se realiza uniendo el nombre al espacio de nombres y el nombre del elemento o atributo usando como conector el símbolo “:”. Sin embargo, las referencias URI pueden ser largas, lo que va en detrimento de la legibilidad y claridad del documento, además de propiciar que se cometan errores más fácilmente. Además las URIs pueden contener caracteres no válidos en XML. Para solucionar este problema, en XML se puede asignar un sinónimo corto al espacio de nombres de forma que este sinónimo corto sea el que se use a lo largo del documento. . El sinónimo se asigna usando el separador “:” y la etiqueta “xmlns”. En realizada, “xmlns” es un atributo reservado

Ejemplo:

<?xml version="1.0" encoding="utf-8"?>
<elementoej xmlns:enej="http://dominioeje.com/rutaej">
         <enej:elemento1>Texto 1</enej:elemento1>
         <enej:elemento2>Texto 2</enej:elemento2>
</elementoej>

Se puede observar que el sinónimo corto del espacio de nombres de ejemplo es “enej” y que su uso resulta más adecuado que el nombre completo del espacio de nombres http://dominioeje.com/rutaej. Además, se puede observar que los elementos “elemento1” y “elemento2” pertenecen al espacio de nombres “enej” al estar calificados con el sinónimo de dicho espacio.


Espacios de nombres por defecto
Si un espacio de nombres se declara sin su sinónimo correspondiente esto indicará que todos los elementos (incluido el elemento que declara el espacio de nombres) que contenga pertenecerán a dicho espacio d enombres. Por tanto, sería como definir un espacio de nombres por defecto para los elementos que no tengan espacio de nombres asignado.
Otro uso de los espacios de nombres que puede resultar de gran utilidad es dejar su declaración en blanco (xmlns=””), lo que indicaría que los elementos y atributos contenidos, por defecto no pertenecen a ningún espacio de nombres.
Para terminar, hacer hincapié en que cuando se declara un espacio de nombres por defecto (o sin espacio de nombres por defecto, dejando el atributo xmlns vacío) pero un elemento contiene un prefijo de un espacio de nombres, el espacio de nombres que prevalecerá será éste último.

  
Ejercicios
  1. Definir un documento XML que permita representar un libro. Deberá contener los atributos típicos como “título”, “autores”, “editorial”,”fecha de publicacion”, “isbn”…
  2. A partir d ela definición anterior escribir un documento XML que al menos contenga 10 entradas de libros.
  3. Buscar un validador de XML online por ejemplo el de W3C http://validator.w3.org , introducir el documento generado en el ejercicio anterior y comprobar que el documento esté bien formado.
  4. Crear un espacio de nombres ficticio e introducirlo en el XML del ejercicio 2 y comprobar que el documento XML sigue estando bien formado.

Saludos,
Alfredo











  

domingo, 6 de noviembre de 2011

Modelo de Objeto de Documento


DOM
El modelo de objetos del documento  (DOM) es un API (Application Programming Interface) estándar del W3C para documentos HTML y XML. Proporciona una representación estructural del documento que permite la modificación de su contenido o su presentación visual. Esencialmente, comunica las páginas web con los scripts o los lenguajes de programación.
Con el modelo de objetos del documento los programadores pueden construir documentos, navegar por su estructura  y añadir, modificar, o eliminar elementos y contenido. Se puede acceder a cualquier cosa que se encuentre en el documento HTML o XML, y se puede modificar, eliminar o añadir usando el Modelo de Objetos del documento salvo algunas excepciones. En particular, aún no se han especificado las interfaces DOM para los subconjuntos externos e internos de XML

“Un API es el conjunto de funciones y procedimientos (O métodos, en programación orientada a objetos), que ofrece una biblioteca para ser utilizado por otro software como una capa de abstracción”

Una página web es un documento HTML que es interpretado por los navegadores en forma gráfica, permitiendo también el acceso al código

El modelo de objetos del documento (DOM) permite ver el mismo documento de otra manera, describiendo el contenido del documento como un conjunto de objetos para que un programa Javascript pueda actuar sobre ellos.

El DOM permite acceder a la estructura de una página HTML mediante el mapeo de los elementos de esta página en un árbol de nodos. Cada elemento se convierte en un nodo y cada porción de texto en un nodo de texto. Para comprender más fácilmente veamos el siguiente ejemplo:

EJEMPLO
<body>
<p>Esto es un párrafo que contiene <a href.=”#”>un enlace </a> en el medio</p>
<ul>
<li>Primera entrada en la lista</li>
<li>Segunda entrada en la lista</li>
</ul>
</body>

Como se puede apreciar en el ejemplo, el elemento a se encuentra localizado dentro del elemento p del HTML, convirtiéndose en un nodo hijo, o simplemente hijo del nodo p, de manera similar, p es el nodo padre. Los dos nodos li son hijos del mismo padre, llamándose nodos hermanos o, simplemente, hermanos.

Es importante comprender la diferencia entre elementos y nodos de textos. Los elementos, normalmente, están asociados a las etiquetas. En HTML todas las etiquetas son elementos, tales como <p> por lo que tienen atributos y contienen nodos hijos. Sin embargo, los nodos de textos no poseen atributos e hijos.

En el DOM, los documentos tienen una estructura lógica que es muy parecida a un árbol (para ser más precisos, es más bien un “bosque” o una “arboleda”, que puede contener más de un árbol) Sin embargo, el DOM no especifica que los documentos deban ser implementados como un árbol o un bosque, ni tampoco especifica cómo deben implementarse las relaciones entre los objetos. El DOM es un modelo lógico que puede implementarse de cualquier manera que se considere conveniente. En esta especificación, se usa el término modelo de estructura para describir la representación en forma de árbol de un documento, evitando la utilización de términos como “árbol” o “bosque” para evitar la implicación de una implementación en particular. Una propiedad importante de los modelos de estructura del DOM es su isomorfismo estructural: si dos implementaciones cualesquiera del modelo de objetos del documento se usan para crear una representación del mismo documento, ambas crearán el mismo modelo de estructura, con exactamente los mismos objetos y relaciones

Se eligió el nombre modelo de objetos del documento porque es un modelo de objetos en el sentido tradicional del diseño orientado a objetos: los documentos se modelizan usando objetos, y el modelo comprende no solamente la estructura de un documento, sino también el comportamiento de un documento y de los objetos de los cuales se compone. Como modelo de objetos, el DOM identifica:
-         Las interfaces y objetos usados para representar y manipular un documento
-         La semántica de estas interfaces y objetos, incluyendo comportamiento y atributos
-         Las relaciones y colaboraciones entre estas interfaces y objetos

Tradicionalmente, la estructura de los documentos SGML se ha representado mediante un modelo de datos abstractos, no con un modelo de objetos. En un modelo de datos abstractos, el modelo se centra en los datos. En los lenguajes de programación orientados a objetos, los datos se encapsulan en objetos que ocultan los datos, protegiéndolos de su manipulación directa desde el exterior. Las funciones asociadas con estos objetos determinan como pueden manipularse los objetos y son parte del modelo de objetos

El modelo de objetos del documento consiste actualmente de dos partes: el núcleo del DOM y el DOM HTML. El núcleo del DOM representa la funcionalidad usada para los elementos XML, y también sirve de base para el DOM HTML. Una implementación conforme del DOM debe implementar todas las interfaces fundamentales del capítulo con la semántica definida. Además, debe implementar el DOM HTML, las interfaces extendidas (XML) o ambas, con la semántica definida   

Saludos,
Alfredo

Ejercicio final de evaluación previo al examen final

Hola a todos
A continuación, se realizará un sitio web dedicado a la metodología de programación en caso de Desarrollo de Aplicaciones Web, y Desarrollo de Aplicaciones Multiplataforma, y a los diferentes tipos y topologías de redes en el de Administración de Sistemas Informáticos y en red, que debe atender a las siguientes directrices

  1. Debe haber una página de índice, con el título del tema en la parte superior de la misma
  2. Esa página de índice debe tener diferentes niveles de profundidad
  3. En el caso de realizar el sitio web en solitario, el mínimo número de páginas será de 6.
  4. En el caso de realizar el sitio web dos personas juntas, el mínimo número de páginas será de 11
  5. No se permitirá hacer el trabajo en grupos de más de dos personas
  6. Tanto en el caso de que se haga individualmente como en grupo, deberá existir, obligatoriamente, una página de créditos, en la cual se especifique de forma clara y concisa la siguiente información:
    1. Autor(es) del sitio web
    2. Qué parte del trabajo de desarrollo ha realizado cada alumno (Caso de más de un alumno)
    3. Justificación de aquellas partes del diseño que no vengan dadas por estas directrices
    4. Fecha de terminación de la actividad
  7. El sitio web debe estar desarrollado siguiendo los estándares XHTML 1.0 o XHTML 1.1
  8. Todas las páginas que conforman el  sitio web deben estar validadas con el validador del W3C
  9. La información de estilo del sitio web debe encontrarse en una hoja de estilo externa.
  10. Esta hoja de estilo también debe haber sido validada en el validador del W3C
  11. La información de estilo contenida en la misma debe ser la siguiente:
    1. Los  títulos deben tener un tamaño de 30pts, estarán centrados y debe especificarse que no van a estar subrayados, y el color de fondo de la etiqueta que les contiene (h1) debe ser verde suave (88%,99%,88%). El borde debe ser de un verde más sólido y grueso. La fuente debe ser Verdana. El relleno debe ser de 15px y el margen de 10px
    2. Los título de menor nivel tendrán las mismas características, pero rebajando de cinco en cinco pts el tamaño de la letra
    3. Dentro de las etiquetas de bloques de contenido  que se utilicen, la fuente debe ser "Palatino Linotype", el tamaño de la misma 16pts, el interlineado un centímetro, el tamaño entre las palabras unos 15px y el espaciado entre letras debe ser de dos píxeles
    4. Los enlaces deben no estar subrayados, deben subrayarse y aumentar el tamaño cuando se coloque el ratón encima de los mismos. El color de los enlaces debe estar controlado, de tal forma que destaque del resto del texto
    5. Las imágenes -particularmente indicadas en la parte de ordinogramas en metodología de programación y en topología para redes, deben tener un borde equivalente al del título y deberían ser todas de la misma anchura y altura, salvo causa justificada (A explicar en los créditos)

La fecha tope de entrega de este ejercicio será el día 16 de Noviembre para Desarrollo de Aplicaciones Web y el 17 de Noviembre de 2011 para Desarrollo de Aplicaciones Multiplataforma y Administración de Sistemas Informáticos en Red. 

Saludos,
Alfredo

miércoles, 2 de noviembre de 2011

Ejercicio de estilo

Hola a todos
Como ejercicio os propongo hacer el siguiente diseño y validarlo (Hacedlo en HTML 4.01 Transicional o flexible o en el estricto). Éste será el primer paso del ejercicio final de evaluación


Saludos,
Alfredo

lunes, 31 de octubre de 2011

Un pequeño repaso a XHTML como puente hasta el XML

XHTML
Introducción
En sus inicios, el lenguaje HTML fue ampliamente adoptado por la comunidad, lo que dio lugar a que el HTML empezase a crecer incorporando etiquetas nuevas, pero sin demasiado control. Esto provocó que determinados contenidos sólo fuesen accesibles desde determinados navegadores. Por tanto, esta falta de estandarización dio lugar a que el hTML dejase de ser tan sencillo como era en un principio.
Es en ese momento, cuando XML hace su aparición, y se postula como alternativa al caos generado por el crecimiento de HTML. Sin embargo, XML está orientado al intercambio de información más que a la presentación de la misma. Como solución se propone utilizar una combinación de XML y HTML y de esta forma y de un modo natural surge XHTML (eXtensible Hypertext Markup Language), como dialecto de XML, pero con las características orientadas a presentación de información en HTML
Por tanto, una de las principales diferencias es que HTML proviene de SGML mientras que XHTML proviene de XML, lo que condiciona su sintaxis, entre otras características

Ventajas respecto del HTML
Las principales ventajas del XHTML sobre el HTML son:
·         Se pueden incorporar elementos de distintos espacios de nombres XML (como MathML y Scalable Vector Graphics).
·         Un navegador no necesita implementar heurísticas para detectar qué quiso poner el autor, por lo que el parser puede ser mucho más sencillo.
·         Como es XML se pueden utilizar fácilmente herramientas creadas para procesamiento de documentos XML genéricos (editores, XSLT, etc.).
Sintaxis
Debe existir un único elemento raíz llamado <html>
Se debe incluir una instrucción de procesamiento XML para indicar la versión de XML y la  codificación de caracteres usada
<?xml version=”1.0” encoding=”UTF-8”?>
Debe existir una declaración de Doctype para poder validar el documetno frente al DTD correspondiente. Por ejemplo
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd” >
Las etiquetas de apertura deberán tener su correspondiente par de cierre teniendo en cuenta los posibles anidamientos de etiquetas.
Como XML diferencia entre mayúsculas y minúsculas las etiquetas válidas en XHTML deberán ir siempre en minúsculas
Los valores de los atributos se escriben siempre entre comillas dobles
Elementos vacíos que en HTML son correctos como <br>, en XHTML deben escribirse como <br/> ocomo <br></br>
Versiones
El lenguaje XHTML surgió a partir de la versión HTML 4.0 alrededor del año 2000 y se denominó XHTML 1.0. A partir de entonces se empezaron a desarrollar algunas nuevas versiones como el XHTML 1.1 (en 2001) Posteriormente, se desarrollaron borradores de nuevas versiones, como la 1.2 o la 2.0 que nunca llegaron a estandarizarse y a usarse ampliamente. En la actualidad, se está trabajando sobre XHTML 5.0
Para la versión 1.0 existen varias versiones dependiendo de lo restrictivo que se quiere que sea el DTD correspondiente. Existen las siguientes versiones:
-          Transitional: en este caso se permite el uso de algunos elementos que están en desuso o desaconsejados(del inglés deprecated) como por ejemplo, <center> o <font>
-          Strict: este, sin embargo, no permite incluir los elementos marcados por la W3C como deprecated
-          Frameset: permite escribir documentos XHTML usando marcos.

Por otro lado, la versión 1.1 surge para dotar a la versión 1.0 de modularidad. De esta forma, se permite el uso de módulos externos combinados con XHTML 1.1. Una segunda edición de la versión 1.1 se publicó por parte del W3C en 2010 para corregir algunas erratas en la especificación original e incluir el uso de XML Schema


Apéndice
El estándar XHTML indica en un apéndice informativo una manera de escribir XHTML de modo tal que los navegadores actuales que sólo entienden HTML, lo procesen como si fuera éste. Para esto se deberá crear un documento con algunas restricciones y consideraciones, y servirlo con el «content-type» text/html, en vez del correcto para XHTML.
Algunas de las reglas propuestas para que XHTML «parezca» HTML son:
·         No usar instrucciones de proceso.
·         Los elementos vacíos (como <br>) deberán escribirse <br />, es decir en forma abreviada y con un espacio antes de «/».
·         No se debe utilizar la forma abreviada para elementos no vacíos que no tengan contenido, es decir: no se debe escribir <p/>.
Para algunos autores, la inclusión de este apéndice en el estándar fue un error y consideran que es un error usar XHTML de esta manera.


Diferencias entre HTML y XHTML
La siguiente lista muestra algunas reglas de XHTML 1.0 que lo diferencian de HTML 4.01. Muchas de estas diferencias vienen con el cambio de ser una aplicación SGML a ser una aplicación del más estricto XML:
  • Los elementos vacíos deben cerrarse siempre:
      • Incorrecto: <br>
      • Correcto: <br></br> o <br/> o <br />
Nota: Cualquiera de las tres formas es válida en XHTML. Para compatibilidad según el "Apéndice C" debe usarse <br />.
  • Los elementos no vacíos también deben cerrarse siempre:
      • Incorrecto: <p>Primer párrafo<p>Segundo párrafo
      • Correcto: <p>Primer párrafo</p><p>Segundo párrafo</p>
  • Los elementos anidados deben tener un correcto orden de apertura/cierre (el que se abre último, debe cerrarse primero).
      • Incorrecto: <em><strong>Texto</em></strong>
      • Correcto: <em><strong>Texto</strong></em>
  • Los valores de los atributos deben siempre ir encerrados entre comillas (simples o dobles).
      • Incorrecto: <td rowspan=3>
      • Correcto: <td rowspan="3">
      • Correcto: <td rowspan='3'>
  • Los nombres de elementos y atributos deben ir en minúsculas.
      • Incorrecto: <A HREF="http://www.domname.com">Domname</A>
      • Correcto: <a href="http://www.domname.com">Domname</a>

  • No está permitida la minimización de atributos (se usa el nombre del atributo como valor).
      • Incorrecto: <textarea readonly>Solo-lectura</textarea>
      • Correcto: <textarea readonly="readonly">Solo-lectura</textarea>
  • Los atributos desaprobados en HTML 4.01 no forman parte de XHTML.
      • Incorrecto: <font color="#0000FF">Blue text</font>
      • Correcto: <span style="color: #0000FF;">Blue text</span>

Reglas para DTDs estrictos
§         El texto no debe ser insertado directamente en el cuerpo (dentro de la etiqueta body).
·         Incorrecto: <body>Texto plano</body>
·         Correcto: <body><span>Texto plano</span></body>

§         No se deben insertar elementos de bloque dentro de elementos de línea.
·         Incorrecto: <em><h2>Título</h2></em>
·         Correcto: <h2><em>Título</em></h2>



Actividades
-          Reescriba el documento HTML de la actividad global anterior usando XHTML.
-          Compruebe que el documento sea válido usando, por ejemplo, el validador del consorcio W3