آموزش XML-ویژگی ها
عناصر XML، درست مثل HTML میتوانند دارای صفت باشند.
صفت های XML اطلاعات بیشتری را درباره یک عنصر ارائه میدهند.
صفتهای XML
در HTML صفتها اطلاعات بیشتری درباره یک عنصر ارائه میدهد:
<a href="demo.asp">
صفتها معمولا اطلاعاتی را ارائه میدهند که قسمتی از داده نیستند. در مثال زیر نوع فایل ربطی به محتویات داده ندارد, اما میتوانند برای نرمافزارهایی که قصد دستکاری کردن عناصر را دارند مهم باشند.
صفتهای XML باید درون کوتیشن قرار بگیرند
مقدار صفتها همیشه باید درون کوتیشن قرار بگیرند. هم میتوان از دبلکوتیشن (" ") استفاده کرد و هم از تککوتیشن(' ').عنصر <person> برای مشخص کردن جنسیت اشخاص میتواند مانند زیر نوشته شود:
یا شبیه به این:
اگر مقدار صفتها خودشان شامل دبلکوتیشن (" ") بودند, شما میتوانید از تککوتیشن استفاده کنید. مانند مثال زیر:
یا میتوانید از کاراکترهای ویژه استفاده کنید:
عناصر یا صفت ها !
به مثالهای زیر دقت کنید:
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>
<gender>female</gender>
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>
در مثال اول gender (جنسیت) یک صفت است. در مثال دوم gender یک عنصر است. هر دو مثال شامل اطلاعات یکسانی هستند.
هیچ قانونی وجود ندارد در مورد اینکه چه موقع از صفت استفاده شود و چه موقع از عنصر. صفتها در HTML سودمند هستند اما پیشنهاد من این است که از آنها در XML استفاده نکنید و در عوض از عناصر استفاده کنید.
روش مورد علاقه من
هر سه سند XML زیر شامل اطلاعاتی دقیقا یکسان هستند:
در مثال اول از یک صفت date (تاریخ) استفاده شده است:
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
در مثال دوم از یک عنصر date استفاده شده است:
<date>2008-01-10</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
در مثال سوم از یک عنصر بازشده date استفاده شده است: (این روش مورد علاقه من است):
<date>
<year>2008</year>
<month>01</month>
<day>10</day>
</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
چرا بهتر است از صفات، در XML اجتناب کنیم؟
بعضی از مشگلاتی که در صورت استفاده از صفات وجود دارد:
- صفتها نمیتوانند شامل چندین مقدار باشند(عناصر میتوانند)
- صفتها نمیتوانند شامل یک ساختار درختی باشند(عناصر میتوانند)
- صفتها به راحتی قابل توسعه نیستند(برای تغییرات آینده)
نگهداری و خواندن صفات مشگل است. برای دادهها از عناصر استفاده کنید و از صفتها برای اطلاعاتی که ربطی به دادهها ندارند استفاده کنید.
هیچوقت اینگونه عمل نکنید:
to="Tove" from="Jani" heading="Reminder"
body="Don't forget me this weekend!">
</note>
صفتهای XML به عنوان متادادهها
متاداده(Metadata): دادههایی هستند که اطلاعاتی را درباره دادههای دیگر تعریف کرده و ارائه میدهند.
بعضی اوقات صفت ID به عناصر اختصاص داده میشود. این ID ها میتوانند برای شناسایی عناصر XML به کار بروند همانطور که از آنها در HTML استفاده میشود. این مثال این موضوع را نشان میدهد:
<note id="501">
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
<note id="502">
<to>Jani</to>
<from>Tove</from>
<heading>Re: Reminder</heading>
<body>I will not</body>
</note>
</messages>
صفتهای ID بالا برای شناسایی یادداشتهای مختلف استفاده شدهاند.این ID ها قسمتی از خود یادداشت نیستند.
مفهوم حرفهای من این است که متادادهها(دادههایی در مورد دادهها) باید در صفتها قرار بگیرند، ولی خود دادهها در عناصر قرار بگیرند.
- نوشته شده توسط میلاد نظری
- بازدید: 8978