HTML HTML Markup SGML
Transcript
HTML HTML Markup SGML
HTML HTML • HyperText Markup Language • HyperText – Testo contenente link verso altri documenti • Markup Language Markup “In computerized document preparation, a method of adding information to the text indicating the logical components of a document, or instructions for layout of the text on the page or other information which can be interpreted by some automatic system” SGML • Standard Generalized Markup Languages – Metalinguaggio di markup • Linguaggio per definire linguaggi • Principi • Diversi linguaggi di Markup – – – – MS Word per documenti, articoli,… HTML per pagine web LaTeX per articoli di ricerca, formule matematiche, … – Generico – Rapprentazione della struttura logica di un documento – Uso di tags come etichette HTML • Da SGML – Idea di usare tags Principi • Indipendenza dalla piattaforma hardware/software – Difficile in realtà • <foo> </foo> • Dal Web • Formato leggibile… – Links – Media diversi – Indipendenza da una applicazione di editing • Standard aperto Standard • Quali tag? • Come interpretarli? • Relazione tra i vari tag? • Standard definiti dal Worl Wide Web Consortium – www.w3c.org Versioni • HTML 1.0 – 1993 – Mai completato • HTML 2.0 – 1994 • HTML 3.2 – 1996 – …3.0 mancante – Aggiunte di tabelle, applets,… • HTML 4.0 – 1998 • XHTML 1.0 – Versione raccomandata – Conforme ad XML Terminologia • Contenuto del Documento – Le porzioni del file visibili all’utente Sintassi Tag • Tag – Tags racchiusi dai simboli < e > • <html> • Tag – Codice HTML che fornisce informazioni: • sulla struttura logica • il layout – Maggior parte coppie di inizio-fine • <title> Titolo </title> • Attributi – Attributi sono coppie nome/valore associato ai tag • Attributi – Proprietà associate ai tag Tipi di Tag • Document Tag – Identificano le varie porzioni di un documento • Text Structure Tag – Determinano il layout del testo • Style Tag – Informazioni su come visualizzare il testo • Image Tag – Per incorporare immagini • Anchor Tag (ancora) – Per inserire hyperlink • <body bgcolor=“black”> • Valori devono apparire tra “ ” (requisito in XHTML) Document Tag • <html> … </html> – l’inizio e la fine del documento html • <head> … </head> – Intestazione con informazioni che il browser non visualizza. Include tag <title> e <meta> • <title> … </title> – Testo che appare nella sezione del titolo del browser • <body> … </body> – Il contenuto visualizzato nella finestra del browser Documento minimale Commenti <html> <head> <title> Documento minimale </title> </head> <body> Hello World! </body> </html> • <!- - commenti > Structure Tag • Heading: <hx>…</hx> con 1≤ x ≤ 6 – Più piccolo x più grande è il testo Esempio 1 <?xml version = "1.0"?> 2 <!DO CTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 3 "ht tp://www.w3.org/TR/xhtml11/DTD/xhtm l11 .dtd"> 4 5 <!-- header.htm l --> 6 <!-- XHTML he aders--> 7 • Paragraph: <p>…</p> – Una linea vuota viene inserita prima del paragrafo • Line break: <br> • Ordered list: <ol> … </ol> • Unordered list: <ul> … </ul> 8 9 10 11 <html xmlns = "http://www.w3. org/199 9/xhtml"> <head> <titl e>Internet and WW W How to Prog ram - Headers</title> </he ad> 12 13 <body> 14 15 <h1>Leve l 1 Header</h1> 16 <h2>Leve l 2 h eader</h2> 17 <h3>Leve l 3 h eader</h3> 18 <h4>Leve l 4 h eader</h4> 19 <h5>Leve l 5 h eader</h5> 20 <h6>Leve l 6 h eader</h6> 21 22 </body> 23 </html> http://www.miosito.com/header.html Unordered list • Tag <ul> </ul> • Tag <li> </li> per gli elementi della lista • Produce una lista con i singoli elementi contrassegnati da un “bullet” – Specificabile usando l’attributo TYPE Ordered List • Tag <ol> </ol> • Tag <li> </li> per gli elementi della lista – L’ordine di default è numerico • Esempio <html> <head> <title> …. </title> </head> <body> <h1>Here is an example of a ordered list </h1> <ol> <li>First item </li> <li>Second item </li> </ol> </body> </html> Esempio <html> <head> <title></title> </head> <body> <h1>Here is an example of a list</h1> <ul> <li>First item </li> <li>Second item </li> </ul> <ul type=“square”> <li>Third item </li> <li>Fourth item </li> </ul> </body> </html> Liste Annidate <html> <head> <title>Lists</title> </head> <body> <h1>To do list</h1> <ol > <li>Pick up dry cleaning <li>Clean the house <ul> <li>Sweep the floors </li> <li>Take out garbage </li> <li>Clean kitchen </li> </ul> <li>Stop by post office <ul> <li>Get stamps <ul> <li>Overseas airmail </li> <li>Domestic </li> </ul> <li>Mail package </li> </ul> </ol> </body> </html> Style Tags • Tags che controllano come viene visualizzato il testo – Violano la sepazione tra contenuto e presentazione – Deprecati ma largamente usati • Soluzione: cascading style sheets (CSS) Logical Display Tags • Descrivono il “tipo” di contenuto – Dette anche “content –based” style tags • • • • • Il browser decide come visualizzare il contenuto <em> enfasi -> corsivo <strong> -> grassetto <code> codice -> font monospace (Courier) … Display Tags • Specificano direttamente come il testo deve apprarire • <i> corsivo • <b> grassetto • <font> font • <u> sottolineato • <center> centrato Esempio <html> <head> <title>Style example</title> </head> <body> <p><center><font color="red">Red text, centered</font></center></p> <p align="center"><font color="red">Red text, centered also</font></p> <p><font color="blue“><strong>Blue text, strong </strong></font></p> <p>Preformatted</p> <pre>I can use space however I want 10 spaces ! </pre> Back to normal.<br> </body> </html> Anchor Tag (hyperlinks) • <a>…</a> usati per creare hyperlinks a: – Altri documenti nello stesso sito – Posizione diversa nello stesso documento – Siti esterni • L’attributo HREF indica la destinazione del link URL relativi • URL completo – Pagina del corso http://www.ce.uniroma2.it/~lopresti/Didattica/RetiWeb/RetiWeb0809/Ret iWeb_frame.htm • Può essere abbreviato in un link – Dalla mia homepage è sufficiente inserire <a href=“url”> Testo cliccabile </a> • Link alla mia homepage <a href=http://www.ce.uniroma2.it/~lopresti/> Tabelle • Tabella è una regione rettangolare – Organizzata in righe e colonne – Definita riga per riga • • • • • <table> per definire una tabella <tr> per definire una riga <td> per definre una cella di una riga <th> header cell, centrata ed in grassetto <caption> Didascalia <a href Didattica/RetiWeb/RetiWeb0809/RetiWeb_frame.htm> – Il resto è aggiunto dal browser usando URL della pagina corrente • Usando la sintassi dei percorsi in Unix Esempio … <table frame=“box” rules=“all”> <caption>This is a table</caption> <tr> <th>First Row</th> </tr> <tr> <td>A1</td> </tr> </table> … Web Application Architettura • 90% delle pagine web sono generate dinamicamente usando input utente – Solo il 10% delle pagine web è statico • Input per le applicazioni web? ⇒HTML forms Web Application Input • Due modalità – All’interno di una URL (metodo GET) – All’interno del body (metodo POST) • Sintassi dati inseriti tramite form – Coppie nome-valore – Simbolo ? metodo GET • File uploaded – Contenuto “multi-part” di un messaggio POST Tag Form • Identifica la porzione della pagina dove sono inserite i tag di input • Definisce l’URL al quale i dati vengono inviati • Definisce la modalità di processamento Input • Nome e attributo valore • Utente può cambiare l’attributo valore – Modalità dipendono dal tipo di input • Text field • Selection list • Radio button Esempio <html> <head> <title>Simple form example</title> </head> <body> <form action="http://www.karrambal.biz/cgi/cgi-bin/echo.pl" method="get"> <input name="field_example” type="text" value="Type here"> <input type="submit"> </form> </body> </html Attributo Type Text • Esempio <input type="text" name="first_name“ value="John Smith" size="20" maxlength="40"> • Attributi – Value: il contenuto iniziale del campo – Size: la dimensione del campo – maxlength: il numero massimo di caratteri accettati Checkboxes • Modo semplice per gestire opzioni si/no <input type="checkbox" name="name“ value="it was checked" checked=“true”> • Attributi – Il valore va incluso tra i parametri se il box è “checked” – Checked indica se il box è checked per default Esempio Esempio <form action="http://www.karrambal.biz/cgi-bin/echo.pl" method="post"> <table width="75%" border="0"> <tr> <td width="25%"><label for="label">Enter query:</label></td> <td width="75%"> <input name="field_example“ id=“label” type="text" value=""> </td> </tr> <tr> <td><label for="checkbox">Local search only:</label></td> <td><input type="checkbox" name="checkbox" value="checkbox" id=“checkbox” checked=“true”></td> </tr> <tr> <td></td> <td><input name="submit" type="submit"></td> </tr> </table> </form> Radio buttons • Permettono di selezionare una opzione in una lista • <input type="radio" name="search_type" id="local” value="local" checked> • Gruppi – Radio button sono organizzati in gruppi – Gruppo è definito dall’attributo nome condiviso Radio button Attributi • Name – Valore condiviso per tutto il gruppo di radio button • Id – Unico per ogni elemento • Identifica il radio button • Value – Il valore del campo se quel radio button viene scelto • Checked – Valore di default Esempio Esempio <form action="http://josquin.cs.depaul.edu/cgi-bin/echo.pl" method="post"> <table width="75%" border="0"> <tr> <td width="25%"><label for="label">Enter query:</label></td> <td width="75%"><input name="field_example" id="label" type="text" value=""></td> </tr> <tr> <td><label for="local">Search type:</label></td> <td>Local: <input type="radio" name="search_type" id="local" value="local" checked> Full: <input type="radio" name="search_type" id="full" value="full"></td> </tr> <tr> <td></td> <td><input name="submit" type="submit"></td></tr> </table> </form> Selection List • Radio button vanno bene per un numero limitato di opzioni • Altrimenti – Menu per selezioni singole – List Box per liste molto lunghe e selezioni multiple • Elemento select – tag <select> …</select> – Menu (attribute size=1) – List Box (attribute size>1) Esempio <td> <select size="1" name="search_type" id="search_type"> <option>Local</option> <option>Full</option> </select> </td> Attributi • Elemento Select – Size è il numero di elementi visualizzati – Multiple per abilitare scelte multiple – Name nome del campo • Elemento Option – Value valore del campo se l’opzione viene scelta – Selected identifica il valore di default Esempio <td> <select size="4" name="search_type" id="search_type" multiple> <option value="local">Local</option> <option value="spec">Special Collections</option> <option value="tech">Technical Reports</option> <option value="press">Press Releases</option> <option value="full">Full</option> </select> </td> Buttons • Type – Submit • Invia la richiesta al server – Reset • Reimposta tutti i valori al valore di default – Action • Per eseguire degli script