Επίλυση Όλων Των Προβλημάτων Των Παραθύρων Και Άλλων Προγραμμάτων

Η νέα μονάδα XML :: Parser είναι η κόλλα που παρέχει μια διεπαφή Perl σε έναν αναλυτή με βάση το C

ITworld.com -

Μια διασκεδαστική στιγμή στο πρότυπο XML - πιθανότατα το μόνο απόσπασμα του προτύπου που είναι πιθανό να χαρακτηρίσει κάποιος διασκεδαστικό - είναι λίγο νωρίς στην εισαγωγή που διακηρύσσει:



Θα είναι εύκολο να γραφτούν προγράμματα που επεξεργάζονται έγγραφα XML.

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



Ωστόσο, τα πράγματα που ξεκινούν απλώς μερικές φορές καταφέρνουν να παραμείνουν απλούστερα από ό, τι θα μπορούσαν να ήταν διαφορετικά. Το HTML παραμένει ευχάριστα απλό, αν και δεν είναι πλέον κάτι που μπορείτε να εξηγήσετε πλήρως με ένα φλιτζάνι καφέ.

Η Perl, η γλώσσα δέσμης ενεργειών που τόσο πολλοί από εμάς μας έχει αρέσει τόσο πολύ, ξεκίνησε σίγουρα από την παρόρμηση του Larry Wall να διευκολύνει την ανάγνωση, το χειρισμό και τον επανασχηματισμό αρχείων κειμένου.



Το HTML και το Perl αποδείχθηκαν καλά ταιριαστά στην επιθυμία τους να κάνουν τα περισσότερα πράγματα χωρίς φασαρία. Επομένως, δεν θα πρέπει να μας εκπλήσσει ότι η XML, την οποία θα μπορούσαμε να περιγράψουμε ως «HTML απαλλαγμένη από τις αλυσίδες ονομάτων σταθερών στοιχείων», είναι μια μορφή που μπορούμε να τροποποιήσουμε και να χειριστούμε αρκετά αποτελεσματικά με το Perl.

Όπως με τόσες πολλές πιθανές χρήσεις του Perl, κάποιος έχει ήδη κάνει πολλή δουλειά, έτσι και η δουλειά μας είναι απλά να

  • Κατανοήστε τι πρέπει να κάνουμε
  • Συνδέστε τις ανάγκες μας με τη λαμπερή, νέα μονάδα Perl
  • Επικολλήστε πράγματα μαζί με μερικές γραμμές κώδικα, όπως απαιτείται

Αυτή η λαμπρή νέα ενότητα είναι η XML :: Parser, ένα κομμάτι κόλλας που γράφτηκε αρχικά από τον Wall και αργότερα υιοθετήθηκε από τον Clark Cooper που παρέχει μια διεπαφή Perl στον αναλυτή αποστολής με βάση τον James Clark. Μπορείτε να βρείτε το XML :: Parser σε κυριολεκτικά εκατοντάδες ιστότοπους καθρέφτη, αλλά μπορείτε να βρείτε αυτόν που είναι πιο κοντά σας http://www.perl.com/CPAN/ Ε



πώς να μοιραστώ την οθόνη μου με κάποιον άλλο

Τι να κάνω

Λοιπόν, ποιες εργασίες XML μπορείτε να κάνετε με το Perl; Λοιπόν, με την πρώτη ματιά, δεν μπορείτε να κάνετε 'νόμιμα' τίποτα με το Perl στον αυστηρό ορισμό της XML. Αυτό συμβαίνει επειδή το Perl χρονολογεί τη γενική ατάκα βοοειδών σε σύνολα χαρακτήρων Unicode, ενώ η XML είναι ήδη καλά στο μαντρί. Η XML θέλει χαρακτήρες ευρέος (2-byte)-το Perl δεν τους έχει.

Αλλά στον πραγματικό κόσμο, μια φοβερή XML γίνεται σε πλήρη άγνοια των ανησυχιών του Unicode, κυρίως επειδή οι σχεδιαστές της Unicode επέτρεψαν συνειδητά μια συμπιεσμένη, single-byte έκδοση του Unicode που ονομάζεται UTF-8. Αυτός ο Unicode ενός byte είναι ένα υπερσύνολο του αγαπητού μας φίλου ASCII, οπότε τα καθαρά αρχεία ASCII μπορούν νόμιμα να είναι αρχεία XML. Δεν θα έχουν όλα τα αρχεία XML κωδικοποίηση UTF-8 με τα οποία μπορούμε να ασχοληθούμε, αλλά για εκείνα που το κάνουν, είμαστε επαγγελματίες.

Επομένως, αν υποθέσουμε ότι η πηγή XML με χαρακτήρες 8-bit που μπορεί να χειριστεί η Perl, υπάρχουν πολλά σύνολα εργασιών που θα μπορούσαμε να αντιμετωπίσουμε με το Perl. Δεδομένου ότι η XML μας επιτρέπει να έχουμε στοιχεία που σχετίζονται με τη λογική των πληροφοριών που αποθηκεύουμε, μπορεί να έχουμε σελίδες γεμάτες με ετικέτες που δεν είχαμε δει ποτέ στον Ιστό. Για την αρχική μας σελίδα αφιερωμένη στα κλασικά κουπέ MG, μπορεί να έχουμε | _+_ | και | _+_ |.

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

Υπάρχει όμως και η μεγάλη πιθανότητα να ξεκινήσουμε να εισάγουμε περιεχόμενο βάσης δεδομένων ελεύθερης μορφής στο σύστημα αποθήκευσης εγγράφων μας χρησιμοποιώντας μορφοποίηση XML. Θα θέλουμε να βεβαιωθούμε ότι τα δεδομένα μας είναι, τουλάχιστον, καλά διαμορφωμένα (δηλαδή, επισημαίνουμε τελικώς όλα τα στοιχεία που ξεκινάμε και πληρούμε μια λίστα άλλων απαιτήσεων γκρίνιας). Μπορεί επίσης να θέλουμε να διασφαλίσουμε ότι θα εφαρμοστούν ορισμένες πτυχές της επιχειρησιακής λογικής, ώστε να μην κάνουμε τεμπέλες όπως να γράφουμε περιλήψεις βιβλίων χωρίς να συμπεριλαμβάνουμε πληροφορίες για τον συγγραφέα και τον εκδότη. Για την επιβολή τέτοιων κανόνων ή απλώς για την επιβολή της ορθής διαμόρφωσης των εγγράφων, θα χρειαστεί να αναλύσουμε και να ερμηνεύσουμε τα αρχεία XML.

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

Υπάρχει επίσης ένα κομμάτι παραγωγής ιστοσελίδων που ίσως θέλουμε να σταματήσουμε χρησιμοποιώντας το Perl. Προς το παρόν, υπάρχει μόνο ένα πρόγραμμα περιήγησης mainstream που εμφανίζει εγγενώς XML. Για να περάσουμε ελαφρά πάνω σε ένα δυνητικά υπερβολικό ζήτημα, ας πούμε ότι δεν είναι απαραίτητα το πρόγραμμα περιήγησης της επιλογής για την κοινότητα ανοιχτού κώδικα. Έτσι, για άλλα προγράμματα περιήγησης που δεν έχουν καλύψει το XML, θέλουμε να μπορούμε να μετατρέπουμε γρήγορα τον πηγαίο κώδικα XML σε HTML.

Σε όλες τις εργασίες όπου η είσοδος είναι ένα αρχείο XML, θα πρέπει να ξεκινήσουμε με την ανάλυση του αρχείου στα συστατικά του στοιχεία. Εάν μετατρέπουμε ένα αρχείο XML σε ένα αρχείο HTML, θα θέλουμε να μετατρέψουμε κάθε στοιχείο σε αντίστοιχο στοιχείο HTML καθώς προχωράμε.

πρόσβαση στο χώρο αποθήκευσης icloud από τον υπολογιστή

