Η XML είναι ένα σύνολο κανόνων για την ηλεκτρική κωδικοποίηση των
εγγράφων. Είναι ένα ανοιχτό πρότυπο της W3C. Η έμφαση στον σχεδιασμό της έχει δοθεί στην απλότητα, τη γενίκευση στη χρήση της και τη χρηστικότητά της στο διαδίκτυο. Χρησιμοποιείται για την μορφοποίηση των δομών των δεδομένων μέσω κειμένου.
Είναι μια γλώσσα σήμανσης (markup) όπως η HTML. Ενώ η HTML
χρησιμοποιείται για την απεικόνιση των δεδομένων η XML χρησιμοποιείται για την μετάδοσή τους. Επίσης στην XML οι ετικέτες (tags) δεν είναι προκαθορισμένες, πρέπει να οριστούν.
Περιληπτικά η ΧΜL είναι:
Η XML σημαίνει eXtensible Markup Language (επεκτάσιμη γλώσσα σήμανσης)
Η XML είναι μια γλώσσα σήμανσης παρόμοια με το HTML
Η XML σχεδιάστηκε για την αποθήκευση και τη μεταφορά δεδομένων
Η XML σχεδιάστηκε για να είναι αυτοπεριγραφική
Η XML είναι μια σύσταση της W3C
Τα έγγραφα HTML και XML περιέχουν δεδομένα που περικλείονται από ετικέτες, όμως, αυτή είναι και η μοναδική ομοιότητα μεταξύ των δύο γλωσσών. Στην HTML, οι ετικέτες ορίζουν την εμφάνιση και την αίσθηση των δεδομένων σας — οι τίτλοι τοποθετούνται εδώ, οι παράγραφοι ξεκινούν από εκεί και ούτω καθεξής. Στην XML οι ετικέτες ορίζουν τη δομή και τη σημασία των δεδομένων σας — ποια είναι τα δεδομένα.
Ένα παράδειγμα XML εγγράφου είναι το παρακάτω.
<bookstore>
<book category="FOOTBALL">
<title lang="gr">Everyday match</title> <author>Messi </author> <year>2017</year>
<price>30.00</price>
</book>
<book category="SPORTS">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price> </book>
<book category="WEB">
<title lang="en">Learning XML</title> <author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
Τα XML έγγραφα έχουν μια δομή δένδρου. Στην κορυφή του δένδρου έχουμε τη ρίζα (root element). Αυτή διακλαδίζεται σε άλλα στοιχειά (παιδιά, child element) και αυτά με τη σειρά τους στα δικά τους παιδιά. Τα στοιχεία μπορούν να έχουν περιεχόμενο κειμένου (όπως στη HTML). Τα στοιχεία του ίδιου επιπέδου (κοινός γονέας) ονομάζονται αδέρφια (siblings).
Οι ορισμοί των ετικετών για ένα XML έγγραφο γίνονται σε ένα XML σχήμα, όπου περιγράφεται μέσω περιορισμών (constraints) η δομή του εγγράφου.
Ένα XML έγγραφο με σωστή σύνταξη ονομάζεται well-formed. Όταν ανταποκρίνεται στους ορισμούς ενός σχήματος ονομάζεται έγκυρο (valid). Ένα αρχείο XML που έχει μορφοποιηθεί σωστά συμμορφώνεται με ένα σύνολο πολύ αυστηρών κανόνων που ελέγχουν την XML. Εάν ένα αρχείο δεν συμμορφώνεται με αυτούς τους κανόνες, η XML σταματά να λειτουργεί. Για παράδειγμα, στο προηγούμενο παράδειγμα κώδικα, κάθε ετικέτα ανοίγματος έχει και μια ετικέτα κλεισίματος, έτσι ώστε να το δείγμα να συμμορφώνεται με έναν από τους κανόνες σωστής μορφοποίησης. Εάν καταργήσετε μια ετικέτα και προσπαθήσετε να ανοίξετε αυτό το αρχείο σε ένα από τα προγράμματα του Office, θα δείτε ένα μήνυμα σφάλματος και το πρόγραμμα θα σας εμποδίσει να χρησιμοποιήσετε το αρχείο. Εάν δεν μπορεί να ανοίξει το αρχείο XML, το πιθανότερο είναι αυτό το αρχείο να μην έχει μορφοποιηθεί σωστά.
Με βάση την XML, έχουν αναπτυχθεί μια σειρά markup γλωσσών, βασιζόμενων σε εξειδικευμένα συστήματα σχημάτων. Μεταξύ αυτών η GML.