• استفاده از XML در فلش نحوه باز کردن یک سند XML - ویژگی های کار با فایل های XML

    XML (Extensible Markup Language) توسط گروه کاری XML کنسرسیوم توسعه یافته است در سراسر جهانکنسرسیوم وب (W3C). در اینجا نحوه توصیف سازندگان آن است:

    زبان نشانه گذاری توسعه پذیر (XML) یک است بخش تشکیل دهندهزبان SGML... برای تسهیل استفاده از SGML در وب و کارهایی که در حال حاضر با استفاده از زبان HTML اجرا می شوند طراحی شده است. XML برای بهبود استفاده و قابلیت همکاری SGML و HTML طراحی شده است."

    این گزیده ای از نسخه 1.0 مشخصات XML است که توسط گروه کاری XML در فوریه 1998 ایجاد شد. کل سند را می توانید در وب سایت W3C به آدرس http://www.w3.org/TR/REC/-xml بیابید.

    XML یک زبان نشانه گذاری است که به طور خاص برای قرار دادن اطلاعات در شبکه جهانی وب، مشابه زبان طراحی شده است نشانه گذاری فرامتن HTML (زبان نشانه گذاری فرامتن)، که در ابتدا به زبان استاندارد برای ایجاد صفحات وب تبدیل شد. از آنجایی که زبان HTML به طور کامل تمام نیازهای ما را برآورده می کند، این سوال پیش می آید: چرا به طور مطلق نیاز داشتید زبان جدیدبرای وب؟ مزایا و معایب آن چیست؟ چگونه با HTML تعامل دارد؟ آیا جایگزین HTML می شود یا فقط آن را تقویت می کند؟ در نهایت، SGML چیست که XML بخشی از آن است و چرا نباید از SGML برای صفحات وب استفاده شود؟ در این فصل سعی می کنم به همه این سوالات پاسخ دهم.

    هدف XML

    زبان HTML مجموعه ای ثابت از عناصر را ارائه می دهد که می توانید از آنها برای قرار دادن اجزا در یک صفحه وب معمولی استفاده کنید. نمونه هایی از این عناصر عبارتند از سرفصل ها، پاراگراف ها، لیست ها، جداول، تصاویر و پیوندها. برای مثال، HTML برای این کار عالی است.

    ایجاد یک صفحه اصلی شخصی در زیر توضیحات صفحه اصلی در کدهای HTML آمده است:

    صفحه نخست

    صفحه اصلی مایکل یانگ

    به وبسایت من خوش آمدید!

    محتویات وب سایت

    لطفا یکی از موضوعات زیر را انتخاب کنید:

    • نوشتن
    • خانواده
    • گالری عکس

    وب سایت های جالب دیگر

    برای کاوش در وب سایت دیگری، یکی از موارد زیر را کلیک کنید:

    • "1. XML باید زبان استفاده مستقیم در اینترنت باشد."

      همانطور که ممکن است تا به حال حدس زده باشید، XML اساساً برای ذخیره و توزیع اطلاعات در وب طراحی شده است.

      "2. XML از تعداد زیادی برنامه پشتیبانی می کند."

      در حالی که هدف اصلی آن توزیع اطلاعات در وب از طریق سرورها و مرورگرها است، XML همچنین برای استفاده توسط برنامه های دیگر طراحی شده است. برای مثال، XML برای تبادل اطلاعات بین برنامه‌های مالی، توزیع و به‌روزرسانی محصولات نرم‌افزاری، و نوشتن اسکریپت‌های صوتی برای ارائه اطلاعات از طریق تلفن استفاده می‌شود.

      "3.XML با SGML سازگار خواهد بود."

      XML شاخه ای تخصصی از SGML است. مزیت در اینجا سهولت سازگاری است. ابزارهای نرم افزاری SGML برای کار با HTML.

      "4. نوشتن برنامه هایی که اسناد XML را پردازش می کنند آسان تر خواهد بود."

      برای استفاده عملی XML برای آسان کردن نوشتن مرورگرها و سایر برنامه هایی که اسناد XML را پردازش می کنند ضروری است. در واقع دلیل اصلی جداسازی XML از SGML دسترسی به نوشتن برنامه ها برای پردازش اسناد XML بود.

      "5. تعداد ویژگی های اضافیدر XML باید حداقل و در حالت ایده آل صفر باشد."

      حداقل تعداد توابع اضافی در XML نوشتن برنامه ها برای پردازش اسناد XML را آسان تر می کند. تعداد زیادی افزونه اضافی در SGML دلیل اصلی عملی نبودن آن برای نمایش اسناد وب بوده است. ویژگی های اضافی SGML نیاز به تعریف مجدد کاراکترهای جداکننده برای برچسب ها دارند (معمولا ) و حذف تگ پایان به طوری که پردازنده پایان عنصر را تشخیص دهد. هنگام نوشتن یک برنامه پردازش سند SGML به شدت، لازم است که امکان تمام عملکردهای اضافی را در نظر بگیرید، حتی اگر نادر باشند.

      «6. اسناد XML باید برای کاربر قابل درک و واضح باشد."

      XML به عنوان زبان فرانک (زبان جهانی) برای تبادل اطلاعات بین کاربران و برنامه ها در سراسر جهان در نظر گرفته شده است. بر اساس این مفهوم، کاربران و همچنین برنامه های تخصصی باید بتوانند اسناد XML را ایجاد و بخوانند. دسترسی و شفافیت برای کاربر XML را از اکثر فرمت های دیگر مورد استفاده در ساخت پایگاه های داده و اسناد متنی متمایز می کند.

      کاربر می تواند به راحتی یک سند XML را بخواند زیرا در متن ساده توضیح داده شده است و ساختار درختی سلسله مراتبی منطقی دارد. می‌توانید اسناد XML را با دادن نام‌های معنی‌دار به عناصر، ویژگی‌ها و اشیاء و با افزودن نظرات مفید ساده کنید. (این موضوع بعداً در این فصل مورد بحث قرار خواهد گرفت.)

      «7. توسعه XML باید نسبتاً سریع تکمیل شود."

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

      "8. زبان XML باید رسمی و مختصر باشد."

      مشخصات XML به زبانی رسمی نوشته شده است که برای نشان دادن زبان های کامپیوتری استفاده می شود، با نمادی به نام Extended Backus-Naur Form (EBNF). این زبان رسمی، اگرچه برای درک بسیار پیچیده است، اما فاقد ابهام است و نوشتن اسناد XML، و به ویژه برنامه های خاص برای پردازش آنها را بسیار تسهیل می کند.

      "9. ایجاد اسناد XML آسان تر خواهد بود."

      با استفاده عملی از XML به عنوان زبان نشانه گذاری برای اسناد وب، نه تنها نوشتن برنامه های پردازش ساده می شود، بلکه فرآیند ایجاد خود اسناد XML نیز ساده می شود.

      "10. فرم فشرده در نشانه گذاری XML مهم نیست."

      مطابق با بند 6 (سند XML باید برای کاربر واضح و قابل درک باشد)، نشانه گذاری XML نباید بیش از حد مختصر باشد تا با هدف مشخص شده در تضاد نباشد.

      برنامه های استاندارد XML

      شما می توانید از XML برای بیش از توصیف یک سند استفاده کنید. یک کاربر، شرکت یا کمیته استانداردها می تواند مجموعه مورد نیاز از عناصر XML و ساختار سند را برای اعمال در یک کلاس خاص از اسناد تعریف کند. چنین مجموعه ای از عناصر و توصیف ساختار سند، برنامه XML یا فرهنگ لغت XML نامیده می شود.

      به عنوان مثال، یک سازمان ممکن است یک برنامه XML را برای ایجاد اسنادی تعریف کند که ساختارهای مولکولی، منابع انسانی، ارائه های چندرسانه ای یا حاوی گرافیک برداری را توصیف می کند. در پایان فصل فهرستی از برخی از برنامه های کاربردی XML رایج که قبلاً ایجاد شده اند و برنامه هایی که برای ایجاد آنها برنامه ریزی شده است آورده شده است.

      یک برنامه XML معمولاً با ایجاد یک توصیفگر نوع سند (DTD) تعریف می شود که جزء معتبر یک سند XML است. یک DTD حول یک طرح پایگاه داده ساخته شده است: نام عناصری را که می توان در یک سند استفاده کرد، ترتیب ظاهر شدن عناصر، ویژگی های عنصری که می توانند اعمال شوند و سایر ویژگی های سند را تعیین و تعریف می کند. برای استفاده عملی از یک برنامه XML، معمولاً DTD آن را در سند XML خود قرار می دهید. وجود یک DTD در یک سند، عناصر و ساختارهایی را که شما استفاده خواهید کرد، محدود می کند، به طوری که سند شما با استانداردهای آن برنامه مطابقت دارد. توضیحات اسناد XML که قبلاً در این فصل مورد بحث قرار گرفت شامل DTD نبود. نحوه تعریف و استفاده از DTD ها را در فصل 5 خواهید آموخت.

      مزایای استفاده از برنامه های کاربردی استاندارد XML هنگام توسعه اسناد این است که می توانید اسناد را با سایر کاربران برنامه به اشتراک بگذارید و سند را می توان با استفاده از نرم افزاری که قبلاً برای آن برنامه ساخته شده است پردازش و نمایش داد.

      برنامه های XML که کیفیت اسناد XML را بهبود می بخشد

      علاوه بر برنامه های XML برای توصیف کلاس های خاصی از اسناد، چندین برنامه XML وجود دارد که می توانید در هر نوع سند XML از آنها استفاده کنید. این برنامه ها ایجاد یک سند و بهبود کیفیت آن را آسان تر می کنند. در زیر نمونه هایی از این گونه برنامه ها آورده شده است.

      • زبان صفحه سبک توسعه پذیر (XSL) به شما امکان می دهد با استفاده از نحو XML، شیوه نامه های قدرتمندی ایجاد کنید.
      • طرحواره XML به شما امکان می دهد طرحواره های دقیقی را برای اسناد XML خود با استفاده از نحو استاندارد XML ایجاد کنید، که جایگزین قدرتمندتری برای استفاده از DTD است.
      • زبان پیوند XML (XLink) به شما این امکان را می دهد که اسناد XML خود را پیوند دهید. از چندین پیوند هدف و سایر ویژگی های مفید پشتیبانی می کند و آزادی بیشتری نسبت به مکانیسم سازماندهی پیوند در HTML ارائه می دهد.
      • زبان اشاره گر XML (XPointer) به شما امکان می دهد پیوندهای هدف انعطاف پذیر را تعریف کنید. هنگامی که از XPointer و XLink با هم استفاده می کنید، می توانید پیوندها را به هر مکانی در سند هدف سازماندهی کنید - نه فقط به پاراگراف های مشخص شده خاص.

      XLS در فصل 10 مورد بحث قرار خواهد گرفت. سایر برنامه های XML هنوز بالغ نشده اند و در این کتاب پوشش داده نشده اند. (XLink و XPointer در اینترنت اکسپلورر 5 پشتیبانی نمی شوند).

      همانطور که می بینید، XML نه تنها یک ابزار مفید برای توصیف اسناد است، بلکه به عنوان چارچوبی برای ساخت برنامه ها و برنامه های افزودنی است که ممکن است با پیشرفت اینترنت مفید باشد.

      استفاده واقعی از XML

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

      ارتباط دادن. برای فهرست کامل‌تر برنامه‌های XML فعلی و آتی، از جمله توضیحات مفصل، به صفحه وب Oasis SGML/XML (http://www.oasis-open.arg/cover/ocml.htmW) مراجعه کنید.

      • کار با پایگاه های داده مانند پایگاه های داده سنتی، XML می تواند برای برچسب گذاری هر فیلد اطلاعات در هر ورودی پایگاه داده استفاده شود. (به عنوان مثال، می توانید هر نام، آدرس و شماره تلفن را در فهرست آدرس ها برچسب گذاری کنید.) سپس می توانید داده ها را نمایش دهید. راه های مختلفو جستجو، مرتب‌سازی، فیلتر کردن و سایر پردازش‌های داده را سازماندهی کنید.
      • ساختار اسناد. ساختار سلسله مراتبی اسناد XML برای علامت گذاری ساختار اسنادی مانند رمان ها، مقالات علمی و نمایشنامه ایده آل است. به عنوان مثال، می‌توانید از XML برای علامت‌گذاری یک نمایشنامه برای کنش‌ها، صحنه‌ها، شخصیت‌ها، خط داستانی، مناظر و غیره استفاده کنید. نشانه‌گذاری XML به برنامه‌ها اجازه می‌دهد تا یک سند را در قالب مورد نیاز خود نمایش یا چاپ کنند. پیدا کردن، استخراج یا دستکاری اطلاعات در یک سند؛ ایجاد جدول مطالب، خلاصه و حاشیه نویسی. پردازش اطلاعات به روش های دیگر
      • کار با گرافیک برداری(VML - Vector Markup Language).
      • ارائه های چند رسانه ای (SMIL - زبان یکپارچه سازی چند رسانه ای همگام، HTML + TIME - برنامه های افزودنی چند رسانه ای تعاملی زمان بندی شده HTML).
      • توضیحات کانال ها کانال ها صفحات وب هستند که به طور خودکار برای مشترکین ارسال می شوند. (CDF - قالب تعریف کانال).
      • شرح بسته های نرم افزاری و روابط متقابل آنها. چنین توضیحاتی توزیع و به روز رسانی محصولات نرم افزاری را در شبکه تضمین می کند (OSD - Open Software Description).
      • تعامل برنامه در وب با استفاده از XML-co-communications. این پیام ها مستقل از سیستم عامل هستند، مدل های شیو زبان های کامپیوتری (SOAP - Simple دسترسی به شیپروتکل).
      • ارسال کارت ویزیت الکترونیکی از طریق ایمیل.
      • تبادل اطلاعات مالی تبادل اطلاعات در قالبی باز و قابل فهم بین برنامه های مالی (مانند Quicken و Microsoft Money) و موسسات مالی (بانک ها، صندوق های عمومی) (OFX - Open Financial Exchange) انجام می شود.
      • ایجاد، مدیریت و استفاده از فرم های دیجیتال پیچیده برای تراکنش های اینترنتی تجاری. چنین فرم هایی ممکن است شامل امضاهای دیجیتالی باشد که آنها را از نظر قانونی به رسمیت می شناسد (XFDL - Extensible Forms Description Language).
      • تبادل درخواست های شغلی و رزومه (HRML - Human Resource Management Markup Language).
      • قالب بندی فرمول های ریاضیو اطلاعات علمی در
      • وب (MathML - زبان نشانه گذاری ریاضی).
      • شرح ساختارهای مولکولی (CML - Chemical Markup Language).
      • کدگذاری و نمایش اطلاعات در مورد DNA، RNA و زنجیره ها (BSML - Bioinformatic Sequence Markup Language).
      • کدگذاری داده های تبارشناسی (GeDML - Genealogical Data Markup Language).
      • تبادل داده های نجومی (AML - Astronomical Markup Language).
      • ایجاد موسیقی (MusicML - Music Markup Language).
      • کار با اسکریپت های صوتی برای ارائه اطلاعات از طریق تلفن. از اسکریپت های صوتی می توان به عنوان مثال برای تولید پیام های صوتی، استعلام سهام و پیش بینی آب و هوا (VoxML) استفاده کرد.
      • پردازش و تحویل اطلاعات خدمات پستی. برای مثال فدرال اکسپرس قبلاً از XML برای این منظور استفاده می کند.
      • ارائه تبلیغات در مطبوعات به صورت دیجیتال (AdMarkup).
      • تکمیل اسناد حقوقی و تبادل الکترونیکی اطلاعات حقوقی (رابط دادگاه XCL - XML).
      • کدگذاری پیش بینی آب و هوا (OMF - فرمت نشانه گذاری مشاهده آب و هوا).
      • تبادل اطلاعات در مورد معاملات املاک و مستغلات (RETS - Real Estate Transaction Standard).
      • تبادل اطلاعات بیمه ای
      • تبادل اخبار و اطلاعات با استفاده از استانداردهای وب باز (XMLNews).
      • بازنمایی اطلاعات دینی و نشانه گذاری متون عبادی (ThML - زبان نشانه گذاری الهیاتی، LitML - زبان نشانه گذاری مذهبی).

      من فکر می کنم که شما قبلاً درک کرده اید که چرا نیاز دارید HTML(آره، HTML). برای ارائه داده ها در مرورگر لازم است. یعنی وجود دارد کد HTMLو مربوط به این است کد HTMLیک نوع خاص با این حال، روندهای فعلی نه تنها به نمایش داده ها، بلکه به ساختار داخلی شایسته آنها نیز نیاز دارند.

      واسه همینه ایجاد یک ساختار و یک زبان XML وجود دارد. مثال ساده:

      سیب سبز

      برای ما مردم، همه چیز بلافاصله روشن می شود. بلافاصله تصویری در ذهنم ظاهر می شود. سیب سبزبا این حال، چگونه می توان به رایانه توضیح داد که این یک سیب است و نه یک پرتقال، یک شخص یا کهکشان ما؟ اینجا دوباره به کمک می آید. XML، جایی که ما می توانیم هر برچسبی ایجاد کنیم و مشخص کنیم که سیب کجاست، پرتقال کجاست، شخص کجاست، و کهکشان ما کجاست. امیدوارم واضح توضیح داده باشم

      حالا در مورد مهمترین چیز. ویژگی اصلی XML جهانی بودن آن است.. به این معنا که XMLهر کدام را می فهمد زبان مدرن. و از XML است فایل متنی ، سپس می توانید با آن در یک دفترچه یادداشت معمولی کار کنید. اکنون به طور خاص برای تمرین، جایی که XML استفاده می شود:

      • فایل تنظیمات. تنظیمات در فایل XMLخواندن و نوشتن بسیار آسان است به همین دلیل، صدها مورد وجود دارد فایل های XML.
      • پل دادهبین برنامه های نوشته شده در زبانهای مختلف. ویژگی بسیار مهمی که ناشی از جهانی بودن زبان است و به طور مرتب در سیستم های پیچیده استفاده می شود.
      • ذخیره سازی داده ها. در واقع، این یک نوع آنالوگ پایگاه داده است، اما نیازی به آن ندارد DBMS(مثلا، MySQL). و با تشکر از زبان پرس و جو XPathارتباط آسان با این امکان پذیر می شود " پایگاه داده".

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

      برای چه چیزی لازم است، این XML؟

      [اخیراً در ارتباط با ظاهر این صفحات، بیشترین فراوانی دارد
      سوالی که از من پرسیده شد این بود: "به من بگو، اصلاً چرا به XML نیاز است؟
      آیا HTML برای ما کافی نیست؟ "وقتی (یا شوخ طبعی) زیادی برای ایجاد نشریات خودم نداشتم، و همچنین عمیقاً به آثار کلاسیک احترام می گذاشتم، ترجیح دادم به سرعت یک مقاله عالی را با عنوان موضوع ترجمه کنم.
      - شاید این اولین قسمت از سریال "کمک" باشد]

      جان بوساک، تیم بری
      XML و وب نسل دوم
      از Scientific American، می 1999

      چند راهنمایی به مردم بدهید و بقیه را متوجه خواهند شد. با نگاهی به صفحه، جایی که بلوک های بزرگتر متن به بلوک های کوچکتر تقسیم می شوند، همه به سرعت متوجه می شوند که این ابتدای مقاله است. با نگاهی به لیست مواد غذایی، به سرعت می توانید حدس بزنید که این یک "دستورالعمل" برای خرید است. دیدن ستون های اعداد - درک کنید که این یک حساب بانکی است. کامپیوترها هنوز آنقدر باهوش نیستند - همه اینها باید دقیقاً به آنها منتقل شود - دقیقاً با چه چیزی سر و کار دارند و برای این کار چه چیزی از آنها خواسته می شود.

      برای این منظور - برای اینکه اطلاعات به صورت خود توصیف شوند - یک زبان نشانه گذاری اسناد جدید به نام Extensible Markup Language (XML) اختراع شد. این تغییرات به راحتی قابل تلفظ (سند "خود توصیف شده"، تغییر قوانین ارتباط با رایانه ها) دارای پتانسیل عظیمی است - نقش اینترنت از رسانه تحویل اطلاعات شروع به گسترش به سایر انواع فعالیت های انسانی می کند. در واقع، از زمان تأیید آن توسط W3C در سال 1998، مشخصات XML مانند آتش سوزی در همه جا - در صنعت و علم، در تولید کالاها و داروها - گسترش یافته است.

      علاقه مندان امیدوار بودند که XML فرصتی برای حل تعدادی از مشکلات جهانی وب فراهم کند. این مشکلات شناخته شده است: اولا، اینترنت یک شبکه فوق سریع است، اغلب بدتر از یک لاک پشت رفتار می کند. و ثانیاً، اگرچه شبکه تقریباً تمام اطلاعات را در بر می گیرد، یافتن چیزی که در آن نیاز دارید اغلب به طرز عصبانی کننده ای دشوار است.

      هر دوی این مشکلات اساساً از ماهیت زبان اصلی وب یعنی HTML سرچشمه می‌گیرد. و در حالی که موفقیت HTML در مقایسه با زبان های دیگر تا کنون پیشنهاد شده است انتشارات الکترونیکیبدیهی است که HTML بسیار پراکنده است: در اصل، فقط به مرورگر می گوید که چگونه متن، تصاویر و دکمه ها را در صفحه قرار دهد. HTML همه چیز در مورد ارائه اطلاعات است و بنابراین یادگیری آن بسیار آسان است، اما هزینه دارد.

      این در پیچیدگی توسعه وب‌سایت‌ها منعکس می‌شود، مگر اینکه آن سایت‌ها مانند دستگاه‌های فکس باشند که صفحات را برای هر کسی که درخواست می‌کند ارسال می‌کند. بیش از نیمی از مردم و شرکت‌ها در سراسر جهان وب‌سایت‌هایی را ترجیح می‌دهند که بتوانند سفارش‌های کاربران را دریافت کنند، تشخیص بیماری‌ها را ارسال کنند، و حتی عملیات‌های ابزاری ظریف را در کف کارخانه‌ها و آزمایشگاه‌های علمی اجرا کنند. کارهایی مانند این _NEVER_ با HTML مواجه نشدند!.

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

      باشد باشد

      یا باشد.
      کرنیگان افسانه ای یک بار اظهار داشت که کل ترفند اصل WYSIWYG (آنچه می بینید همان چیزی است که به دست می آورید) این است که وقتی نمی توانید چیزی را ببینید، معمولاً دقیقاً همان مقدار را دریافت می کنید.

      کلماتی که در بالا در پرانتز قرار دارند، برچسب نامیده می شوند. HTML هیچ تگ تجزیه ای ندارد و از این رو نقطه ضعف دیگر آن: انعطاف ناپذیری است. افزودن یک برچسب جدید به زبان آنقدر بوروکراتیک است، آنقدر طولانی که هیچ کس با آن سر و کار نخواهد داشت. اما تگ‌های خودشان با هر برنامه‌ای تداخل نمی‌کنند، و نه فقط در مثال بالا با یک پزشک.

      این تا حد زیادی سرعت آهسته ایجاد فروشگاه های آنلاین، کاتالوگ های سفارش پستی و سایر سایت های تعاملی را توضیح می دهد. اگر تعداد واحدهای سفارش و روش ارسال را تغییر دهید و تعداد انگشت شماری را در تغییر فیلد «جمع» مشاهده کنید، همچنان باید از یک سرور راه دور (که قبلاً بیش از حد کار کرده است) درخواست کنید تا یک صفحه کاملاً جدید ایجاد شده با گرافیک و همه چیز را برای شما ارسال کند. در حالی که کامپیوتر قدرتمند شما بیکار خواهد ماند زیرا چیزی شبیه به آن را یاد گرفته است

      و ، اما نه قیمت با گزینه های تحویل.

      کیفیت نامطلوب قابلیت های جستجوی وب را به اینها اضافه کنید. از آنجایی که هیچ راهی برای برچسب گذاری مشخص اطلاعات قیمت وجود ندارد، جستجوی صفحات وب بر اساس «قیمت» مطلقاً غیرممکن است.


      یک چیز قدیمی، یک چیز جدید

      در اصل، راه حل ابتدایی است: برچسب ها باید نشان دهند که چه نوع اطلاعاتی است و نه اینکه چگونه باید به نظر برسد. برای مثال، اجزای سفارش یک پیراهن را با برچسب‌های «قیمت، اندازه، مقدار، رنگ» به جای «پررنگ، پاراگراف، ردیف، ستون» که در HTML پیشنهاد شده است، تگ کنید. سپس برای برنامه آسان تر است که سند را به عنوان یک سفارش تشخیص دهد و بقیه کار را انجام دهد: این سفارش را به شکلی نشان دهید، آن را از طریق سیستم حسابداری عبور دهید یا همه چیز را طوری بسازید که روز بعد یک پیراهن جدید به درب منزل شما تحویل داده شود.

      ما، کارگروه W3C، توسعه چنین پروژه ای را در سال 1996 آغاز کردیم. این ایده قوی بود، اگرچه کاملاً اصلی نبود. برای نسل ها، ویراستاران و چاپگرها برچسب گذاری کرده اند متون دست نویسیادداشت هایی برای حروفچینی ها چنین "زبان نشانه گذاری" تا سال 1986 به طور مستقل توسعه یافت، زمانی که در نتیجه ده سال کار، سازمان بین المللی استاندارد (ISO) سیستمی را برای ایجاد زبان های نشانه گذاری جدید معرفی کرد.

      پس از دریافت نام SGML (زبان نشانه گذاری تعمیم یافته استاندارد)، این زبان توصیف زبان - یک فرازبان - سودمندی خود را به عنوان مثال بسیاری ثابت کرده است. سیستم های بزرگتهیه نشریات و حتی HTML نیز تعریف خود را از طریق SGML دریافت کرد. تنها مشکل SGML همه چیزخوار بودن آن بود - چیزهای مبهم زیادی برای به حداقل رساندن ضربه های کلید وجود دارد، زیرا در آن زمان هر بایت شمارش می شد. به همین دلیل است که مرورگرهای وب امروزه به خوبی با آن کنار نمی آیند.

      با ایجاد XML، گروه کاری ما SGML را از تمام پوسته‌ها حذف کرده و یک زبان فرازبان بسیار هدفمند و قابل هضم را پیشنهاد کرده است. پایه XML مجموعه ای از قوانین است که به هر کسی اجازه می دهد زبان نشانه گذاری خود را ایجاد کند. این قوانین طوری انتخاب می شوند که یک تک برنامه کوچک(به آن تجزیه کننده یا تجزیه کننده نیز می گویند) می تواند با شناخت هر زبان جدید مقابله کند. دوباره مثال پزشکی را در نظر بگیرید که مایل است آزمایشات را به متخصص ارجاع دهد. اگر پزشکان حرفه ای زبان نشانه گذاری خود را از XML بسازند تا سوابق پزشکی را رمزگذاری کنند (تعدادی از گروه ها برای مدت طولانی روی مشکل کار می کنند)، پس در پیامی از یک پزشک به همکارش می تواند چیزی شبیه به این باشد.


      <имя пациента>بله بلا
      <аллергия на лекарство>بلبله بله

      در این فرمول، نوشتن برنامه ای برای رایانه ای که خودسرانه گرفته شده است، دیگر دشوار نیست تا بتواند این سوابق پزشکی استاندارد شده را تشخیص دهد و بتواند وارد این موارد حیاتی شود. اطلاعات مهمبه پایگاه داده شما

      همانطور که HTML به گونه ای طراحی شده است که به هر کسی اجازه می دهد اسناد اینترنتی را بخواند، XML به ما یک اسپرانتو می دهد که همه می توانند بخوانند و بنویسند، صرف نظر از بابلون پلتفرم های ناسازگار. بله، حتی از دیدگاه یک فرد عادی در زبان XMLبار معنایی بیشتر (برخلاف سایر قالب‌های داده)، زیرا چیزی شبیه متن غیرقابل خواندن ندارد.

      قدرت جهانی بودن XML از حداقل مجموعه ای از قوانین به خوبی انتخاب شده ناشی می شود. اولاً، تگ‌ها همیشه یک جفت را تشکیل می‌دهند و متنی که روی آن اعمال می‌شوند را با براکت‌های عجیب و غریب احاطه می‌کنند. ثانیاً، تگ های جفت می توانند مانند نقل قول ها در داخل یکدیگر قرار بگیرند و به شما امکان می دهند ساختارهای چند سطحی پیچیده بسازید.

      قانون تودرتو به طور خودکار هر سند XML را ساده می کند و ساختاری را تولید می کند که در علوم کامپیوتر به عنوان درخت شناخته می شود. مانند شجره نامه، هر عنصر گرافیکی یا متنی یک سند، پدر، پسر یا برادر (والد، فرزند، خواهر و برادر) عنصر دیگری است و این رابطه خویشاوندی همیشه بدون ابهام است. البته، درختان کل تنوع ساختارهای داده را توصیف نمی کنند، اما بیشتر موارد استفاده معمول برای رایانه ها را پوشش می دهند. علاوه بر این، درختان برای برنامه نویسان بسیار راحت هستند. وقتی این چک به صورت درختی ارائه می شود، نوشتن یک کد کوچک برای ترتیب دادن مجدد تراکنش ها یا نمایش یک چک کاملاً قابل درک مشکلی نیست.

      دومین منبع قدرت جهانی XML، اتکای آن به استاندارد جدید یونیکد است، یک سیستم کدگذاری که امکان اختلاط متون را در تمام زبان‌های اصلی دنیا فراهم می‌کند. برعکس، در HTML، مانند توده واژه پردازها، یک سند، به عنوان یک قاعده، فقط می تواند به یک زبان خاص باشد، مهم نیست که کدام یک - انگلیسی، ژاپنی یا عربی.
      و اگر برنامه رمزگذاری برخی از زبان ها را نمی داند، می توانید سند را (در HTML) فراموش کنید. این می تواند حتی بدتر هم باشد: برای مثال، به دلیل ناهماهنگی در رمزگذاری، برنامه های نوشته شده در تایوان اغلب نمی توانند متون مربوط به سرزمین اصلی چین را بخوانند. در مورد XML، اگر برنامه بداند چگونه با آن به درستی کار کند، با هر ترکیبی از رمزگذاری ها کنار می آید. بنابراین، XML به شما امکان می دهد نه تنها داده ها را بین پلتفرم های مختلف رایانه مبادله کنید، بلکه غلبه بر موانع ملی و فرهنگی را نیز ممکن می سازد.


      پایان انتظار جهانی

      با گسترش XML، وب باید بسیار پاسخگوتر شود. امروزه، تمام کاری که دستگاه‌های رایانه‌ای در شبکه می‌توانند انجام دهند، فرقی نمی‌کند که دسکتاپ قدرتمند باشند یا سازمان‌دهنده جیبی، چیزی نیست جز دریافت یک فرم توسط «GET»، پر کردن آن، و سپس رانندگی به سمت وب سرور تا زمانی که کار با فرم کامل شود. XML به ما این امکان را می دهد که ساختار و معنایی داده ها را به فرم منتقل کنیم و بنابراین همه این دستگاه ها می توانند پردازش اولیه را در مکان مناسب و بلافاصله انجام دهند. این نه تنها بار روی سرورها را کاهش می دهد، بلکه باید به کاهش قابل توجه ترافیک شبکه منجر شود.

      برای مثال، یک آژانس مسافرتی آنلاین را تصور کنید که به دنبال پروازی از لندن به نیویورک در 4 جولای است. به احتمال زیاد، فهرستی را چندین برابر طولانی تر از آن چیزی که روی صفحه جا می شود، خواهید دید. این لیست را می توان با تعیین پارامترهای دقیق تر مانند زمان حرکت، قیمت یا خط هوایی کوتاه کرد، اما در این حالت شما به سادگی سرور آژانس مسافرتی را با درخواست خود "بار" کرده و باید منتظر پاسخ باشید. با این حال، اگر این لیست طولانی از پروازها به صورت XML در اختیار شما قرار می‌گرفت، اداره می‌تواند آن را با یک اپلت کوچک جاوا همراهی کند، که با آن می‌توانید فوراً و به راحتی موارد غیرضروری را بدون استفاده از هیچ گونه تعاملی با سرور مرتب کنید و فیلتر کنید. این را در میلیون ها کاربر وب ضرب کنید و اثر کلی چشمگیر است.

      هرچه اطلاعات شبکه بیشتر با برچسب های XML "صنعت" مشخص شود، پیدا کردن آنچه به دنبال آن هستید آسان تر خواهد بود. امروزه، جستجوی اینترنت برای «شغل های دلال سهام» شما را با بهمنی از تبلیغات غرق می کند، اما احتمالاً فقط تعداد کمی در مورد کار آنها وجود خواهد داشت - بیشتر کارها در سایت های روزنامه های آگهی رایگان پنهان شده است که روبات های جستجوگر دوست ندارند با آنها کار کنند. و اکنون انجمن روزنامه آمریکا در حال ساخت زبان نشانه گذاری تبلیغاتی خود در XML است که نوید می دهد روند جستجو را بسیار کارآمدتر کند.

      مهم نیست که فقط یک مرحله میانی باشد. کتابداران مدت‌هاست که راه‌هایی برای یافتن سریع چیزی می‌دانند - نه به اسناد، بلکه به توضیحات کلیدی فشرده آنها که فقط به خود منابع اشاره می‌کنند. یعنی کاتالوگ هایی با نمونه ای به صورت کارت های کتابخانه ای هستند. به چنین اطلاعاتی در مورد اطلاعات «فراداده» می گویند.

      بنابراین، از همان ابتدا نقش مهمپروژه XML بر ایجاد یک استاندارد ابرداده همراه متمرکز بود. چارچوب توصیف منابع فوریه (RDF) باید همان نقشی را ایفا کند که کارت‌های فهرست کتاب‌های کتابخانه‌ای برای اطلاعات در وب دارند. همانطور که ابرداده های RDF در سراسر وب پخش می شوند، جستجوها بسیار سریعتر و مرتبط تر از آنچه اکنون هستند انجام می شود. هیچ کتابداری در وب وجود ندارد، اما هر مدیر وب‌سایتی، علاوه بر هر چیز دیگری، برای یافتن آسان سایت خود تلاش می‌کند، بنابراین انتظار داریم که RDF، زمانی که مردم قدرت آن را کشف کنند، تأثیر زیادی بر توسعه اینترنت داشته باشد.

      البته می توان بدون جست و جو به اطلاعات دست یافت. به هر حال، وب ابرمتن است - میلیاردها صفحه مملو از پیوندها - آن کلمات خط کشیده شده ای است که فقط باید روی آنها کلیک کنید تا به صفحه دیگری منتقل شوید. در XML مکانیسم هایپرلینک ها نیز بسیار تقویت می شود. مشخصات پیوند XML به نام XLink که W3C در حال آماده سازی آن تا پایان سال است، به کاربر این امکان را می دهد که از بین چندین مقصد انتخاب کند. نوع دیگری از هایپرلینک ها به شما این امکان را می دهند که متن یا تصویری را درست در نقطه کلیک شده دریافت کنید و به بازدید کننده اجازه می دهد صفحه را ترک نکند.

      احتمالاً مفیدترین بخش XLink بخشی از مشخصات است که به نویسندگان اجازه می دهد از پیوندهای غیرمستقیم که به یک پایگاه داده خلاصه اشاره می کنند به جای خود صفحات استفاده کنند. بنابراین، اگر نویسنده آدرس صفحه را تغییر داده باشد، یک ویرایش ساده نویسنده از یک رکورد در چنین پایگاه داده ای می تواند به راحتی تمام پیوندهای منتهی به صفحه او را به روز کند. با این کار پیام‌های «فایل 404 یافت نشد» که در حال آشنا شدن هستند، خلاص می‌شوند و یک پیوند «شکسته» را نشان می‌دهند.

      ترکیب بیشتر پردازش کارآمدجستجوهای دقیق تر و پیوندهای منعطف تر، ساختار وب را متحول می کند و روش های کاملاً جدیدی را برای دسترسی به اطلاعات باز می کند. برای کاربران، این وب جدید بسیار سریعتر، قدرتمندتر و مفیدتر از وب امروزی خواهد بود.


      نیاز به همکاری

      البته همه چیز به این سادگی نیست. XML به هر کسی اجازه می دهد زبان جدیدی را به روش خود بسازد، اما ایجاد یک زبان خوب کاری است که پیچیدگی آن را نباید دست کم گرفت. اختراع یک زبان تازه شروع کار است: این ساده لوحانه است که انتظار داشته باشید تا زمانی که یک کتابچه راهنمای زبان را ارائه نکرده باشید، معانی برچسب های خود برای دیگران واضح باشد، و تا زمانی که برنامه هایی را بنویسید که با برچسب های زبان کار می کنند، برای رایانه ها قابل درک باشد.

      توضیح اینکه چرا چنین است دشوار نیست. اگر تنها کاری که باید برای آموزش پردازش سفارشات به رایانه انجام می‌دادید برچسب‌گذاری بود، دیگر نیازی به XML نبود. حتی به برنامه نویسان هم نیازی نیست - زیرا رایانه ها به اندازه کافی هوشمند هستند که بتوانند همه کارها را به تنهایی انجام دهند.

      چرا ما به XML نیاز داریم جادو نیست، عملکرد است. XML قوانین اساسی را ایجاد می کند که جزئیات برنامه نویسی یک لایه را ساده می کند - به طوری که افراد با علایق مشابه می توانند روی یک مهره سخت دیگر تمرکز کنند - دقیقاً در مورد چگونگی قالب بندی داده هایی که می خواهند مبادله کنند. این یک مشکل بسیار دشوار است، اگرچه مشکل جدیدی نیست.

      و چنین توافقاتی وجود خواهد داشت، زیرا ناسازگاری فزاینده پلتفرم های رایانه ای منجر به تاخیر، زیان های مالی و سردرگمی تقریباً در تمام زمینه های فعالیت می شود. مردم می‌خواهند ایده‌های خود را به اشتراک بگذارند و تجارت کنند، مهم نیست هرکسی چه چیزی دارد کامپیوترهای مختلف- و برای تحقق این امر، توسعه متقابل زبان های خصوصی (برای زمینه های مختلف فعالیت) هنوز راه زیادی در پیش دارد. با این حال، هجوم نام‌های اختصاری جدید که به «ML» ختم می‌شوند، گواهی بر جت غیرقابل انکاری (اختراع) است که XML برای علم، تجارت و آموزش به ارمغان آورده است.

      هنگام ایجاد یک زبان نشانه گذاری جدید در XML، سازندگان آن باید در مورد سه چیز به توافق برسند: چه برچسب هایی در آنجا وجود خواهند داشت، چگونه می توان آنها را تودرتو کرد و چگونه باید پردازش شوند. دو مورد اول - فرهنگ لغت زبان و ساختار - اکنون با استفاده از DTD (تعریف نوع سند) کدگذاری می شوند. استاندارد XML توسعه‌دهندگان زبان را ملزم به استفاده از DTD نمی‌کند، اما بیشتر زبان‌های جدیدتر احتمالاً DTD خواهند داشت، که نوشتن برنامه‌هایی را برای برنامه‌نویسان آسان‌تر می‌کند که نشانه‌گذاری را درک می‌کنند و چیزی مفید از آن استخراج می‌کنند. شما همچنین به مجموعه‌هایی از کتابچه‌های راهنما نیاز دارید، که در آن معانی همه برچسب‌ها به زبان انسانی توضیح داده شده است. به عنوان مثال، HTML دارای یک DTD است، اما HTML همچنین دارای صدها صفحه کتابچه راهنمای آشنا است که برنامه نویسان هنگام توسعه مرورگرها و سایر برنامه ها برای وب به آنها مراجعه می کنند.


      انشا در مورد سبک

      برای کاربران، نکته اصلی این است که برنامه چه کاری می تواند انجام دهد، نه آنچه در توضیحات آن نوشته شده است. عموماً، مردم ترجیح می‌دهند که برنامه‌ها به آن‌ها اجازه دهند اطلاعات کدگذاری شده با XML را به روشی قابل خواندن ببینند. اما هیچ نشانه گذاری خاصی در تگ های خود XML وجود ندارد که نشان دهد. چگونه داده ها باید روی صفحه نمایش یا برگه چاپ شده ارائه شوند.

      برای ناشرانی که به دنبال نوشتن یک بار و سپس انتشار در همه جا هستند ("یک بار بنویس و همه جا منتشر کن")، مهمترین چیز این است که یک نشریه را "تولد" کنند و سپس آن را در انواع بی شماری از نشریات چاپی و الکترونیکی "بطری" کنند. XML در این راه به آنها کمک می کند: محتوا با برچسب های توصیفی که مستقل از محیط رندر هستند علامت گذاری می شود. علاوه بر این، ناشر می تواند قوانین ارسال را در قالب به اصطلاح صادر کند. stylesheets (stylesheets)، به طور خودکار "استایل" کار خود را در زیر دستگاه های مختلفو محیط ها استاندارد چنین زبان XML که برای این منظور توسعه می یابد، زبان صفحه سبک توسعه پذیر (XSL) نامیده می شود.

      آخرین نسخه هامرورگرها می‌توانند اسناد XML را بخوانند، فایل‌های سبک مناسب را انتخاب کنند و از آنها برای مرتب‌سازی و قالب‌بندی اطلاعات روی صفحه استفاده کنند. خواننده ممکن است حتی متوجه نشود که با XML سروکار دارد و نه HTML، مگر اینکه متوجه شود که سایت‌های XML سریع‌تر و آسان‌تر برای استفاده هستند.

      افراد کم بینا نیز از اصول انتشار رایگان اسناد XSL بهره مند می شوند، زیرا XSL آنها را قادر می سازد XML را به خط بریل یا صوتی بخوانند. این مزایا در مورد دیگران نیز صدق می کند: برای مثال، فروشنده ای که می خواهد از راحتی ماشینش در اینترنت گشت و گذار کند، مطمئناً گوش دادن به صفحات با صدا را بسیار راحت می یابد.

      اگرچه در ابتدا هسته اصلی شبکه برنامه های علمی و آموزشی بود، شبکه امروزی در حال حاضر یک تجارت تجاری است (خوب، می توان گفت، انتظارات تجاری)، ذخیره سوخت برای شروع سریع. همه اعتراضات اخیر ناشی از افزایش فروش آنلاین را به خاطر دارند و نیازی به گفتن نیست که تجار با چه سرعتی در تعامل آنلاین هستند. جریان کالاهای تولیدکنندگان بزرگ فقط خواستار اتوماسیون در شبکه است. اما طرح‌های تجاری امروزی از تعاملات پیچیده برنامه به برنامه استفاده می‌کنند، و در عمل این کار بسیار ضعیف است، زیرا یکنواختی فرآیندهای پردازش هنوز برای موفقیت به دست نیامده است.

      برای قرن ها، مردم با موفقیت تجارت می کنند، اسناد استاندارد را مبادله می کنند: سفارش ها، فاکتورها، اظهارنامه ها، رسیدها و غیره. و غیره. این اسناد برای کسب و کار کار می کرد و هیچ کس نیازی به این نداشت که یکی از طرفین درگیر کار داخلی طرف دیگر را بداند. هر مدرکی دقیقاً تا جایی که گیرنده اطلاعات باید نشان می داد نشان داده شد و نه بیشتر. ظاهرا به اشتراک گذاری اسناد بهترین راه برای انجام تجارت در وب نیز هست. اما این اصلاً وظیفه ای نبود که HTML برای آن ایجاد شد.

      برعکس، XML به طور خاص به منظور تبادل اسناد در نظر گرفته شده است و بدیهی است که اساس تجارت الکترونیکبر قراردادهای بیان شده توسط میلیون ها سند XML که در سراسر اینترنت شناور هستند تکیه خواهد کرد.

      بنابراین، وب تقویت‌شده با XML باید مکانی سریع، دوستانه و بهتر برای تجارت کاربران باشد. حتی XML بیشتری مورد نیاز وب مسترها و طراحان وب است. دانش "کامل" زبان های XML جدید برای ارتش برنامه نویسان مورد نیاز خواهد بود. و اگرچه دوران هکرهای خودآموز [منظور نویسندگان بهترین معنای کلمه بودند] هنوز ادامه دارد، جمعیت آنها در حال حاضر در معرض تهدید است.

      طراح وب فردا باید نه تنها در تولید متن و گرافیک بلد باشد، بلکه باید در ساختن سیستم های لایه ای و وابسته به هم بر اساس DTD ها، درختان داده، ساختارهای پیوند، ابرداده ها و اجزای سبک - یک زیرساخت قوی و پیشرفته وب نسل دوم، مهارت داشته باشد.

      فناوری استفاده از XML برای انتقال داده ها به سرور را در نظر بگیرید.

      ما قبلاً 2 راه برای انتقال داده ها به سرور در نظر گرفته ایم: این یک متن ساده با جداکننده و JSON است. اما آنها معایبی دارند:

      • عدم وجود انواع داده ها JSON فقط رشته، عدد، تهی، بولی دارد. آن ها مجموعه محدودی از داده ها
      • کنترل یکپارچگی داده های ارسالی دشوار است.
      • تجسم داده ها دشوار است، به عنوان مثال. اشیاء پیچیدهبرای مثال، نمایش در آن دشوار است فرم htmlکد
      • تبدیل داده ها دشوار است، به عنوان مثال. تبدیل ویژگی های یک شی به ویژگی های یک شی دیگر دشوار است.

      حالا بیایید به XML به عنوان راهی برای انتقال داده بپردازیم. XML(EXtensible Markup Language) - یک زبان نشانه گذاری که برای توصیف، ذخیره و انتقال داده های ساخت یافته طراحی شده است. امروزه XML در همه جا استفاده می شود.

      بسیاری از فناوری‌های مبتنی بر XML وجود دارد: DOM (تعامل برنامه‌ای با داده)، XLink (اشاره‌گرها و پیوندها)، XPath (توضیحات و انتخاب عناصر)، XSL، XSLT (تبدیل سند XML).

      تجزیه بسته XML به شکل زیر است:

      // شی XMLHttpRequest var req= getXmlHttpRequest (); //نصب هندلرقیاس onreadystatechange= تابع () (اگر (شرایط آماده== 4 ) ( //حالت "4 - کامل" var xml = req. answerXML; ))

      اینجا حتی سریال سازی و سریال زدایی هم لازم نیست انجام شود. این کار توسط خود شی انجام می شود. به محض اینکه سرور داده های XML را ارسال می کند، قبلاً تجزیه شده است (responseXML - مدل سند DOM). اطلاعات بیشتر در مورد فناوری DOM را در مقالات قبلی سایت بخوانید.

      گاهی اوقات برای دیباگ نیاز به سریال سازی و سریال زدایی داده های XML است (برای انتقال داده ها به سرور، این کار به صورت خودکار انجام می شود، نیازی به انجام دستی نیست). بیایید به یک رشته سریال کنیم:

      //برای IE var str = dom. xml //برای فایرفاکس var serializer = new XMLSerializer(); var str = سریال ساز. serializeToString(dom);

      برای IE، کد کار کوتاهتر است. در حال حاضر یک شی برای سریال سازی داخلی دارد، در حالی که سایر مرورگرها فقط یک شی XMLSerializer برای سریال سازی دارند.

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

      //عنصر ریشه var root = xmlDOM. documentElement; //اولین عنصر در مجموعه varbook = ریشه. childNodes[ 0]; //عنصر کودکعنوان var = کتاب. childNodes[ 0]; // گره متن عنصرهشدار(title.firstChild.nodeValue);

      همچنین می توانید عناصری از همان نوع را از DOM مدل سند انتخاب کنید. توجه! توابع getElemensById - خیر، زیرا در XML، id می تواند به معنای هر چیزی باشد، نه فقط یک شناسه، بنابراین از آن استفاده نمی شود.

      //همه عناصر را با یک تگ انتخاب کنید var books = xmlDOM. getElementsByTagName("کتاب");

      XML همچنین به طور فعال نه تنها برای نمایش داده ها، بلکه برای تبادل داده ها در یک معماری سرور گرا نیز استفاده می شود. این رویکردی است که در آن ما یک برنامه پیچیده را نه به عنوان یک برنامه کاربردی کلاینت-سرور کلاسیک، بلکه به عنوان مجموعه‌ای از خدمات (سرویس‌ها) ارائه می‌کنیم که هر کدام وظایف خاص خود را بر عهده دارند. و هر سرویس دارای نقاط ورود (نقاط تعامل) است. در اینجا مشتری واضحی وجود ندارد، زیرا یک سرویس می تواند مشتری سرویس دیگری باشد. به نظر می رسد چنین فناوری توزیع شده است. چندین رویکرد برای ساخت چنین فناوری هایی وجود دارد - فراخوانی روش از راه دور، SOAP.

      برای اینکه خدمات مشتریان مختلف با هم تعامل داشته باشند، آنها باید به یک زبان صحبت کنند (مهم نیست که کدام سیستم عاملدر خدمت). و چنین زبانی توسعه یافت و RPC نام گرفت.

      پروتکل XML-RPC

      RPC(Remote Procedure Call) - فراخوانی روش از راه دور. این یک پروتکل ارتباطی بین دو نقطه راه دور است. به نقطه "a" اجازه می دهد تا یک تابع را در نقطه راه دور "b" فراخوانی کند.

      چندین پیاده سازی از پروتکل RPC وجود دارد. یک پیاده سازی مبتنی بر XML را در نظر بگیرید.

      در واقع، مشتری و سرور به سادگی برخی از قطعات XML را مبادله می کنند.

      XML-RPC فراهم می کند انواع زیرداده ها:

      • بولی
      • عدد صحیح
      • دو برابر.
      • رشته
      • زمان قرار.
      • پایه 64.
      • آرایه.
      • ساخت.
      • خالی.

      آن ها هنگام ارسال یک نوع داده خاص، باید نوع داده را اعلام کنید. ساختار مانند یک شی JSON است.

      تبدیل داده های XML

      XSLT برای تبدیل داده های دریافتی از سرور به عنوان XML استفاده می شود.

      XSLT(EXtendable Stylesheet Language Transformation) یک فناوری است که به دریافت XML به عنوان ورودی و ایجاد هر چیزی در خروجی کمک می کند.

      تبدیل XSLT به جاوا اسکریپت - IE

      var dom = new ActiveXObject("MSXML2.DOMDocument"); dom. async=نادرست dom var xsl = جدید ActiveXObject(" [ایمیل محافظت شده]" )؛ xsl.async = نادرست؛ xsl.load("my.xsl" ); //خود تبدیل varresult = dom. transformNode(xsl);

      XSLT را به جاوا اسکریپت برای فایرفاکس تبدیل کنید. کروم، اپرا

      varxslStylesheet; var xsltProcessor var myXMLHTTPRequest = mew XMLHttpRequest(); myXMLHTTPRequest. open("GET" , "example.xsl" , false); myXMLHTTPRequest. ارسال (تهی)؛ //دریافت xml xslStileshett = myXMLHTTPRequest. answerXML; xsltProcessor myXMLHTTPRequest = new XMLHttpRequest(); myXMLHTTPRequest. open("GET" , "example.xml" , false); myXMLHTTPRequest. ارسال (تهی)؛ //خود تبدیل var xmlSource = myXMLHTTPRequest. answerXML; var resultDocument = xsltProcessor. transformToDocument(xmlSource);

      مقدمه ای بر نشانه گذاری مناسب

      XMLبه معنای زبان نشانه گذاری توسعه پذیر،با تمرکز بر نشانه گذاری(نشانه گذاری). می توانید متنی ایجاد کنید و آن را با برچسب های بسته بندی علامت گذاری کنید، هر کلمه، جمله یا قطعه را به اطلاعات قابل شناسایی و قابل مرتب سازی تبدیل کنید. فایل هایی که ایجاد می کنید، یا نمونه های سند، از عناصر (برچسب) و متن تشکیل شده است و عناصر به درک صحیح سند هنگام خواندن روی کاغذ یا حتی پردازش آن کمک می کنند. در قالب الکترونیکی. هر چه عناصر توصیفی بیشتر باشد، بخش های بیشتری از سند قابل شناسایی است. از همان روزهای اولیه نشانه گذاری، یکی از مزایای آن این است که در صورت ضرر سیستم کامپیوتریچاپ شده داده هابه لطف برچسب ها همچنان قابل خواندن باقی می مانند.

      زبان‌های نشانه‌گذاری از اولین اشکال ایجاد شده توسط شرکت‌ها و سازمان‌های دولتی به زبان استاندارد تعمیم‌یافته نشانه‌گذاری (SGML)، زبان نشانه‌گذاری فرامتن (HTML) و در نهایت به XML رفته‌اند. SGML ممکن است پیچیده به نظر برسد، و HTML (که در ابتدا فقط مجموعه‌ای از عناصر بود) برای شناسایی اطلاعات به اندازه کافی قدرتمند نبود. XML به عنوان یک زبان نشانه گذاری با کاربری آسان و قابل توسعه طراحی شده است.

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

      ساخت یک سند XML

      همانطور که گفته شد، فایل های XML از متن و نشانه گذاری تشکیل شده اند. بیشتر متن در عناصری قرار می گیرد که متن با برچسب ها احاطه شده است. به عنوان مثال، فرض کنید می خواهید یک کتاب آشپزی در آن ایجاد کنید فرمت XML. ما یک دستور پخت داریم به نام بستنی ساندیباید به XML تبدیل شود. برای علامت گذاری نام دستور غذا، متن آن را در عنصری قرار می دهیم که با برچسب شروع و پایان می یابد. این عنصر را می توان نام دستور پخت نامید. برای علامت گذاری تگ شروع یک عنصر، نام آن را در پرانتزهای زاویه قرار دهید<>)، مثل این: . سپس متن Ice Cream Sundae را وارد کنید. بعد از متن، تگ بسته شدن را که نام عنصر است قرار دهید براکت های زاویه، به اضافه یک عنصر با اسلش (/) در جلوی نام عنصر، مانند این:. این تگ ها تشکیل می شوند عنصر، که در آن می توانید متن و حتی عناصر دیگر را وارد کنید.

      نام عناصر را می توان هم برای اسناد فردی و هم برای گروهی از اسناد ایجاد کرد. با توجه به نیاز خود، می توانید قوانینی را که باید برای عناصر رعایت شود، مشخص کنید. عناصر می توانند کاملاً خاص یا کاملاً کلی باشند. قوانین همچنین باید تعریف کنند که چه چیزی مجاز است در هر عنصر گنجانده شود. آنها می توانند سخت، شل یا متوسط ​​باشند. به سادگی عناصری ایجاد کنید که قسمت هایی از سند شما را که فکر می کنید مهم هستند را مشخص می کند.

      شروع به ایجاد فایل XML کنید

      خط اول یک سند XML می تواند یک اعلان XML باشد. این بخش اختیاری فایل آن را به عنوان یک فایل XML تعریف می‌کند، که می‌تواند به ابزارهای خودکار و انسان‌ها کمک کند تا فایل را به‌عنوان XML به جای SGML یا نشانه‌گذاری‌های دیگر تشخیص دهند.

      بیانیه ممکن است دقیقاً شبیه باشد یا شامل نسخه XML ( ) و حتی رمزگذاری کاراکترها، برای مثال،برای یونیکد از آنجایی که این اعلان باید در ابتدای فایل باشد، اگر قصد دارید فایل های XML کوچک را در یک فایل بزرگتر ترکیب کنید، بهتر است این عنصر اختیاری حذف شود.

      ایجاد عنصر ریشه

      تگ های شروع و پایان عنصر ریشه تمام بدنه سند XML را احاطه کرده است. باید فقط یک عنصر ریشه در فایل وجود داشته باشد و آن "پوسته" مورد نیاز برای آن است. قطعه ای از مثالی که من در اینجا با عنصر ریشه استفاده می کنم را نشان می دهد (دستور آشپزی). ( فایل کامل XML در آورده شده است.)

      فهرست 1. عنصر ریشه

      همانطور که سند خود را ایجاد می کنید، متن و برچسب های اضافی را بین آنها قرار می دهید و .

      نام عناصر

      حساسیت به حروف کوچک و بزرگ در برچسب ها

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

      بنابراین ما یک عنصر ریشه داریم . در XML ابتدا نام عناصر انتخاب می شود و سپس عنصر مناسب بر اساس این نام ها تعیین می شود. توضیحات DTDیا طرحواره نام ها می توانند شامل حروف، اعداد و کاراکترهای خاص مانند زیرخط (_) باشند. در اینجا چند قانون نامگذاری وجود دارد که باید به خاطر بسپارید:

      • فاصله در نام عناصر مجاز نیست.
      • نام ها باید با یک حرف شروع شوند نه یک عدد یا علامت. (بعد از این حرف اول، می توان از هر ترکیبی از حروف، اعداد و کاراکترهای معتبر استفاده کرد.)
      • مورد مهم نیست، اما مراقب باشید تا از سردرگمی جلوگیری کنید.
      فهرست 2. عناصر دیگر
      بستنی ساندی 5 دقیقه

      یک سند XML می‌تواند حاوی تگ‌های خالی باشد که در داخل آن چیزی وجود ندارد و می‌توان آن را به‌عنوان یک تگ واحد به جای یک جفت تگ شروع و پایان بیان کرد. به عنوان مثال، می تواند یک برچسب مستقل باشد سبک HTML . این شامل هیچ عنصر یا متن فرزند نیست، بنابراین یک عنصر خالی است و می تواند به عنوان نوشته شود (با فاصله و اسلش دنباله دار آشنا).

      عناصر تودرتو

      پیوستقرار دادن عناصر در داخل عناصر دیگر است. این عناصر جدید نامیده می شوند شرکت های تابعهعناصر، و عناصری که آنها را احاطه کرده اند - آنها والدینعناصر. به عنصر ریشه موارد متعدد تو در تو اینها عناصر کودک تو در تو هستند , و داخل یک عنصر چندین عنصر کودک یکسان وجود دارد . Nesting می تواند یک سند XML را چند سطحی کند.

      معمول اشتباه نوشتاریمربوط به لانه سازی عناصر والد و فرزند است. هر عنصر فرزند باید به طور کامل بین تگ های شروع و پایان عنصر والد خود قرار گیرد. عناصر کودک باید قبل از شروع عنصر فرزند بعدی به پایان برسد.

      نمونه ای از یک تودرتو صحیح در آورده شده است. برچسب ها بدون شروع و پایان می یابند بافتبا برچسب های دیگر

      فهرست 3. تودرتوی مناسب عناصر XML.
      بستنی ساندی 3 شربت شکلات یا فاج شکلات 1 آجیل 1 گیلاس 5 دقیقه

      افزودن صفات

      گاهی اوقات عناصر اضافه می شوند ویژگی های. ویژگی‌ها از یک جفت نام-مقدار تشکیل شده‌اند، که در آن مقدار در گیومه‌های دوتایی (") قرار می‌گیرد، مانند این: type="desert". ویژگی‌ها به شما امکان می‌دهند همراه با عنصر ذخیره کنید. گزینه های اضافی، تغییر مقادیر این پارامترها از عنصری به عنصر دیگر در همان سند.

      یک ویژگی – یا حتی چندین ویژگی – در تگ شروع یک عنصر مشخص شده است: . هنگام اضافه کردن چندین ویژگی، آنها با فاصله از هم جدا می شوند: . فایل XML را همانطور که اکنون به نظر می رسد نشان می دهد.

      فهرست 4. فایل XML ما با عناصر و ویژگی ها
      بستنی ساندی 5 دقیقه

      شما می توانید از هر تعداد مشخصه استفاده کنید. در مورد جزئیاتی که می توانید به سند خود اضافه کنید فکر کنید. ویژگی ها به ویژه در صورتی مفید هستند که اسناد ذخیره شوند - به عنوان مثال، بر اساس نوع دستور غذا. نام ویژگی‌ها می‌تواند دارای همان کاراکترهایی باشد که نام عناصر، با قوانین یکسانی برای حذف فاصله و شروع نام با یک حرف.

      XML خوش فرم و بد شکل

      اگر از قوانین تعریف شده در ساختار خود پیروی کنید، به راحتی قادر خواهید بود کد XML را به خوبی ایجاد کنید. XML صحیحکد XML است که طبق تمام قوانین XML کامپایل شده است: نامگذاری صحیح عناصر، تودرتو، نامگذاری ویژگی و غیره.

      بسته به کاری که با XML انجام می دهید، ممکن است لازم باشد با XML خوب کار کنید. مثال بالا از مرتب سازی بر اساس نوع دستور غذا را در نظر بگیرید. لازم است که عناصر حاوی یک ویژگی نوع بود. بسیار مهم است که بتوانید کد را با موفقیت آزمایش کنید و اطمینان حاصل کنید که مقدار این ویژگی همیشه وجود دارد.

      تحت اعتبارسنجیبه عنوان بررسی ساختار سند برای انطباق با قوانین تعیین شده برای آن و تعیین عناصر فرزند برای هر عنصر والد درک می شود. این قوانین در تعریف شده است شرح نوع سند(DTD) یا طرحواره. این اعتبار از شما می خواهد که یک DTD یا طرحواره ایجاد کنید و سپس به فایل DTD یا schema در فایل های XML خود مراجعه کنید.

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

      فهرست 5. DOCTYPE

      این مثال به این معنی است که فایل لیست آیتم شما نامگذاری شده است filename.dtdدر رایانه شما قرار دارد (یعنی در فهرست SYSTEM، نه در فهرست عمومی PUBLIC).

      با استفاده از موجودیت ها

      موجودیت هاممکن است قطعات متن یا کاراکترهای خاص باشد. آنها را می توان در داخل سند یا خارج از آن مشخص کرد. موجودیت ها باید به درستی اعلام و بیان شوند تا از خطا جلوگیری شود و به درستی نمایش داده شوند.

      شما نمی توانید کاراکترهای خاص را مستقیماً در متن وارد کنید. برای استفاده از کاراکترهای خاص در متن، باید آنها را موجودیت کنید و از کدهای این کاراکترها استفاده کنید. می توانید عبارات را به عنوان موجودیت هایی مانند نام یک شرکت تعریف کنید و سپس از آنها در متن استفاده کنید. برای ایجاد یک موجودیت، یک نام به آن بدهید و آن نام را بچسبانید و آن نام را در متن پس از علامت (&) و پایان با نقطه ویرگول - به عنوان مثال، (یا نام دیگری) بچسبانید. سپس این کد را در خط DOCTYPE خود وارد کنید براکت های مربع()، چگونه در . این کد متنی را که جایگزین موجودیت می شود تعریف می کند.

      فهرست 6. نهاد

      استفاده از موجودیت ها به جلوگیری از تکرار مکرر همان عبارت یا اطلاعات کمک می کند. همچنین می‌تواند ویرایش متن (مثلاً اگر یک شرکت نام خود را تغییر دهد) در بسیاری از مکان‌ها به‌طور هم‌زمان با تغییر دادن رشته تعریف موجودیت آسان‌تر می‌کند.

      چگونه از اشتباه جلوگیری کنیم

      در حالی که در حال یادگیری نحوه ایجاد فایل های XML هستید، آنها را در یک ویرایشگر XML باز کنید تا مطمئن شوید که به طور رسمی درست هستند و از رعایت قوانین XML مطمئن شوید. به عنوان مثال، اگر Windows® Internet Explorer® دارید، می توانید به سادگی فایل XML خود را در یک مرورگر باز کنید. اگر عناصر، ویژگی ها و متن شما نمایش داده شود، فایل XML به خوبی شکل گرفته است. اگر خطاهایی وجود داشته باشد، احتمالاً چیزی را در نحو به هم ریخته‌اید، و باید سند خود را برای اشتباهات تایپی یا گم شدن برچسب‌ها و علائم نگارشی به دقت بررسی کنید.

      نتیجه

      با آموختن چند مورد قوانین ساده، شما انعطاف پذیری برای طراحی عناصر XML خود و ویژگی های آنها دارید. قوانین XML پیچیده نیستند. تایپ یک سند XML نیز آسان است. نکته کلیدی این است که بفهمید از اسناد از نظر قابلیت‌های مرتب‌سازی و جستجو چه می‌خواهید و سپس عناصر و ویژگی‌ها را برای برآورده کردن آن نیازها طراحی کنید.

      وقتی هدف را به خوبی درک کنید و بدانید که چگونه متن خود را علامت گذاری کنید، می توانید عناصر و ویژگی های موثر ایجاد کنید. از این منظر، نشانه گذاری دقیق تنها چیزی است که برای ایجاد یک سند XML خوش فرم و قابل استفاده لازم است.