صفحه 1 از 1

در خواست کمک در مورد XML( خیلی فوریه )

ارسال شده: دوشنبه ۲۳ اردیبهشت ۱۳۸۷, ۱۱:۰۳ ب.ظ
توسط Present
دوستان اگه میشه یک منبع فارسی یا انگلیسی در اختیارم بگذارید تا بتونم از روی آن مثال ها از این XML چیزی بفهمم هر چی تو اینترنت گشتم یک مثال ساده و قابل فهم گیر نیاوردم .
اگه کمک کنید ممنون میشم
اصلا به درد کجا میخوره
هر چی مثال های کتاب رو تایپ می کنم و با پسوند XML ذخیره می کنم باز می بینم که همون کدهای خودم رو به من نشون میده آیا باید این جوری باشه یا باید اکتیواکسی یا چیزی نصب کنم یا اگه کسی تو این سایت نمیتونه کمکم کنه لاقل یک سایت که مثال های ساده داشته باشد به من بده تا یک .... تو سرم بکنم :lol:

ارسال شده: سه‌شنبه ۲۴ اردیبهشت ۱۳۸۷, ۳:۳۲ ق.ظ
توسط Frogfoot
هر چی مثال های کتاب رو تایپ می کنم و با پسوند XML ذخیره می کنم باز می بینم که همون کدهای خودم رو به من نشون میده آیا باید این جوری باشه

یله باید همینطور باشه. XML یک زبان توصیفی هست. هدف از آن توصیف یک شی از طریق توصیف خصوصیات آن و اجزاء آن هست. در واقع ویژگی اصلی XML اینه که Self-descriptive هست؛ یعنی شما برای پردازش یک فایل XML نیازی ندارید که بدونید داده های آن در چه قالبی قرار دارند، یا ساختار آنها چیست. ساختارشان هر چی که باشه، شما می تونید آن را پردازش کنید. این ویژگی در محیط کامپیوتر که باید عملیات زیادی بدون کمک انسان انجام بشه، یک حسن بزرگ محسوب میشه.
قابلیت دیگه XML که بیشتر در صفحات وب خودش را نشون میده اینه که XML به شما اجازه میده داده را از قالب نمایشی آن خارج کنید. یعنی یک داده میتونه به اشکال مختلفی نمایش داده بشه. برای نمونه به RSS سایت ها و وبلاگ های مختلف دقت کنید. تمام اینها یک فایل متنی ساده هستند، محتویات هر فایل هم ثابت هست، ولی در مرورگرهای مختلف یا نرم افزارهای RSS Reader مختلف همین داده را در قالب های مختلفی می بینید؛ یکی از یک پس زمینه گرافیکی استفاده میکنه، یکی نام نویسنده را بالا می نویسه، یکی نام نویسنده را پایین می نویسه و...
اینها بعضی از ویژگی هایی هستند که XML را به یک استاندارد محبوب تبدیل کردند.

حالا اگر ما یک فایل XML داشته باشیم، چطور می تونیم آن را به شکلی خودمان دوست داریم نمایش بدیم؟
یک راهش اینه که برنامه ایی بنویسیم و خودمان فایل را پردازش کنیم و اجزاء مختلف آن را تشخیص داده و به شکل مناسب در قالبی که قابلیت نمایش هم داشته باشد (مثل سند MS Word، Excel, HTML و...) بریزیم. برای پردازش یک سند XML از استانداردی بنام DOM استفاده میشه. DOM توسط شرکت های مختلفی پیاده سازی شده و هدف آن این هست که محتویات یک سند XML را بصورت یک ساختار درختی در حافظه نگه داری کند تا بشه از طریق آن به بخش های مختلف سند دسترسی داشت. DOM برای HTML هم بصورت داخلی توسط مرورگرها استفاده میشه. توی سیستم عامل ویندوز همیشه پیاده سازی مایکروسافت از DOM پیدا میشه که بشه از طریق آن با داده های XML و HTML کار کرد. علاوه بر مایکروسافت گروه ها و شرکت های دیگه ایی هم آن را پیاده سازی کردند.

