1998
Allaire
Anni 1990
Application programming interface
Atom
Browser
Browser web
Case sensitive
DBMS
Dati
Document Object Model
Document Type Definition
Documenti
EbXML
Elemento HTML
Estensione (file)
Extensible Stylesheet Language
FXG
Foglio di stile
Formato aperto
Guerra dei browser
HTML
Ipertesto
Lingua inglese
Linguaggi di programmazione
Linguaggio di markup
Linguaggio di scripting
Linguaggio marcatore
Macromedia
Markup
MathML
Metalinguaggio
Multipurpose Internet Mail Extensions
Pagina principale
PapiNet
Parser
RSS
Really simple syndication
SDMX
SGML
Scalable Vector Graphics
Simple API for XML
Sistemi
Standard Generalized Markup Language
TM-XML
UTF-8
Unique Particle Attribution
VRML
Vector Markup Language
W3C
Web
World Wide Web Consortium
X3D
XBRL
XHTML
XLink
XML
XML (disambigua)
XML Schema
XPath
XQuery
XSLT
Allaire
Anni 1990
Application programming interface
Atom
Browser
Browser web
Case sensitive
DBMS
Dati
Document Object Model
Document Type Definition
Documenti
EbXML
Elemento HTML
Estensione (file)
Extensible Stylesheet Language
FXG
Foglio di stile
Formato aperto
Guerra dei browser
HTML
Ipertesto
Lingua inglese
Linguaggi di programmazione
Linguaggio di markup
Linguaggio di scripting
Linguaggio marcatore
Macromedia
Markup
MathML
Metalinguaggio
Multipurpose Internet Mail Extensions
Pagina principale
PapiNet
Parser
RSS
Really simple syndication
SDMX
SGML
Scalable Vector Graphics
Simple API for XML
Sistemi
Standard Generalized Markup Language
TM-XML
UTF-8
Unique Particle Attribution
VRML
Vector Markup Language
W3C
Web
World Wide Web Consortium
X3D
XBRL
XHTML
XLink
XML
XML (disambigua)
XML Schema
XPath
XQuery
XSLT
Disambiguazione – Se stai cercando altre voci che possono riferirsi alla stessa combinazione di 3 caratteri, vedi XML (disambigua).
XML
Estensione
.xml
Tipo MIME
application/xml
text/xml
Sviluppato da
W3C
Tipo
Linguaggio di markup
Estensione di
SGML
Esteso a
XHTML, RSS, Atom e altri
Formato aperto?
Sì
XML (sigla di eXtensible Markup Language) è un metalinguaggio di markup, ovvero un linguaggio marcatore che definisce un meccanismo sintattico che consente di estendere o controllare il significato di altri linguaggi marcatori.
Costituisce il tentativo di produrre una versione semplificata di SGML che consenta di definire in modo semplice nuovi linguaggi di markup da usare in ambito web. Il nome indica quindi che si tratta di un linguaggio marcatore (markup language) estensibile (eXtensible) in quanto permette di creare tag personalizzati.
Indice
1 Storia
2 Utilizzi
3 Sintassi
3.1 I tag
4 Tecnologie di supporto a XML
5 Linguaggi XML più diffusi
5.1 XML e le pagine web: XHTML
6 Note
7 Voci correlate
8 Altri progetti
9 Collegamenti esterni
modifica Storia
Il World Wide Web Consortium (W3C), in seguito alla guerra dei browser (ovvero la situazione verificatasi negli anni novanta nella quale Microsoft e Netscape introducevano, con ogni nuova versione del proprio browser, un'estensione proprietaria all'HTML ufficiale), fu costretto a seguire le individuali estensioni al linguaggio HTML.
Il W3C dovette scegliere quali caratteristiche standardizzare e quali lasciare fuori dalle specifiche ufficiali dell'HTML. Fu in questo contesto che iniziò a delinearsi la necessità di un linguaggio di markup che desse maggiore libertà nella definizione dei tag, pur rimanendo in uno standard.
Il "progetto XML", che ebbe inizio alla fine degli anni novanta nell'ambito della SGML Activity del W3C, suscitò un così forte interesse che la W3C creò un gruppo di lavoro, chiamato XML Working Group, composto da esperti mondiali delle tecnologie SGML, ed una commissione, XML Editorial Review Board, deputata alla redazione delle specifiche del progetto.
Nel febbraio del 1998 le specifiche divennero una raccomandazione ufficiale con il nome di Extensible Mark-up Language, versione 1.0. Ben presto ci si accorse che XML non era solo limitato al contesto web, ma era qualcosa di più: uno strumento che permetteva di essere utilizzato nei più diversi contesti, dalla definizione della struttura di documenti, allo scambio delle informazioni tra sistemi diversi, dalla rappresentazione di immagini alla definizione di formati di dati.
modifica Utilizzi
Rispetto all'HTML, l'XML ha uno scopo ben diverso: mentre il primo definisce una grammatica per la descrizione e la formattazione di pagine web e, più in generale, di ipertesti, il secondo è un metalinguaggio utilizzato per creare nuovi linguaggi, atti a descrivere documenti strutturati. Mentre l'HTML ha un insieme ben definito e ristretto di tag, con l'XML è invece possibile definirne di propri a seconda delle esigenze.
L'XML è oggi molto utilizzato anche come mezzo per l'esportazione di dati tra diversi DBMS.
modifica Sintassi
Ecco un esempio tipico di file XML, visualizzabile all'interno di un browser qualsiasi semplicemente salvando il testo in un file con estensione .xml.
<?xml version="1.0" encoding="UTF-8"?>
<utenti>
<utente>
<nome>Luca</nome>
<cognome>Cicci</cognome>
<indirizzo>Milano</indirizzo>
</utente>
<utente>
<nome>Max</nome>
<cognome>Rossi</cognome>
<indirizzo>Roma</indirizzo>
</utente>
</utenti>
La prima riga indica la versione di XML in uso e specifica la codifica UTF-8 per la corretta interpretazione dei dati.
I caratteri speciali che renderebbero il documento mal formato vanno sostituiti con le rispettive entità XML:
Carattere
Entità
&
&
<
<
>
>
"
"
'
'
Va fatto presente che solo le prime 3 entità sono sempre da rispettare, mentre l' ultima ' in alcuni casi non è gestita (come nell' iPhone iOs 3.1.3 e successive)
modifica I tag
L'XML, come l'HTML, utilizza dei marcatori, chiamati tag, per assegnare una semantica al testo. È molto rigido sulla sintassi da seguire rispetto all'HTML ed è pertanto necessario rispettare alcune regole:
i tag non possono iniziare con numeri o caratteri speciali e non possono contenere spazi;
i tag devono essere bilanciati, ovvero non sono consentiti errori di annidamento, ad esempio:
<rubrica>
<nome>Mario</nome>
<cognome>Rossi
</rubrica>
Il tag cognome non è stato chiuso, l'XML risulta quindi non ben formato.
<rubrica>
<nome>Mario</nome>
<cognome>Rossi
</rubrica></cognome>
Il tag cognome è stato chiuso dopo il tag rubrica, anche in questo caso l'XML non è ben formato.
<rubrica>
<nome>Mario</nome>
<cognome>Rossi</COGNOME>
</rubrica>
XML è case sensitive quindi il tag cognome e il tag COGNOME sono considerati come due tag diversi; l'XML ancora una volta è non valido.
È possibile anche definire tag vuoti che vengono aperti e immediatamente chiusi:
<rubrica></rubrica>
Oppure in maniera abbreviata:
<rubrica />
Per poter essere correttamente interpretato da un browser, un documento XML deve essere ben formato, deve cioè possedere le seguenti caratteristiche:
Un prologo, che è la prima istruzione che appare scritta nel documento. Nel nostro caso: <?xml version="1.0" encoding="ISO-8859-1"?>.
Un unico elemento radice (ovvero il nodo principale, chiamato root element) che contiene tutti gli altri nodi del documento. Nel nostro esempio: <utenti>.
All'interno del documento tutti i tag devono essere bilanciati.
Se il documento XML non contiene errori si dice Well Formed (scritto correttamente). Se il documento è well formed e in più rispetta i requisiti strutturali definiti nel file DTD o schema XML associato viene chiamato Valid (valido).
modifica Tecnologie di supporto a XML
Linguaggi schema (permettono di creare nuovi linguaggi XML):
DTD (acronimo di Document Type Definition): è un documento attraverso cui si specificano le caratteristiche strutturali di un documento XML attraverso una serie di "regole grammaticali". In particolare definisce l'insieme degli elementi del documento XML, le relazioni gerarchiche tra gli elementi, l'ordine di apparizione nel documento XML e quali elementi e quali attributi sono opzionali o meno.
XML Schema: come la DTD, serve a definire la struttura di un documento XML. Oggi il W3C consiglia di adottarlo al posto della DTD stessa, essendo una tecnica più recente ed avanzata. La sua sigla è XSD, acronimo di XML Schema Definition.
Altre tecnologie legate a XML:
XLink: serve a collegare in modo completo due documenti XML; al contrario dei classici collegamenti ipertestuali che conosciamo in HTML, XLink permette di creare link multidirezionali e semanticamente avanzati.
XSL (acronimo di eXtensible Stylesheet Language): è il linguaggio con cui si descrive il foglio di stile di un documento XML. La sua versione estesa è l'XSLT (dove la T sta per Transformations).
XPath: è un linguaggio con cui è possibile individuare porzioni di un documento XML e sta alla base di altri strumenti per l'XML come XQuery.
A supporto di questo scopo principale, fornisce anche elementari funzionalità per trattare stringhe, numeri e dati booleani. Il suo funzionamento si basa sulla creazione di un albero a partire dal documento e la sintassi succinta permette di indirizzare una specifica parte attraverso i nodi dell'albero con la semplice parola path.
XPointer: serve ad identificare univocamente precise porzioni di un documento XML; consente poi il loro accesso ad altri linguaggi o oggetti di interfaccia.
XQuery: è un linguaggio di query concepito per essere applicabile a qualsiasi sorta di documento XML e si basa sull'utilizzo di XPath per la specificazione di percorsi all'interno di documenti. XQuery ha funzionalità che consentono di poter attingere da fonti di dati multiple per la ricerca, per filtrare i documenti o riunire i contenuti di interesse.
SAX (Simple API for XML): è un'interfaccia di programmazione, implementata in numerosi linguaggi, che permette di leggere e modificare i documenti XML. Attraverso SAX è possibile implementare dei parser XML specifici. SAX è event based, al contrario di DOM, e reagisce agli eventi di parsing facendo rapporto all'applicazione. È compito del programmatore implementare i metodi per reagire agli eventi di parsing.
DOM: è un'interfaccia di programmazione, come SAX, implementata in una moltitudine di linguaggi di programmazione, per la manipolazione di file XML. DOM costruisce partendo dal file XML un albero dove ogni nodo dell'albero corrisponde ad un elemento del file; per questo motivo è detta tree based.
VTD-XML: DOM è più facile ed immediata da utilizzare rispetto a SAX ed è pertanto preferita solitamente dai programmatori per manipolare un file XML; tuttavia l'albero generato da DOM va mantenuto completamente nella memoria RAM e di conseguenza non è possibile utilizzare questa interfaccia per manipolare file che siano più grandi della memoria disponibile sul computer.
RSS: è uno standard che serve a creare un documento con una struttura di tipo XML univoca, atta allo sviluppo di un semplice scambio dati tra pagine Web ed accessibile da qualsiasi linguaggio di scripting. In sostanza si tratta di un documento XML la cui struttura dei nodi ed i relativi tag hanno lo stesso nome.
SVG (Scalable Vector Graphics) e VML (Vector Markup Language) sono standard per la creazione di immagini vettoriali che sfrutta dei documenti formattati in XML. Serve inoltre a descrivere immagini bidimensionali, statiche e dinamiche. Leggendo le istruzioni contenute nel documento sorgente XML, l'interprete disegna le figure-base fino al completamento dell'immagine.
WDDX (Word Data Description Exchange): WDDX è una struttura per contenimento di dati con la stessa struttura di un database, creato dalla Allaire oggi Macromedia e rilasciato Open presso la WDDX Organization
modifica Linguaggi XML più diffusi
XForms: come il suo nome lascia intendere, è un linguaggio nato per creare moduli (forms) di tipo HTML all'interno di un documento XML.
SMIL (Synchronized Multimedia Integration Language): questo linguaggio definito in XML, viene utilizzato per descrivere il contenuto e gestire la tempistica di presentazioni multimediali che possono combinare insieme video, audio, immagini e testo.
MathML (Mathematical Markup Language): MathML è usato per la descrizione di notazioni matematiche, procedendo a fissarne contemporaneamente struttura e contenuti, sì da poter essere riportate e processate sul Web.
X3D (eXtensible 3D): X3D è un linguaggio che premette di costruire modelli tridimensionali, siano essi semplici o sofisticati. Agli oggetti così creati possono applicarsi animazioni e meccanismi di interazione con l'utente. Come linguaggio, è costruito sul Virtual Reality Modeling Language (VRML), a sua volta assunto a standard internazionale nel 1997. A quest'ultimo, l'X3D acclude le capacità, tipiche dell'Extensible Markup Language (XML), di integrazione con le altre tecnologie del World Wide Web, di validazione dei contenuti e dell'aggiunta flessibile di nuove estensioni hardware qualora ve ne fosse necessità. In più, bisogna citare i vantaggi riguardanti la leggerezza del "profilo base" (Core Profile - Esistono sette profili, ognuno dei quali raggruppa un certo insieme di funzionalità comunemente utilizzate per differenti scopi. Questo permette agli sviluppatori di browser di raggiungere livelli intermedi di supporto dell'X3D, senza dover per forza implementare in una volta sola l'intera specifica) e dei browser componentizzati per un download più rapido.
XBRL (eXtensible Business Reporting Language): è un linguaggio usato per la comunicazione e lo scambio di dati finanziari e contabili in formato elettronico
modifica XML e le pagine web: XHTML
L'HTML tradizionale non è un vero standard data la sua eccessiva flessibilità ed il suo funzionamento immutato anche in presenza di errori semantici, sintattici e grammaticali. Ad affiancarlo c'è XHTML, ovvero l'HTML tradizionale basato su XML, con la sua struttura rigida e con le sue stesse regole.
Ad esempio in XHTML, al contrario che in HTML tradizionale, i tag vuoti vanno chiusi con uno slash (/) finale, gli attributi vuoti devono essere valorizzati con true o false, la chiusura dei tag dev'essere a specchio (se viene aperto un Tag e prima di chiuderlo ne viene aperto un altro, è necessario chiudere prima il secondo tag e poi il primo), molti Tag e molti attributi sono scomparsi, i caratteri speciali vanno gestiti, insieme ad altre peculiarità, ma soprattutto esiste una DTD dedicata.
Una pagina XHTML (ovvero un codice XHTML, dato che l'estensione della pagina prescinde dal codice in questo caso) non funziona se scritta scorrettamente e inviata con il mime type corretto (application/xhtml+xml). Quando è inviata come text/html funziona perché viene interpretata come html (con degli errori, quali i tag chiusi come <br />) solo che non rispetta lo standard e non gode dei suoi vantaggi, primo tra i quali la portabilità su browser e client differenti.[1]
modifica Note
^ (EN) Sending XHTML as text/html Considered Harmful
modifica Voci correlate
Linguaggio di markup
FXG
SGML
XHTML
TM-XML
SDMX
papiNet
Unique Particle Attribution
EbXML
modifica Altri progetti
Wikibooks
Commons
Wikibooks contiene testi o manuali su XML
Wikimedia Commons contiene file multimediali su XML
modifica Collegamenti esterni
(EN) Extensible Markup Language (XML) (sito ufficiale del W3C)
(EN) Parsing and serializing XML (Mozilla Developer center)
Guide su XML
Manuale e Tutorial XML
Guide di Francesca Tomasi
Validatore Ufficiale del W3C
Portale Informatica
Portale Web
Syncro Soft Announces New Release of Oxygen XML Editor and Oxygen XML Author
Syncro Soft Ltd, the producer of Oxygen XML Editor and Author, has announced the immediate availability of version 12.2 of its XML Editor and XML Author containing a comprehensive set of tools supporting all the XML related technologies. Oxygen combines content author features like the CSS-driven Visual XML editor with a fully featured XML development environment. It has ready-to-use support for ...
http msdn2 microsoft com en us library bb531325 VS 90 aspx Once you got that Intellisense writing Linq queries starts to be fun From the XML above I wanted to get a list of activitites For each of the activities I wanted
http://blogs.msdn.com/hans_vb/archive/2007/08/28/the-beentheretracks-application-part-2.aspx
Extensible Markup Language (XML)
Main page for World Wide Web Consortium (W3C) XML activity and information.
SyncRO Soft Releases New oXygen XML Editor, Author
SyncRO Soft Ltd. announced version 12.2 of its oXygen XML Editor and Author, which contain tools that support all XML-related technologies. Version 12.2 of oXygen XML introduces new features: support for editing XSLT and XML Schema modules, a Palette view, EPUB validation, and Ant integration.
to this file will show the shapes in the model explorer ready for further modeling For example the XML below is the XML from the shapes shown in the model explorer showed on the left How can enterprise architects benefit from development and operations It s for sure a two way communication it s even a collaborative effort between operations development and
http://www.clemensreijnen.nl/?tag=/vsts+2010
XML.com
Information and services for the XML community. ... And once you've got your hands on XML data, you can use LINQ to query anything from data that you created to an RSS feed. ...
Writing XML in .NET Using XmlTextWriter
XML is a hot topic. A primary reason for it being of interest is the fact that it is simple to understand and simple to use. Any programmer should be able to easily look at an XML file and understand its contents.
The MIT Press Cognet Goes XML – Leverages Drupal and MarkLogic Server
EVN Solutions today announced that The MIT Press has selected its services to create a next generation XML based Drupal site, Cognet - for cognitive scientists, leveraging EVN’s Drupal modules to connect directly to their cognitive sciences content stored on a MarkLogic Server. (PRWeb May 25, 2011) Read the full story at http://www.prweb.com/releases/2011/5/prweb8485483[[[SHIFTIN ...
the project is called Declarative UI Here s a sample XML file that describes a simple animated UI as a png because I can t get Wordpress s verbatim and pre tags to do what they should So please take this as an invitation to join us You can find the new project on Labs and a Qt Solution for the Animation Framework in usual pages There s not a lot of bling there yet
http://labs.trolltech.com/blogs/category/kde/page/5
XML Tutorial
Free HTML XHTML CSS JavaScript DHTML XML DOM XSL XSLT RSS AJAX ASP ADO PHP SQL tutorials, references, examples for web building.
MIT PRESS Selects EVN SOLUTIONS for Content Conversion to XML
EVN Solutions today announced that The MIT Press has selected its services for conversion from print-ready PDF to XML for its books and journals. (PRWeb May 25, 2011) Read the full story at http://www.prweb.com/releases/2011/5/prweb8485559.htm
logical structure and components The user can choose to edit any component and an appropriate component editor will be invoked such as structured Java program XML HTML SVG graphics UML diagrams or plain text editors All of these editors are structure based and version savvy Depending on
http://www.ece.iastate.edu/~tien/molhado/trans.html
XML.Gov - Home Page
Extensible Markup Language (XML) embodies the potential to alleviate many of the interoperability problems associated with the sharing of documents and data. ...
Xyleme Unveils Pastiche™
BOULDER, Colo.--(BUSINESS WIRE)--Xyleme® Inc., the leading provider of 100% XML, open and standards-based learning content management solutions, today announced the immediate availability of Pastiche™, the industry’s first application that allows organizations to offer a complete blended learning environment on a single tablet, quickly and cost-effectively. The iPad has created a transitional ...
XML: Definition from Answers.com
XML ( ) n. A metalanguage written in SGML that allows one to design a markup language, used to allow for the easy interchange of documents on the
Exari Awarded US Patent for Its Document Assembly System
BOSTON--(BUSINESS WIRE)--Exari has been awarded a new US patent protecting their core document assembly technology that can generate output documents based on any type of XML (eXtensible Markup Language) source document.
Extensible Markup Language (XML) 1.0 (Fifth Edition)
XML has been designed for ease of implementation and for interoperability with both SGML and HTML. (W3C Recommendation 6 October 2000...
XML Feeds
Recently I took the opportunity to attend an aviation training conference presented close by in Orlando by Civil Aviation Training Magazine. This is an annual meeting and it consists of several tracks, including one concerned with maintenance training.
Google Gift Gives Business Process Outsourcer Digital Divide Data a Technology Edge
Google Inc. made a donation of $100,000 to Digital Divide Data (DDD), the acclaimed social enterprise that delivers content business process outsourcing services to clients globally. The grant, from the Google Inc. Charitable Giving Fund, will support a major upgrade of the technology used by DDD to provide data entry, XML conversion and digital preservation services to publishers, libraries ...
XML Project
The OpenOffice.org XML project is the home of of XML related features of OpenOffice.org, like its OASIS OpenDocument/ISO/IEC 26300 file format implementation. ...
Skype voice service crashes; users offered fix instructions
Skype offers fix in first crash after Microsoft acquisition
Save the source HTML code from the generated HTML Web page as a html file and upload it to the Web server Using the step by step approach above one XML source file and one XSL transformation file can be used to generate several HTML Web pages In the Moderate example
http://www.thexmltoolkit.org/environment.php?sub=modest



















