ใน DTD เป็นคุณลักษณะที่ได้รับการประกาศให้มีการประกาศ ATTLIST
ประกาศแอตทริบิวต์
การประกาศแอตทริบิวต์มีไวยากรณ์ต่อไปนี้:
<!ATTLIST element-name attribute-name attribute-type attribute-value>
DTD example:
<!ATTLIST payment type CDATA "check">
XML example:
<payment type="check" />
attribute-type สามารถเป็นหนึ่งต่อไปนี้:
ชนิด | ลักษณะ |
---|---|
CDATA | ค่าเป็นข้อมูลตัวอักษร |
( en1 | en2 |..) | ค่าต้องเป็นหนึ่งจากรายการที่ระบุ |
ID | ค่าที่เป็นรหัสเฉพาะ |
IDREF | ค่าเป็น ID ของส่วนอื่น |
IDREFS | ค่าเป็นรายการรหัสอื่น ๆ |
NMTOKEN | ค่าที่เป็นชื่อ XML ที่ถูกต้อง |
NMTOKENS | ค่าเป็นรายชื่อ XML ที่ถูกต้อง |
ENTITY | ค่าเป็นกิจการ |
ENTITIES | ค่าเป็นรายชื่อของหน่วยงาน |
NOTATION | ค่าที่เป็นชื่อของสัญกรณ์เป็น |
xml: | ค่าที่เป็นค่า XML ที่กำหนดไว้ล่วงหน้า |
attribute-value สามารถเป็นหนึ่งต่อไปนี้:
ความคุ้มค่า | คำอธิบาย |
---|---|
value | ค่าเริ่มต้นของแอตทริบิวต์ |
#REQUIRED | แอตทริบิวต์เป็นสิ่งจำเป็น |
#IMPLIED | แอตทริบิวต์เป็นตัวเลือก |
#FIXED value | ค่าแอตทริบิวต์ได้รับการแก้ไข |
มูลค่าเริ่มต้นแอตทริบิวต์
DTD:
<!ELEMENT square EMPTY>
<!ATTLIST square width CDATA "0">
Valid XML:
<square width="100" />
ในตัวอย่างข้างต้น "square" องค์ประกอบที่ถูกกำหนดให้เป็นองค์ประกอบที่ว่างเปล่ากับ "width" แอตทริบิวต์ประเภท CDATA ถ้าไม่มีความกว้างที่ระบุไว้ก็มีค่าเริ่มต้นของ 0
#REQUIRED
วากยสัมพันธ์
<!ATTLIST element-name attribute-name attribute-type #REQUIRED>
ตัวอย่าง
DTD:
<!ATTLIST person number CDATA #REQUIRED>
Valid XML:
<person number="5677" />
Invalid XML:
<person />
ใช้คำหลักที่ #REQUIRED ถ้าคุณไม่ได้มีตัวเลือกสำหรับค่าเริ่มต้น แต่ยังคงต้องการที่จะบังคับให้แอตทริบิวต์ที่จะนำเสนอ
#IMPLIED
วากยสัมพันธ์
<!ATTLIST element-name attribute-name attribute-type #IMPLIED>
ตัวอย่าง
DTD:
<!ATTLIST contact fax CDATA #IMPLIED>
Valid XML:
<contact fax="555-667788" />
Valid XML:
<contact />
ใช้คำหลักที่ #IMPLIED ถ้าคุณไม่ต้องการที่จะบังคับให้ผู้เขียนได้รวมถึงคุณลักษณะและคุณไม่ได้มีตัวเลือกสำหรับการค่าเริ่มต้นหนึ่ง
#FIXED
วากยสัมพันธ์
<!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="w3ii" />
ใช้คำหลักที่ #FIXED เมื่อคุณต้องการแอตทริบิวต์ที่จะมีค่าคงที่โดยไม่อนุญาตให้ผู้เขียนที่จะเปลี่ยนมัน ถ้าผู้เขียนมีค่าอื่น parser 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" />
ใช้ค่าแอตทริบิวต์ที่ระบุเมื่อคุณต้องการค่าแอตทริบิวต์จะเป็นหนึ่งในชุดที่คงที่ของค่าทางกฎหมาย