Διαφορά μεταξύ SGML και XML Διαφορά μεταξύ

Anonim

SGML vs XML

Το SGML (Standard Generalized Markup Language) είναι το πρότυπο για την κωδικοποίηση των εγγράφων σε ηλεκτρονική μορφή. Με την εξέλιξη του Διαδικτύου έγινε σαφές ότι η HTML δεν είναι πλέον σε θέση να παρέχει την ανάγκη για πιο δυναμικό περιεχόμενο καθώς έχει φτάσει τους περιορισμούς της. Η XML (Extensible Markup Language) είναι μια γλώσσα που προέρχεται από το SGML και περιέχει ένα πιο περιορισμένο σύνολο χαρακτηριστικών προκειμένου να καταστεί απλούστερο για τους κωδικοποιητές να χρησιμοποιούν το SGML είναι πολύ εκτεταμένο και πολύπλοκο για την προβλεπόμενη χρήση. Δεδομένου ότι η XML είναι απλώς ένα υποσύνολο του SGML, οι parser του SGML είναι ικανοί να διαβάζουν και να αποκωδικοποιούν έγκυρα αρχεία XML. Το αντίστροφο δεν είναι απαραιτήτως αληθές, αν και τα αρχεία SGML ενδέχεται να έχουν χαρακτηριστικά τα οποία ο αναλυτής XML δεν καταλαβαίνει.

Όντας ένα υποσύνολο, δεν θα υπήρχε κανένα χαρακτηριστικό στην XML που δεν υπάρχει στο SGML. Ακολουθεί μια σύντομη λίστα με αυτά που έχουν αφαιρεθεί.

Οι ακόλουθες δηλώσεις SGML δεν επιτρέπονται πλέον σε XML:

  • CONCUR
  • SUBDOC
  • > Ετικέτες άδειων εκκίνησης
  • Ετικέτες κενών τελών

Μη κλειστές ετικέτες έναρξης

Μη κλειστές τελικές ετικέτες

Προδιαγραφές χαρακτηριστικών χωρίς όνομα

Οι ακόλουθες δηλώσεις οντότητας SGML δεν επιτρέπονται πλέον σε SGML
  • Εσωτερικές οντότητες CDATA
  • Εσωτερικές οντότητες CDATA
  • #DEFAULT οντότητες
  • Οντότητες PI
  • Εσωτερικές οντότητες SDATA
  • Δεν επιτρέπεται πλέον να καθορίζετε ιδιότητες για οντότητες.

Οι αλλαγές έγιναν και με τον τρόπο που οι κωδικοποιητές τοποθετούν σχόλια στον κώδικα τους. Μια δήλωση σχόλιου δεν επιτρέπεται πλέον να περιέχει περισσότερα από ένα σχόλιο. Μια κενή δήλωση σχολιασμού έχει επίσης απορριφθεί. Ένας διαχωριστής παραμέτρων δεν επιτρέπεται να περιέχει οποιοδήποτε σχόλιο. Αυτό περιλαμβάνει οποιαδήποτε δήλωση σήμανσης, εξαιρουμένων των δηλώσεων σχολίων, φυσικά.

Περίληψη:

1. Η XML είναι ένα υποσύνολο του SGML

2. Η XML είναι απλούστερη σε σύγκριση με το SGML

3. Τα έγγραφα XML θα πρέπει να είναι αναγνώσιμα με τους συντελεστές SGML, ενώ κάποιοι SGML ενδέχεται να δημιουργούν σφάλματα στους parsers XML

4. Ένας κατάλογος των δηλώσεων SGML έχει καταργηθεί σε XML

5. Ορισμένες κατασκευές που επιτρέπονται στο SGML δεν επιτρέπονται πλέον σε XML

6. Ορισμένες οντότητες SGML δεν επιτρέπονται πλέον σε XML

7. Ορισμένες πρακτικές σχολίων στο SGML έχουν επίσης απορριφθεί στην XML