Está en la página 1de 6

-Usar texto puro.

-Definir el prólogo las etiquetas y el elemento raíz.


-Los navegadores difieren en la interpretación de scripts.
Por ejemplo:

-Componente del código XML:

-El prólogo
<?xml …… ??>
No se cierra
-La raíz: <documento></documento>
Es obligatoria y presenta el documento.
-Las etiquetas: <pregunta> <respuesta>
Se recomienda no utilizar:
-diéresis
-acentos
-signos especiales
-espacios
- : dos puntos
-no iniciar con un número
-se diferencia entre mayúsculas y minúsculas
-En México usar Latin1 8859-1
Si no se incluye el encoding, el navegador utiliza el predeterminado UTF-8 y se exige una máscara
de diéresis.

Carácter Entidad
< &lt
> &gt;
& &amp;
“ &cuot;
‘ &apos;

Carácter Código
“ &#187;
” &#171;
© &#169;
® &#174;
£ &#163;
http://alis.isoc.org/codage/iso8859/jeuxiso.htm

-XML como un árbol:

Estructura de un alista, colocando autor, editorial, descripción y precio:

Ejemplo lista

<?xml version="1.0" encoding="iso-8859-1"?>


<lista>
<libro>
<titulo>Photoshop</titulo>
<autor>Uno</autor>
<editorial>ABC</editorial>
<precio>10</precio>
</libro>

<libro>
<titulo>Java</titulo>
<autor>Josling</autor>
<editorial>Sun</editorial>
<precio>20</precio>
</libro>

<libro>
<titulo>XML</titulo>
<autor>SGML</autor>
<editorial>IPN</editorial>
<precio>30</precio>
</libro>
</lista>

-Creación de DTD:

DTD: es un conjunto de reglas para definir las etiquetas, nombres, orden, jerarquía, atributos y
valores opcionales y obligatorios.

Un DTD es válido si tiene asignada un DTD y está escrito correctamente.

Un DTD externo es un documento con extensión dtd. Por ejemplo:

<!ELEMENT lista(libro+)>
<!ELEMENT libro(titulo, autor+, editorial, descripción?,precio+)>
<!ELEMENT titulo (#PCDATA)>
<!ELEMENT autor (#PCDATA)>
<!ELEMENT editorial (#PCDATA)>
<!ELEMENT descripcion (#PCDATA)>
<!ELEMENT precio (#PCDATA)>
Lista.dtd

-Las DTD se escriben en lenguaje SGML. Donde:

1.- Las definiciones inician con !ELEMENT , con mayúsculas.

El signo + indica que puede haber más de un elemento. Si el signo + no aparece, el elemento
aparece sólo una vez.

2.- Cuando un elemento posee más elementos para formar un grupo (elementos separados por
comas ,) se siguen un orden estricto y las etiquetas se deben usar en ese orden.

3.- Con + se indica que el elementos parece mínimo una vez y se puede repetir.

4.- El signo ¿ indica que ese elemento es opcional que puede o no aparecer.

5.- El resto de las etiquetas se definen en orden.

6.- PCDATA indica que los datos son de tipo carácter (no gráficos ni multimedia). Significa “Parser
Character Data”.

7.- Si un elemento posee el signo * el elemento se puede utilizar varias veces , pero sus uso no es
obligatorio.

Establecimiento de un enlace a la DTD:

a. Abrir el documento XML.


b. Colocar el enlace entre la etiqueta del prólogo y la etiqueta raíz.
c. Por ejemplo:

<?xml …>
<!DOCTYPE lista SYSTEM “lista.dtd”>
<raiz>
</raiz>

-En HTML la DTD es pública y se encuentra en los servidores W3C.

DTD INTERNA

Su sintaxis, dentro del documento XML, es:

<?xml versión=”1.0” encoding =”iso-8859-1”?>


<!DOCTYPE raíz[

…instrucciones

]>

<raíz>

…</raíz>

Ejemplo:

<?xml versión=”1.0” encoding=”iso-8859-1”?>


<!DOCTYPE lista[
<!ELEMENT lista(libros+)>
<!ELEMENT libro(titulo, autor+,editorial,descripción?,precio+)>
<!ELEMENT titulo(#PCDATA)>
<!ELEMENT autor(#PCDATA)>
<!ELEMENT editorial(#PCDATA)>
<!ELEMENT descripción(#PCDATA)>
<!ELEMENT precio(#PCDATA)>
]>
<lista>
<libro>
<titulo>Photoshop</titulo>
<autor>….
<precio>10</precio>
</libro>
….otros libros
</lista>
La comprobación de validez y formado se realiza con:

-Parsers no validadores: no comprueban sintaxis , sólo formación.

-Parsers validadores: validan el código en función de las reglas.

-xmlint.exe

-installer
- XML.
Definición de etiquetas con atributos:
- Por ejemplo, una base de datos con la siguiente información
> Nombre del producto
> Referencia de producto
> Fabricante
> Precio, final y de distribuidor
Además, identificación del fabricante por:
 Empresa
 Localidad (no obligatorio)
 Primero, la planeación:
raíz: producto
Partidas o productos:
- nombre
- número
- fabricante (empresa o localidad)
- precio (final y distribuidor)

En forma de árbol

productos

partidas

nombre número fabricante Precio+ (cliente=”final” o “distribuidor”)

empresa localidad

Por lo tanto, las etiquetas completas quedan así:

<!ELEMENT productos(partidas+)>
<!ELEMENT partidas(nombre,num,fabricante,precio+)>
<!ELEMENT nombre(#PCDATA)>
<!ELEMENT num(#PCDATA)>
<!ELEMENT fabricante(empresa,localidad?)>
<!ELEMENT empresa(#PCDATA)>
<!ELEMENT localidad(#PCDATA)>
<!ELEMENT precio(#PCDATA)>
<!ATTLIST precio cliente(final|distribuidor) #REQUIRED>

Notas: En este caso partidas se puede escribir como (partidas+) o (partidas)+


La etiqueta <!ATTLIST.. se escribe al final de la DTD. Primero se define el precio:
precio(#PCDATA)

Y luego los atributos del cliente: <!ATTLIST precio cliente(final|distribuidor)


#REQUIRED>

Ejercicio: Capturar y validar:

<?xml version="1.0" encoding="ISO-8859-1"?>


<!DOCTYPE productos SYSTEM "productos.dtd">
<productos>
<partidas>
<nombre> Muñeca </nombre>
<num> 32945 </num>
<fabricante>
<empresa> Juegos, S.A. </empresa>
<localidad>Veracruz </localidad>
</fabricante>
<precio cliente="final">60 </precio>
<precio cliente="distribuidor">40 </precio>
</partidas>

<partidas>
<nombre> Carrito </nombre>
<num> 32981 </num>
<fabricante>
<empresa>Juegos, S.A.</empresa>
<localidad>Veracruz </localidad>
</fabricante>
<precio cliente="final">18 </precio>
<precio cliente="distribuidor">12 </precio>
</partidas>

<partidas>
<nombre> Pelota </nombre>
<num> 32901 </num>
<fabricante>
<empresa>Juegos, S.A.</empresa>
<localidad>Veracruz </localidad>
</fabricante>
<precio cliente="final">15 </precio>
<precio cliente="distribuidor">10 </precio>
</partidas>

<partidas>
<nombre> Oso peluche </nombre>
<num> 32341 </num>
<fabricante>
<empresa>Juegos, S.A.</empresa>
<localidad>Veracruz </localidad>
</fabricante>
<precio cliente="final">60 </precio>
<precio cliente="distribuidor">45 </precio>
</partidas>
</productos>