Μια από τις βασικές απαιτήσεις για τη μακροπρόθεσμη εμμονή στοιχείων είναι η δυνατότητα να κινηθούν τα στοιχεία μεταξύ της αρχειοθέτησης των συστημάτων ή, στη γλώσσα της (εκτατή μέθοδος προσπέλασης) προδιαγραφής SNIA XAM, που κινεί XSets μεταξύ XSystems.
Η v1.0 προδιαγραφή XAM υποστηρίζει αυτήν την απαίτηση με την παροχή της υποστήριξης για την εξαγωγή και την εισαγωγή Xsets. Διευκρινίζει τις μεθόδους που χρησιμοποιούνται για να εξαγάγουν ένα XSet από ένα XSystem, το επακόλουθο κανονικό σχήμα ανταλλαγής στοιχείων XSet (συσκευασία) και τις μεθόδους που χρησιμοποιούνται για να εισαγάγουν ένα Xset σε ένα Xsystem.
Αυτή η θέση υποθέτει ότι εξοικειώνεστε κάπως με XAM και πώς να προγραμματίσετε σε εκείνη την προδιαγραφή χρησιμοποιώντας την Ιάβα. Εστιάζει στο σχήμα και το περιεχόμενο της κανονικής συσκευασίας σχήματος XSet που αποτελείται από δύο κύρια μέρη: ένα έγγραφο XML που περιγράφει τις πολιτικές, τις ιδιότητες και τα ρεύματα ενός ή περισσότερου XSets που ακολουθούνται από τη δυαδική αντιπροσώπευση του ρεύματος.
Το σχήμα συσκευασίας προσαρμόζεται στη βελτιστοποιημένη σύσταση συσκευασίας του 2005 W3C xML-δυαδικό (XOP). Για να αναφέρει τη σύσταση:
XOP καθορίζει έναν serialization γενικού σκοπού μηχανισμό για το XML Infoset με το δυαδικό περιεχόμενο που ισχύει όχι μόνο στο ΣΑΠΟΎΝΙ και τη συσκευασία MIME, αλλά σε οποιοδήποτε XML Infoset και οποιοδήποτε συσκευάζοντας μηχανισμό.
Εάν είστε άγνωστοι με XOP, και οι περισσότεροι άνθρωποι είναι, ένα άρθρο από Andrey Butov στο ζήτημα Δεκεμβρίου 2005 του περιοδικού Dobb γιατρών περιείχε μια καλή εισαγωγή.
Περισσότερα από ένα XSet μπορούν να περιληφθούν σε μια συσκευασία. Εντούτοις η τρέχουσα εφαρμογή αναφοράς XAM SDK υποστηρίζει μόνο ένα XSet. Το έγγραφο XML (AKA η προκήρυξη XSet) είναι ένα έγκυρο και καλοσχηματισμένο έγγραφο XML το του οποίου στοιχείο ρίζας είναι xsets. Μπορεί να αναλυθεί και να χειριστεί χρησιμοποιώντας XSLT και άλλα εργαλεία XML. Το παράρτημα Β του εγγράφου αρχιτεκτονικής XAM περιέχει έναν καθορισμό σχημάτων XML (XSD) για την προκήρυξη XSet.
Προκειμένου να μελετηθεί το σχήμα συσκευασίας λεπτομερέστερα, έγραψα μια μικρή εφαρμογή της Ιάβας αποκαλούμενη StoreHelloWorld που δημιουργεί ένα νέο XSet περιέχοντας δύο XStreams. Το πρώτο Xstream περιέχει το κωδικό πηγής για το πανταχού παρόν πρόγραμμα HelloWorld.java. Το δεύτερο XStream περιέχει το δυαδικό αντικείμενο HelloWorld.class που κωδικοποιείται σε base64 και με έναν τύπο MIME εφαρμογής/του base64. Κανονικά δεν πρέπει να κωδικοποιήσετε ένα XStream αλλά η επίδειξη των δυαδικών αρχείων σε ένα blog είναι προβληματική και ως εκ τούτου workaround.
Εδώ είναι ο κωδικός πηγής για StoreHelloWorld. εισαγωγή java.io.Bu fferedOutputStream εισαγωγή java.io.Bu fferedInputStream εισαγωγή java.io.Bu fferedReader εισαγωγή java.io.Fi LE εισαγωγή java.io.Fi leInputStream εισαγωγή java.io.Fi leOutputStream leNotFoundException του java.io.Fi εισαγωγών εισαγωγή java.io.Fi leWriter εξαίρεση του java.io.IO εισαγωγών εισαγωγή java.io.In putStreamReader εισαγωγή java.io.In putStream

























