XML nella rappresentazione della conoscenza:
descrivere la struttura e la grafica delle mappe cognitive attraverso l'eXtensible Markup Language

www.deghi.com/coevo

Home

Mappe cognitive Software per mappe Mappe cognitive e XML Internet e le mappe Siti e libri  
eXtensible Markup Language XML per rappresentare le mappe Rappresentare il contenuto Rappresentare la grafica I Conceptual Graphs XML in Microsoft Office XP  
  Rappresentare la grafica

Le grandi potenzialità dell’eXtensible Markup Language consentono anche la creazione di nuovi linguaggi; alcuni di questi sono orientati al disegno vettoriale, ovverosia alla rappresentazione di elementi grafici non per mezzo di immagini bitmap ma attraverso l’uso di formule e script. Uno dei più grossi limiti del World Wide Web è, infatti, legato alla grafica: attualmente è possibile inserire immagini in una pagina HTML solo come file esterni in formato GIF, BMP, JPG o PNG. Microsoft da una parte, Adobe, Sun e Netscape dall’altra, hanno fatto le loro proposte di linguaggio “taggato” per la realizzazione di grafica vettoriale in due dimensioni. I due formati sono VML (Vector Markup Language) e PGML (Precision Graphics Markup Language).

PGML (Precision Graphics Markup Language), linguaggio per la grafica vettoriale 2D proposto da Adobe, Sun e Netscape al W3C Consortium il 10 aprile del 1998. Durante “XML ’98”, una grande manifestazione che si è tenuta nel novembre del 1998 a Chicago, è stato presentato un ActiveX fatto girare su Microsoft Internet Explorer 4.0, in grado di visualizzare un documento PGML: si trattava della mappa dettagliata di una città nella quale erano indicate vie e case; la mappa era interattiva e consentiva lo zoom su particolari; i nomi delle strade erano resi in modo perfetto utilizzando diversi tipi di font e le scritte potevano seguire percorsi contorti; la resa grafica si presentava impeccabile.

Il W3C ha cercato di armonizzare le due proposte pubblicando le raccomandazioni per SVG (Scalable Vector Graphics); il PGML è stato così abbandonato dalle tre società per orientarsi totalmente verso la proposta del W3C.

Di seguito saranno descritti gli aspetti generali di VML e SVG e saranno presentati anche alcuni semplici esempi.

Vector Markup Language

VML è il linguaggio per la grafica vettoriale in due dimensioni proposto da Microsoft al W3C il 13 maggio 1998. È chiaramente basato su XML ed è compatibile con HTML, CSS e DOM. Già da alcune versioni, VML è implementato nelle applicazioni di Microsoft Office ed stato incluso anche in Internet Explorer a partire dalla versione 5.0.

Gli oggetti VML possono essere documenti indipendenti oppure possono essere inseriti all'interno di pagine Web, in questo caso saranno visualizzati solo se all'interno del documento HTML compare il tag "style" in cui viene inserita la stringa

