XML

baubak

New Member
سلام

یک آقا یا خانم خوب برای ما در مورد ایکس ام ال با یک مثال ساده ولی کامل توضیح بده.

ممنون
 

mahyar_nel

Active Member
برگرفته از يك مقاله معتبر :

xml يك زبان ناقص و فقط به درد ساختن صفحات يك نواخت
مي باشد لذا به شما توصيه مكنم دست از اين زبان برداريد
 

Negin_ET

Member
سلام:
Xml رو مي تونيم مثل Htmlبا هر ويرايشگر متني و در هر سيستم كامپيوتري( Pc , Mac ) و با Note pad و word pad بنويسيم و در هنگام ذخيره كردن يك فايل xml بايد اون رو با پسوند .xml ذخيره كنيم....
در ساختار xml مثل ساختار html از يكسري عناصر و مقادير استفاده ميشه كه هر عنصر با يك تگ ابتدايي كه شامل يك نام(Name)و گاهي اوقات ويژگيها ( Attribute )است بين دو علامت كوچك > و بزرگ < قرار مي گيره.
يك مسيله مهم ديگه اينه كه ساختار xml بينهايت قانونمند و منظم هستش...مثلا به يك عنصر پايه احتياج داره كه اين عنصر تمام عناصر ديگر سند رو تحت پوشش خودش قرار ميده ..هم چنين در يك سند xml اينه كه عناصر نبايد با هم تداخل پيدا كنن يعني اگه ابتدا عنصر 1 و بعد از اون عنصر 2 رو بنويسيم در انتها بايد اول عنصر 2 و بعد عنصر 1 رو ببنديم.در ضمن xml نسبت به حروف كوچك و بزرگ حساسه مثلا NEGIN و negin و Negin , سه عنصر كاملا متفاوت و غير مرتبط فرض ميشند...

از 1 طرف xml به طور كامل شناخته نشده و دليلش هم اينه كه browserهاي قديمي قدرت شناسايي و نمايش دادن اسنادxml رو ندارند ولي راه حلي كه فعلا بصورت موقت براي كاربرهاي browserهاي قديمي ارايه شده اينه كه ازxml براي مديريت و سازماندهي اطلاعات استفاده كنن و به وسيله xslt براي تبديل اسناد xml به html استفاده بشه...با اين روش هم از قدرت xmlو عموميت html مي تونيم بهره ببريم!
مي تونيد از اين سايت براي گرفتن اطلاعات بيشتر استفاده كنين
http://www.w3schools.com/xml/default.asp
هر چيزي در اين مورد مي دونستم خلاصه كردم و نوشتم...اميدوارم جوابتون رو گرفته باشين :wink:
موفق باشيد
 

shahrokh_xp

Active Member
mahyar_nel گفت:
برگرفته از يك مقاله معتبر :

xml يك زبان ناقص و فقط به درد ساختن صفحات يك نواخت
مي باشد لذا به شما توصيه مكنم دست از اين زبان برداريد
آقا شما xml كار كردين؟ مطالعه شما در مورد xml چه قدره؟
آقاي عزيز مي خواستم بگم xml يك زبان پيشرفته است كه كاربرد هاي مختلفي از قبيل xhtml و ساختن database مانند access است كه البته امكاناتش از آن بيشتر و پيشرفته تر است.
(به قول Ali_ix امان از اطلاع رساني هاي غلط :? )
 

shahrokh_xp

Active Member
Negin_ET گفت:
سلام:
Xml رو مي تونيم مثل Htmlبا هر ويرايشگر متني و در هر سيستم كامپيوتري( Pc , Mac ) و با Note pad و word pad بنويسيم و در هنگام ذخيره كردن يك فايل xml بايد اون رو با پسوند .xml ذخيره كنيم....
در ساختار xml مثل ساختار html از يكسري عناصر و مقادير استفاده ميشه كه هر عنصر با يك تگ ابتدايي كه شامل يك نام(Name)و گاهي اوقات ويژگيها ( Attribute )است بين دو علامت كوچك > و بزرگ < قرار مي گيره.
يك مسيله مهم ديگه اينه كه ساختار xml بينهايت قانونمند و منظم هستش...مثلا به يك عنصر پايه احتياج داره كه اين عنصر تمام عناصر ديگر سند رو تحت پوشش خودش قرار ميده ..هم چنين در يك سند xml اينه كه عناصر نبايد با هم تداخل پيدا كنن يعني اگه ابتدا عنصر 1 و بعد از اون عنصر 2 رو بنويسيم در انتها بايد اول عنصر 2 و بعد عنصر 1 رو ببنديم.در ضمن xml نسبت به حروف كوچك و بزرگ حساسه مثلا NEGIN و negin و Negin , سه عنصر كاملا متفاوت و غير مرتبط فرض ميشند...

