Τι είναι ένα αρχείο RDL;
Η RDL (Γλώσσα ορισμού αναφοράς) είναι ένα σημείο αναφοράς που ορίζεται από τη Microsoft για τον καθορισμό αναφορών. Ένα αρχείο RDL αποτελείται από ένα ή πολλά στοιχεία RDL. Ενώ ένα στοιχείο RDL αποτελείται από τον τύπο δεδομένων και την ιδιότητά του. Ένα στοιχείο μπορεί να είναι απλό ή σύνθετο. Το απλό στοιχείο δεν έχει θυγατρικό στοιχείο ή χαρακτηριστικά, ενώ ένα σύνθετο στοιχείο έχει θυγατρικά και προαιρετικά χαρακτηριστικά.
Ορισμός σχήματος RDL XML
Ένα αρχείο XML Schema Definition (XSD) επικυρώνει το αρχείο RDL. Το σχήμα ορίζει τους κανόνες για το πού μπορούν να εμφανιστούν στοιχεία RDL σε ένα αρχείο .rdl. Ένα στοιχείο RDL μπορεί να είναι απλό ή σύνθετο. Ένα απλό στοιχείο δεν έχει θυγατρικά στοιχεία ή χαρακτηριστικά και ένα σύνθετο στοιχείο έχει θυγατρικά και προαιρετικά χαρακτηριστικά.
Δημιουργία RDL
Δεδομένου ότι το RDL είναι ανοιχτό και επεκτάσιμο στη φύση του, μπορούν να κατασκευαστούν πολλές εφαρμογές και εργαλεία που δημιουργούν αρχεία RDL με βάση το σχήμα XML του. Ένας από τους απλούστερους τρόπους δημιουργίας RDL από μια εφαρμογή είναι να χρησιμοποιήσετε τις κλάσεις Microsoft .NET Framework του χώρου ονομάτων System.Xml και του χώρου ονομάτων System.Linq. Συγκεκριμένα, η κλάση XmlTextWriter μπορεί να χρησιμοποιηθεί για τη σύνταξη RDL. Μπορείτε να δημιουργήσετε έναν πλήρη ορισμό αναφοράς από την αρχή μέχρι το τέλος σε οποιαδήποτε εφαρμογή .NET Framework χρησιμοποιώντας το XmlTextWriter. Οι προγραμματιστές μπορούν επίσης να προσθέσουν προσαρμοσμένα στοιχεία αναφοράς με προσαρμοσμένες ιδιότητες για να επεκτείνουν το RDL.
Τύποι RDL
Ο παρακάτω πίνακας παραθέτει τους τύπους και τα χαρακτηριστικά που χρησιμοποιούνται στα στοιχεία RDL.
Τύπος | Περιγραφή |
---|---|
Δυαδικό | Μια ιδιότητα με δυαδική τιμή κωδικοποιημένης βάσης-64. |
Boolean | Μια ιδιότητα με true ή false ως τιμή του αντικειμένου. Εκτός εάν ορίζεται διαφορετικά, η τιμή ενός προαιρετικού Boolean αντικειμένου που έχει παραλειφθεί είναι False. |
Ημερομηνία | Μια ιδιότητα με πλήρως καθορισμένη τιμή ημερομηνίας ή ημερομηνίας που καθορίζεται στη μορφή ημερομηνίας ISO8601: ΕΕΕΕ-ΜΜ-ΗΗ[ΩΗ:ΜΜ[:ΔΔ[.Σ]]]. |
Enum | Μια ιδιότητα με τιμή κειμένου συμβολοσειράς που πρέπει να είναι μία από μια λίστα καθορισμένων τιμών. |
Float | Ένα ακίνητο με κινητή αξία. Μια τελεία (.) χρησιμοποιείται ως το προαιρετικό δεκαδικό διαχωριστικό. |
Ακέραιος | Ιδιότητα με ακέραιο (int32) τιμή. |
Γλώσσα | Μια ιδιότητα με τιμή κειμένου που περιέχει κωδικό γλώσσας και πολιτισμού, όπως “en-us” για τα Αγγλικά των ΗΠΑ. Η τιμή πρέπει να είναι είτε μια συγκεκριμένη γλώσσα είτε μια ουδέτερη γλώσσα για την οποία έχει οριστεί μια προεπιλεγμένη γλώσσα στο Microsoft .NET Framework. |
Όνομα | Ιδιότητα με τιμή κειμένου συμβολοσειράς. Τα ονόματα πρέπει να είναι μοναδικά εντός του χώρου ονομάτων του στοιχείου. Εάν δεν έχει καθοριστεί, ο χώρος ονομάτων για ένα στοιχείο είναι το πιο εσωτερικό αντικείμενο που περιέχει ένα όνομα. |
NormalizedString | Μια ιδιότητα με τιμή κειμένου συμβολοσειράς που έχει κανονικοποιηθεί. |
Μέγεθος | Ένα στοιχείο μεγέθους πρέπει να περιέχει έναν αριθμό (με χαρακτήρα τελείας που χρησιμοποιείται ως προαιρετικό δεκαδικό διαχωριστικό). Ο αριθμός πρέπει να ακολουθείται από έναν προσδιορισμό για μια μονάδα μήκους CSS όπως cm, mm, in, pt ή pc. Ένα κενό μεταξύ του αριθμού και του προσδιοριστή είναι προαιρετικό. Για περισσότερες πληροφορίες σχετικά με τους προσδιοριστές μεγέθους, ανατρέξτε στην ενότητα Αναφορά τιμών και μονάδων CSS. Στο RDL, η μέγιστη τιμή για το Μέγεθος είναι 160 ίντσες. Το ελάχιστο μέγεθος είναι 0 ίντσες. |
Συμβολοσειρά | Μια ιδιότητα με τιμή κειμένου συμβολοσειράς. |
UnsignedInt | Μια ιδιότητα με ανυπόγραφη τιμή ακέραιου αριθμού (uint32). |
Παραλλαγή | Μια ιδιότητα με οποιονδήποτε απλό τύπο XML. |
Τύποι δεδομένων RDL
Στο RDL, η απαρίθμηση τύπου δεδομένων ορίζει τον τύπο δεδομένων ενός χαρακτηριστικού, μιας έκφρασης ή μιας παραμέτρου. Ο παρακάτω πίνακας δείχνει πώς οι τύποι δεδομένων CLR αντιστοιχούν στους τύπους δεδομένων RDL.
Τύπος(οι) CLR | Αντίστοιχος τύπος δεδομένων |
---|---|
Boolean | Boolean |
DateTime, DateTimeOffset | DateTime |
Int16, Int32, UInt16, Byte, SByte | Ακέραιος |
Μονό, Διπλό | Float |
String, Char, GUID, Timespan | String |