1 / 139

XML: eXtensible Markup Language

XML: eXtensible Markup Language. La lingua franca del Web. Isole di Informazione. Il Problema. Utenti diversi con diversi software vendors e.g. MS Word, WordPerfect & XML Editor. Problema di Esempio.

erich-bond
Download Presentation

XML: eXtensible Markup Language

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. XML: eXtensible Markup Language La lingua franca del Web

  2. Isole di Informazione

  3. Il Problema • Utenti diversi con diversi software vendors • e.g. MS Word, WordPerfect & XML Editor

  4. Problema di Esempio

  5. ÐÏ^Qࡱ^Zá^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@>^@^C^@þÿ^@^F^@^@^@^@^@^@^@^@^@^@^@^A^@^@^@#^@^@^@^@^@^@^@^@^P^@^@%^@^@^@^A^@^@^@þÿÿÿ^@^@^@^@"^@^@^@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿì¥Á^@q^@^D^@^@^@^R¿^@^@^@^@^@^@^P^@^@^@^@^@^D^@^@Ç^G^@^@^N^@bjbjt+t+^@^@^@ÐÏ^Qࡱ^Zá^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@>^@^C^@þÿ^@^F^@^@^@^@^@^@^@^@^@^@^@^A^@^@^@#^@^@^@^@^@^@^@^@^P^@^@%^@^@^@^A^@^@^@þÿÿÿ^@^@^@^@"^@^@^@ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿì¥Á^@q^@^D^@^@^@^R¿^@^@^@^@^@^@^P^@^@^@^@^@^D^@^@Ç^G^@^@^N^@bjbjt+t+^@^@^@ ^@Some Quotations from the Universal Library^M1 Famous Quotes^M1.1 By William I^M[2, Sonnet XVIII]^MShall I compare thee to a summer's day?^MThou art more lovely and more temperate.^MRough winds do shake the darling buds of May,^MAnd summer's lease hath all too short a date.^MSometime too hot the eye of heaven shines,^MAnd often is his gold complexion dimmed.^MAnd every fair from fair some declines,^MBy chance or nature's changing course untrimmed.^MBut thy eternal summer shall not fade,^MNor lose possession of that fair thou owest,^MNor shall Death brag thou wander'st in his shade^MWhile in eternal lines to time thou growest.^MSo long as men can breathe, or eyes can see,^MSo long live this, and this gives life to thee.^M1.2 By William II^M[1, p.265]^M\223The obvious mathematical breakthrough would be development of^Man easy way to factor large prime numbers."^MReferences^M[1] W. H. Gates. The Road Ahead. Viking Penguin, 1995.^M[2] W. Shakespeare. The Sonnets of Shakespeare.609.^M^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ ‘Message in the Bottle ‘ • Grado di "self-description": Non male OK Per niente \documentclass{article} \begin{document} \title{Some Quotations from the Universal Library} ... \section{Famous Quotes} \subsection{By William I} \textbf{\cite[Sonnet XVIII]{shakespeare-sonnets-1609}} \begin{verse} Shall I compare thee to a summer's day?\\ Thou art more lovely and more temperate. \\ Rough winds do shake the darling buds of May, \\ And summer's lease hath all too short a date. \\ Sometime too hot the eye of heaven shines, \\ And often is his gold complexion dimmed. \\ … \qquad So long as men can breathe, or eyes can see,\\ \qquad So long live this, and this gives life to thee. \\ \end{verse} ... \bibliographystyle{abbrv} \bibliography{msg} \end{document} <?xml version="1.0"?> <universal_library> <books> <book> <title>Some Quotations from the Universal Library</title> <section> <title>Famous Quotes</title> <subsection> <title>By William I</title> <quotebibref="shakespeare-sonnets-1609"> <title>Sonnet XVIII</title> <verse> <line>Shall I compare thee to a summer's day?</line> <line>Thou art more lovely and more temperate. </line> <line>Rough winds do shake the darling buds of May, </line> </verse> … <subsection> <title>By William II</title> <quote bibref="gates-road-ahead-1995"> <title>Page 265</title> <line>``The obvious mathematical breakthrough would be development of an easy way to factor large prime numbers.’’</line> </quote> </subsection> </section> </book> … </books> </universal_library>

  6. Ftp News Email • HTML Web Server • HTTP • URL Db & other software URLs (location e.g --http://www.foo.org/boo.html) Internet communication protocols HTML (data/display) Hello There Here’s a zippy HTML page, with lots of Colors and Links ...!!! Fun, Eh? HTTP (transfer) All’inizio ..... • …. Era la nascita del Web (Tim Berners-Lee, 1992)

  7. I tre concetti di base • HTTP -- HyperText Transfer Protocol • Un protocollo per trasferire dati tra macchine su Internet • URL -- Uniform Resource Locator • Uno schema per referenziare, usando una semplice stringa di testo, la specifica locazione di una risorsa (Web page, audio file, program) da qualche parte su Internet (e.g. http://www.utoronto.ca/ian/talks/ ) • HTML -- HyperText Markup Language • Un markup language per codificare informazioni per potere essere lette / visualizzate HTTP e URLs hanno superato il test del tempo Ma dal 1996, HTML ha iniziato a mostrare l’età ....

  8. Semplice Esempio di HTML Browser Rendering HTML (not XML) Markup <HTML> <HEAD> <TITLE>The XML Specification Guide -- Website Home Page </TITLE> <LINK REL="stylesheet" HREF="style.css"> </HEAD> <BODY BGCOLOR="#FFFFFF" TEXT="black" LINK="#0066CB" ALINK="#00A000" VLINK="#808080" > <TABLE WIDTH="100%" CELLPADDING="0" CELLSPACING="0" BORDER="0"> <TR> <TD VALIGN="top" ALIGN="left"><FONTCLASS="toolbar" FACE="arial,helvetica" SIZE="-1">The XML Specification Guide </FONT></TD> …….. More tags and text ….

  9. Problemi con HTML • HTML progettato per un ruolo solo - documenti semplici ipertestuali, con interazioni semplici con l’utente (forms, etc.). Ma la gente ben presto ha voluto visualizzare altri tipi di dait: • Espressioni matematiche, testi letterari • grapica, multimedia, contenuti interattivi ... • Form commerciai, ordini di acquisto, dati generici • ... e “connettere” queste parti assieme (in modo che possano interagire) • ... e dinamicamente miscelare/editare blocchi di dati assieme • ... e costruire network dinamiche che scambiano informazioni • ... e far si che tutto questo funzioni, dovunque.

  10. Problemi con HTML (2) • HTML è un formato di visualizzazione • Buono per il rendering delle informazioni - ma... • Non contiene informazioni sulla struttura dei documenti • Quindi non va bene per documentoi lunghi e strutturati • Stile e contenuto sono intrinsicamente collegati • Risulta difficoltosa la manutenzione • Informazioni possono venire perse in quanto si descrive solo la forma, non il significato (semantica)

  11. Lo scopo di HTML era troppo limitato • Singolo modello per I dati (hypertext text) • Sintassi troppo macchinosa ... È facile creare HTML che viene male-intrpretato da altri sistemi • Risultato: • Non è possibile creare dati arbitrari che possano essere ‘capiti’ ovunque HTML Web Evolution interscambio dati tra macchine Modellazione di tipi di dati differenti presentazione Di differenti Tipi di dati

  12. Markup Languages • La parola “Markup” deriva dall’industria della stampa • Istruzioni di stili dettagliati per tipografie • Normalmente scritte a mano sulle copie (eg sottolineature di testo che deve essere settato in italico). • Markup languages fanno lo stesso per documenti computerzzati. • Markup aggiunge una struttura logica ad un documento, o indica come debba essere il layout (su carta o su video). • Markup languages sono un set di istruzioni che si prestano ad un processo automatico.

  13. Markup Languages (cont.) • Di solito una sequenza di caratteri in un file testo che indica una struttura oppure un comportamento del contenuto. • Per esempio (in HTML) • This is <B>bold</B> and this is <I>italic</I> • <TITLE>This is the title.</TITLE> • Markup possono essere creati editando direttamente I simboli, ma di solito questo viene mascherato agli utenti finali. • Esempi • HTML • RTF • Hytime

  14. Generalised Markup Languages • Linguaggio proprietari di markup creano problemi. • Generalised markup languages sono linguaggi per la definizione di markup languages. • Metalanguages • SGML

  15. SGML - Storia • Standard Generalised Markup Language • 1969 - GML da IBM • text editing • formatting • information retrieval • 1980 SGML prima pubblicazione • 1980’s SGML adottato da US IRS & DOD • 1986 - ISO standardISO 8879: Information processing--Text and office systems--Standard Generalized Markup Language (SGML), ([Geneva]: ISO, 1986).

  16. SGML • SGML definisce un sistema di tag markup <TAG>This is a pair of SGML tags</TAG> • SGML è uno standard per specificare un tag set. • Document Type Definition (DTD) • SGML documenti contengono elementi strutturali che possono essere descritti indipendentemente da come vengono visualizzati. • SGML application. • HTML è una SGML application.

  17. Benefici di SGML • Documenti sono creati pensando in termini di struttura piuttosto che di formato (che può cambiare nel tempo). • Documenti sono portabili perchè qualsiasi SW SGML compliant li può interpretare riferendosi al DTD. • Documenti originariamente creati per un media possono facilmente essere riclicati su altri media, come ad esempio un display di PC.

  18. XML • Extensible Markup Language • Iniziativa del W3C, che ha l’obiettivo di mettere a punto I problemi ed I limiti dell’ HTML. • XML descrive una sintassi per il marking di documents in modo tale che strutture complesse possano essere facilmente descritte. • Queste strutture possono essere usate come il fondamento per diversi tipi di processi eg: • Documentio umani leggibili • Agenti Automatizzati • Data interchange tra sistemi disparati • Universal Data Format

  19. Cos’è XML? • XML è basato su SGML, ma è sostanzialmente una forte semplificazione per l’uso del WWW. • Come SGML, XML è metalinguaggio • Definizione arbitraria di elementi • <TITLE> <PARAGRAPH> <ChapterHeading> <PRICE><PARTNUMBER> <MANUFACTUER> <ExamGrade> • La sintassi può essere (opzionalmente) descritta da un DTD • Documenti Validi – hanno un DTD • Documenti non ‘Well formed’ non hanno un DTD • Stile e contenuto sono completamente separati • XML documents contengono testo • Stile viene specificato in stylesheets

  20. XML • contiene regole esplicite per determinare dove le strutture dei documenti iniziano e finioscono • Tende a raggiungere un compromesso tra flessibilità, semplicità e leggibilità sia da parte di umani che di macchine • provvede uno standard per I dati con cui codificare I contenuti, semantica e schema per una grande varietà di casi

  21. XML Basic

  22. Struttura Logica Elementi Struttura Fisica Entitià Struttura di documenti XML Document Unit Sub-unit

  23. XML: gerarchia XML può essere descritto in una Gerarchia ad albero Document Parent Document Unit Unit Sub-unit Child Sub-unit Sibling N.B. Tutti gli elementi devono essere annidati

  24. Database ed XML • Il contenuto di Database possono essere presentati in XML • XML processor può accedere DBMS o file system e convertire dati in XML • Web server possono servire contenuti in XML o HTML Image from http://www-4.ibm.com/software/developer/education/tutorial-prog/overview.html

  25. XML basics • Un documento XML è composto di XML elements. • Un elemento XML può contenere elementi inglobati formando I suoi subelements. element <start-tag> content </end-tag>

  26. Ciascun documento XML ha un root element. • Un elemento XML può contenere informazioni addizionali descritte dai suoi attributes. Attribute <start-tag name = ‘value’>

  27. root attributes <?xml version=‘1.0’?> <!DOCTYPE Journal SYSTEM ‘journal.dtd’> <Journal> <Title>The Computer World</Title> <Editors>J.Brown and P.White</Editors> <Volume>1</Volume> <Month>April</Month> <Year>2000</Year> <Article Title=‘Distributed Technologies’ Authors=‘W.Green’ Pages=‘5-20’> <Abstract>This article describes…</Abstract> </Article> <Article Title=‘The Internet’ Authors=‘A.Black’ Pages=‘5-20’> <Abstract>This Internet…</Abstract> </Article> ….. </Journal> elements (ex) XML document - Journal.xml

  28. Un Esempio di Documento XML <!--?XML version="1.0"?--> <!DOCTYPE memo PUBLIC "memo.dtd"> <!--A very simple XML document --> <MEMO> <FROM>Tim Brailsford</FROM> <TO>A.N. Student</TO> <SUBJECT>Your Work</SUBJECT> <DATE>14th February, 2000</DATE> <MESSAGE> <P>This is to confirm that I received your work</P> <P>Thanks, Tim.</P> </MESSAGE> </MEMO>

  29. Un Esempio di Documento XML <!--?XML version="1.0"?--> <!DOCTYPE memo PUBLIC "memo.dtd"> <!--A very simple XML document --> <MEMO> <FROM>Tim Brailsford</FROM> <TO>A.N. Student</TO> <SUBJECT>Your Work</SUBJECT> <DATE>14th February, 2000</DATE> <BODY> <P>This is to confirm that I received your work</P> <P>Thanks, Tim.</P> </BODY> </MEMO> <!ELEMENT MEMO (FROM, TO, SUBJECT, DATE, MESSAGE)> <!ELEMENT FROM (#PCDATA)> <!ELEMENT TO (#PCDATA)> <!ELEMENT SUBJECT (#PCDATA)> <!ELEMENT DATE (#PCDATA)> <!ELEMENT MESSAGE (P+)> <!ELEMENT P (#PCDATA)>

  30. Contents vs Style • XML tags contengono significato non formattazione. • Questo permette di estrarre informazioni ulteriori • Considera l’esempio del nome scientifico degli animali. • I nomi sceintifici sono in latino • Per convenzione essi sono sempre stampati in italico The scientific name of the domestic dog is Canis familiaris, and of the domestic cat is Felis catus.

  31. Contents vs Style In HTML <P>The <I>scientific</I> name of the domestic dog is <I>Canis familiaris</I>, and of the domestic cat is <I>Felis catus.</I></P> NB non c’è distinzione tra nomi scientifici ed enfasi. • XML tags contain meaning not appearance. • This allows extra information to be extracted • Consider the example of the scientific names of animals. • scientific names are in latin • by convention they are always printed in italics The scientific name of the domestic dog is Canis familiaris, and of the domestic cat is Felis catus.

  32. Contents vs Style In XML <P>The <emph>scientific</emph> name of the domestic dog is <sci>Canis familiaris</sci>, and of the domestic cat is <sci>Felis catus.</sci></P> NB enfasi e nomi sceintifici sono tag diversi. Essi possono essere Visualizzati in italico, ma anche essere trattati separatamente. • XML tags contain meaning not appearance. • This allows extra information to be extracted • Consider the example of the scientific names of animals. • scientific names are in latin • by convention they are always printed in italics The scientific name of the domestic dog is Canis familiaris, and of the domestic cat is Felis catus.

  33. "Well Formed" XML documents Un "Well Formed" XML document ha una corretta sintassi XML "Valid" XML documents Un "Valid" XML document è un "Well Formed" XML document, che anche risulta conforme alle regole Document Type Definition (DTD) or XML Schema Definition (XSD). Errori provocano lo stop se il XML è non valido. Validazione di XML

  34. Validazione di XML (Cont.) - XML DTD • DTD definisce la struttura dei documenti con una lista di elementi legali. • Internal DOCTYPE declaration • External DOCTYPE declaration

  35. <?xml version="1.0"?> <!DOCTYPE note [ <!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)> ]> <note> <to>Jo</to> <from>Mary</from> <heading>Reminder</heading> <body>Don't forget me this weekend</body> </note> Esempio di Internal DTD

  36. <?xml version="1.0"?> <!DOCTYPE note SYSTEM "note.dtd"> <note> <to>Jo</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note> --- note.dtd --- <!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)> Esempio di External DTD

  37. Perchè usare DTD? • Con DTD, ciascun file XML può portare con se una descrizione del suo formato. • Con un DTD, gruppi di persone indipendenti possono accordarsi sull’uso di un DTD in comune per lo scmbio di dati. • La tua applicazione può usare un standard DTD per verificare che I dati ricevuti dall’esterno siano validi. • E’ possibile usare un DTD per verificare I propri dati

  38. Validazione di XML (Cont.) - XML Schema • Un XML schema descrive la struttura di un documento XML . • Definisce elementi che possono essere usati nel documento • Definisce attributi contenuti nel documento • Definisce quali elementi sono child elements • Definisce l’ordine dei child elements • Definisce il numero di child objects • Definisce se un elemento è vuoto o può includere del testo • Definisce I data types per elementi ed attributi • Definisce valori di default e valori fissati per elementi ed attributi

  39. XML Schema è Raccommandato • XML Schemas sono estendibili per future estensioni • XML Schemas sono più ricchi ed utili dei DTD • XML Schemas sono scritti in XML • XML Schemas supporta data types • XML Schemas supporta namespaces

  40. Stylesheets • Stile in XML è definito da stylesheets • Styleseets definiscono l’apparenza fisica del documento, ed il suo comportamento • Stylesheets non sono un concetto nuovo • Word processors/DTP • SGML • HTML 4.0 • Stylesheet languages • CSS (Cascading StyleSheets) – sviluppato per HTML • XSL – sviluppato specificataemnte per XML

  41. Perchè due Style Sheet languages? CSS XSL Può essere usato con HTML? yes no Può essere usato con XML? yes yes Transformation language? no yes Sintassi CSS XML

  42. Usare CSS quando si può, usare XSL quando si deve. - CSS è molto più semplice da utilizzare, da imparare, ma ha alcune limitazioni. Alcune cose non possono essere fatte con CSS, o con CSS da soli. Allora serve XSL, oppure una trasformazione di XSL. Quale debbo usare?

  43. Ruolo di XSL e di CSS.

  44. A pure xml file cd_catalog.xml <?xml version="1.0" encoding="ISO-8859-1" ?> <!-- Edited with XML Spy v4.2   --> <CATALOG> <CD> <TITLE>Empire Burlesque</TITLE> <ARTIST>Bob Dylan</ARTIST> <COUNTRY>USA</COUNTRY> <COMPANY>Columbia</COMPANY> <PRICE>10.90</PRICE> <YEAR>1985</YEAR> </CD> </CATALOG> Visualizzazione di XML con CSS

  45. Uno CSS style sheet cd_catalog.css CATALOG { background-color: #ffffff; width: 100%; } CD { display: block; margin-bottom: 30pt; margin-left: 0; } TITLE { color: #FF0000; font-size: 20pt; } ARTIST { color: #0000FF; font-size: 20pt; } COUNTRY,PRICE,YEAR,COMPANY { Display: block; color: #000000; margin-left: 20pt; } Visualizzazione di XML con CSS

  46. <?xml version="1.0" encoding="ISO-8859-1"?> <?xml-stylesheet type="text/css" href="cd_catalog.css"?> <CATALOG> <CD> <TITLE>Empire Burlesque</TITLE> <ARTIST>Bob Dylan</ARTIST> <COUNTRY>USA</COUNTRY> <COMPANY>Columbia</COMPANY> <PRICE>10.90</PRICE> <YEAR>1985</YEAR> </CD> </CATALOG> XML file, con un CSS aggiunto

  47. Visualizzazione di cd_catalog.xml con css

  48. <?xml version="1.0" ?> <?xml-stylesheet type="text/xsl" href="simple.xsl"?> <breakfast_menu> <food> <name>Belgian Waffles</name> <price>$5.95</price> <description>two of our famous Belgian Waffles with plenty of real maple syrup</description> <calories>650</calories> </food> <food> <name>Strawberry Belgian Waffles</name>   <price>$7.95</price>   <description>light Belgian waffles covered with strawberries and whipped cream</description>   <calories>900</calories> </food> </breakfast_menu> Visualizzazione di XML con XSL

  49. <?xml version="1.0“?> <html xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/TR/xhtml1/strict"> <body style="font-family:Arial,helvetica,sans-serif;font-size:12pt; background-color:#EEEEEE"> <xsl:for-each select="breakfast_menu/food"> <div style="background-color:teal;color:white;padding:4px"> <span style="font-weight:bold;color:white">   <xsl:value-of select="name" />   </span>   <xsl:value-of select="price" />   </div> <div style="margin-left:20px;margin-bottom:1em;font-size:10pt">   <xsl:value-of select="description" /> <span style="font-style:italic">   (   <xsl:value-of select="calories" />   calories per serving)   </span>   </div>   </xsl:for-each>  </body> A XSL style sheet simple.xsl Visualizzazione di XML con XSL

  50. Visualizzazione di XML con XSL

More Related