تبلیغات
بهترین اطلاعات کامپیوتری
 

XML در دات نت (2 ) | XML , | علی فیروزجنگ

XML در دات نت (2 )

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


 :Xml Information setکنسرسیوم وب مشخصاتی را بعنوان مجموعه اطلاعات مرتبط با XML ، استاندارد و ارائه نموده است .استاندارد فوق، شامل مجموعه ای از تعاریف بمنظور استفاده توسط سایر مشخصاتی است که بنوعی به اطلاعات موجود در یک سند XML مراجعه می نمایند. یک سند XML ، حاوی تعدادی از مجموعه اطلاعات ارائه شده در استاندارد فوق است . مشخصات فوق ، اطلاعات لازم بمنظورتشریح ساختار یک سند XML را ارائه می نماید .یک سند XML شامل یک مجموعه اطلاعات است، اگر " خوش - شکل " بوده و محدودیت های تعریف شده در رابطه با Namespace را در مجموعه اطلاعات ومشخصات XML ، تامین نماید . اغلب استانداردهای XML کنسرسیوم وب، از تعاریف ارائه شده در مشخصه فوق ، اقتباس ( مشتق ) شده اند.برای اطلاعات تکمیلی می توان به آدرس http://www.w3.org/TR/xml-infoset مراجعه کرد .

XML 1.0 Namespace .
استاندارد فوق ،ضوابط لازم بمنظور ایجاد یک شی داده بصورت یک سند XML ، را تعریف می نماید . مشخصات فوق همچنین ،ساختار فیزیکی و منطقی یک سند XML و سایر خصایص مربوطه را تعریف می نماید. برای اطلاعات تکمیلی می توان به آدرس http://www.w3.org/Tr/REC-xml مراجعه استفاده کرد.namespace ها درXML یک namespace را تعریف و نحوه استفاده از namespace در زمان ایجاد یک گرامر XML را که شامل المان ها و خصلت هائی است، مشخص می نماید . برای اطلاعات تکمیلی می توان به آدرس http://www.w3.org/TR/REC-xml-names مراجعه کرد .

XML Path Language ( XPath) 1.0 :
استاندارد XPath ، گرامر و سمنتیک مورد نیاز برای آدرس دهی بخش های متفاوت یک سند XML را مشخص می نماید. XPath ، همچنین شامل امکانات پایه برای انجام عملیات در رابطه با رشته ها ، اعداد و منطق است . برای مشاهده اطلاعات تکمیلی می توان به آدرس http://www.w3.org/TR/XPath مراجعه کرد .

XSL Transformation (XSLT) 1.0 :
استاندارد XSLT ، گرامر و سمنتیک XSLT را تعریف و زبانی برای تبدیل اسناد XML به فرمت های دیگر است . تبدیل مورد نظر( بیان شده ) در XSLT یک Style Sheet نامیده می شود . برای مشاهده اطلاعات تکمیلی می توان به آدرس http://www.w3.org/TR/XSLT مراجعه کرد .

Document Object Model )DOM) :
استاندارد DOM سطح یک و دو، اینترفیس لازم را بمنظور دستیابی و انجام عملیاتی نظیر: بهنگام سازی Style ،محتویات و ساختار یک سند از طریق برنامه نویسی ، فراهم می نماید . برای مشاهده اطلاعات تکمیلی می توان به آدرس http://www.w3.org/DOM مراجعه کرد .

XML Schema Definition Language )XSD) :
استاندارد XSD ، روشی برای تشریح ساختار ، محتویات و سمنتیک یک سند XML است . Schema امکان استفاده از واژه های مشترک را فراهم می نماید . برای مشاهده اطلاعات تکمیلی می توان به آدرس http://www.w3.org/XML/Schema مراجعه کرد .

جدول زیر نسخه های پیاده سازی شده هر یک از استانداردهای فوق را در دات نت نشان می دهد :

استاندارد کنسرسیوم وب

namespace مربوطه در دات نت

XML 1.0 and Namespaces in XML

System.Xml

XPath

System.Xml System.Xml.XPath

XSLT

System.Xml.Xsl

DOM Level 1

System.Xml

DOM Level 2 Core

System.Xml

XML Schemas

System.Xml System.Xml.Schemas

XML Schema Object Model(SOM)

System.Xml.Schemas


دات نت با ارائه namespace و کلاس های پایه از استانداردهای ارائه شده توسط کنسرسیوم وب، حمایت می نماید . جدول زیر نسخه های پیاده سازی شده استانداردهای کنسرسیوم وب، در دات نت را نشان می دهد .

W3C XML standard

.NET Framework namespace

.NET Framework class

XML 1.0 and Namespaces in XML

System.Xml

Not applicable

XPath

System.Xml System.Xml.XPath

XPath base class

XSLT

System.Xml.Xsl

XslTransform base class

DOM Level 1

System.Xml

XmlDocument class

DOM Level 2 Core

System.Xml

XmlDocument class

XML Schemas

System.Xml System.Xml.Schemas

XmlSchema

XML Schema Object Model(SOM)

