برگزیده های پرشین تولز

XSLT چیست ؟ ( بخش سوم)

Ittl.ir

Registered User
تاریخ عضویت
8 اکتبر 2015
نوشته‌ها
232
لایک‌ها
38
سن
30
در بخش دوم این مقاله، مفاهیم اولیه XSLT و ضرورت های تبدیل نوع یک سند XML به نوع دیگر اشاره و از این رهگذر جایگاه XSLT تبین گردید . در بخش دوم ، به بررسی جایگاه تکنولوژی XSLT در بین خانواده بزرگ تکنولوژی های مرتبط با XML خواهیم پرداخت . همانگونه که قبلا" اشاره گردید ،XSLT ،توسط کنسرسیوم وب عرضه و بسرعت با استانداردهای موجود در خانواده بزرگ XML همدست گردید. در ادامه به بررسی ارتباط موجود بین XSLT و سایر استانداردهای موجود در زمینه XML ، خواهیم پرداخت .
XSLT و XSL
آغاز حیات XSLT ، از یک زبان بزرگتر با نام XSL همراه بوده است . همانگونه که از نام زبان فوق مشخص است ، XSL ، با هدف تعریف نحوه فرمت سندهای XML ، بمنظور نمایش بر روی صفحه نمایشگر، کاغذ و سایر موارد ، طراحی و عرضه شده است . ارائه یک سند XML مستلزم تحقق دو فرآیند متمایز است . در اولین فرآیند، می بایست با انجام عملیات متفاوت نظیر انتخاب ، گروه بندی و ذخیره المان ها ، یک تبدیل ساختاری در سند ایجاد گردد . در دومین فرآیند ، می بایست ماحصل عملیات انجام شده بر روی المان ها با فرمت دلخواه در خروجی ( مثلا" نمایشگر ) نمایش داده شود . فرآیندهای فوق کاملا" از یکدیگر مستقل بوده و بر همین اساس XSL به دو بخش مجزاء تفسیم شده است: XSLT برای تعریف و انجام تبدیلات و XSL بمنظور تعریف نحوه فرمت و قالب نمایش ( ارائه ) اطلاعات . ( ویژگی فوق را XSL-FO نیز می گویند ) . (XSL Formatting Objects) . برای آگاهی از مشخصات و مستندات مربوط به XSL-FO می توان به آدرس http://www.w3.org/TR/xsl مراجعه کرد. XSLT می بایست دارای قابلیت ها ی خاصی بمنظور تولید خروجی مورد نظر باشد . XSL-FO ، امکانات متعدد و مناسبی در رابطه با ایجاد خروجی با کیفیت بالا را فراهم می نماید. اغلب پیاده کنندگان نرم افزار صرفا" تمایل به تبدیل یک سند XML به Html را داشته تا زمینه استفاده فراگیر نتایج در انواع مرورگرها فراهم گردد . در برخی حالات از امکانات CSS)Cascading style sheets) نیز بهمراه XSLT استفاده می شود .


XSLT و XML
XSLT ، ابزاری برای تبدیل اسناد XML است . در بخش اول این مقاله ، به ضرورت های تبدیل اشاره گردید. در این بخش لازم است به بررسی ارتباط دو تکنولوژی فوق با نگرشی عمیق تر ، پرداخته گردد . مفاهیم XML namespace و XML information set از جمله مواردی می باشند که زمینه تعامل ارتباطی بین XML و XSLT را فراهم می نمایند . در ادامه هر یک از موارد فوق توضیح داده می شود :
XML namespace
در طراحی XSLT بر نقش مهم و کلیدی XML namespace در استاندارد XML توجه جدی شده است . بنابراین زمانیکه استاندارد XSLT به یک سند XML مراجعه می نماید ، عملا" مشخصات XML namespace نیز مورد توجه قرار گرفته شده است . مشخصات و استانداردهای مربوط به namespace را می توان در آدرس http://www.w3.org/TR/REC-xml-names مشاهده نمود .

با توجه به اینکه رشته های URI اغلب طولانی و از کاراکترهای خاصی نظیر "/" استفاده می نمایند، از آنها بصورت کامل همراه اسامی المان ها و خصلت ها استفاده نمی گردد . بدین منظور اغلب از یک نام مستعار کوچک استفاده می شود . نام مستعار، بصورت پیشوند در کنار اسامی المان ها و خصلت ها استفاده می شود . نام در نظرگرفته شده برای پیشوند مهم نبوده و هر نامی را می توان انتخاب کرد . بدین ترتیب نام واقعی هر المان و یا خصلت ، از طریق URI مربوط به namespace و نام محلی آن ( آن بخش از نام که بعد از پیشوند قرار می گیرد ) مشخص خواهد شد . مثلا" می توان با استفاده از پیشوند xsl به namespace مربوط به http://www.w3.org/1999/XSLT/Transform اشاره کرد . برای اسامی المان ها ، می توان یک URI پیش فرض را تعریف و آن را به اسامی المان غیرپیشوندی مرتبط نمود . namespace پیش فرض URI به اسامی خصلت های غیر پیشوندی نسبت داده نخواهد شد . تعریف یک پیشوند namespace بصورت زیر است :

xmlns:prefix = "namespace-URI"

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

xmlns = "namespace-URI"

پردازش یک سند XML توسط XSLT متاثر از واقعیت های موجود در namespace خواهد بود .

XML information set
XSLT بمنظور انجام پردازش های ضروری بر روی اطلاعات موجود در یک سند XML ، طراحی و با سند کاری نخواهد داشت . این بدان معنی است که ، یک برنامه نویس XSLT قادر به دریافت یک نمایش شبه درختی از یک سند مبداء بوده که برخی از بخش های آن قابل مشاهد و برخی دیگر غیرقابل مشاهده خواهند بود.
در برخی حالات ، مناسب است که از XSLT و CSS در کنار یکدیگر استفاده نمود. مثلا" با استفاده از XSLT می توان یک مدل قابل قبول از سند مورد نظر را که قصد نمایش نهائی آن را داریم ، ( در مدل فوق متن ها بدرستی و با اولویت مناسب مستقر شده اند) ایجاد و در ادامه با استفاده از CSS ، عملیات لازم در رابطه با انتخاب نوع فونت ، اندازه فونت ، رنگ ها و … را انجام داد . در این راستا امکان پردازش XSLT بر روی سرویس دهنده و پردازش CSS ، بر روی سرویس گیرنده وجود خواهد داشت .


منبع:مجله الکترونیکی ittl
 
بالا