XML

δεξιά|μικρογραφία|200px|Ένα στιγμιότυπο ενός κειμένου XML
Η **XML** (*αγγλ. [[αρκτικόλεξο|αρκτ.]]* από το **eXtensible Markup Language**) είναι μία γλώσσα σήμανσης, που περιέχει ένα σύνολο κανόνων για την ηλεκτρονική κωδικοποίηση κειμένων. Ορίζεται, κυρίως, στην προδιαγραφή XML 1.0 (XML 1.0 Specification), που δημιούργησε ο διεθνής οργανισμός προτύπων W3C (World Wide Web Consortium), αλλά και σε διάφορες άλλες σχετικές προδιαγραφές ανοιχτών προτύπων. Η XML σχεδιάστηκε δίνοντας έμφαση στην απλότητα, τη γενικότητα και τη χρησιμότητα στο Διαδίκτυο. Είναι μία μορφοποίηση δεδομένων κειμένου, με ισχυρή υποστήριξη Unicode για όλες τις γλώσσες του κόσμου. Αν και η σχεδίαση της XML εστιάζει στα κείμενα, χρησιμοποιείται ευρέως για την αναπαράσταση αυθαίρετων δομών δεδομένων, που προκύπτουν για παράδειγμα στις υπηρεσίες ιστού.Υπάρχει μία ποικιλία διεπαφών προγραμματισμού εφαρμογών, που μπορούν να χρησιμοποιούν οι προγραμματιστές, για να έχουν πρόσβαση σε δεδομένα XML, αλλά και διάφορα συστήματα σχημάτων XML, τα οποία είναι σχεδιασμένα για να βοηθούν στον ορισμό γλωσσών, που προκύπτουν από την XML.Έως το 2009, έχουν αναπτυχθεί εκατοντάδες γλώσσες που βασίζονται στην XML, συμπεριλαμβανομένων του RSS, του SOAP και της XHTML. Προεπιλεγμένες κωδικοποιήσεις βασισμένες στην XML, υπάρχουν για τις περισσότερες σουίτες εφαρμογών γραφείου, συμπεριλαμβανομένων του Microsoft Office (Office Open XML), του OpenOffice.org (OpenDocument) και του iWork της εταιρίας Apple.

