Διαφορά μεταξύ XML και SGML
XML vs SGML
Το XML αντιπροσωπεύει την EXTable Markup Language. Καθορίζεται στην προδιαγραφή XML 1. 0, η οποία αναπτύσσεται από το W3C (World Wide Web Consortium). Η XML παρέχει έναν τυπικό τρόπο, ο οποίος είναι επίσης απλός, για την κωδικοποίηση δεδομένων και κειμένου, έτσι ώστε το περιεχόμενο να μπορεί να ανταλλάσσεται μεταξύ του υλικού του οδηγού, των λειτουργικών συστημάτων και των εφαρμογών με μικρή ανθρώπινη παρέμβαση. Το SGML (Standard Generalized Markup Language) είναι ένα πρότυπο ISO (Διεθνής Οργανισμός Τυποποίησης) για τον προσδιορισμό μιας γλώσσας σήμανσης εγγράφων ή ενός συνόλου ετικετών. Το SGML δεν είναι γλώσσα εγγράφου, αλλά ορισμός τύπου εγγράφου (DTD).
XMLXML είναι μια γλώσσα σήμανσης που χρησιμοποιείται για τη μεταφορά δεδομένων και κειμένου μεταξύ του υλικού του προγράμματος οδήγησης, των λειτουργικών συστημάτων και των εφαρμογών με μικρή ανθρώπινη παρέμβαση. Η XML παρέχει ετικέτες, ιδιότητες και δομές στοιχείων που μπορούν να χρησιμοποιηθούν για την παροχή πληροφοριών πλαισίου. Αυτές οι πληροφορίες πλαισίου μπορούν να χρησιμοποιηθούν για την αποκωδικοποίηση της έννοιας του περιεχομένου. Αυτό καθιστά δυνατή την ανάπτυξη αποτελεσματικών μηχανών αναζήτησης και την εξόρυξη δεδομένων σχετικά με τα δεδομένα. Επιπλέον, οι παραδοσιακές σχεσιακές βάσεις δεδομένων είναι κατάλληλες ως δεδομένα XML επειδή μπορούν να οργανωθούν σε σειρές και στήλες, αλλά η XML παρέχει λιγότερη υποστήριξη για δεδομένα με πλούσιο περιεχόμενο όπως ηχητικό, βίντεο, σύνθετα έγγραφα κ.λπ. Οι βάσεις δεδομένων XML αποθηκεύουν δεδομένα σε δομημένη ιεραρχική μορφή που επιτρέπει την αποτελεσματικότερη επεξεργασία των ερωτημάτων. Οι ετικέτες XML δεν είναι προκαθορισμένες και οι χρήστες μπορούν να ορίσουν νέες ετικέτες και δομές εγγράφων. Επίσης, δημιουργήθηκαν νέες γλώσσες διαδικτύου όπως RSS, Atom, SOAP και XHTM χρησιμοποιώντας XML.
SGML
Το SGML βασίζεται στην ιδέα ότι παρόλο που ένα έγγραφο μπορεί να εμφανιστεί με διαφορετικές εμφανίσεις ανάλογα με το χρησιμοποιούμενο μέσο εκτύπωσης, περιέχει ορισμένα δομικά και σημασιολογικά στοιχεία που δεν αλλάζουν με αναφορά με τον τρόπο εμφάνισης. Τα έγγραφα με βάση το SGML μπορούν να δημιουργηθούν χωρίς να αφορούν την εμφάνιση του εγγράφου που μπορεί να αλλάξει υπερωρίες, αλλά σχετικά με τη δομή του εγγράφου. Επιπλέον, ο μεταγλωττιστής SGML μπορεί να ερμηνεύσει οποιοδήποτε έγγραφο χρησιμοποιώντας το DTD του, επομένως αυτά τα έγγραφα παρέχουν περισσότερη φορητότητα. Επίσης, τα έγγραφα που βασίζονται στο SGML θα μπορούσαν εύκολα να προσαρμοστούν εύκολα σε διαφορετικά μέσα (για παράδειγμα, το έγγραφο που προορίζεται για μέσο εκτύπωσης θα μπορούσε να επαναπροσδιοριστεί για μια οθόνη).Ποια είναι η διαφορά μεταξύ XML και SGML;
Ενώ η XML είναι μια γλώσσα σήμανσης που χρησιμοποιείται για τη μεταφορά δεδομένων και κειμένου μεταξύ του υλικού, των λειτουργικών συστημάτων και των εφαρμογών του οδηγού, το SGML είναι ένα πρότυπο ISO για τον καθορισμό μιας γλώσσας σήμανσης εγγράφων ή ενός συνόλου ετικετών. Η XML είναι στην πραγματικότητα μια γλώσσα σήμανσης που βασίζεται στο SGML. Αλλά η XML επιβάλλει ορισμένους περιορισμούς που δεν υπάρχουν στο SGML. Για παράδειγμα, η XML επιβάλλει τους ακόλουθους περιορισμούς: οι αναφορές οντοτήτων πρέπει να κλείνουν με έναν οριοθετητή REFC, οι αναφορές σε εξωτερικές οντότητες δεδομένων στο περιεχόμενο δεν επιτρέπονται, οι αναφορές χαρακτήρων πρέπει να κλείνουν με έναν οριοθέτη REFC, οι ονομασίες δεν επιτρέπονται, κ.λπ.Επιπλέον, ορισμένες κατασκευές όπως μη κλειστές ετικέτες έναρξης, μη κλειστές τελικές ετικέτες, κενές ετικέτες έναρξης, άδειες τελικές ετικέτες που επιτρέπονται στο SGML όταν το SHORTTAG είναι ΝΑΙ, δεν επιτρέπονται σε XML. Επιπλέον, ορισμένες δηλώσεις SGML όπως DATATAG, OMITTAG, RANK, LINK (SIMPLE, IMPLICIT και EXPLICIT) κλπ. Δεν επιτρέπονται σε XML.