صفات در xml
یادگیری XMLعناصر XML می توانند مانند HTML صفت هایی داشته باشند
صفت ها برای دربرگرفتن داده های مرتبط با یک عنصر خاص طراحی شده اند. صفت های XML باید داخل کوتیشن نوشته شوند. مقدار صفت ها همیشه باید داخل علامت کوتیشن نوشته شوند. هر دو حالت علامت تک کوتیشن یا جفت کوتیشن می توانند استفاده شوند.
برای جنسیت یک فرد می توان عنصر <person> را اینگونه نوشت :
یا اینگونه :
اگر مقدار صفت خودش شامل علامت کوتیشن جفت باشد ، می توانید از تک کوتیشن استفاده کنید. مانند مثال زیر :
یا می توانید از جایگزین کاراکتر ها استفاده کنید :
عناصر XML در مقابل صفات
به مثال های زیر توجه کنید :
<firstname>سیمین </firstname>
<lastname>بهبهانی</lastname>
</person>
<gender>مونث</gender>
<firstname>سیمین </firstname>
<lastname>بهبهانی</lastname>
</person>
در مثال اول ، جنسیت یک صفت است ، اما در مثال بعدی ، یک عنصر است. اما هر دو حالت ، اطلاعات یکسانی ارائه می دهند.
در XML قانونی برای تعیین اینکه چه زمانی از صفت استفاده کنیم یا چه زمانی از عنصر ، وجود ندارد.
اسناد XML که در زیر می بینید ، شامل اطلاعات یکسانی می باشند :
در اولین مثال صفت date استفاده شده است :
<to>خرضونه خانم</to>
<from>خرضو خان</from>
</note>
در مثال دوم عنصر <date> استفاده شده است :
<date>2018-01-10</date>
<to>خرضونه خانم</to>
<from>خرضو خان</from>
</note>
در مثال سوم عنصر گسترده <date> استفاده شده است : (این روش حرفه ای تر است)
<date>
<year>2018</year>
<month>01</month>
<day>10</day>
</date>
<to>خرضونه خانم</to>
<from>خرضو خان</from>
</note>
صفات یا عناصر؟
نکاتی برای رعایت در استفاده از صفات :
- صفات نمی توانند حاوی مقادیر چندگانه باشند. (عناصر می توانند)
- صفات نمی توانند حاوی ساختار درختی باشند. (عناصر می توانند)
- صفات به راحتی گسترده نمی شوند (برای تغییرات در آینده)
با نوشتن اسناد XML بصورت زیر به خودتان ظلم نکنید :
to="خرضونه خانم" from="خرضو خان" heading="یادآور"
body="اومدنی گرد نخود یادت نره">
</note>
استفاده از صفات XML برای ابر داده
گاهی اوقات مرجع ID ها به عناصر اختصاص داده می شوند. این ID ها می توانند برای تعیین هویت عناصر XML به کار گرفته شوند. درست به همان روش که در HTML و با صفت id انجام می شود. مثال زیر این مسئله را نمایش می دهد :
<note id="501">
<to> خرضونه خانم </to>
<from> خرضو خان </from>
<heading> یادآور </heading>
<body> اومدنی گرد نخود یادت نره </body>
</note>
<note id="502">
<to> خرضو خان </to>
<from> خرضونه خانم </from>
<heading>پاسخ به یادآور </heading>
<body>یادم نمیره</body>
</note>
</messages>
صفت id در مثال های بالا برای شناسایی یادداشت ها می باشد و جزو خود یادداشت نیست.
منظور اصلی ما در این است که برای ابرداده ها (metadata : داده در مورد داده) باید از صفت و برای خود داده ها باید از عناصر استفاده کنیم.
نظر شما
>