Ως προκαταρκτική κίνηση, ας υποθέσουμε ότι ο πίνακας αναζήτησης που ταιριάζει με τα στυλ στα στοιχεία έχει τοποθετηθεί στη μνήμη. Τώρα μπορούμε να προσεγγίσουμε την ανάλυση του αρχικού μας αρχείου XML απλά απορροφώντας το αρχείο προέλευσης και διαβάζοντάς το, αναζητώντας ετικέτες χρησιμοποιώντας τις ισχυρές και μάλλον κρυπτικές κανονικές εκφράσεις του Perl:

Εάν δεν είστε εξοικειωμένοι με τις κανονικές εκφράσεις στο Perl, αυτή η δεύτερη γραμμή θα φαίνεται αρκετά τρομακτική. Το μόνο που κάνει, όμως, είναι να βρει και να απομονώσει για εμάς οποιοδήποτε μέρος του αρχείου που εμφανίζεται μέσα σε γωνιακές αγκύλες, όπως στο | _+_ |, γιατί ό, τι άλλο μπορεί να είναι αυτό το αγκύλωτο κείμενο, θα είναι κάποιου είδους ετικέτα.

Φυσικά, δεν χρειάζεται να είναι μια συμβατική ετικέτα στοιχείων, οπότε θα πρέπει να περάσετε από μια διαδικασία εξάλειψης για να εξαλείψετε το | _+_ | δήλωση που οδηγεί τη σελίδα, | _+_ | δηλώσεις, σχόλια, οδηγίες επεξεργασίας και μπλοκ CDATA.

Δεν χρειάζεται να τα ορίσετε μόνοι σας, όμως, επειδή ο Michael Leventhal έχει ένα ωραίο σενάριο που χειρίζεται αυτήν την ταξινόμηση ετικετών ως μέρος ενός βοηθητικού προγράμματος που ελέγχει εάν ένα αρχείο XML είναι καλά διαμορφωμένο. (Μπορείτε να το βρείτε, μαζί με ένα ωραίο άρθρο που το εξηγεί λεπτομερώς, στη διεύθυνση http://www.xml.com .) Εάν γράφετε τη δική σας συνάρτηση για να χειρίζεστε κάθε περίπτωση όπως προκύπτει, μπορείτε να εστιάσετε στα απλά παλιά στοιχεία, να ταιριάξετε τα ονόματα ετικετών με αυτά του πίνακα στυλ και να εισαγάγετε τον κατάλληλο κώδικα HTML σε ένα αρχείο εξόδου Ε

Εισαγάγετε τον αναλυτή

το nexus 5x έχει ασύρματη φόρτιση;

Στην πραγματικότητα, μπορείτε να εξοικονομήσετε όλη τη ρύθμιση της εύρεσης ετικετών και του καθορισμού του σκοπού τους, επειδή ο πρόσφατα εισαγόμενος αναλυτής XML χειρίζεται αυτές τις δραστηριότητες με πιο ισχυρό τρόπο.

Το μόνο που έχετε να κάνετε είναι να γράψετε λειτουργίες επανάκλησης για να χειριστείτε τα στοιχεία που σας ενδιαφέρουν ιδιαίτερα. Υπάρχουν τρεις ή τέσσερις συναρτήσεις που πιθανόν να θέλετε να γράψετε:

  • Οι λειτουργίες έναρξης και τερματισμού εκτελούνται όπως θα περιμένατε (όταν βρεθούν ετικέτες έναρξης και λήξης XML)
  • Μια λειτουργία χειρισμού χαρακτήρων εκτελείται σχεδόν για όλες τις ετικέτες για τις οποίες πιθανόν να ανησυχείτε, καλώντας σας με το μη επισημασμένο περιεχόμενο κάθε ετικέτας
  • Μια προεπιλεγμένη συνάρτηση χειρίζεται οτιδήποτε για το οποίο δεν έχετε εκχωρήσει έναν χειριστή (και επειδή δεν μπορείτε να εγγράψετε έναν χειριστή για ετικέτες σχολίων, είναι βολικό να το χρησιμοποιείτε περιστασιακά)

Το παρακάτω είναι μια τυπική, βασική ρύθμιση για τη χρήση του XML :: Parser:

Λοιπόν, τι θα κάνετε όταν καλείται ο χειριστής χαρακτήρων σας; Ποιος ξέρει - είναι πιθανό να είναι κάτι συγκεκριμένο για την εφαρμογή σας της στιγμής. Perhapsσως ψάχνετε για μια συγκεκριμένη σειρά αριθμών, αλλά μόνο εντός | _+_ | ετικέτες.

Σως πρέπει να βεβαιωθείτε ότι η εικόνα της σάρωσης CAT του εγκεφάλου έχει ένα

 $file = ;  
while ($file =~ /[^<]*]+)>/)
# identify and process the element

