डीटीडी - गुण
DTD में, विशेषताएँ ATTLIST घोषणा के साथ घोषित की जाती हैं।
गुण घोषित करना
एक विशेषता घोषणा में निम्नलिखित सिंटैक्स होता है:
<!ATTLIST element-name attribute-name attribute-type attribute-value>
DTD example:
<!ATTLIST payment type CDATA "check">
XML example:
<payment type="check" />
विशेषता-प्रकार निम्न में से एक हो सकता है:
Type | Description |
---|---|
CDATA | The value is character data |
(en1|en2|..) | The value must be one from an enumerated list |
ID | The value is a unique id |
IDREF | The value is the id of another element |
IDREFS | The value is a list of other ids |
NMTOKEN | The value is a valid XML name |
NMTOKENS | The value is a list of valid XML names |
ENTITY | The value is an entity |
ENTITIES | The value is a list of entities |
NOTATION | The value is a name of a notation |
xml: | The value is a predefined xml value |
विशेषता-मान निम्न में से एक हो सकता है:
Value | Explanation |
---|---|
value | The default value of the attribute |
#REQUIRED | The attribute is required |
#IMPLIED | The attribute is optional |
#FIXED value | The attribute value is fixed |
एक डिफ़ॉल्ट विशेषता मान
DTD:
<!ELEMENT square EMPTY>
<!ATTLIST square width CDATA "0">
Valid XML:
<square width="100" />
उपरोक्त उदाहरण में, "वर्ग" तत्व को सीडीएटीए प्रकार की "चौड़ाई" विशेषता के साथ एक खाली तत्व के रूप में परिभाषित किया गया है। यदि कोई चौड़ाई निर्दिष्ट नहीं है, तो इसका डिफ़ॉल्ट मान 0 है।
#आवश्यक
वाक्य - विन्यास
<!ATTLIST element-name attribute-name attribute-type #REQUIRED>
उदाहरण
DTD:
<!ATTLIST person number CDATA #REQUIRED>
Valid XML:
<person number="5677" />
Invalid XML:
<person />
यदि आपके पास डिफ़ॉल्ट मान के लिए कोई विकल्प नहीं है, तो #REQUIRED कीवर्ड का उपयोग करें, लेकिन फिर भी विशेषता को मौजूद रहने के लिए बाध्य करना चाहते हैं।
#निहित
वाक्य - विन्यास
<!ATTLIST element-name attribute-name attribute-type #IMPLIED>
उदाहरण
DTD:
<!ATTLIST contact fax CDATA #IMPLIED>
Valid XML:
<contact fax="555-667788" />
Valid XML:
<contact />
#IMPLIED कीवर्ड का उपयोग करें यदि आप लेखक को एक विशेषता शामिल करने के लिए बाध्य नहीं करना चाहते हैं, और आपके पास डिफ़ॉल्ट मान के लिए कोई विकल्प नहीं है।
#फिक्स्ड
वाक्य - विन्यास
<!ATTLIST element-name attribute-name attribute-type #FIXED "value">
उदाहरण
DTD:
<!ATTLIST sender company CDATA #FIXED "Microsoft">
Valid XML:
<sender company="Microsoft" />
Invalid XML:
<sender company="W3Schools" />
#FIXED कीवर्ड का उपयोग तब करें जब आप लेखक को बदलने की अनुमति दिए बिना किसी विशेषता का एक निश्चित मान रखना चाहते हैं। यदि किसी लेखक में कोई अन्य मान शामिल है, तो XML पार्सर एक त्रुटि लौटाएगा।
प्रगणित विशेषता मान
वाक्य - विन्यास
<!ATTLIST element-name attribute-name (en1|en2|..) default-value>
उदाहरण
DTD:
<!ATTLIST payment type (check|cash) "cash">
XML example:
<payment type="check" />
or
<payment type="cash" />
एन्यूमरेटेड विशेषता मानों का उपयोग तब करें जब आप चाहते हैं कि विशेषता मान कानूनी मानों के एक निश्चित सेट में से एक हो।