System.Xml.Schemas

XmlSchema


مروری بر کلاس های XML در دات نت
|+| نظرات ()

تاریخ ثبت : چهارشنبه 17 اسفند 1384 ساعت : 04:03 ق.ظ
XML در دات نت | XML , | علی فیروزجنگ

XML در دات نت

xml ، یکی از مهمترین دستاوردهای بشریت در عرصه نرم افزارطی سالیان اخیر است که بدون شک بیشترین تاثیر را در ارتباط با طراحی و پیاده سازی برنامه های کامپیوتری خصوصا" در اینترنت، بدنبال داشته و خواهد داشت . XML ، یکی از استانداردهای ارائه شده توسط کنسرسیوم وب است که زمینه استفاده از آن برای تمامی تولیدکنندگان نرم افزار، فراهم شده است . XML ، بهمراه خود مجموعه ای از تکنولوژی های دیگر را ایجاد نموده است، بطوریکه امروزه از آن بعنوان یک خانواده بزرگ یاد می گردد (XSLT , XSD ,DOM , XPath ,...) . بدیهی است توجه به استانداردهای فوق برای تولیدکنندگان نرم افزار بسیار حایز اهمیت بوده و در این راستا ،شرکت های عظیم نرم افزاری بدنبال ارائه بستر مناسب برای طراحی و پیاده سازی نرم افزار بر اساس واقعیت های موجود، خصوصا" پدیده شگرف اینترنت می باشند . ماکروسافت، بعنوان یکی از شرکت های عظیم نرم افزاری ،پروژه دات نت را مطرح و در نهایت آن را در اختیار علاقه مندان قرار داده است . XML ، در دات نت دارای نقشی بسیار مهم و محوری بوده و لازم است با جایگاه آن بصورت اصولی آشنا شویم . در این مقاله، به بررسی جایگاه XML در دات نت پرداخته می گردد .

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

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

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

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

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

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

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

تولید
XML از داده هائی با فرمت دیگر . داده ها ی موجود در هر سازمان با فرمت های متفاوتی نظیر: EDIFACT ,ANSI ,X12 , XML , فایل های CSV)Comma Separated value) ، فایل های Tab -Separated و موارد دیگر، ذخیره شده اند. در این راستا ، می توان ساختاری استاندارد برای داده ها ایجاد تا زمینه استفاده از آنان برای سایر برنامه ها فراهم گردد .

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

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

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

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

پردازش ( عملیات ) بر روی داده ها
بمنظور انجام عملیات بر روی داده ها، می بایست یک ساختار، بافتار(
Context) لازم را ارائه نماید . پس از انجام عملیات بر روی داده ها ، می بایست از ساختاری بمنظور نمایش نتایج استفاده گردد.در این رابطه موارد زیر مورد توجه خواهد بود :

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

تغییر ساختار یک سند . در برخی موارد لازم است به یک سند
XML المان و یا خصلتی ، اضافه و یا حذف گردد . بدین ترتیب در ساختار سند موجود تغییراتی بوجود می آید.

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

 


تاریخ ثبت : پنجشنبه 11 اسفند 1384 ساعت : 06:03 ق.ظ
آشنایی با XML (قسمت چهارم ) | XML , | علی فیروزجنگ

آشنایی با XML (قسمت چهارم )

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

 

XMLNodeReader

همین طور که از اسمش معلومه برای برسی XML بر اساس گره ها (Node)  طراحی شده. این Reader از DTD و XML Schema پشتیبانی نمیکند ولی تعریف های داخل DTD  رو میشناسه.

 

خوب طبق معمول با یک مثال این Reader رو تعریف میکنیم.که من فکر میکنم هیچ آموزشی نمیتونه مانند مثال به یک نفر کمک کنه پس ما هم... :

 

Imports System.Xml

 

Dim Reader As XMLNodeReader

Dim DOC As New XmlDocument

    DOC.Load("\Data\Setting.Xml")

    Reader = New XMLNodeReader(DOC)

    Do Until Reader.EOF

        Reader.Read()

        MsgBox("---")

        MsgBox("Depth: " & Reader.Depth)

        MsgBox("LocalName: " & Reader.LocalName)

        MsgBox("Attribute: " & Reader.ReadAttributeValue)

        MsgBox("Value: " & Reader.Value)

        MsgBox("---")

    Loop

 

همینطور که میبینید این Reader هم بسیار شبیه Reader قبلی است. ولی در Open کردن فایل کمی تفاوت دارد. مهمترین قسمت این قسمت طریقه بازشدن فایل بوسیله XMLNodeReader است چون بقیه قسمتهای NodeReader  و TextReader فرق چندانی با هم ندارد. ولی یک Object اضافه بر سازمان در این قسمت برای باز کردن فایل استفاده کردم. این Object بسیار قدرتمند است. من به شما سفارش میکنم اگر از XML به صورت ابتدایی استفاده میکنید از همین Reader استفاده کنید چون بسیار سریع تر و دقیقتر ( نه از نظر من حتی از نظر Microsoft) از TextReader است