ετικέτα που ταιριάζει με το αρχείο ασθενών (δεν είναι καλή ιδέα να ανακατεύετε τους ασθενείς σας όταν σχεδιάζετε εγχείρηση εγκεφάλου).

Δεν υπάρχει καμία αμφιβολία ότι οι περισσότεροι από εμάς που συνεργαζόμαστε με τον Ιστό θα ασχοληθούμε με πληροφορίες με μορφοποίηση XML με μεγάλο τρόπο περίπου το επόμενο έτος περίπου. Δεδομένου ότι θα νιώσουμε τον δρόμο μας για λίγο - ολόκληρος ο Ιστός είναι μια ιστορία να βρούμε πώς να κάνουμε πράγματα όπως τα κάνουμε - είναι λογικό να χρησιμοποιούμε εργαλεία που μας επιτρέπουν να καρφώσουμε τα πράγματα βιαστικά Ε

Το Perl είναι ένα εξαιρετικό εργαλείο για αυτό και με το XML :: Parser, έχετε μια μονάδα που κάνει όλες τις εργασίες συλλογής νιτ για εσάς, ώστε να μπορείτε να επικεντρωθείτε στη διαχείριση δεδομένων εφαρμογών και όχι στην ταξινόμηση ενός απειλητικού κουβάρι γωνιακών παρενθέσεων Ε

Αυτή η ιστορία, 'Η νέα μονάδα XML :: Parser είναι η κόλλα που παρέχει μια διεπαφή Perl σε έναν αναλυτή με βάση το C' δημοσιεύτηκε αρχικά απόITworldΕ

Επιλογή Συντάκτη

Η HP αποστέλλει τα πρώτα tablet Windows 8.1 64-bit με Intel Atom

Μετά από μήνες αναμονής, ορισμένα από τα πρώτα tablet 64-bit με Windows 8.1 και τσιπ της Intel's Bay Trail ανακοινώθηκαν από τη Hewlett-Packard.

Η Amazon εξαγοράζει τον προγραμματιστή παιχνιδιών Double Helix Games

Το Amazon.com απέκτησε το στούντιο παιχνιδιών Double Helix Games στο πλαίσιο της στρατηγικής του για την ενίσχυση των παιχνιδιών που προσφέρει στους πελάτες.

Ο δημιουργός του Pretty Good Privacy παραιτείται από το Network Associates

Ο Philip Zimmermann, εφευρέτης του ευρέως χρησιμοποιούμενου πρωτοκόλλου κρυπτογράφησης Pretty Good Privacy (PGP), είπε ότι αυτός και οι Network Associates δεν συμφωνούν πλέον για το μέλλον του PGP.

Η Adobe σκότωσε την ιστορία «Το iPad δεν είναι παραγωγικό»

Η απόφαση της Adobe να τοποθετήσει τις δημιουργικές της εφαρμογές σε iPad σημαίνει ότι δεν υπάρχει πλέον καμία απολύτως δικαιολογία για να υποστηρίξει κανείς ότι τα iPad δεν είναι παραγωγικές συσκευές.

Πώς να χρησιμοποιήσετε το εντοπισμό και το grep για να βρείτε αρχεία σε σύστημα Linux (ή OS X)

Το Linux διαθέτει ισχυρά εργαλεία για να σας βοηθήσει να ανακτήσετε γρήγορα και αποτελεσματικά ένα αρχείο. Αυτή η δωρεάν λήψη PDF θα σας δείξει πώς να χρησιμοποιήσετε δύο από τα πιο χρήσιμα.