آبجی
8th March 2010, 05:48 PM
تکنولوژی XSL ، از CSS)Cascading Style Sheets) اقتباس شده است . CSS از یک Stylesheet بمنظور فرمت یک فایل HTML استفاده می نماید .XSL و CSS در موارد متعددی با یکدیگر تفاوت دارند. CSS ، امکان تعریف رنگ ها ، مشخص نمودن زمینه ها ، نوع فونت ها و ... را برای فایل های مبتنی بر Html فراهم می نماید. XSL امکان تبدیل یک فایل XML را به یک فایل Html ( و یا سایر فرمت های دلخواه نظیر متن ) فراهم می نماید. در این مقاله ده نکته مهم در رابطه با تکنولوژی XSL بیان می گردد .
نکته اول: همزمان با ارائه تکنولوژی XML توسط کنسرسیوم وب ، تکنولوژی XSLT)Extensible StyleSheet Language for Transformation )، برای تبدیل یک سند به نوع دیگر ، مطرح گردید. در زمان پیاده سازی XSLT ، تکنولوژی دیگر و مرتبط با XML با نام XPointer نیز ارائه گردید. XPointer ، مکانیزمی برای اشاره به بخش های متفاوت یک سند XML است . یکی دیگر از تکنولوژی های مرتبط با XML ، با نام XPath مطرح و ارائه گردید. XSLT,XPointer و XPath جملگی تکنولوژی های مبتنی بر XML می باشند .
نکته دوم: تکنولوژی XSLT ، مشابه یک زبان برنامه نویسی بوده و دارای توابع و متدهای فراوانی است که نمونه آنها را می توان در سایر زبان های برنامه نویسی مشاهده نمود. مثلا" XSLT دارای یک حلقه تکرار با نام for-each است .<XSL:for-each> .تکنولوژی فوق دارای برخی امکانات خاص دیگر است که نمونه آنها در سایر زبانهای برنامه نویسی وجود ندارد . مثلا" با استفاده از المان <XSL:script> ، می توان در هر مکان دلخواه ، اقدام به درج اسکریپت های مورد نظر نمود. برای درج محتویات یک فایل نیز می توان از المان <XSL:include> استفاده کرد . در صورتیکه XML را بمنزله داده ها در نظر بگیریم ، XSL ، زبان برنامه نویسی مناسب ، بمنظور انجام عملیات دلخواه بر روی داده ها است .
نکته سوم: با اینکه XSLT مشابه یک زبان برنامه نویسی است ولی دارای یک تفاوت اساسی با زبانهای برنامه نویسی است . زبان XSLT مبتنی بر تمپلیت ها می باشد . با استفاده از تمپلیت ها می توان نحوه پردازش یک المان را مشخص نمود. قوانین تمپلیت می توانند با اولویت های متفاوت و بصورت دلخواه تعریف و استفاده گردند. XSLT یک زبان تعریفی است . (در صورت مواجه شدن با یک الگو ، خروجی به چه صورت تولید می گردد ) . روش برنامه نویسی در XSLT ، مشابه زبانهای VB و یا جاوا نمی باشد . زبانهای فوق بصورت "رویه ای " می باشند . ( XSLT زبانی تعریفی است )
نکته چهارم: در تمام فایل های XSL ، می بایست XSL namespace مشخص گردد. بدین ترتیب پارسر از نوع نسخه XSLT آگاهی پیدا خواهد کرد . برای مشخص نمودن namespace ، عموما" از عبارت زیر استفاده می گردد. با معرفی namespace مربوطه ، می توان یک XSLT را بگونه ای طراحی و پیاده سازی کرد که هم با نسخه های قبلی و هم با نسخه های بعدی ، سازگار باشد .
تکنولوژی XSL ، از CSS)Cascading Style Sheets) اقتباس شده است . CSS از یک Stylesheet بمنظور فرمت یک فایل HTML استفاده می نماید .XSL و CSS در موارد متعددی با یکدیگر تفاوت دارند. CSS ، امکان تعریف رنگ ها ، مشخص نمودن زمینه ها ، نوع فونت ها و ... را برای فایل های مبتنی بر Html فراهم می نماید. XSL امکان تبدیل یک فایل XML را به یک فایل Html ( و یا سایر فرمت های دلخواه نظیر متن ) فراهم می نماید. در این مقاله ده نکته مهم در رابطه با تکنولوژی XSL بیان می گردد .
نکته اول: همزمان با ارائه تکنولوژی XML توسط کنسرسیوم وب ، تکنولوژی XSLT)Extensible StyleSheet Language for Transformation )، برای تبدیل یک سند به نوع دیگر ، مطرح گردید. در زمان پیاده سازی XSLT ، تکنولوژی دیگر و مرتبط با XML با نام XPointer نیز ارائه گردید. XPointer ، مکانیزمی برای اشاره به بخش های متفاوت یک سند XML است . یکی دیگر از تکنولوژی های مرتبط با XML ، با نام XPath مطرح و ارائه گردید. XSLT,XPointer و XPath جملگی تکنولوژی های مبتنی بر XML می باشند .
نکته دوم: تکنولوژی XSLT ، مشابه یک زبان برنامه نویسی بوده و دارای توابع و متدهای فراوانی است که نمونه آنها را می توان در سایر زبان های برنامه نویسی مشاهده نمود. مثلا" XSLT دارای یک حلقه تکرار با نام for-each است .<XSL:for-each> .تکنولوژی فوق دارای برخی امکانات خاص دیگر است که نمونه آنها در سایر زبانهای برنامه نویسی وجود ندارد . مثلا" با استفاده از المان <XSL:script> ، می توان در هر مکان دلخواه ، اقدام به درج اسکریپت های مورد نظر نمود. برای درج محتویات یک فایل نیز می توان از المان <XSL:include> استفاده کرد . در صورتیکه XML را بمنزله داده ها در نظر بگیریم ، XSL ، زبان برنامه نویسی مناسب ، بمنظور انجام عملیات دلخواه بر روی داده ها است .
نکته سوم: با اینکه XSLT مشابه یک زبان برنامه نویسی است ولی دارای یک تفاوت اساسی با زبانهای برنامه نویسی است . زبان XSLT مبتنی بر تمپلیت ها می باشد . با استفاده از تمپلیت ها می توان نحوه پردازش یک المان را مشخص نمود. قوانین تمپلیت می توانند با اولویت های متفاوت و بصورت دلخواه تعریف و استفاده گردند. XSLT یک زبان تعریفی است . (در صورت مواجه شدن با یک الگو ، خروجی به چه صورت تولید می گردد ) . روش برنامه نویسی در XSLT ، مشابه زبانهای VB و یا جاوا نمی باشد . زبانهای فوق بصورت "رویه ای " می باشند . ( XSLT زبانی تعریفی است )
نکته چهارم: در تمام فایل های XSL ، می بایست XSL namespace مشخص گردد. بدین ترتیب پارسر از نوع نسخه XSLT آگاهی پیدا خواهد کرد . برای مشخص نمودن namespace ، عموما" از عبارت زیر استفاده می گردد. با معرفی namespace مربوطه ، می توان یک XSLT را بگونه ای طراحی و پیاده سازی کرد که هم با نسخه های قبلی و هم با نسخه های بعدی ، سازگار باشد .
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
نکته پنجم: همانگونه که اشاره گردید ، XSLT یک زبان مبتنی بر تمپلیت است . با تعریف یک تمپلیت خاص و دلخواه ، عملیات تطبیق آن با اطلاعات موجود در فایل XML انجام خواهد شد. با توجه به اینکه تکنولوژی XSLT از تمپلیت ها استفاده می نماید ، هر فایل XSL می بایست دارای حداقل یک تمپلیت تعریف شده باشد . تمپلیت تعریف شده عموما" بصورت زیر است :
< xsl:template match ="/" >
ریشه تمپلیت شامل عبارت "/" = match می باشد ( ریشه سند XML است ) . در صورتیکه المان ریشه در سند XML با نام PEOPLE باشد ، عبارت فوق بصورت " match="PEPOLE ، خواهد بود . تعداد تمپلیت های موجود در XSLT دارای محدودیت نمی باشد .
نکته ششم: در زمان انجام عملیات در XSLT ، محدوده مورد نظر برای یک پرسو جو (query) ، گره (node ) در حال پردازش است . بنابراین در تمپلیت "/" = xsl:template match،محدوده عملیاتی ریشه سند XML است . زمانیکه با استفاده از xsl:for-each در یک حلقه تکرار مستقر می گردیم ،محدوده عملیاتی شامل هر یک از گره هائی خواهد بود که در حلقه ایجاد می گردند . " محدوه عملیاتی " (Context) ، یکی از مشخصه ها ی مهم تکنولوژی XPath است . یک برنامه XSLT بسیار مشابه برنامه ای خود بازگشتی بوده ( دارای چندین حلقه تکرار است ) و بدفعات از کدهای موجود در تمپلیت استفاده خواهد شد .
نکته هفتم: " مکان " (Location) ، یکی از مشخصه های مهم XPath است . مثلا" / ، بمنظور انتخاب المان ریشه در سند جاری و یا گره موجود در محدوده عملیاتی است . article/ ، باعث انتخاب المان "article" که خود فرزند ریشه است ، می گردد . x/article ، باعث انتخاب تمام المان های "article" که فرزند x می باشند ، خواهد شد . آدرس PERSON/PEOPLE ، باعث انتخاب تمام المان های PEPOLE که ریشه آنان PERSON است ، می گردد .
نکته هشتم: آدرس دهی مبتنی بر مکان ، امکان استقرار بر روی گره های مورد نظر برای پردازش را فراهم می نماید .مثلا" با معرفی آدرس PEPOLE/PERSON امکان یافتن تمام المان های PERSON در المان PEPOLE فراهم می گردد . با استفاده از مسیریابی مبتنی بر مکان ، می توان موقعیت خود را در سند XML تغییر و بسمت بالا و یا پائین حرکت کرد . برای یافتن تمام المان های PERSON با عمق دلخواه ( فاصله المان تا ریشه ) و ریشه PEOPLE از آدرسی مشابه PERSON//PEOPLE / استفاده می گردد .
نکته نهم: تکنولوژی XPath ، الگوهای مناسب برای فیلتر نمودن داده ها را با استفاده از امکاناتی نظیر AND, + - > <=, mod ، فراهم می نماید . مثلا" [" article[author="Ali" and author="Reza، گره های article را که نام author آنان Ali و Reza است برمی گرداند . XPath دارای توابعی نظیر : Count,position,substring و sum است . مثلا" عبارت زیر ،باعث برگرداندن مقدار Total Price می گردد . در مثال فوق از تابع sum برای محاسبه مجموع قیمت های ذخیره شده توسط المان price ، استفاده شده است .. تکنولوژی XSLT و XPath عموما" در کنار یکدیگر استفاده می گردند .
<p>Total Price = <xsl:value-of select="sum(//price)"/></p>
نکته دهم: تکنولوژی XSLT ، از معماری مبتنی برقانون که در آن تمپلیت ها دارای نقشی کلیدی هستند، استفاده می نماید . برنامه نویسی XSLT ،عموما" بصورت خود بازگشتی بوده و بدین دلیل همواره می بایست در رابطه با محدوده عملیاتی که تمپلیت اجراء خواهد شد ، دقت لازم را انجام داد . XSLT و XPath دارای پتانسیل های زیادی بوده که بمنظور پردازش سندهای XML ، می توان از آنها استفاده کرد .
نکته اول: همزمان با ارائه تکنولوژی XML توسط کنسرسیوم وب ، تکنولوژی XSLT)Extensible StyleSheet Language for Transformation )، برای تبدیل یک سند به نوع دیگر ، مطرح گردید. در زمان پیاده سازی XSLT ، تکنولوژی دیگر و مرتبط با XML با نام XPointer نیز ارائه گردید. XPointer ، مکانیزمی برای اشاره به بخش های متفاوت یک سند XML است . یکی دیگر از تکنولوژی های مرتبط با XML ، با نام XPath مطرح و ارائه گردید. XSLT,XPointer و XPath جملگی تکنولوژی های مبتنی بر XML می باشند .
نکته دوم: تکنولوژی XSLT ، مشابه یک زبان برنامه نویسی بوده و دارای توابع و متدهای فراوانی است که نمونه آنها را می توان در سایر زبان های برنامه نویسی مشاهده نمود. مثلا" XSLT دارای یک حلقه تکرار با نام for-each است .<XSL:for-each> .تکنولوژی فوق دارای برخی امکانات خاص دیگر است که نمونه آنها در سایر زبانهای برنامه نویسی وجود ندارد . مثلا" با استفاده از المان <XSL:script> ، می توان در هر مکان دلخواه ، اقدام به درج اسکریپت های مورد نظر نمود. برای درج محتویات یک فایل نیز می توان از المان <XSL:include> استفاده کرد . در صورتیکه XML را بمنزله داده ها در نظر بگیریم ، XSL ، زبان برنامه نویسی مناسب ، بمنظور انجام عملیات دلخواه بر روی داده ها است .
نکته سوم: با اینکه XSLT مشابه یک زبان برنامه نویسی است ولی دارای یک تفاوت اساسی با زبانهای برنامه نویسی است . زبان XSLT مبتنی بر تمپلیت ها می باشد . با استفاده از تمپلیت ها می توان نحوه پردازش یک المان را مشخص نمود. قوانین تمپلیت می توانند با اولویت های متفاوت و بصورت دلخواه تعریف و استفاده گردند. XSLT یک زبان تعریفی است . (در صورت مواجه شدن با یک الگو ، خروجی به چه صورت تولید می گردد ) . روش برنامه نویسی در XSLT ، مشابه زبانهای VB و یا جاوا نمی باشد . زبانهای فوق بصورت "رویه ای " می باشند . ( XSLT زبانی تعریفی است )
نکته چهارم: در تمام فایل های XSL ، می بایست XSL namespace مشخص گردد. بدین ترتیب پارسر از نوع نسخه XSLT آگاهی پیدا خواهد کرد . برای مشخص نمودن namespace ، عموما" از عبارت زیر استفاده می گردد. با معرفی namespace مربوطه ، می توان یک XSLT را بگونه ای طراحی و پیاده سازی کرد که هم با نسخه های قبلی و هم با نسخه های بعدی ، سازگار باشد .
تکنولوژی XSL ، از CSS)Cascading Style Sheets) اقتباس شده است . CSS از یک Stylesheet بمنظور فرمت یک فایل HTML استفاده می نماید .XSL و CSS در موارد متعددی با یکدیگر تفاوت دارند. CSS ، امکان تعریف رنگ ها ، مشخص نمودن زمینه ها ، نوع فونت ها و ... را برای فایل های مبتنی بر Html فراهم می نماید. XSL امکان تبدیل یک فایل XML را به یک فایل Html ( و یا سایر فرمت های دلخواه نظیر متن ) فراهم می نماید. در این مقاله ده نکته مهم در رابطه با تکنولوژی XSL بیان می گردد .
نکته اول: همزمان با ارائه تکنولوژی XML توسط کنسرسیوم وب ، تکنولوژی XSLT)Extensible StyleSheet Language for Transformation )، برای تبدیل یک سند به نوع دیگر ، مطرح گردید. در زمان پیاده سازی XSLT ، تکنولوژی دیگر و مرتبط با XML با نام XPointer نیز ارائه گردید. XPointer ، مکانیزمی برای اشاره به بخش های متفاوت یک سند XML است . یکی دیگر از تکنولوژی های مرتبط با XML ، با نام XPath مطرح و ارائه گردید. XSLT,XPointer و XPath جملگی تکنولوژی های مبتنی بر XML می باشند .
نکته دوم: تکنولوژی XSLT ، مشابه یک زبان برنامه نویسی بوده و دارای توابع و متدهای فراوانی است که نمونه آنها را می توان در سایر زبان های برنامه نویسی مشاهده نمود. مثلا" XSLT دارای یک حلقه تکرار با نام for-each است .<XSL:for-each> .تکنولوژی فوق دارای برخی امکانات خاص دیگر است که نمونه آنها در سایر زبانهای برنامه نویسی وجود ندارد . مثلا" با استفاده از المان <XSL:script> ، می توان در هر مکان دلخواه ، اقدام به درج اسکریپت های مورد نظر نمود. برای درج محتویات یک فایل نیز می توان از المان <XSL:include> استفاده کرد . در صورتیکه XML را بمنزله داده ها در نظر بگیریم ، XSL ، زبان برنامه نویسی مناسب ، بمنظور انجام عملیات دلخواه بر روی داده ها است .
نکته سوم: با اینکه XSLT مشابه یک زبان برنامه نویسی است ولی دارای یک تفاوت اساسی با زبانهای برنامه نویسی است . زبان XSLT مبتنی بر تمپلیت ها می باشد . با استفاده از تمپلیت ها می توان نحوه پردازش یک المان را مشخص نمود. قوانین تمپلیت می توانند با اولویت های متفاوت و بصورت دلخواه تعریف و استفاده گردند. XSLT یک زبان تعریفی است . (در صورت مواجه شدن با یک الگو ، خروجی به چه صورت تولید می گردد ) . روش برنامه نویسی در XSLT ، مشابه زبانهای VB و یا جاوا نمی باشد . زبانهای فوق بصورت "رویه ای " می باشند . ( XSLT زبانی تعریفی است )
نکته چهارم: در تمام فایل های XSL ، می بایست XSL namespace مشخص گردد. بدین ترتیب پارسر از نوع نسخه XSLT آگاهی پیدا خواهد کرد . برای مشخص نمودن namespace ، عموما" از عبارت زیر استفاده می گردد. با معرفی namespace مربوطه ، می توان یک XSLT را بگونه ای طراحی و پیاده سازی کرد که هم با نسخه های قبلی و هم با نسخه های بعدی ، سازگار باشد .
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
نکته پنجم: همانگونه که اشاره گردید ، XSLT یک زبان مبتنی بر تمپلیت است . با تعریف یک تمپلیت خاص و دلخواه ، عملیات تطبیق آن با اطلاعات موجود در فایل XML انجام خواهد شد. با توجه به اینکه تکنولوژی XSLT از تمپلیت ها استفاده می نماید ، هر فایل XSL می بایست دارای حداقل یک تمپلیت تعریف شده باشد . تمپلیت تعریف شده عموما" بصورت زیر است :
< xsl:template match ="/" >
ریشه تمپلیت شامل عبارت "/" = match می باشد ( ریشه سند XML است ) . در صورتیکه المان ریشه در سند XML با نام PEOPLE باشد ، عبارت فوق بصورت " match="PEPOLE ، خواهد بود . تعداد تمپلیت های موجود در XSLT دارای محدودیت نمی باشد .
نکته ششم: در زمان انجام عملیات در XSLT ، محدوده مورد نظر برای یک پرسو جو (query) ، گره (node ) در حال پردازش است . بنابراین در تمپلیت "/" = xsl:template match،محدوده عملیاتی ریشه سند XML است . زمانیکه با استفاده از xsl:for-each در یک حلقه تکرار مستقر می گردیم ،محدوده عملیاتی شامل هر یک از گره هائی خواهد بود که در حلقه ایجاد می گردند . " محدوه عملیاتی " (Context) ، یکی از مشخصه ها ی مهم تکنولوژی XPath است . یک برنامه XSLT بسیار مشابه برنامه ای خود بازگشتی بوده ( دارای چندین حلقه تکرار است ) و بدفعات از کدهای موجود در تمپلیت استفاده خواهد شد .
نکته هفتم: " مکان " (Location) ، یکی از مشخصه های مهم XPath است . مثلا" / ، بمنظور انتخاب المان ریشه در سند جاری و یا گره موجود در محدوده عملیاتی است . article/ ، باعث انتخاب المان "article" که خود فرزند ریشه است ، می گردد . x/article ، باعث انتخاب تمام المان های "article" که فرزند x می باشند ، خواهد شد . آدرس PERSON/PEOPLE ، باعث انتخاب تمام المان های PEPOLE که ریشه آنان PERSON است ، می گردد .
نکته هشتم: آدرس دهی مبتنی بر مکان ، امکان استقرار بر روی گره های مورد نظر برای پردازش را فراهم می نماید .مثلا" با معرفی آدرس PEPOLE/PERSON امکان یافتن تمام المان های PERSON در المان PEPOLE فراهم می گردد . با استفاده از مسیریابی مبتنی بر مکان ، می توان موقعیت خود را در سند XML تغییر و بسمت بالا و یا پائین حرکت کرد . برای یافتن تمام المان های PERSON با عمق دلخواه ( فاصله المان تا ریشه ) و ریشه PEOPLE از آدرسی مشابه PERSON//PEOPLE / استفاده می گردد .
نکته نهم: تکنولوژی XPath ، الگوهای مناسب برای فیلتر نمودن داده ها را با استفاده از امکاناتی نظیر AND, + - > <=, mod ، فراهم می نماید . مثلا" [" article[author="Ali" and author="Reza، گره های article را که نام author آنان Ali و Reza است برمی گرداند . XPath دارای توابعی نظیر : Count,position,substring و sum است . مثلا" عبارت زیر ،باعث برگرداندن مقدار Total Price می گردد . در مثال فوق از تابع sum برای محاسبه مجموع قیمت های ذخیره شده توسط المان price ، استفاده شده است .. تکنولوژی XSLT و XPath عموما" در کنار یکدیگر استفاده می گردند .
<p>Total Price = <xsl:value-of select="sum(//price)"/></p>
نکته دهم: تکنولوژی XSLT ، از معماری مبتنی برقانون که در آن تمپلیت ها دارای نقشی کلیدی هستند، استفاده می نماید . برنامه نویسی XSLT ،عموما" بصورت خود بازگشتی بوده و بدین دلیل همواره می بایست در رابطه با محدوده عملیاتی که تمپلیت اجراء خواهد شد ، دقت لازم را انجام داد . XSLT و XPath دارای پتانسیل های زیادی بوده که بمنظور پردازش سندهای XML ، می توان از آنها استفاده کرد .