XML - แอตทริบิวต์

บทนี้อธิบายถึงไฟล์ XML attributes. แอตทริบิวต์เป็นส่วนหนึ่งขององค์ประกอบ XML องค์ประกอบสามารถมีแอตทริบิวต์ที่ไม่ซ้ำกันได้หลายรายการ แอตทริบิวต์ให้ข้อมูลเพิ่มเติมเกี่ยวกับองค์ประกอบ XML เพื่อให้แม่นยำยิ่งขึ้นพวกเขากำหนดคุณสมบัติขององค์ประกอบ แอตทริบิวต์ XML เป็นคู่ชื่อ - ค่าเสมอ

ไวยากรณ์

แอตทริบิวต์ XML มีไวยากรณ์ต่อไปนี้ -

<element-name attribute1 attribute2 >
....content..
< /element-name>

โดยที่แอตทริบิวต์ 1และแอตทริบิวต์ 2มีรูปแบบต่อไปนี้ -

name = "value"

ค่าจะต้องอยู่ในเครื่องหมายคำพูดคู่ ("") หรือเดี่ยว ('') ที่นี่แอตทริบิวต์ 1และแอตทริบิวต์ 2เป็นป้ายกำกับคุณลักษณะเฉพาะ

แอตทริบิวต์ใช้เพื่อเพิ่มป้ายกำกับเฉพาะให้กับองค์ประกอบวางป้ายกำกับในหมวดหมู่เพิ่มแฟล็กบูลีนหรือเชื่อมโยงกับสตริงข้อมูลบางอย่าง ตัวอย่างต่อไปนี้แสดงให้เห็นถึงการใช้คุณลักษณะ -

<?xml version = "1.0" encoding = "UTF-8"?>
<!DOCTYPE garden [
   <!ELEMENT garden (plants)*>
   <!ELEMENT plants (#PCDATA)>
   <!ATTLIST plants category CDATA #REQUIRED>
]>

<garden>
   <plants category = "flowers" />
   <plants category = "shrubs">
   </plants>
</garden>

แอตทริบิวต์ใช้เพื่อแยกความแตกต่างระหว่างองค์ประกอบที่มีชื่อเดียวกันเมื่อคุณไม่ต้องการสร้างองค์ประกอบใหม่สำหรับทุกสถานการณ์ ดังนั้นการใช้แอตทริบิวต์สามารถเพิ่มรายละเอียดเล็กน้อยในการแยกความแตกต่างขององค์ประกอบที่คล้ายกันตั้งแต่สององค์ประกอบขึ้นไป

ในตัวอย่างข้างต้นเราได้จัดประเภทพืชโดยรวมหมวดหมู่แอตทริบิวต์และกำหนดค่าที่แตกต่างกันให้กับแต่ละองค์ประกอบ ดังนั้นเรามีสองประเภทของพืชซึ่งเป็นหนึ่งในดอกไม้และอื่น ๆ ที่พุ่มไม้ ดังนั้นเราจึงมีองค์ประกอบของพืชสองชนิดที่มีคุณลักษณะที่แตกต่างกัน

คุณสามารถสังเกตได้ว่าเราได้ประกาศแอตทริบิวต์นี้ที่จุดเริ่มต้นของ XML

ประเภทคุณสมบัติ

ตารางต่อไปนี้แสดงประเภทของคุณลักษณะ -

ประเภทคุณสมบัติ คำอธิบาย
StringType ใช้สตริงตัวอักษรใด ๆ เป็นค่า CDATA เป็น StringType CDATA เป็นข้อมูลตัวอักษร ซึ่งหมายความว่าสตริงของอักขระที่ไม่ใช่มาร์กอัปเป็นส่วนที่ถูกกฎหมายของแอตทริบิวต์
TokenizedType

นี่เป็นประเภทที่มีข้อ จำกัด มากกว่า ข้อ จำกัด ด้านความถูกต้องที่ระบุไว้ในไวยากรณ์จะถูกนำไปใช้หลังจากที่ค่าแอตทริบิวต์ถูกทำให้เป็นมาตรฐาน แอตทริบิวต์ TokenizedType ได้รับเป็น -

  • ID - ใช้เพื่อระบุองค์ประกอบที่ไม่ซ้ำกัน

  • IDREF - ใช้เพื่ออ้างอิง ID ที่ถูกตั้งชื่อให้กับองค์ประกอบอื่น

  • IDREFS - ใช้เพื่ออ้างอิง ID ทั้งหมดขององค์ประกอบ

  • ENTITY - ระบุว่าแอตทริบิวต์จะแสดงถึงเอนทิตีภายนอกในเอกสาร

  • ENTITIES - ระบุว่าแอตทริบิวต์จะแสดงถึงเอนทิตีภายนอกในเอกสาร

  • NMTOKEN - คล้ายกับ CDATA โดยมีข้อ จำกัด เกี่ยวกับข้อมูลที่สามารถเป็นส่วนหนึ่งของแอตทริบิวต์ได้

  • NMTOKENS - คล้ายกับ CDATA โดยมีข้อ จำกัด เกี่ยวกับข้อมูลที่สามารถเป็นส่วนหนึ่งของแอตทริบิวต์ได้

EnumeratedType

มีรายการค่าที่กำหนดไว้ล่วงหน้าในการประกาศ ซึ่งจะต้องกำหนดหนึ่งค่า แอตทริบิวต์ที่แจกแจงมีสองประเภท -

  • NotationType - ประกาศว่าองค์ประกอบจะถูกอ้างอิงถึงการแจ้งเตือนที่ประกาศไว้ที่อื่นในเอกสาร XML

  • Enumeration - การแจงนับช่วยให้คุณสามารถกำหนดรายการค่าเฉพาะที่ค่าแอตทริบิวต์ต้องตรงกัน

กฎแอตทริบิวต์องค์ประกอบ

ต่อไปนี้เป็นกฎที่ต้องปฏิบัติตามสำหรับคุณลักษณะ -

  • ชื่อแอตทริบิวต์ต้องไม่ปรากฏมากกว่าหนึ่งครั้งในแท็กเริ่มต้นเดียวกันหรือแท็กองค์ประกอบว่าง

  • ต้องประกาศแอตทริบิวต์ใน Document Type Definition (DTD) โดยใช้ Attribute-List Declaration

  • ค่าแอตทริบิวต์ต้องไม่มีการอ้างอิงเอนทิตีโดยตรงหรือโดยอ้อมไปยังเอนทิตีภายนอก

  • ข้อความแทนที่ของเอนทิตีใด ๆ ที่อ้างถึงโดยตรงหรือโดยอ้อมในค่าแอตทริบิวต์ต้องไม่มีเครื่องหมายน้อยกว่า (<)