از 1 طرف xml به طور كامل شناخته نشده و دليلش هم اينه كه browserهاي قديمي قدرت شناسايي و نمايش دادن اسنادxml رو ندارند ولي راه حلي كه فعلا بصورت موقت براي كاربرهاي browserهاي قديمي ارايه شده اينه كه ازxml براي مديريت و سازماندهي اطلاعات استفاده كنن و به وسيله xslt براي تبديل اسناد xml به html استفاده بشه...با اين روش هم از قدرت xmlو عموميت html مي تونيم بهره ببريم!
مي تونيد از اين سايت براي گرفتن اطلاعات بيشتر استفاده كنين
http://www.w3schools.com/xml/default.asp
هر چيزي در اين مورد مي دونستم خلاصه كردم و نوشتم...اميدوارم جوابتون رو گرفته باشين :wink:
موفق باشيد
من دقت نكرده بودم.جواب نگين كامل تر و بهتر است. :wink:
 

iman_iz

Member
mahyar_nel گفت:
برگرفته از يك مقاله معتبر :

xml يك زبان ناقص و فقط به درد ساختن صفحات يك نواخت
مي باشد لذا به شما توصيه مكنم دست از اين زبان برداريد

آقا شما هميشه همينطور عضو فعالي :?:

XML يه زبون جديده كه داره همه جا جا باز ميكنه...در ضمن واسه اينكه بدوني هماهنگيش با فلش بسيار بسيار زياده و با اكشن اسكريپت ميشه باهاش براحتي ارتباط برقرار كرد.

توضيحات نگين جالب و تمام كننده بود. :idea:
 

Negin_ET

Member
با كلي تاخير سلام...
به چند تايي از دوستان قول داده بودم كه تو همين قسمت هر دفعه يه مطلب اموزشي كوچيك در مورد xml بنويسم...بنا به دلايلي كه ميدونيد نشد! ولي از امروز حداقل هفته اي يه بارم كه شده راجب مطالبي كه خودم ميدونم و ياد گرفتم براتون ميگم تا همه اطلاعاتم در اين مورد تموم بشه... :wink:
خوب...شروع مي كنيم.

همون طوري كه تو پستهاي قبلي هم گفتم:
1.xml رو مي تونيد همانند html با Node pad و Word pad در محيط ويندوز بنويسيد.
2.هنگام ذخيره سازي فايلهاي Xml بايد انها رو با پسوند xml.ذخيره كنيد.
3.در ساختن Xml همانند html از Elements و Attribute و Values استفاده ميشود.

هر عنصر در ابتدا با تگ ابتدايي<name>شروع ميشود و با <name/>پايان مي يابد. كه در بين اين تگ name يا همون تگ اول Values قرار دارند كه در واقع وظيفه اين رو دارند كه خصوصيات عنصر , اهداف و مفاهيمي كه عنصر مربوطه داره رو تا حد امكان مشخص كنند.اين Valueها در داخل گيومه با تك گيومه قرار مي گيرند...همانند مثال زير:
کد:
<name language="English">content</name>
با توجه به كد بالا Value ما داخل گيومه قرار گرفته كه مي توان از تك گيومه(' ') هم به جاي گيومه استفاده كرد.و Content هم همون محتواي عنصر ماست!

