اموزشxml -تا اخرین بخش
مقدمه و معرفی
![]()
سر فصل ها:
مقدمه و اموزش xml :
مقدمه و معرفیxml- تدوین شد![]()
کاربرد و استفاده ازxml- تدوین شد![]()
معرفی نرم افزار های ویرایشگرxml - تدوین شد
ساختار دستوریxml:
ساختار دستوریsyntaxدرxml- تدوین شد![]()
ساختار درختی فایل ها در xml- تدوین شد![]()
المنت هایxml- تدوین شد![]()
خواص تگ های XML- تدوین شد![]()
اعتبار سنجی اسناد درxml- تدوین شد![]()
مشاهدا و قالب بندی فایل ها:
مشاهده فایل های xmlدر مرورگر-تدوین شد![]()
قالب بندی فایل های XML با CSS-تدوین شد
قالب بندی فایل های XML با XSLT-تدوین شد![]()
جاوا اسکریپت و xml:
کار با شی xml HTTP REQUEST-تدوین شد![]()
مفسر xml در جاوا اسکریپت( parser )-تدوین شد![]()
مفهوم و نحوه ی کار با مدل XML DOM-تدوین شد![]()
وارد کردن اطلاعات یک فایلXMLدرHTML-تدوین شد![]()
ایجاد یک برنامه باXML-تدوین شد![]()
تکنیکE4Xدر XML-تدوین شد![]()
مباحث پیشرفته درXML:
Namespaceها درxml-تدوین شد![]()
CDATA در XML(قرارد دادن کد های غیرXMLو توضیحات)-تدوین شد![]()
encodingدر فایل هایxmlتدوین شد![]()
نگهداری فایل هایxmlدر سرور-تدوین شد![]()
کار با مدلxml dom(پیشرفته)-تدوین شد![]()
استفاده ازxmlدر زندگی!-تدوین شد![]()
سایر تکنولوژی های xml-تدوین شد![]()
xmlچیست؟
XML مخفف عبارت Xtensible Markup Language ، به معنای زبان فرا متنی قابل توسعه است .
زبان فرامتنی در اصطلاح به زبانی گفته می شود که با استفاده از یکسری علام و یا نشانه ها ، به کاربر و یا هر برنامه دیگری که اطلاعات به آن وارد می شود ، می فهماند که اطلاعات را چگونه ویرایش و یا استفاده نماید .
برای مثال همانطور که می دانید ، HTML یک زبان فرا متنی است . در HTML نشانه هایی به نام تگ داریم . هنگامی که شما یک متن را بین تگ باز و بسته < b > < /b > قرار دهید ، مرورگر متوجه می شود که آن متن را باید به صورتتوپر نمایش دهد . XML هم همانند HTML ، یک زبان فرامتنی است و در آن از تگ ها و نشانه هایی برای دسته بندی و انتفال اطلاعات استفاده می شود .
XML با هدف نگهداری و انتقال اطلاعات طراحی شده است و نه برای نمایش آنها .
تگ ها و نشانه های XML از قبل تعریف نشده اند ، بلکه کاربر بر حسب نیاز و کاری که می خواهد انجام دهد ، تگ های دلخواه خود را ایجاد می کند .
به همین دلیل به XML یک زبان قابل توسعه می گویند ، چون شما می توانید هر چه قدر که نیاز داشته باشید ، برای خود تگ های جدید ایجاد نمایید .
تفاوت xml , html
XML به هیچ عنوان جایگزین HTML نیست ، بلکه هر دو دارای ساختار فرامتنی هستند و فقط از این جهت شبیه هم می باشند .
XML و HTML هر کدام با اهداف متفاوتی طراحی شده اند :
- XML برای نگهداری و انتقال اطلاعات طراحی شده است و تمرکز آن بر این است که اطلاعات چیست و چگونه باید نگهداری شود
- HTML برای نمایش اطلاعات در خروجی طراحی شده است و تمرکز آن بر چگونگی و ظاهر نمایش اطلاعات است .
قبل از مطالعه xmlچه باید بدانید؟
قبل از اینکه به مطالعه بخش آموزش XML بپردازید ، باید با زبان های زیر آشنایی و تسلط کافی داشته باشید .
چنانچه با این زبان ها آشنا نیستید ، به بخش های آموزشی آنها در سایت بروید :
- HTML
- جاوا اسکریپت
xmlکار خاصی انجام نمیدهد!
شاید درک این مسئله کمی سخت باشد ، اما XML کار خاصی انجام نمی دهد . XML برای دسته بندی ، نگهداری و انتقال اطلاعات طراحی شده است و خودش خروجی بر روی صفحه ندارد .
در مثال زیر یک نمونه ساده از کد XML را برای درک بهتر این زبان نمایش داده ایم . در این قطعه کد زیر Ali به Hamed یک نامه با عنوان و متن مورد نظر خود ارسال کرده است . به کد دقت کنید :
<note> <to>Hamed</to> <from>Ali</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>
به نکات زیر توجه نمایید :
- تمامی تگ هایی که در قطعه کد بالا قرار داده شده اند ، توسط طراح نامه تعیین شده و هیچ کدام قبلا در زبان XML وجود نداشته اند .
- هر تگی که باز شده است ، همانند تگ ها در HTML ، توسط یک تگ متناظر بسته شده است . برای مثال < to > < /to > .
- قطعه کد بالا ، فقط برای نگهداری و یا ارسال یک قطعه کد استفاده شده است و خودش به تنهایی کار خاصی انجام نداده و خروجی بر روی صفحه ندارد . برای نمایش آن باید قطعه کدی به زبان HTML یا مثلا ASP.Net بنویسید .
به وسیلهxml شما تگ های خودتان رو ساخته و استفاده کنید:
همانطور که قیلا گفتیم ، XML دارای تگ های از پیش تعریف شده نیست ، برخلاف HTML که تمام تگ های آن از قبل تعیین شده اند .
کاربر برای استفاده از XML به راحتی می تواند تگ های مورد نظر خود را ایجاد و استفاده نمایید . برای مثال در قطعه کد نمونه ، تگ های < to > < /to > یا < from > < /form > ، توسط طراح تعیین و ابداع شده اند .
فقط نکته مهم در تعیین و استفاده از تگ های XML ، یکسان بودن تمام تگ ابندایی و انتهایی و قرار گیری صحیح آنهاست .
نتیجه گیری xml:
XML یک زبان باز و قابل توسعه برای نگهداری و انتقال اطلاعات است . هر کاربر در این زبان می تواند تگ های دلخواه خود را ابداع و استفاده نماید .
نگهداری فایل های XML بر روی سرور :
فایل های XML ، همانند فایل های HTML از متن ( text ) خالی تشکیل شده اند و توسط تمامی سرورهای مختلف وب می توانند تولید شده و نگهداری شوند . در این بخش به راه های مختلف تولید و نگهداری فایل XML بر روی انواع سرورها پرداخته ایم .
نگهداری یک فایل XML بر روی سرور :
فایل های XML ، دقیقا همانند فایل های HTML و به همان راحتی قابل ایجاد و نگهداری بر روی سرور هستند .
برای ایجاد یک فایل XML ساده ، ویرایشگر Notepad ویندوز را باز کرده و کدهای زیر را درون آن بنویسید . سپس فایل ایجاد شده را با یک نام دلخواه مثل " note.xml " ، ذخیره نمایید .
<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
<from> Hamed </from>
<to> Ali </to>
<message>Remember me this weekend</message>
</note>
ایجاد و نگهداری یک فایل XML بر روی سرور ASP :
فایل های XML بر روی سرور بدون نیاز به نصب نرم افزار خاصی قابل ایجاد و نگهداری هستند .
برای ایجاد یک فایل XML توسط سرور ASP به صورت Run Time ، کد زیر را در یک فایل ASP نوشته و آن را ذخیره نمایید .
در هنگامی اجرای فایل ASP زیر ، فایل XML تولید و بر روی سرور ذخیره می شود .
نکته : حتما توجه داشته باشید که مقدار خاصیت content type در دستور فوق باید "text/xml" باشد .
<%
response.ContentType="text/xml"
response.Write("<?xml version='1.0' encoding='ISO-8859-1'?>")
response.Write("<note>")
response.Write("<from>Hamed</from>")
response.Write("<to>Ali</to>")
response.Write("<message>Remember me this weekend</message>")
response.Write("</note>")
%>
ایجاد و نگهداری یک فایل XML بر روی یک سرور PHP :
برای ایجاد یک فایل XML به صورت Run Time ، بر روی یک سرور PHP ، کد زیر را در یک فایل PHP نوشته و ذخیره نمایید .
در هنگامی اجرای فایل PHP زیر ، فایل XML تولید و بر روی سرور ذخیره می شود .
نکته : حتما توجه داشته باشید که مقدار خاصیت content type در دستور فوق باید "text/xml" باشد .
<?php
header("Content-type: text/xml");
echo "<?xml version='1.0' encoding='ISO-8859-1'?>";
echo "<note>";
echo "<from>Hamed</from>";
echo "<to>Ali</to>";
echo "<message>Remember me this weekend</message>";
echo "</note>";
?>
ایجاد و نگهداری یک فایل XML با استفاده از مقادیر موجود در پایگاه داده :
در مثال زیر قصد داریم تا اطلاعات فیلدهای fname و lname را از جدول tblGuestBook از یک پایگاه داده SQL Server خوانده و سپس اطلاعات را در یک فایل XML ذخیره نماییم .
برای این منظور بایستی کدی مشابه کد زیر را نوشته و آن را تحت عنوان یک فایل ASP ذخیره کنید .
توضیج مثال :
- این بخش کد نوع فایل XML را مشخص کرده و سپس یک اتصال به پایگاه داده مورد نظر را به زبان ASP کرده و آدرس و نام فایل پایگاه داده را تعیین می کند .
- این بخش از کد دستور انتحاب اطلاعات از پایگاه داده را تعیین کرده و سپس در خط دوم ، آن را اجرا کرده است . مقادیر استخراجی در متغیر rs ذخیره می شوند .
- این بخش از کد ، فایل XML را می سازد . دارای یک حلقه است ، که به ازای هر عضو یا رکورد پایگاه داده ، یک عنصر XML را می سازد و در فایل ذحیره می کند .
- در بخش آخر نیز ، اتصال باز شده به پایگاه داده بسته شده و گام آخر تولید فایل XML نوشته شده .
<%
response.ContentType = "text/xml"
set conn=Server.CreateObject("ADODB.Connection")
conn.provider="Microsoft.Jet.OLEDB.4.0;"
conn.open server.mappath("/db/database.mdb")
sql="select fname,lname from tblGuestBook"
set rs=Conn.Execute(sql)
response.write("<?xml version='1.0' encoding='ISO-8859-1'?>")
response.write("<guestbook>")
while (not rs.EOF)
response.write("<guest>")
response.write("<fname>" & rs("fname") & "</fname>")
response.write("<lname>" & rs("lname") & "</lname>")
response.write("</guest>")
rs.MoveNext()
wend
rs.close( )
conn.close( )
response.write("</guestbook>")
%>
ذخیره یک فایل XML بر روی سرو ASP :
پس از اینکه یک فایل XML را ساختید ، باید به وسیله یک دستوری آن را بر روی سرور ذخیره Save نمایید . در کد این مثال نحوه استفاده از این متد را نمایش داده ایم :
برای این منظور بایستی کدی مشابه کد زیر را نوشته و آن را تحت عنوان یک فایل ASP ذخیره کنید .
<% text="<note>"
text=text & "<to>Tove</to>"
text=text & "<from>Jani</from>"
text=text & "<heading>Reminder</heading>"
text=text & "<body>Don't forget me this weekend!</body>"
text=text & "</note>" set xmlDoc=Server.CreateObject("Microsoft.XMLDOM")
xmlDoc.async=false
xmlDoc.loadXML(text) xmlDoc.Save("test.xml") %>
Encoding فایل ها در XML :
های XML می توانند شامل کاراکترهای غیر اسکی ( کاراکترهای غیر ASCII ) مثل کاراکترهای زبان فرانسه ، عربی و ... باشند . وجود این کاراکتراها باعث ایجاد error در هنگام پردازش این فایل ها می شود .
برای جلوگیری از بروز این خطاها ، متد Encoding فایل XML خود را به صورت صریح در ابتدای سند تعیین کرده و یا آن را با فرمت Unicode ذخیره نمایید .
* Unicode : همانطور که می دانید Unicode فرمتی است که شامل تمام کاراکترهای زبان های استاندارد دنیا بوده و از همه آنها از جمله فارسی پشتیبانی می کند .
Error های Encoding در XML :
در هنگام خواندن و پردازش فایل های XML ، دو گونه ایراد و خطا براساس روش Encoding ممکن است ، رخ دهد . این خطا ها عبارتند از :
- An invalid character was found in text content :
یک کاراکتر نا معتبر در متن فایل پیدا شده است .
این خطا زمانی رخ می دهد که یک کاراکتر غیر اسکی در فایل XML وجود داشته و فایل با Encoding متناسب با آن ذخیره نشده باشد . - Switch from current encoding to specified encoding not supported. :
تغییر از این حالت Encoding به Encoding تعیین شده ممکن نیست .
این خطا زمانی رخ می دهد که مثلا فایل XML شما با یک Encoding با فرمت single-byte طراحی شده باشد ، ولی با یک Encoding با فرمت double-byte دخیره شود و یا بر عکس .
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .