Il seguente esempio è collegato all’articolo Linguaggio XML.

Viene qui presentato un documento XML contenente un curriculum in formato XML. Viene inoltre fornito un DTD collegato a tale documento.

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

<!DOCTYPE curriculum[
  <!ELEMENT curriculum (anagrafica, titoli_di_studio, lingue, esperienze*, skills)>
	
  <!ELEMENT anagrafica (nome, cognome, sesso, dati_nascita, dati_residenza)>
  <!ELEMENT nome (#PCDATA)>
  <!ELEMENT cognome (#PCDATA)>
  <!ELEMENT sesso (#PCDATA)>
  <!ELEMENT dati_nascita (luogo, data)>
  <!ELEMENT luogo (#PCDATA)>
  <!ELEMENT data (#PCDATA)>
  <!ELEMENT dati_residenza (citta, provincia)>
  <!ELEMENT citta (#PCDATA)>
  <!ELEMENT provincia (#PCDATA)>
	
  <!ELEMENT titoli_di_studio (titolo_studio+)>
  <!ELEMENT titolo_studio EMPTY>
  <!ATTLIST titolo_studio tipo CDATA #REQUIRED stato (in_corso|conseguito) #REQUIRED anno_inizio CDATA #REQUIRED anno_fine CDATA #IMPLIED presso CDATA #REQUIRED luogo CDATA #REQUIRED>

  <!ELEMENT lingue (lingua+)>
  <!ELEMENT lingua EMPTY>
  <!ATTLIST lingua nome CDATA #REQUIRED livello CDATA #REQUIRED>

  <!ELEMENT esperienze (esperienza+)>
  <!ATTLIST esperienze tipo (non_lavorative|lavorative) #REQUIRED>
  <!ELEMENT esperienza (anno_inizio, anno_fine?, ruolo?, contratto?, azienda?, descrizione)>
  <!ATTLIST esperienza stato (conclusa|in_corso) #REQUIRED>
  <!ELEMENT anno_inizio (#PCDATA)>
  <!ELEMENT anno_fine (#PCDATA)>
  <!ELEMENT ruolo EMPTY>
  <!ATTLIST ruolo tipo CDATA #REQUIRED>
  <!ELEMENT contratto EMPTY>
  <!ATTLIST contratto tipo CDATA #REQUIRED>
  <!ELEMENT azienda EMPTY>
  <!ATTLIST azienda nome CDATA #REQUIRED>
  <!ELEMENT descrizione (#PCDATA)>
	
  <!ELEMENT skills (skill+)>
  <!ELEMENT skill EMPTY>
  <!ATTLIST skill titolo CDATA #REQUIRED livello (base|medio|avanzato) #REQUIRED>
]>

<curriculum>

  <anagrafica>
    <nome>Mario</nome>
    <cognome>Rossi</cognome>
    <sesso>M</sesso>
 
    <dati_nascita>
      <luogo>Roma</luogo>
      <data>25/11/1993</data>
    </dati_nascita>
    
    <dati_residenza>
      <citta>Segrate</citta>
      <provincia>Milano</provincia>
    </dati_residenza>
  </anagrafica>
  
  <titoli_di_studio>
    <titolo_studio tipo="Diploma di Liceo Scientifico" stato="conseguito" anno_inizio="2007" anno_fine="2012" presso="Liceo Scientifico Isacco Newton" luogo="Roma"/>
    <titolo_studio tipo="Laurea in Informatica" stato="in_corso" anno_inizio="2012" presso="Università degli studi di Milano" luogo="Milano"/>
  </titoli_di_studio>
	
  <lingue>
    <lingua nome="italiano" livello="madrelingua"/>
    <lingua nome="inglese" livello="B2"/>
    <lingua nome="francese" livello="DELF B1"/>
  </lingue>
    
  <esperienze tipo="non_lavorative">
    <esperienza stato="conclusa">
      <anno_inizio>2012</anno_inizio>
      <anno_fine>2013</anno_fine>
      <descrizione>Programma università per i giovani</descrizione>
    </esperienza>
  </esperienze>
  
  <esperienze tipo="lavorative">
    <esperienza stato="conclusa">
      <anno_inizio>2015</anno_inizio>
      <ruolo tipo="Programmatore"/>
      <contratto tipo="lavoratore a progetto"/>
      <azienda nome="Il mondo dei chip"/>
      <descrizione>Progettazione di un sistema di e-commerce per un negozio specializzato in elettronica</descrizione>   
    </esperienza>

    <esperienza stato="conclusa">
      <anno_inizio>2015</anno_inizio>
      <ruolo tipo="Programmatore e responsabile progetto"/>
      <contratto tipo="lavoratore a tempo indeterminato"/>
      <azienda nome="WorkShop"/>
      <descrizione>Progettista di software cloud e assistenza sui prodotti sviluppati</descrizione>   
    </esperienza>
  </esperienze>
	
  <skills>
    <skill titolo="Programmazione PHP" livello="medio"/>
    <skill titolo="Programmazione C" livello="medio"/>
    <skill titolo="Programmazione Java" livello="medio"/>
    <skill titolo="Gestione Team" livello="base"/>
    <skill titolo="Formazione Team" livello="medio"/>
  </skills>
  
</curriculum>