قوانين XML:
از اونجايي كه ساختار Xml خيلي منظم و هدفداره بايد از يكسري قوانين پيروي بشه تا به اين اسناد Well formed گفته شود كه البته well formed بودن يك سند xml خيلي مهمه چون در اين صورت هستش كه ميشه يك سند xml رو در Browser نمايش داد!
1.هر سند xml بايد يك عنصر (Element ) پايه داشته باشه كه اين عنصر همه عناصر موجود در اون سند رو احاطه كنه.
2.اگر اول عنصر a و بعد عنصر b در يك سند نوشته شد در انتها مي بايست اول عنصر b و بعد عنصر a را بست.
3.Xml نسبت به حروف بزرگ و كوچك حساسه يعني بايد در نوشتن كلمات به حروف دقت كنيم(در پست قبلي با كلمه Negin براتون توضيح دادم)
4.Values بايد حتما داخل گيومه يا تك گيومه قرار بگيره.
5.بهتره يك سند xml با اعلان نسخه xml قبل از شروع برنامه نوشته بشه.
کد:
<?xml version="1.0"?>
و از اين جهت كه اعلان نسخه xml يك راهنماست نه يك عنصر پس نيازي به تگ دوم براي بسته شدن اين تگ نيست.
6.در html عنصر پايه هميشه html هستش ولي در xml هر نام معتبري رو ميتوان براي عنصر پايه در نظر گرفت.
7.بعضي مواقع لارم ميشه كه حجم زيادي از اطلاعات رو به صورت تو در تو در يك سند قرار داد تا بتوان مديريت بهتري روي اون داده ها داشت . براي مثال وقتي يك عنصر رو تعريف ميكنيم و يك تگ به اون اختصاص ميدهيم ممكنه لازم بشه تگ ديگري براي يك عنصر دوم درون همين تگ ايجاد كنيم و نكته مهم اين جاست كه هنگام بستن تك تك اين تگها بايد توجه داشته باشيم تگها از اخرين تگ باز شده بسته ميشود!
8. گاهي اوقات لازم ميشه كه در مورد نوشتن يك تگ توضيحات خاصي در كنار اون تگ داده بشه كه مثلا چرا اين عنصر رو در اينجا وارد كرده ايم و... البته اين توضيحات براي userها غير مشاهده است. كه اين توضيحات رو بايد بين اين تگها قرار بديم
کد:
<--توضيحات رو در اين قسمت قرار داده--!>


خوب اينم از قسمت دوم توضيحات بعد كلي تاخير...چون دفعه اول بود فقط يه كم مختصر توضيح دادم كه براي هممون دوره بشه...دفعه ديگه كه كمتر از يه هفته ديگه ميشه بيشتر در موردDTD ها مي نويسم...اگرم نقصي تو مطلبهام وجود داره خوشحال ميشم اصلاحش كنيد چون من خودمم تازه با اين برنامه كار كردم و ممكنه خيلي جاهاش ايراد داشته باشم فقط چون دوست دارم هر چي ميدونم براي شما هم بگم همه رو اينجا مي نويسم...

موفق باشيد
 

l8026070

New Member
با سلام
با تشكر از نگين خانوم ولي اگه قرار باشه مثلا اطلاعات يه بانك رو دستي كد بنويسيم كه كار غلطيه اگه ميشه يه روش بگين كه تو اكشن اسكريپت اين كار به طور خود كار انجام بشه و ما فقط اطلاعات رو وارد كنيم كه اين اصولي تر.
با تشكر فراوان
سيد
 

Negin_ET

Member
سلام...
واقعآ ببخشيد بابتِ اينهمه تاخير...ولي خوب به دلايلي نميشد زودتر برگردم تو اين تاپيك...
راستش در جوابِ دو تا دوستِ خوبم كه بالا نوشتن اين برنامه چه ربطي به PHPbb داره يا اينكه اين روشِ دستي خوب نيست و از روش اكشن استفاده كنم...بايد بگم كه...راستش من اومدم اينجا كه فقط در مورد ساختارِ XML براتون توضيح بدم و بگم هر عنصر تو برنامه XML چه كاربردي داره...
چون اگه بخوايم اونجوري حساب كنيم هر نرم افزار يه سري دستوراتِ خاص داره كه از طريقِ اون ميشه XML رو واردشون كرد...متاسفانه من به اون دستورات آشنايي ندارم و نميتونم كمكي كنم...بهتره در اون مورد اگه كسي هست كه وارده بياد و جوابتون رو بده...من از فردا دوباره همين بحثِ چگونگيه ساختارِ XML رو شروع ميكنم و اميدوارم حداقل برايِ آشنايي هم كه شده به دردتون بخوره...

ممنون از توجهتون...
موفق باشيد
 

Negin_ET

Member
سلام...