راه دیگه اینه که زبانی وجود داشته باشه که بتونه محتوی یک سند XML را توصیف کنه؛ به این زبان XSLT گفته میشه. XSLT خودش برپایه XML هست؛ یعنی این زبان هم یک شی را توصیف می کند، اما در اینجا این شی یک سند XML هست. از XSLT برای آن استفاده می شود که یک سند XML را در قالب دیگری بکار گیرند. این قالب می تواند یک سند HTML باشد، یا یک سند XML دیگر. مثلا اگر شرکتی یک سند XML داشته باشد که در آن مشخصان یکی از کارمندان شرکت قرار دارد، و بخواهد آن را به شرکت دیگری ارسال کند. اگر شرکت مقصد برای مشخصات کارمندان از روشی غیر از روش شرکت اول استفاده کند (مثلا در شرکت اول یک خصوصیت برای نام و یک خصوصیت برای نام خانوادگی در نظر گرفته شده، اما در شرکت مقصد این دو با هم در یک خصوصیت قرار می گیرند)، برای اینکه بتوان سند XML مربوطه را به سند XML قابل پذیرش توسط شرکت مقصد تبدیل کرد، می توان یک سند XSLT ساخت و در آن با استفاده از زبان XML توضیح داده که سند XML مقصد باید خصوصیات نام و نام خانوادگی سند XML اولیه را با هم ادغام کند و در خصوصیت جدیدی آن را ذخیره کند، آنگاه می توان هر تعداد مشخصات کارمند که از شرکت اول به شرکت مقصد می رسد را بدون دخالت انسان با استفاده از فایل XSLT تولید شده، به فرمت مورد نظر شرکت مقصد تبدیل کرد.
یکی از شاخه های استاندارد XSLT با نام XSL شناخته می شود و وظیفه آن تبدیل یک سند XML به یک سند XHTML هست. نحوه کار مشابه XSLT هست، با این تفاوت که در اینجا سند XML به سند XML دیگری تبدیل نمی شود، بلکه به کد HTML تبدیل می شود. برای مثال، شرکتی قصد دارد مشخصات یک کارمند را که بصورت XML هست در وب نمایش دهد، این شرکت می تواند یک فایل XSL ایجاد کند که در آن برای هر یک از اجزاء سند XML قالبی در HTML تعریف شده، مثلا جزء نام باید در یک سلول جدول و بصورت Bold نمایش داده شود، تاریخ تولد باید با فونت سبز نمایش داده شود و... زمانی که این فایل XSL در مرورگر وب بارگزاری شود، هر فایل XML ایی که قالب نمایش آن همین فایل XSL باشد، با استفاده از فرامین موجود در فایل XSL قالب بندی شده و به کاربر نمایش داده می شود. نرم افزارهای RSS Reader ایی که به کاربر امکان این را می دهد که نحوه نمایش محتوی RSS را به دلخواه خود انتخاب کند هم از همین روش استفاده می کنند. این نرم افزارها تعدادی فایل XSL تهیه می کنند و به کاربر اجازه می دهند یکی از آنها را انتخاب کند، هر کدام که انتخاب شد، محتوی RSS که بصورت XML هست، با آن فایل XSL قالب بندی شده و به کاربر نمایش داده می شود.

پس برای آنکه بتوانید یک فایل XML را در یک قالب زیبا (نه بصورت سورس کد) نمایش دهید، باید برای آن یک سند XSL تعریف کنید.
البته XML و XSLT (و XSL به عنوان زیر مجموعه ایی از آن) به عنوان یک استاندارد Syntax خاص خود و قواعد خود را دارند که باید آنها را یاد بگیرید و برطبق آنها کدهای XML و XSLT خود را بنویسید.

ارسال شده: سه‌شنبه ۲۴ اردیبهشت ۱۳۸۷, ۸:۵۰ ق.ظ
توسط Present
عزیر یک مثال میونی بزنی که در html به کار رفته باشد
با تشکر اگر بتونی تا امشب برام بذاری که عالی میشه چون چهارشنبه باید کنفرانس بدم
در ضمن خوب ما حالا اومدیم و XML نوشتیم پس DTD به درد چه می خورد

ارسال شده: سه‌شنبه ۲۴ اردیبهشت ۱۳۸۷, ۱۲:۲۰ ب.ظ
توسط Frogfoot
حالا اومدیم و XML نوشتیم پس DTD به درد چه می خورد

گاهی اوقات لازم هست که فایل XML ما یک ساختار مشخص داشته باشه. مثلا فایلی که اطلاعات یک کتاب را در خود نگهداری میکنه، حتما باید دارای عنوان کتاب، نام نویسنده، و شابک کتاب باشه. DTD فایلی هست که قوانین حاکم بر ساختار یک فایل XML را تعریف میکنه، به این ترتیب اگر ساختار فایل XML یکی از قوانین مندرج در DTD را نقض کنه، یعنی ساختارش با اون چیزی که براش تعریف شده فرق داره. از این کاربردها زیاد داریم، مثلا شرکتی اطلاعیه میده برای استخدام و به متقاضیان میگه Resume خود را ارسال کنند. مواردی را هم که باید حتما در Resume درج بشه را میگه. حالا این شرکت میتونه یک سند DTD درست کنه و با یک نرم افزار هر فایل XML ایی که متقاضیان به عنوان Resume ارسال می کنند را چک کنه، و اگر Resume ایی اطلاعات لازم را در خود نداشت، بطور خودکار رد بشه.

برای اطلاعات بیشتر:
XML:
[External Link Removed for Guests]
XSLT:
[External Link Removed for Guests]
DTD:
[External Link Removed for Guests]


[
میونی بزنی که در html به کار رفته باشد

این فایل XML اش:
[External Link Removed for Guests]
این نمایش آن بصورت HTML با استفاده از DOM:
[External Link Removed for Guests]

این یک فایل XML دیگه:
[External Link Removed for Guests]
این فایل XSLT مربوط به آن (برای دیدنش باید در مرورگر خود گزینه View Source را بزنید. در حالت عادی مرورگر فقط یک صفحه سفید نمایش میده):
[External Link Removed for Guests]
این هم همون داده XML که توسط فایل XSLT بالا قالب بندی شده:
[External Link Removed for Guests]


موفق باشی