WWW Fabio Vitali Cosa debbo rispondere? From: "XY" To: Subject: Semantic Search Engine Date: Thu, 16 May 2002 18:05:05 +0200 Professor Vitali, mi chiamo.

Slides:



Advertisements
Presentazioni simili
Corso di Fondamenti di Informatica
Advertisements

Introduzione ad XML Mario Arrigoni Neri.
Elaborazione di Franco Grivet Chin
DBMS (DataBase Management System)
Commenti C#.
1 Introduzione ad XML. 2 Problemi con SGML Complesso da comprendere ed utilizzare Non è pensato per la rete: mancano link ipertestuali e specifiche grafiche.
PHP.
INTERNET : ARPA sviluppa ARPANET (rete di computer per scopi militari)
Sistema di gestione flussi documentali
XSLT (eXtensible Stylesheet Language Transformation) Laurea Magistrale in Informatica Reti 2 (2005/06) dott. Francesco De Angelis
XSLT UNIVERSITA DI CAMERINO Corso di laurea in Informatica Barbara Re Anno Accademico
una interfaccia internet per il sistema Momis
Query OQL e XQUERY a confronto
Re-engineering del wrapper XML Schema per il sistema MOMIS
1 Integrazione di Sorgenti HTML in MOMIS: Analisi Comparativa degli Strumenti Esistenti Integrazione di Sorgenti HTML in MOMIS: Analisi Comparativa degli.
TW Analisi dei documenti n Classificazione dei componenti n Selezione dei componenti, costruzione della gerarchia, dei blocchi informativi e degli elementi.
JavaScript Laboratorio di Applicazioni Informatiche II mod. A.
TECNOLOGIE PER DOCUMENTI DIGITALI
XML e XSL. XSL - eXtensible Stylesheet Language XSL è un linguaggio di annotazione che serve a "trasformare" la struttura di un documento in formato XML.
Corso di basi di dati II Prof. Francesco Cutugno Dott. Sara Romano
Basi di Dati II Sara Romano
La Riflessione computazione Elisa Ferrando. Cos è la Riflessione La Riflessione Sistema riflessivo Sistema computazionale.
Cercare informazioni sul Web. 5-2 Organizzazione dellinformazione tramite gerarchie Classificazione gerarchica Linformazione è raggruppata in un piccolo.
Linguaggi di markup1 LINGUAGGI DI MARKUP. Linguaggi di markup2 Documenti su Internet Internet permette (tra laltro) di accedere a documenti remoti In.
APPLICAZIONI WEB In questo corso impareremo a scrivere un'applicazione web (WA) Marco Barbato - Corso di Applicazioni Web – A.A
1 Titolo Presentazione / Data / Confidenziale / Elaborazione di... ASP. Net Web Part e controlli di login Elaborazione di Franco Grivet Chin.
Architettura Java/J2EE
XSLT Trasformazioni XSL Ing. Luca Sabatucci. XSLT Uno dei vantaggi principali nell'utilizzo dell'Extensible Markup Language è la facilità con cui si possono.
1 XPath. 2 What is XPath? XPath is a syntax for defining parts of an XML document XPath uses paths to define XML elements XPath defines a library of standard.
Accesso ai dati su file Lab. Sistemi Informativi Economico-Aziendali Accesso ai dati su file Localizzazione dei dati File system locali e distribuiti Protocolli.
Chinosi Michele – matr.: La seconda release di Virtuose basata su database XML La seconda release di Virtuose basata su.
Descrizione Semantica ad Alto Livello di Ambienti Virtuali in X3D
Presentazione del problema Obiettivo: Lapplicazione di Search of Sematic Services permette di ricercare sevizi semantici, ossia servizi a cui sono associati.
Presentazione Data Base Ovvero: il paradigma LAPM (Linux - Apache - PHP - mySQL) come supporto Open Source ad un piccolo progetto di Data Base relazionale,
ASP – Active Server Pages Introduzione Pagine Web Statiche & Dinamiche(ASP)
XPATH.
INTRODUZIONE A JAVASCRIPT
PHP - PHP: Hypertext Preprocessor. Introduzione PHP (acronimo ricorsivo per "PHP: Hypertext Preprocessor") è un linguaggio di scripting general-purpose.
TROVA FILM Progetto di Tecnologie Web anno accademico 2013/2014 DEL VECCHIO GIANLUCA IOVINO PASQUALE
Lezione 8.
1 Sistemi Informativi e Servizi in Rete Università degli Studi di Brescia Facoltà di Ingegneria Parsing di documenti XML Esercizi.
1 Sistemi Informativi e Servizi in Rete Università degli Studi di Brescia Facoltà di Ingegneria Parsing di documenti XML.
DIPARTIMENTO DI INFORMATICA Una delle condizioni di cui hanno bisogno i nuovi strumenti per la didattica (slides, esercizi on-line, forum, etc) per essere.
Introduzione a Javascript
Tag FRAMESET. I frame sono un particolare tipo di struttura HTML, che consente di suddividere la finestra del browser in diversi riquadri distinti. Un'insieme.
INTRODUZIONE. Javascript è un linguaggio di scrittura che permette di aggiungere veri e propri programmi alle tue pagine web.
WWW XSLT Ing. Michele Vindigni. WWW 2 Introduzione Oggi esaminiamo in breve: u XSLT, ovvero il linguaggio trasformazione per documenti XML con sintassi.
Laboratorio di Servizi Web - XML - Ardissono 1 Rappresentazione ad oggetti di documenti XML Parser fanno analisi sintattica di documento XML ma, a meno.
A.a. 2004/05Tecnologie Web1 Introduzione a XML: Document Type Definition; parser XML; XML-schema; eXtensible Stylesheet Language.
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Corso di Laurea in Informatica
WWW XBase, XPath e XPointer Fabio Vitali. WWW Fabio Vitali2 Introduzione Qui esaminiamo: u XBase, XPath e XPointer.
I fogli di stile XSL.
WWW XSLT Fabio Vitali. WWW Fabio Vitali2 Introduzione Oggi esaminiamo in breve: u XSLT, ovvero il linguaggio di stile di XML.
WWW Domande Fabio Vitali. WWW Fabio Vitali2 Domanda 1 Vorrei sapere se quando definiamo un tag a livello di working group, cioè per definire i tag comuni.
Ingegneria del software Modulo 3 -Tecniche di implementazione Unità didattica 1 -Ingegneria dei componenti Ernesto Damiani Università degli Studi di Milano.
1 XSL:Rappresentare i documenti XML Marco Mesiti XSL, XSLT, XPath.
Università degli Studi di Firenze Facoltà di Ingegneria Dipartimento di Sistemi e Informatica Corso di Laurea in Ingegneria Informatica Modelli e strumenti.
Eprogram informatica V anno.
Eprogram informatica V anno. Introduzione a PHP Introduzione La diffusione di PHP ha avuto un notevole incremento dalla fine degli anni Novanta a oggi,
XML (eXtensible Markup Language). XML è stato progettato per descrivere dati HTML è stato progettato per visualizzare dati XML (eXtensible Markup Language)
Javascript. HTML per definire il contenuto delle pagine web CSS per specificare il layout delle pagine web JavaScript per definire il comportamento delle.
1 Lixto tools evaluations for HTML data Integration in Momis Lixto tools evaluations for HTML data Integration in Momis Università degli Studi di Modena.
Il linguaggio XML per la rappresentazione dei dati Lo Extensible Markup Language o XML è stato concepito da un gruppo di lavoro del World Wide Web Consortium.
1 Il linguaggio XML per la rappresentazione dei dati Lo Extensible Markup Language o XML è stato concepito da un gruppo di lavoro del World Wide Web Consortium.
Eprogram informatica V anno. Programmare in rete.
Open City Platform è un progetto finanziato da Application Store Tutorial 30/09/2015.
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
Transcript della presentazione:

