xml در 300 سال

با سلام
امروز خدا توفیق داد تا بند بتونم آموزش xml،جلسه ی اول رو بگذارم.
درس 1
در این آموزش سعی می شود،xml را به صورت کامل و کاربردی در فلش توضیح دهم. در همه ی آموزش ها،مثال ها یی وجود دارد که با مشاهده ی آنها به مطلب گفته شده پی خواهید برد.زبان xml بسیار به html شباهت دارد، و در واقع زبان html نوعی از xml به حساب می آید.
پایه های دستوری XML
با ملاحضه ی این مثال خواهید فهمید که چقدر xml به زبان html نزدیک است، و به روایتی html برگرفته شده از xml است. و در بسیاری موارد یکی است.
این یک مثال از xml که بسیار ساده است:
<letter>
<to>sandy</to>
<from>andy</from>
<body>I don`t love you</body>
</letter>
اگر شما با html آشنا باشید،شباهت بین آنها را درخواهید یافت. با نگاه کردن به بالاترین نوشته به آسانی می توان دریافت فایل ما چه اطلاعاتی را در خود نگاه داشته است و خرجی آن چگونه است.
همان طور که می بینید هم در html و هم در xml از علامت های <i> و </i> به کار رفته است. تگ های نا مفهوم <to> و </to> که در کد بالا sandy را احاطه کرده اند،به ما نشان می دهد که sandy کسی است نامه ای را دریافت کرده است.
در xml، تمام اطلاعات ما باید در میان حداقل دو تگ باز و بسته باشند و نوع این تگ ها به نوع اطلاعات ما بستگی دارد. برای مثال،در کد بالا ما فهمیدیم که sandy نامه را دریافت کرده است، و همان طور که می بینید sandy بین دو تگ to می باشد که خود این تگ ها بین دو تگ باز و بسته ی دیگری قرار دارند.(<letter>,</letter>).
تگ های باز و بسته ی letter مانند فولدری هستند که در درون خود سه فولدر دیگر را جای داده اند.(همان تگ های to , from , body) هر کدام از فولدر های درون letter، حاوی اطلاعات مربوط به موضوع خود هستند و همان طور که اطلاعات
مربوط به یکی از تگ های to , from , body می باشد،مربوط به تگ های letter هم هستند.
حجم یک سند XML (تگ ها و اطلاعات درون آنها) بستگی به Node دارد.
Node چیست؟
These nodes are the basic building blocks XML defining all that it is.
Node های درون مثال بالا دو نوع هستند.
1- Element nodes
2- Text Nodes
Letter,to,from,body از نوع element nodes و sandy,andy,I don`t love you از نوع Text Nodes هستند.
خلاصه:
HTML زبانی برنامه نویسی می باشد که از XML گرفته شده است. و از این رو یادگیری XML بسیار ساده می باشد.
به هر کدام از <to></to> یک تگ گفته می شود. و اطلاعات ما در میان این تگ ها قرار می گیرند. این تگ ها،خود می توانند میان دو تگ دیگر قرار بگیرند.
XML از Node تشکیل شده است. که خود این Node ها از دو دسته elementو text تشکیل می شود.
سپاس
 

arman_p

Member
درود
این هم جلسه ی دوم،هرجا اشکالی به وجود آمد،تاپیک جدید باز کنید و مشکل را بنویسید.
درس 2
در این جلسه درمورد انواع Node توضیح داده خواهد شد.
Element nodes:
در واقع این نوع node همان تگ های(فولدر) زبان xml می باشد.یعنی هر کدام از تگ های letter و to و body و from در مثال زیر یک element node به حساب می آید.

<letter>


<to>sandy</to>


<from>andy</from>


<body>I don`t love you</body>


</letter>

همان طور که می بینید،تگ های تگ های دیگر در میان دو تگ letter قرار گرفته اند. از این رو تگ letter را در این سند xml یک root element node می نامیم. یعنی تگ letter را به عنوان یک تگ ریشه ای از نوع element می شناسیم.
پس در زبان xml، اگر یک تگ تمام تگ های دیگر را در خود داشته باشد، آن تگ را تگ ریشه می نامیم.
نکته: در زبان xml تنها یک تگ به عنوان ریشه،وجود دارد. و تمام تگ های دیگر،باید در میان تگ های ریشه باشد.
نکته:وجود تگ ریشه ای اجباری می باشد.
زمانی که یک Node دردرون node دیگری باشد، می گوییم که آن Node داری فرزند می باشد. یک node با فرزندان را تحت عنوان رابطه ی پدر-فرزندی یا والدین-فرزندان بررسی می کنیم.در مثال بالا تگ letterدارای سه فرزندto,from,body می باشد. همچینی پدر هر کدام از سه تگ دیگر،تگ letter می باشد.
تمام Nodeهایی که از نوعelement می باشند باید با علامت <> شروع شوند.(مانند:<to>)و برای پایان یک element باید از علامت</>استفاده شود.(مانند</to>)اگر یک تگ دارای هیچ اطلاعاتی نباشد،آن تگ را "تگ خالی"یا "empty element" می نامند.
در مثال زیر تگ to دارای هیچ اطلاعاتی نمی باشد،از این رو آن را تگ خالی می نامند.

<letter>


<to>sandy</to>


<from>andy</from>


<body>I don`t love you</body>