## Βασική ορολογία
Το περιεχόμενο αυτής της ενότητας, βασίζεται στην προδιαγραφή XML 1.0. Δεν αποτελεί μία πλήρη λίστα όλων των όρων που υπάρχουν στη γλώσσα XML. Είναι μία εισαγωγή στα βασικά στοιχεία, που συναντώνται στην καθημερινή της χρήση.
;Χαρακτήρας Unicode: Εξ ορισμού, ένα κείμενο XML είναι μία ακολουθία χαρακτήρων. Σχεδόν κάθε χαρακτήρας Unicode μπορεί να εμφανίζεται σε ένα κείμενο XML.
;Επεξεργαστής και Εφαρμογή: Είναι το λογισμικό που επεξεργάζεται ένα κείμενο XML. Είναι αναμενόμενο, ότι ένας επεξεργαστής δουλεύει για μία εφαρμογή. Υπάρχουν μερικές πολύ συγκεκριμένες απαιτήσεις, σχετικά με το τι μπορεί και τι δεν μπορεί να κάνει ένας επεξεργαστής XML, αλλά καμία, όσον αφορά στη συμπεριφορά της εφαρμογής. Ο επεξεργαστής (όπως ονοματίζεται από την προδιαγραφή), αναφέρεται συχνά, με τον αγγλικό όρο *XML parser*.
;Σήμανση και Περιεχόμενο: Οι χαρακτήρες που απαρτίζουν ένα κείμενο XML, αποτελούν είτε τη *σήμανση* είτε το *περιεχόμενό* του. Η σήμανση και το περιεχόμενο, μπορούν να επισημανθούν και να διακριθούν, ύστερα από την εφαρμογή κάποιων απλών συντακτικών κανόνων. Όλα τα αλφαριθμητικά που συνιστούν τη σήμανση, είτε ξεκινούν με το χαρακτήρα "&lt;" και καταλήγουν στο χαρακτήρα "&gt;", είτε ξεκινούν με το χαρακτήρα "&amp;" και καταλήγουν στο χαρακτήρα ";". Ακολουθίες χαρακτήρων που δε συνιστούν τη σήμανση, αποτελούν το περιεχόμενο ενός κειμένου XML.
;Ετικέτα: Ένα στοιχείο σήμανσης που ξεκινά με το χαρακτήρα "&lt;" και καταλήγει στο χαρακτήρα ">". Υπάρχουν τρία είδη ετικέτας: *ετικέτες-αρχής*, για παράδειγμα `&lt;section>`, *ετικέτες-τέλους*, για παράδειγμα `&lt;/section>`, και *ετικέτες-χωρίς-περιεχόμενο*, για παράδειγμα `&lt;line-break/>`.
;Στοιχείο: Ένα λογικό απόσπασμα ενός κειμένου, που είτε ξεκινά με μία ετικέτα-αρχής και καταλήγει σε μία ετικέτα-τέλους, είτε αποτελείται μόνο από μία ετικέτα-χωρίς-περιεχόμενο. Οι χαρακτήρες που υπάρχουν, αν υπάρχουν, μεταξύ μιας ετικέτας-αρχής και μιας ετικέτας-τέλους, συνιστούν το *περιεχόμενο* του στοιχείου, το οποίο μπορεί να περιέχει σήμανση, συμπεριλαμβανομένων και άλλων στοιχείων, που ονομάζονται *στοιχεία-παιδιά*. Ένα παράδειγμα ενός στοιχείου είναι το `&lt;Greeting>Hello,&nbsp;world.&lt;/Greeting>`. Ένα άλλο είναι το `&lt;line-break/>`.
;Χαρακτηριστικό: Ένα στοιχείο σήμανσης που αποτελείται από ένα ζευγάρι *όνομα/τιμή*, το οποίο υπάρχει μέσα σε μία ετικέτα-αρχής ή σε μία ετικέτα-χωρίς-περιεχόμενο. Στο παράδειγμα παρακάτω, το στοιχείο *img* έχει δύο χαρακτηριστικά, τα *src* και *alt*: `<img&nbsp;src="madonna.jpg"&nbsp;alt='by&nbsp;Raphael'/>`. Ένα άλλο παράδειγμα θα ήταν το `&lt;step&nbsp;number="3">Connect&nbsp;A&nbsp;to&nbsp;B.&lt;/step>`, όπου το όνομα του χαρακτηριστικού είναι "number" και η τιμή του είναι "3".
;Δήλωση XML: Τα κείμενα XML μπορούν να αρχίζουν, με τη δήλωση κάποιων πληροφοριών σχετικών με αυτά, όπως στο ακόλουθο παράδειγμα:
```xml
<?xml version="1.0" encoding="UTF-8"?>
```


### Παράδειγμα
Το παρακάτω είναι ένα μικρό, αλλά πλήρες κείμενο XML, που χρησιμοποιεί όλες τις παραπάνω έννοιες και στοιχεία.


```xml
<?xml version="1.0" encoding='UTF-8'?>
<painting>
  <img src="madonna.jpg" alt='Foligno Madonna, by Raphael'/>
  <caption>This is Raphael's "Foligno" Madonna, painted in
  <date>1511</date>-<date>1512</date>.</caption>
</painting>
```


Υπάρχουν πέντε στοιχεία σε αυτό το κείμενο του παραδείγματος: τα `painting`, `img`, `caption`, και δύο `date`. Τα στοιχεία `date`, είναι παιδιά του στοιχείου `caption`, το οποίο είναι παιδί του στοιχείου-ρίζας `painting`. Το στοιχείο `img` έχει δύο χαρακτηριστικά, τα `src` και `alt`.

## Χαρακτήρες και διαφυγή
Τα κείμενα XML αποτελούνται εξ ολοκλήρου από χαρακτήρες Unicode. Εκτός από ένα μικρό αριθμό, ειδικά εξαιρούμενων χαρακτήρων ελέγχου, κάθε χαρακτήρας που ορίζεται στο Unicode, μπορεί να εμφανίζεται στο περιεχόμενο ενός κειμένου XML. Το σύνολο των χαρακτήρων που μπορούν να εμφανίζονται στη σήμανση, αν και κάπως περιορισμένο, παραμένει μεγάλο.Η XML παρέχει κάποιες διευκολύνσεις για την ταυτοποίηση της *κωδικοποίησης* των χαρακτήρων Unicode που απαρτίζουν ένα κείμενο και για την απεικόνιση χαρακτήρων που, για τον έναν ή τον άλλο λόγο, δεν μπορούν να χρησιμοποιηθούν ευθέως.

## Παραπομπές


## Δείτε επίσης
* XSLT

## Εξωτερικοί σύνδεσμοι

* W3C XML homepage 
* XML 1.0 Specification 
* 


Κατηγορία:Γλώσσες σήμανσης-μορφοποίησης