WWW Fabio Vitali Cosa debbo rispondere? From: "XY" To: Subject: Semantic Search Engine Date: Thu, 16 May :05: Professor Vitali, mi chiamo XY e sono uno studente dell'universita' di Roma La Sapienza, facoltà di Ingegneria Informatica. Sto realizzando uno studio approfondito sul WEB SEMANTICO. Attraverso un motore di ricerca sono vennuto a conoscenza del progetto relativo al "semantic search engine". Qualora ve ne fosse la possibilità, con il suo consenso e con quello dei suoi studenti, volevo sapere se fosse possibile visionare una realizzazione del sopra citato "engine". La ringrazio per l'attenzione. Cordialità XY

WWW Document Object Model Fabio Vitali

WWW Fabio Vitali I parser XML I parser XML si dividono in due categorie per quel che riguarda i modelli di elaborazione u Parser SAX (Simple API for XML): è un modello ad eventi, attraverso il quale è possibile associare funzioni callback ai vari elementi significativi del documento XML. SAX 2.0 non è uno standard, ma una proposta originariamente per JAVA poi adottata su molte architetture ( u Parser DOM (Documento Object Model): è un modello gerarchico, che fornisce accesso all'intero documento DOPO il completamento del parsing. DOM è una serie di raccomandazioni W3C implementate in varia maniera su tutte le architetture.

WWW Fabio Vitali Elaborazione SAX Dato il documento Capitolo 1 Una frase... Il parser SAX registrerà gli eventi: n startDocument() n startElement(book) n startElement(chapter) n startElement(title) n characters(Capitolo 1) n endElement(title) n startElement(p) n character(Una frase) n endElement(p) n... n endElement(chapter) n endElement(book) n endDocument()

WWW Fabio Vitali Vantaggi e svantaggi dei parser SAX Vantaggi u SAX richiede pochissima memoria d'uso: il documento non è mai tutto in memoria contemporaneamente. E' ideale per documenti MOLTO grandi. u SAX è velocissimo: non ha praticamente overhead di parsing. u SAX è ideale per cercare velocemente un'informazione specifica all'interno di un documento XML, poiché lo si può fermare appena l'ha trovata. Svantaggi u SAX non può essere usato per cercare e ricercare informazioni su un documento XML (navigare sulla struttura del documento) u SAX non può essere usato per modificare o aggiornare la struttura del documento XML (aggiungere o togliere nodi). u SAX non è implementato dai browser, ma solo come libreria di linguaggi server-side (o in Java anche come applet)

WWW Fabio Vitali Elaborazione DOM Il Document Object Model è un interfaccia di programmazione (API) per documenti sia HTML sia XML. Definisce la struttura logica dei documenti ed il modo in cui si accede e si manipola un documento. Utilizzando DOM i programmatori possono costruire documenti, navigare attraverso la loro struttura, e aggiungere, modificare o cancellare elementi. Ogni componente di un documento HTML o XML può essere letto, modificato, cancellato o aggiunto utilizzando il Document Object Model.

WWW Fabio Vitali Elaborazione DOM (1) Shady Grove Aeolian Over the River, Charlie Dorian

WWW Fabio Vitali Elaborazione DOM (2) Il Document Object Model rappresenta la tabella della slide precedente in questo modo:

WWW Fabio Vitali Oggetti del DOM Le implementazioni del DOM mettono a disposizione una classe fondamentale, DOMNode, che fornisce metodi per accedere a tutti gli elementi di un nodo di un documento XML, inclusi il nodo radice, i nodi elemento, i nodi attributo, i nodi testo, ecc. Spesso questa classe viene sottoclassata per specificare tipi di nodo specifici. In particolare DOMDocument contiene una quantità di informazioni sul documento in generale.

WWW Fabio Vitali Usare DOM (1) Creare un oggetto documento e parsare un file XML: u Javascript server-side (ASP): MSXML 3.0 var myDoc=Server.CreateObject("msxml2.DOMDocument"); myDoc.load(xmlFile); u Javascript client-side (IE): MSXML 3.0 var myDoc = new ActiveXObject("Msxml2.DOMDocument"); myDoc.load(xmlFile) u Java (Xerces) DOMParser parser = new DOMParser(); parser.parse(xmlFile); Document myDoc = parser.getDocument();  PHP $myDoc = xmldocfile($xmlFile);

WWW Fabio Vitali Usare DOM (2) Navigare sul documento dopo il parsing:  Javascript server-side (ASP): MSXML 3.0 var root = myDoc.documentElement var nodes = root.childNodes for (var x=0; x<.nodes.length; x++) {... } u Java (Xerces) for(Node child = myDoc.getFirstChild(); child != null; child = child.getNextSibling()) {... }  PHP $root = $mydoc->root(); $nodes = $root->children(); for ($x=0; $x<sizeof($nodes); $x++) {... }

WWW Fabio Vitali Usare DOM (3) Creare nuovo contenuto:  Javascript server-side (ASP): MSXML 3.0 var doc=Server.CreateObject("msxml2.DOMDocument"); root = doc.createElement("book"); item = doc.createElement("title"); text = doc.createTextNode("Titolo 1") item.appendChild(text); root.appendChild(item); doc.documentElement = root

WWW Fabio Vitali Usare DOM (4) Creare nuovo contenuto: u Java (Xerces) DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); doc = db.newDocument(); root = doc.createElement("book"); item = doc.createElement("title"); text = doc.createTextNode("Titolo 1") item.appendChild(text); root.appendChild(item); doc.appendChild(root)

