Προσαρμοστικές ιδιότητες XSD

所有的属性均作为简易类型来声明。

什么是属性?

简易元素无法拥有属性。假如某个元素拥有属性,它就会被当作某种复合类型。但是属性本身总是作为简易类型被声明的。

如何声明属性?

定义属性的语法是:


在此处,xxx 指属性名称,yyy 则规定属性的数据类型。XML Schema 拥有很多内建的数据类型。

最常用的类型是:

  • xs:string
  • xs:decimal
  • xs:integer
  • xs:boolean
  • xs:date
  • xs:time

实例

这是带有属性的 XML 元素:

Smith

这是对应的属性定义:

<xs:attribute name="lang" type="xs:string"/>

Προεπιλεγμένες και σταθερές τιμές χαρακτηριστικών

Τα χαρακτηριστικά μπορούν να έχουν καθορισμένη προεπιλεγμένη ή σταθερή τιμή.

Αν δεν οριστεί άλλη τιμή, η προεπιλεγμένη τιμή θα ανατεθεί αυτόματα στο στοιχείο.

Στο παρακάτω παράδειγμα, η προεπιλεγμένη τιμή είναι "EN":

<xs:attribute name="lang" type="xs:string" default="EN"/>

Η σταθερή τιμή θα ανατεθεί αυτόματα και δεν μπορείτε να ορίσετε άλλη τιμή.

Στο παρακάτω παράδειγμα, η σταθερή τιμή είναι "EN":

<xs:attribute name="lang" type="xs:string" fixed="EN"/>

Προαιρετικά και υποχρεωτικά χαρακτηριστικά

Σε προεπιλογή, τα χαρακτηριστικά είναι προαιρετικά. Για να ορίσετε τα χαρακτηριστικά ως υποχρεωτικά, χρησιμοποιήστε την ιδιότητα "use":

<xs:attribute name="lang" type="xs:string" use="required"/>

Περιορισμοί περιεχομένου

Όταν το στοιχείο ή η ιδιότητα του XML έχει ορισμένο τύπο δεδομένων, προστίθενται περιορισμοί στο περιεχόμενο του στοιχείου ή της ιδιότητας.

Αν ο τύπος του στοιχείου XML είναι "xs:date" και το περιεχόμενό του είναι μια αλφαριθμητική ακολουθία όπως "Hello World", το στοιχείο δεν θα επαληθευτεί.

Με το XML schema, μπορείτε επίσης να προσθέσετε τις δικές σας περιορισμούς στα στοιχεία και τις ιδιότητες του XML. Αυτοί οι περιορισμοί ονομάζονται facet (σημειώσεις: σημαίνει(πολυέδρεια) όψη, μπορεί να μεταφραστεί ως περιορισμός όψη). Θα μάθετε περισσότερα για το facet στη συνέχεια.