</letter>

برای استفاده از element ها باید از یک سری قانون ها اطاعت کنید. برای نامگذاری element ها باید از کاراکتر های صحیح استفاده شود.این کاراکترها شمال حروف انگلیسی،اعداد،underline( _ )،hyphen(-)،نقطه و colon:)).برای نام گذاری تگ ها تنها می توان از حروف انگلیسی و underline به عنوان اولین کاراکتر استفاده کرد.برای مثال <3pehr> اشتباه می باشد،زیرا کاراکتر شروع کننده،عدد می باشد.همچنین نهادن اسم های از پیش تعریف شده در زبان xml غیرمجاز می باشد. مثلا نباید نام یک تگ را xml نهاد.پس نتیجه می گیریم که زبان xml نیز به نوع نام گذاری حساسیت دارد.
برخلاف پوشه های درون یک دایرکتور که قرار گرفتن دو پوشه ی هم نام در کنار یکدیگر غیرمجاز می باشد،در یک تگ از نوع element می توان دو تگ element هم نام قرار داد. و با این خاصیت می توان مثال بالا را بهبود ببخشیم و به جای این که به یک نفر نامه بفرستیم،به چند نفر به طور همزمان نامه بفرستیم.یعنی به این شکل:

<letter>


<to>bio</to>


<to>avang</to>


<to>hadi</to>


<to>kiarash</to>


<from>mohsenpoor</from>


<body>I don`t love you</body>


</letter>

Text Node
این نوع node ها در واقع همان نوشته های شما در بین تگ هاست. و بر خلاف node های از نوع element نیاز به تگ باز و بسته ندارد(<>,</>). مثلا در مثال های قبل bio,avang,hadi,kiarash,mohsenpoor,I don`t love you همان nodeهای از نوع text می باشد.

<letter>


<to>bio</to>


<to>avang</to>


<to>hadi</to>


<to>kiarash</to>


<from>mohsenpoor</from>


<body>I don`t love you</body>


</letter>

تمامnode های از نوع text می توانند تا چندیدن خط را به خود اختصاص دهند.برای مثال شما می توانید در تگ body ،متن یک نامه ی کامل دوستانه را بنویسید.از دیگر ویژگی های این node ها،این است که برخلاف تگ های element ،که در نامگذاری دارای محدودیت می باشند، هیچ محدودیت ندارند. مثلا شما می توانید در یک text node ^.^ را به کار برید. تنها کاراکتر هایی که نمی توان به کار برد از این قرارند:
1.bmp
مثال:

<incorrect>


It is clearly stated that variable A < variable B & variable A > variable C


</incorrect>


<acceptable>


It is clearly stated that variable A &lt; variable B &amp; variable A > variable C


</acceptable>

نکته ای که در مثال بالا وجود داشت اینه که خیلی لازم نیست به جای علامت"<" از &gt; استفاده کرد.اما نمی توان از علامت ها >و& در text node استفاده کرد.برای این که بهتر بفهمید،در مثال زیر از این نکته صرف نظر می کنیم.

<best>


It is clearly stated that variable A &lt; variable B &amp; variable A &gt; variable C


</best>

نکته ی ساده ای که خیلی وقت ها داخلش اشتباه می کنیم،اینه که text node ها خودشان یک نوع node جدا محسوب می شوند و جزئی از element node ها نیستند.البته می توان text node ها را فرزندان element node ها نامید.مثلا در مثال "نامه"،در تگ to، نوشته ی kiarash که یک text node است،فرزند to به حساب می آید و to نیز پدر نوشته ی kiarash می باشد.
خلاصه:
در زبان xml تگ ها،همان element node ها می باشد.که ممکن است یک تگ در درون خود چندین تگ دیگر داشته باشد. تگ ها با<> شروع و با </> پایان می یابند.مثلا

<mohsenpoor>she is a polite girl</mohsenpoor>

می توانیم در بین یک تگ،چند تگ همنام به طور همزمان داشته باشیم.
Text node ها در واقع،همان نوشته های بین تگ ها است و می توانند چندین خط را به خود اختصاص دهند.
text node ها در بین element node احاطه می شوند،از این رو text node را فرزند و element node را پدر می نامند.
سپاس
 
آخرین ویرایش:
بالا