يه تعريفِ كلي از DTDها اينه كه با اينكه يه روش قديمي بحساب مياد ولي پر استفاده...همچنين در عين حال تا حدي محدوده و به دو صورتم قابل اجراست:
1.ايجاد يك DTD داخلي.
2.ايجاد يك DTD خارجي.

دستور براي ايجاد يك DTD داخلي :

يك صفحه Notepad يا Wordpad ايجاد مي كنيم و اول از همه با اعلان نسخه xml در سندمون برنامه رو شروع ميكنيم ..بصورتي كه قبلآ هم گفتم...

کد:
<?xml version="1.0"?>

بعد از اون تايپ مي كنيم‌‌‌ ]Doc Type root!> كه اين كلمه root شبيه عنصر پايه ما در سند xml مورد نظر يعني همون سنديه كه اين DTD كه مينويسيم بهش مربوط ميشه...بايد قبل از بستن براكتمون مقداري فضاي خالي براي نوشتن DTDهامون قرار بديم و در آخر براكت رو ببنديم [ .خوب اين دستور ايجاد يه DTD داخلي هستش كه شكل ظاهريش هم بعد نوشتن بصورتِ زير:


کد:
<?xml version="1.0"?>
<!Doc Type endangered_species[


]>

<endangered_species>
حالا دستور براي ايجاد يك DTD خارجي :
قبلش يه توضيح كوتاهي بدم كه اين دستور براي روشي مناسبه كه شما يكسري سند مربوط بهم داشته باشين و بخواين از يك DTD براي همه اونها استاده كنين...در اين صورت بايد مثل روش قبلي يه فايل word يا notepad ايجاد كنيد و بعد از قرار دادن دستورات داخل فايل اون فايل رو با پسوند dtd. ذخيره كنيد و در نهايت بعد از نوشتن دستورات لازمتون و ذخيره فايل اين فايل رو از طريق URL به فايلهاي ديگه كه در نظر داريد متصل كنيد.
اول يه فايل متني مي نويسيم و بعد از اون قوانين DTD رو درون اون قرار ميديم(اين قوانين رو بعدآ راجبش صحبت ميكنيم و فعلآ فقط مهم اينه كه بدونيم نحوه ايجاد يه DTD خارجي چطوريه!
و در نهايت همون طوريكه گفتم اون فايل رو با پسوند dtd. ذخيره ميكنيم.
حالا اگه قراره DTD كه نوشتين مورد استفاده ديگرانم قرار بگيره و يه حالت عمومي داشته باشه بايد از FPI كه يك مشخصه استاندارد براي نامگذاري بحساب مياد استفاده كنيد.

* FPI براي پيدا كردن آخرين نسخه DTD خارجي بر روي صفحات وب در يه سرور بكار ميره!
کد:
//owner//DTD .......//XX//
خوب حالا دستور بالا رو تعريف ميكنم.
owner-1 معرف شخص يا نماد مالك DTD هستش كه بين دو تا علامت // در دو طرفش قرار ميگيره.
2-بعد از اون دستور DTD تايپ ميشه كه با يه Space از شناسه اي كه توضيح دهنده و كامل كننده مختصري از DTD هست جدا ميشه .
3-اون قسمتي كه از ....... استفاده كرديم در واقع همون Lable يا شناسه اي هست كه براي توضيح مختصر DTD مورد نظرمون تايپ ميشه.
4-در آخر XX معادل دو حرفي قرار داره و بيان كننده زباني هستش كهXML ما به اون زبان نوشته شده
اينم يه نمونه از دستوري كه جايگزين شده

کد:
//owner//DTD ............//XX//
//Negin//DTD End_Species//EN//

اينم از اين قسمت...حالا تو توضيحات بعديم بيشتر راجب DTDها صحبت ميكنم.اميدوارم براي آشنايي بدردتون بخوره..اگه جاييش رو بد توضيح دادم بگيد تا بهتر راجبش بنويسم...قبلا هم گفتم كه چون XML رو خودم با كتاب ياد گرفتم و هنوزم كامل راجبش همه چيز رو نميدونم ممكنه تش ايراداتي داشته باشم كه اگه كسي باشه بتونه كمك كنه بر طرفش كنم ممنون ميشم.

موفق باشيد.
 

جدیدترین ارسال ها

بالا