v\:* { BEHAVIOR: url(#default#VML); }

che associa ai vari prefissi dei namespace e indica al browser Web la presenza nel documento di elementi grafici VML da visualizzare. Ogni tags VML deve avere la seguente struttura:

<v:nome_elemento attributi> </v:nome_elemento>

dove con "nome_elemento" si indica il tipo di oggetto VML che deve essere disegnato e con "attributi" si indicano gli eventuali parametri con i rispettivi valori necessari alla visualizzazione della figura.

VML è uno strumento molto semplice e piuttosto potente, è compatibile con gli standard esistenti ed è altamente comprimibile (un’immagine bitmap occupa molto più spazio rispetto al corrispettivo formato VML). Purtroppo, senza un editor visuale, non è facile disegnare figure nel linguaggio VML, neppure se si tratta di forme poco complesse. Tuttavia, VML è ampiamente supportato nelle applicazioni Microsoft; in quasi tutti i pacchetti Office è inclusa una barra degli strumenti denominata “disegno”, in cui sono disponibili forme e linee predefinite che si possono anche personalizzare in modo completamente visuale: è possibile modificare lo stile delle linee, il colore dello sfondo, aggiungere l’ombreggiatura, ecc…

VML è stato introdotto anche in FrontPage XP, attualmente l’ultima versione dell’applicativo di Microsoft Office per creare pagine Web; è così possibile disegnare forme geometriche in modo visuale con estrema facilità senza dover passare alla visualizzazione del codice HTML. Inoltre, FrontPage XP è in grado di creare automaticamente un documento compatibile anche con i browser che non supportano VML; in questo caso i disegni sono visualizzati come semplici immagini in formato GIF.

Anche Microsoft Visio, a partire dalla versione 2000, comprende il supporto per VML; in particolare, consente il salvataggio dell’intero diagramma creato in formato VML.
Esempi di VML
VML applicato alle mappe cognitive
Dimostrazione del Teorema di Pitagora con VML [1]
Dimostrazione del Teorema di Pitagora con VML [2]

Scalable Vector Graphics

SVG è un linguaggio per descrivere elementi grafici bidimensionali attraverso XML; è stato proposto dal W3C come raccomandazione nel settembre del 2001. Esso consente di utilizzare tre tipi di oggetti grafici: forme grafiche vettoriali (tracciati formati da linee rette e curve), immagini e testi. Gli oggetti grafici possono essere raggruppati, formattati, trasformati e composti con oggetti precedentemente creati.

Tra le caratteristiche più importanti di SVG vi sono: la possibilità di effettuare trasformazioni annidate, utilizzare maschere di trasparenza (alpha masks), effetti di filtraggio ecc. Con questo linguaggio è, inoltre, possibile realizzare disegni interattivi e dinamici che, attraverso l’uso di linguaggi di scripting supplementari, permettono la creazione di sofisticate animazioni. SVG include, infatti, una vasta serie di eventi come per esempio OnMouseOver e OnClick, che possono essere associati ad ogni elemento grafico.

SVG è una applicazione XML; pertanto, segue i namespace ed utilizza le espressioni di XPointer; estende le animazioni di SMIL e le nuove versioni di SMIL utilizzeranno proprio SVG; i contenuti di un documento SVG possono anche ricevere uno stylesheet con CSS.

Il termine scalable indica la possibilità di aumentare e diminuire uniformemente la dimensione degli oggetti grafici; ingrandendo un’immagine in formato bitmap porta spesso a pessimi risultati ottenendo rappresentazioni in cui si possono addirittura distinguere i singoli pixel; con oggetti grafici scalabili questo non avviene mai. Per il Web gli oggetti scalabili sono un enorme vantaggio: possono essere visualizzati indipendentemente su schermi con differenti risoluzioni ed evitano al Web designer di predisporre un sito per la visualizzazione a diverse risoluzioni. Un determinato oggetto può essere posizionato in posti diversi in una stessa pagina a dimensioni diverse; inoltre, può essere ingrandito per consentire di scorgere dettagli.

La parola vector indica che all’interno di questo linguaggio si fa uso di grafica vettoriale, sono quindi inclusi oggetti geometrici come linee e curve che garantiscono ampia flessibilità rispetto alle immagini bitmap che immagazzinano informazioni per ogni pixel; i formati vettoriali possono anche integrare formati BMP, JPG, TIF… e combinarle con informazioni vettoriali.

Il termine graphics indica che, contrariamente alla maggior parte delle grammatiche generate da XML, SVG non rappresenta oggetti testuali, ma elementi grafici, coprendo così il vuoto tra XML e la grafica; questo linguaggio fornisce, infatti, una descrizione ricca e strutturata di grafica vettoriale che può essere usata come documento indipendente o come un XML namespace per altre grammatiche.

Il linguaggio SVG permette di realizzare potenti rappresentazioni grafiche grazie ai numerosi tipi di tags in esso definiti; nel linguaggio sono presenti dei “tipi di dati di base” tra cui:

<integer> rappresenta un numero intero
<number> rappresenta un numero reale
<length> rappresenta la misura di una distanza
<coordinate> rappresenta una lunghezza nel sistema delle coordinate
<list of xxx> rappresenta una lista di elementi, “xxx” può essere qualunque tipo
<angle> rappresenta un angolo indicato da un numero seguito dall’unità di misura
<color> rappresenta un colore nel formato RGB
<paint> rappresenta il metodo per tracciare e riempire gli oggetti
<percentage> rappresenta la percentuale relativa ad un altro valore
<time> rappresenta un tempo in secondi e millesimi di secondo

I frammenti di codice SVG possono essere inseriti in altri documenti oppure possono essere file indipendenti; gli elementi del linguaggio devono sempre essere racchiusi all’interno del tag <svg>.
Esempi di SVG
Mappe geografiche con SVG

Altre rappresentazioni

Sebbene non siano recenti, è bene ricordare che sono stati presentati al W3C altri linguaggi per rappresentare elementi grafici sfruttando XML.

Uno di questi è Web Schematics, una rappresentazione pensata per la creazione di flow chart e altri semplici diagrammi, presentata nel marzo del 1998. Sempre basata su Web Schematics, un’altra rappresentazione inoltrata al W3C è stata DrawXML che prevedeva l’utilizzo di classi Java per il disegno dei diagrammi.

Nessuna di queste due proposte ha avuto successo; il W3C ha preferito concentrarsi sullo sviluppo delle raccomandazioni per SVG.

Linguaggio grafico per mappe

In questa pagina sono stati presentati i due maggiori linguaggi per la grafica basati su XML: Vector Markup Language (VML) proposto da Microsoft e Scalable Vector Graphics (SVG) raccomandazione del W3C.

Entrambi i linguaggi hanno dimostrato di essere altrettanto validi e potenti e più che sufficienti a rappresentare una mappa cognitiva.

SVG, con le opzioni di animazione e interazione, sembra essere lo strumento migliore per creare mappe interattive; tuttavia, il supporto per questo linguaggio è ancora poco diffuso. VML è, invece, già integrato all’interno delle applicazioni più comuni come Microsoft Internet Explorer e Microsoft Office e sembra più immediato da apprendere e implementare.

In definitiva entrambi i linguaggi sono molto validi e possono essere scelti in base al tipo di applicazione che si vuole costruire.
 

<<< Rappresentare il contenuto

I Conceptual Graphs >>>

 
  Indice pagina
Vector Markup Language
Scalable Vector Graphics
Altre rappresentazioni

Linguaggio grafico per mappe
  Indice collegamenti
CoEvo - eXtensible Markup Language
CoEvo - Rappresentare il contenuto
CoEvo - I Conceptual Graphs
CoEvo - Microsoft Visio 2002
CoEvo - Esempi di VML
CoEvo - VML applicato alle mappe cognitive
CoEvo - Dim. Th Pitagora con VML [1]
CoEvo - Dim. Th Pitagora con VML [2]
CoEvo - Esempi di SVG

Microsoft Italia
Adobe Italia
Sun Italia
Netscape
Microsoft Office Home page
Microsoft FrontPage Home page
Microsoft Internet Explorer Home page
W3C - World Wide Web Consortium
W3C - Precision Graphics Markup Language
W3C - Vector Markup Language
W3C - Scalable Vector Graphics
W3C - SVG 1.0 Specification
W3C - XML 1.0 Recommendation
W3C - Namespaces in XML
W3C - Cascading Style Sheets Specification
W3C - Web Schematics on the WWW
Adobe - Grafica vettoriale scalabile
DBxGeomatics - Mappe geografiche con SVG
  Cerca con Vivisimo

www.vivisimo.com

  Cerca con Google

www.google.it

CognitivEvolution (CoEvo) è sempre in fase di ampliamento... prossimamente ancora novità!!!
Per suggerimenti e segnalazione di errori o link non funzionanti, inviate una mail a:

Grazie!!!

CognitivEvolution (CoEvo) è ottimizzato per

ver 4.0 o superiore e per una risoluzione
dello schermo di 1024x768 pixel