XML Extensible Markup Language: diferència entre les revisions

De FFAWiki
Cap resum de modificació
Línia 85: Línia 85:


==Atributs DTD==
==Atributs DTD==
<!ATTLISTnom-element nom-atribut tipus-atribut valor- inicial-atribut>
DTD example:
:<!ATTLIST persona nom CDATA #REQUIRED>

Revisió del 01:12, 27 nov 2020


Exemple XML

<email>

<remitent>
<persona>
<nom> Josep </nom>
<cognom>Pons </cognom>
</persona>
</remitent>
<destinatari>
<adreça> suport@gmail.com</adreça>
</destinatari>
<assumpte>El dispositiu no funciona</assumpte>
<missatge> Necessito que vinguin a revisar el dispositiu. </missatge>

</email>


Plantilla XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE nomArxiu SYSTEM "nomArxiu.dtd">
<etiqueta xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="nomArxiu.xsd">
</etiqueta>

Regles

  1. El document conté únicament caràcters Unicode vàlids.
  2. Hi ha un element arrel que conté a la resta d'elements.
  3. Els noms dels elements i dels seus atributs no contenen espais.
  4. El primer caràcter d'un nom d'element o d'atribut pot ser una lletra, dos punts o subratllat (_).
  5. La resta de caràcters poden ser també números, guions (-) o punts (.).
  6. Els caràcters "<" i "&" només s'utilitzen com a començament de marques.
  7. Les etiquetes d'obertura, de tancament i buides estan correctament niades (no se solapen) i no cal ni sobra cap etiqueta d'obertura o tancament.
  8. Les etiquetes de tancament coincideixen amb les d'obertura (fins i tot en l'ús de majúscules i minúscules).
  9. Les etiquetes de tancament no contenen atributs.
  10. Cap etiqueta te dos atributs amb el mateix nom.
  11. Tots els atributs tenen algun valor.
  12. Els valors dels atributs estan entre cometes.

Elements DTD

Elements que contenen dades

<!ELEMENT nom-element categoria>
Exemple:

<!ELEMENT exemple (#PCDATA)>

XML:

<exemple>dades exemple</exemple>


Elements que contenen elements

<!ELEMENT nom-element (elements fills)>
Exemple:

<!ELEMENT persona (nom,cognom)>

XML:

<persona>
<nom>dades exemple</nom>
<cognom>dades exemple</cognom>
</persona>

Elements buits

<!ELEMENT nom-element EMPTY>
Exemple:

<!ELEMENT br EMPTY>

XML:

<br/>

Elements que contenen altres elements

Quan els elements contenen altres elements, Hem de considerar els seguents modificadors:

<!ELEMENT persona (nom,cognom)> Si no s’indica res els elements han d’apareixer 1 vegada (obligatòriament) i han de seguir l’ordre que s’indica.
<!ELEMENT persona (nom|cognom)> Amb el modificador lògic | (or) indiquem que hem de triar entre l’element nom i l’element cognom. O un o l’altre.
<!ELEMENT persona (nom?,cognom)> Amb el modificador ? Indiquem que nom pot aparèixer una vegada o cap. Es a dir que és opcional.
<!ELEMENT persona (nom*,cognom)> Amb el modificador * Indiquem que nom pot aparèixer una vegada, moltes o cap. Es a dir que és opcional i pot aparèixer tantes vegades com vulgui.
<!ELEMENT persona (nom+,cognom)> Amb el modificador + Indiquem que nom pot aparèixer una vegada o moltes. Es a dir que és obligatori i pot aparèixer tantes vegades com vulgui.
Si aquests modificadors es troben fora dels parèntesis afecten a tot el conjunt que hi ha dintre d’aquest.
(nom*,cognom) afecta només a nom (nom,cognom)* afecta al conjunt (nom, cognom)

Atributs DTD

<!ATTLISTnom-element nom-atribut tipus-atribut valor- inicial-atribut>

DTD example:

<!ATTLIST persona nom CDATA #REQUIRED>