WWW Fabio Vitali Usare DOM (5) Creare nuovo contenuto:  PHP $doc = domxml_new_doc("1.0"); $root = $doc->create_element("book"); $item = $doc->create_element("title"); $text = $doc->create_text_node("Titolo 1"); $newnode = $item->append_child($text); $newnode = $root->append_child($item); $newnode = $doc->append_child($root);

WWW Fabio Vitali Usare DOM (6) Altri modi per navigare  Si può anche usare la funzione DOM getElementsByTagName. Essa restituisce una lista di nodi, indipendentemente dalla loro posizione nell'albero. NodeList = myDoc.getElementsByTagName("chapter"); for (var i=0; i<NodeList.length; i++) {... } u Alternativamente, posso avere un supporto per XPath, che mi permette di selezionare non solo di selezionare tag per nome, ma anche per espressioni più complesse (non fa parte di DOM, però!):  Javascript: NodeList =  PHP: $ctx=xpath_new_context($mydoc);

WWW Fabio Vitali Altre classi di DOM Oltre a DOMNode, le implementazioni di solito offrono un grande numero di altre classi, tra cui: u Element u Attribute u TextNode u Entity u Comment, CDATASection, ProcessingInstruction var pi = myDoc.createProcessingInstruction("xml", "version=\"1.0\""); mydoc.appendChild(pi) u NodeList

