DevToys Web Pro iconDevToys Web ProΙστολόγιο
Αξιολογήστε μας:
Δοκιμάστε την επέκταση προγράμματος περιήγησης:

Επικυρωτής XML / XSD

Στην πλευρά του διακομιστή

Δείγματα

Αποτέλεσμα επικύρωσης

Φόρτωση επικύρωσης...

Σχήμα XSD

  • Έγγραφο XML

  • Loading editor...
    Loading editor...
    Τεχνικές λεπτομέρειες

    Πώς λειτουργεί ο επικυρωτής XML / XSD

    Τι κάνει το εργαλείο

    Αυτός ο επικυρωτής XML XSD ελέγχει έγγραφα XML έναντι ορισμών XML Schema χρησιμοποιώντας επεξεργασία στην πλευρά του server. Το εργαλείο επικυρώνει τη δομή, τους τύπους δεδομένων, τη σειρά των στοιχείων και τις απαιτήσεις attributes που ορίζονται στο σχήμα σας. Όταν η επικύρωση αποτυγχάνει, αναφέρει συγκεκριμένα σφάλματα με αριθμούς γραμμής και στήλης όταν είναι διαθέσιμα. Ο επικυρωτής χειρίζεται namespaces, σύνθετους τύπους, περιορισμούς ακολουθίας (sequence constraints) και facets σχήματος όπως αντιστοίχιση μοτίβων (pattern matching) και περιορισμούς τιμών.

    Παράδειγμα: Επικύρωση καταλόγου βιβλίων

    Εξετάστε αυτό το σχήμα XSD που απαιτεί τα βιβλία να έχουν ακέραια IDs και δεκαδικές τιμές:

    <xs:element name="book">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="title" type="xs:string"/>
                <xs:element name="price" type="xs:decimal"/>
              </xs:sequence>
              <xs:attribute name="id" type="xs:integer" use="required"/>
            </xs:complexType>
          </xs:element>

    Μη έγκυρο XML όπως &lt;book id="abc"&gt;&lt;price&gt;not-a-number&lt;/price&gt;&lt;/book&gt;θα αποτύχει στην επικύρωση με σφάλματα περιορισμών τύπου τόσο για το attribute ID όσο και για το στοιχείο price.

    Συνηθισμένες περιπτώσεις χρήσης

    Οι προγραμματιστές χρησιμοποιούν επικύρωση XML Schema όταν ενσωματώνονται με SOAP APIs, επικυρώνουν αρχεία ρυθμίσεων ή επεξεργάζονται μορφές ανταλλαγής δεδομένων. Συνήθη σενάρια περιλαμβάνουν την επικύρωση αποκρίσεων API έναντι δημοσιευμένων σχημάτων, τον έλεγχο αρχείων ρυθμίσεων πριν από την ανάπτυξη και τη διασφάλιση ποιότητας δεδομένων σε ETL pipelines. Ο επικυρωτής είναι ιδιαίτερα χρήσιμος για τον εντοπισμό ασυμφωνιών τύπων, ελλιπών απαιτούμενων στοιχείων και λανθασμένης σειράς στοιχείων πριν τα δεδομένα φτάσουν σε συστήματα παραγωγής.

    Μηχανή επικύρωσης και περιορισμοί

    Αυτό το εργαλείο χρησιμοποιεί το libxml2 μέσω του libxmljs Node.js binding, παρέχοντας συμμόρφωση με XML Schema 1.0. Ο επικυρωτής επεξεργάζεται τα σχήματα εξ ολοκλήρου στην πλευρά του server για λόγους ασφάλειας και δεν ανακτά εξωτερικούς πόρους ούτε επιλύει imports που βασίζονται στο δίκτυο. Η επεξεργασία εξωτερικών οντοτήτων (XXE) είναι απενεργοποιημένη για ασφάλεια. Τα schema includes και imports λειτουργούν μόνο αν όλα τα σχήματα στα οποία γίνεται αναφορά παρέχονται στο κύριο περιεχόμενο XSD.

    • Πρόσβαση δικτύου:Αποκλεισμένη για λόγους ασφάλειας
    • Imports σχήματος:Πρέπει να είναι inline, χωρίς εξωτερική επίλυση
    • Εξωτερικές οντότητες:Απενεργοποιημένες (προστασία XXE)
    • Όρια επεξεργασίας:Ισχύουν λογικά όρια μεγέθους

    Επεξεργασία στην πλευρά του διακομιστή vs στην πλευρά του πελάτη

    Οι έλεγχοι καλής μορφοποίησης XML στην πλευρά του πελάτη είναι επαρκείς για βασική επικύρωση σύνταξης. Ωστόσο, η επικύρωση XSD απαιτεί εξειδικευμένη μηχανή, επειδή οι φυλλομετρητές δεν περιλαμβάνουν επεξεργαστές XML Schema. Η επικύρωση στην πλευρά του διακομιστή εξασφαλίζει συνεπή αποτελέσματα, χειρίζεται σύνθετα χαρακτηριστικά σχήματος όπως κληρονομικότητα και εισαγωγές, και παρέχει απομόνωση ασφαλείας από δυνητικά κακόβουλο περιεχόμενο XML.