WWW Fabio Vitali XSLT via programma Attivare un processore XSLT non fa parte di DOM. Tuttavia molte implementazioni lo permettono, o comunque all'interno dello stesso linguaggio esistono le funzioni per chiamare anche un motore XSLT ed ottenere un documento XML in risposta. u MSXML fornisce all'interno della libreria il parser XSLT u Insieme a Xerces (parser XML in Java) esiste un motore XSLT chiamato Xalan u PHP utilizza un processore XSLT chiamato Sablotron

WWW Fabio Vitali XSLT: MSXML in Javascript Ottenere un albero var source = new ActiveXObject("Msxml2.DOMDocument"); source.load(xmlFile); var xsl = new ActiveXObject("Msxml2.DOMDocument"); xsl.load(xslFile); var result = new ActiveXObject("Msxml2.DOMDocument"); source.transformNodeToObject(xsl,result); Ottenere una stringa var source = new ActiveXObject("Msxml2.DOMDocument"); source.load(xmlFile); var xsl = new ActiveXObject("Msxml2.DOMDocument"); xsl.load(xslFile); var result = source.transformNode(xsl);

WWW Fabio Vitali XSLT: Sablotron in PHP <?php $xslthandler = xslt_create() or die("No XSLT"); xslt_run($xslthandler, $xslfile, $xmlfile); $result = xslt_fetch_result($xslthandler); xslt_free($xslthandler); ?>

WWW Fabio Vitali XSLT: Xalan in Java import javax.xml.transform.*; import javax.xml.transform.stream.*;... TransformerFactory TF = TransformerFactory.newInstance(); Transformer t = TF.newTransformer( new StreamSource(xslFile)); transformer.transform( new StreamSource(xmlFile), new StreamResult(resultFile));

WWW Fabio Vitali Riferimenti DOM, raccomandazioni W3C u MSXML in Javascript e VBScript u us/xmlsdk30/htm/xmmscxmloverview.asp us/xmlsdk30/htm/xmmscxmloverview.asp XML, DOM XML e Sablotron in PHP u u u Xerces e Xalan u u