دهلران پی سی
سایت جامع علمی ,آموزشی,فرهنگی و تفریحی

تاکنون مقالات فراوانی در باره XML نوشته شده است، اغلب مطالب عنوان شده صرفا" بر روی يک موضوع خاص تمرکز داشته و از زاويه ای کاملا" اختصاصی و در عين حال محدود به بررسی تکنولوژی XML پرداخته و بندرت به موارد اساسی و خانواده بزرگ استاندارهای XML  اشاره شده است. در اين مقاله عناصر  کليدی مرتبط با تکنولوژی XML تشريح و ارتباط آنها تبين و جايگاه هر يک از آنها برای پياده کنندگان و طراحان برنامه های اطلاعاتی تشريح می گردد. پس از مطالعه اين  مقاله ، خوانندگان با استانداردهای کليدی :  XML,XSL,XML-Schema,DOM,SAX,Namespace,XLink بهمراه تکنولوژی های مربوطه آشنا خواهند شد.


تعريف اصطلاحات و واژه ها
در ابتدا لازم است با کلمات تشکيل دهنده XML يعنی Extensible ، Markup و Language آشنا شويم  .Markup ، واژه ئی برای متاديتا است . متاديتا ، اطلاعاتی در رابطه با اطلاعات است . قدمت استفاده از Markup به قبل از کامپيوتر بر می گردد . مثلا" در دنيای نشر از علائم خاصی  در متن های ويرايش شده استفاده تا به پردازنده متن ( انسان و يا ماشين ) اعلام شود ، چه نوع عملياتی را در رابطه با اطلاعات می بايست انجام دهد. HTML يکی از زبان های کلاسيک نشانه گذاری است . مثلا" با افزودن تگ به مرورگر اعلام می شود که به چه صورت می بايست اطلاعات نمايش داده شوند . 
زبان (Language) ، به مجموعه ای از کلمات معنی دار و با مفهوم  که عده ای از آنها برای بيان خواسته ها ی خود استفاده می نمايند ،اطلاق می گردد . ( مثلا" زبان فارسی و يا انگليسی )
با کنار هم قرار دادن دو واژه اشاره شده ، با  زبان نشانه گذاری مواجه خواهيم شد  . زبان نشانه گذاری ، به مجموعه ای از کلمات معنی دار و با مفهوم که توسط عده ای (با آگاهی لازم انتخاب ) استفاده می گردد ، اطلاق می گردد. HTML ، نمونه ای مناسب در اين زمينه است . تمام افرادی که از تگ های HTML استفاده می نمايند ، بدرستی نسبت به مفهوم و جايگاه هر يک از تگ ها آشنائی داشته و با آگاهی کامل آنها را برای بيان خواسته های خود استفاده می نمايند. مثلا" مشخص است که استفاده از تگ

چه نوع پيامدهائی را بدنبال خواهد داشت . تگ فوق ، توسط مولفين صفحات وب آگاهانه انتخاب می گردد و مرورگرها نيز متناسب با تعاريف  از قبل  مشخص شده ، واکنش مناسب خود را در رابطه با  نحوه نمايش انجام خواهند داد.  يک زبان بسط پذير(Extensible)  ، زبانی است که دارای  مکانيزم لازم  برای افزودن کلمات بگونه ای  است  که توسط ساير استفاده کنندگان نيز قابل فهم باشد . در دنيای واقعی و در ارتباط با زبان های طبيعی ما هرگز شاهد چنين وضعيتی نخواهيم بود . ( افزودن يک واژه با معنی مورد نظر خود و استفاده از واژه با همان معنی توسط ساير استفاده کنندگان )  با توجه به تعاريف ارائه شده ، يک زبان نشانه گذاری بسط پذير ، می بايست يک زبان نشانه گذاری با قابليت افزودن کلماتی بيشتر  باشد . در عمل زبان نشانه گذاری بسط پذير ، به سيستمی برای تعريف تمام زبا ن های نشانه گذاری با قابليت توسعه وضعيت موجود ، اطلاق می گردد .
SGML HTML و XML
SGML)Standard Generalize Markup Language)  سرچشمه XML بوده و در سال 1988 استاندارد شده است . HTML)HyperText Markup Language) زبانی است که در ابتدا با استفاده از SGML تعريف گرديد. HTML يک زبان نشانه گذاری است ، بنابراين انتظار داريم شامل مجموعه ای از تگ ها بمنظور کنترل قالب و رفتار اطلاعات  در مستندات باشد  . XML ، يک زبان نشانه گذاری مشابه HTML نمی باشد . XML ، زيرمجموعه ای از SGML است ( مکانيزمی برای تعريف زبان های نشانه گذاری ) . XML همانند SGML يک زبان نشانه گذاری بسط پذير بوده اما بر خلاف SGML برای استفاده بر روی وب بهينه شده است .
مفاهيم اساسی
لازم است که مجددا" به اين نکته مهم اشاره گردد که XML ، يک زبان نشانه گذاری نبوده و در مقابل مکانيزمی برای ايجاد زبان های نشانه گذاری اختصاصی  است . XML ، شامل مجموعه ای از استانداردها ی متنوع با کاربردهای خاص است . XML ، يک زبان نشانه گذاری نبوده و در عين حال يک زبان برنامه نويسی هم نيست . از XML برای ارائه اطلاعات استفاده شده و بمنظور پردازش اطلاعات، می بايست برنامه هائی نوشته گردد .
از XML در موارد زير می توان استفاده کرد :
مبادله اطلاعات بين برنامه های نامتجانس ، بنگاه های تجاری و بانک های اطلاعاتی
امکان فعال نمودن مدلی برای  نمايش اطلاعات يکسان بر روی دستگاههای متفاوت با  اهداف و خوانندگان گوناگون
يک قالب ذخيره سازی مناسب برای داده ها 

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

امکانات موجود

هدف

XML
Namespaces
XML-Schemas

تعريف يک زبان XML

CSS (Cascading Style Sheets)
XSL (Extensible Style Language)
XSLT (XSL Transformations)

فرمت و نمايش سندهای XML

DOM (Document Object Model)
SAX (Simple API for XML)
XSLT

پياده سازی برنامه

Such as:
SOAP (Simple Object Access Protocol)
SVG (Scalable Vector Graphics)
WML (Wireless Markup Language)
XCBL (XML Common Business Library)

مبادله اطلاعات بين سيستم ها

در ادامه به بررسی هر يک از استانداردهای فوق و نحوه ارتباط آنها با يکديگر خواهيم پرداخت :

تعريف زبان های XML
با استفاده از XML ، می توان تگ های نشانه گذاری را تعريف که توسط مجموعه ای از مستندات که خصايص مشابهی را به اشتراک می گذارند ،استفاده گردد . مثلا" مجموعه ای از پيام های تجارت الکترونيکی. مورد فوق اصطلاحا" document type ناميده می گردد . ( مشابه يک کلاس در طراحی شی گراء ) . يک Document instance ، نوع خاصی از يک سند است . مثلا" يک ليست فروش خاص . در پروژه های XML ، در ابتدا Document types با توجه به اطلاعاتی که می بايست بر روی آنها عملياتی صورت پذيرد ،  طراحی و در ادامه با ايجاد نرم افزارهای لازم ، اقدام به ايجاد و پردازش نمونه هائی از سند می گردد .  XML مجموعه ای قدرتمند از بلاک های ساختمانی  سطح پايين بمنظور طراحی Document types را ارائه می نمايد.  نمونه سند زير، شامل مجموعه ای  اطلاعات از يک بانک اطلاعاتی شخصی است .

مثال :  يک سند XML شامل اطلاعات شخصی


   
     
          Webmaster
          Admin
   

   
     <span lang="en-us">Web  master and administrator</span>
  

  
      Head Office
      

Iran  Avenue

  


سند فوق شامل چندين  بلاک ساختمان اساسی XML است .
سند فوق ، دارای المان هائی است  که قابل مقايسه با اشياء در سيتستم شی گراء و يا فيلد در بانک های اطلاعاتی رابطه ای است . يک المان  با تگ شروع ، آغاز و با تگ پايان ، خاتمه می يابد . بين دو تگ شروع و پايان هر نوع اطلاعاتی می تواند قرار گيرد .
 يک المان می تواند دارای محتويات باشد. محتويات ، متن موجود بين تگ های شروع و پايان است . مثلا" Webmaster و Admin بعنوان محتويات المان در مثال فوق مشاهده می گردند.
 يک المان دارای خصلت است . خصلت ، شامل اطلاعات تکميلی بوده که در بخش تگ شروع مربوط به المان  بصورت : نام و مقدار قرار می گيرند  . در مثال فوق ID و office-id ، بعنوان خصلت مطرح بوده و محتويات آنها PE1 و OF1  ، بعنوان مقادير خصلت  در نظر گرفته می شوند .
 يک المان  می تواند تهی  (Empty)  باشد. در مثال فوق يک المان تهی است . معمولا" المان های تهی ، بعنوان فضا نگهدارنده هائی برای خصلت ها می باشند.
المان ها می توانند شامل ساير المان ها باشند . ( المان های تودرتو ) . از المان های تودر تو برای ارائه اطلاعات سريال ( مجموعه ای از اشياء ، سطرهائی از داده و يا ساير اطلاعات مورد نظر ) استفاده  گردد .
خصلت  می تواند شامل ساير خصلت ها ويا المان ها باشد .
محتويات المان ها و يا مقادير خصلت ها ، می توانند بعنوان يک اشاره گر به ساير آيتم های موجود در سند نيز ايفای وظيفه نمايند.بمنظور نيل به هدف فوق XML روش های متعددی را ارائه  نموده است . مثلا" خصلت office-id با مقدار OF1 ، درون    به خصلت ID المان اشاره می نمايد. اشاره گره های فوق مشخص می نمايند که محل کار شخص PE1 در OF1 است .
بلاک های ايجاد يک سند XMl در عين سادگی ، دارای انعطاف و قدرت لازم  بمنظور حمايت از روش های  متفاوت مدل سازی اطلاعات می باشند : اشياء ، شبکه ای ، سلسله مراتبی،  رابطه ای و ...
خوش شکل  ( Well-Formed )   و معتبر ( Valid )
با استفاده از XML ، می توان اقدام به ايجاد سندهای رسمی و غيررسمی نمود. در پروژه های کوچک و يا زمانيکه قصد نمونه سازی وجود داشته باشد ، می توان با سرعت اقدام  به ايجاد سندهای  "خوش شکل" نمود . در پروژه های بزرگ و يا پروژه هائی که شامل سيستم های متعددی می باشند، سندهای معتبر ايجاد می گردد.
قوانين يک سند خوش شکل
وجود صرفا" يک المان ريشه
 هر المان غيرتهی دارای تگ های شروع و پايان است .
 تمام المان های می بايست با نظم خاصی تودرتو شده و هيچگونه تقابلی بين آنها وجود نداشته باشد.
يک سند XML زمانی معتبر است که اولا" خوش شکل بوده و ثانيا"  :
دارای يک Schema ( پيش نويس ) و يا DTD)Document Type Definition) باشد.
سازگار با قوانين موجود در Schema
پيش نويس ها (Schemas) باعث اعتبار و صحت يک سند XML می گردند.
واژه Schema ، به قوانينی اطلاق می گردد که به مجموعه ای از سندهای با ساختار مشابه ، نسبت داده می شود . واژه فوق مختص XML نبوده و در ساير موارد  از واژه فوق نيز استفاده می گردد . در رابطه با XML قوانين موجود به موارد زير اشاره خواهند داشت :
 از چه المان ها و خصلت هائی استفاده شده است ؟
نحوه استقرار المان ها و خصلت ها به چه صورت است ؟
هر يک از المان ها و يا خصلت ها شامل چه نوع اطلاعاتی می توانند باشند .
XML برای تعريف پيش نويس ها (Schemas) از دو زبان استفاده می نمايد : DTD و XML-Schema
DTD ، مکانيزمی برای تعريف پيش نويس ها بوده که در ابتدا بمنظور استفاده در SGML طراحی و در ادامه XML نيز از آن استفاده کرد . محوريت DTD بر سند استوار بوده و دارای امکانات و ويژگی های لازم نظير : نوع داده ها ، دامنه ها و ... نمی باشد. گرامر استفاده شده در DTD  کاملا" اختصاصی بوده و ابزارهای اندکی بمنظور پردازش آنها وجود دارد .
XML-Schema ، يک استاندارد جديد بوده که مختص XML طراحی شده است . گرامر استفاده شده مبتنی بر XML است . تکنولوژی فوق بدرستی محدوديت های DTD را برطرف نموده و اکثر ابزارهای توليد شده توسط عرضه کنندگان معتبر ، مجهز به تکنولوژی فوق می باشند. به افراديکه جديدا" به دنيای XML وارد شده اند ، توصيه می گردد که در صورت امکان گرامر DTD را فراموش و خود را با استاندارد XML-Schema وفق نمايند .
چه زمان اعتبار لازم است ؟
سندهای "خوش شکل" ، بسرعت آماده شده و بسادگی استفاده می گردند. تاکنون نرم افزارهای متعددی نوشته شده که در آنها از سندهای " خوش شکل" ، استفاده شده است . با اين اوصاف ،چه زمان می بايست از يک پيش نويس (Schema) رسمی استفاده کرد ؟ در پاسخ به سوال فوق می توان گفت که " پيش نويس ها باعث ارائه صلاحيت  لازم بمنظور  پردازش های مبتنی بر داده ها می باشند . بدين ترتيب و در زمانيکه اطلاعات موجود در يک سند XML ، توسط يک پردازنده Schema ، پردازش می گردد، اطلاعاتی حذف و يا ناديده گرفته نخواهند  شد. در اين راستا از پيش نويس های نوشته شده بمنظور : بررسی صحت محتويات، مقادير پيش فرض برای المان ها ، ارائه کمک در زمان ويرايش يک سند XML ، ترجمه از يک فرمت XML به فرمت ديگر ، استفاده می گردد .
در اين راستا ، می توان کدهائی را نوشت که تمام عمليات فوق را انجام دهند ولی کدهای نوشته شده محدود به يک نوع  سند خاص خواهند بود  . اطلاعات موجود در پيش نويس اين امکان را فراهم می آورند ، که با نوشتن يک پردازنده پيش نويس از آن در سندهای متفاوت بدون نياز به برنامه نويسی مجدد استفاده کرد . سندهای شامل پيش نويس ، با يک فرمت استاندارد ايجاد و بسادگی امکان اشتراک آنها فراهم می گردد .
Namespace مشکل تصادم  اسامی را برطرف می نمايند
در زمان عمليات بر روی سندها و برنامه های مبتنی بر XML ، بدفعات نياز به ترکيب دو سند مجزا و ايجاد سند جديد احساس خواهد شد. با انجام هدف فوق، با چالش های جدی در رابطه با تصادم (Conflict) اسامی برخورد خواهيم کرد : المان هائی که دارای تگ های يکسان ولی معانی متفاوت می باشند .
مثلا" فرض نمائيد ، بخواهيم سندی که دارای يک تگ ( تگ فوق به عنوان شغلی يک فرد اشاره دارد ) است را با سند ديگر که او هم دارای يک تگ <title> ( تگ فوق به عنوان يک فيلم اشاره دارد ) است را بايکديگر ترکيب نمائيم . زمانيکه تگ های فوق در سند های مجزا بوده  و يا حتی در يک سند يکسان قرار داشته باشند با مشکلاتی مواجه نخواهيم شد ( در اين حالت قصد پردازش اتوماتيک بر روی المان های <title> را نداريم ) مشکل از زمانی شروع می گردد <font face="Times New Roman">،</font> که کدهائی بمنظور پردازش اتوماتيک بر روی المان های <title> نوشته گردد . در چنين حالتی لازم است از نوع تگ آگاهی لازم را پيدا کرد . <br /> بمنظور حل مشکل فوق از XML Namespace استفاده می گردد . Namespace <font face="Times New Roman">،</font>مکانيزمی است که  بهمراه يک سند تعريف <font face="Times New Roman">،</font> تا ارتباط مفهمومی مجموعه ای از عناصر با يکديگر را مشخص نمايد. بدين ترتيب برای هر المان محدوده و يا فضائی تعريف و بر همين اساس با آنها برخورد عملياتی خواهد شد. برای هر Namespace می توان يک شناسه تعريف و در ادامه با استفاده از شناسه تعريف شده بصورت پيشوند در کنار نام المان تکليف عملياتی  المان را مشخص کرد. مثلا" می توان يک NameSpace بصورت زير تعريف کرد :</font></p> <p align="left" style="margin-right: 2" dir="ltr"><font size="2"><br /> Xmlns:Tehran=www.yourc ompany.com/test1 </font></p> <p align="justify" style="margin-right: 2" dir="rtl"><font size="2">در ادامه می توان در سند مربوطه <font face="Times New Roman">،</font> بصورت :<Tehran:Test1>  به آن مراجعه کرد . بدين ترتيب شما و يا برنامه مورد نظر <font face="Times New Roman">،</font> برای پردازش  آگاهی لازم  را پيدا خواهد کرد . ( تگ مورد نظر از Namespace تعريف شده مشتق می گردد )  <br /> <b><font color="#000080">خلاصه <br /> </font></b>در اين مقاله به سه استاندارد لازم بمنظور تعريف نوع سندهای XML اشاره گرديد :  XML   <font face="Times New Roman">، </font> NameSpace و XML-Schema ( و يا DTD) . بمنظور تعريف يک نوع سند XML <font face="Times New Roman">،</font> عمليات زير می بايست دنبال گردد :<br /> <font face="Times New Roman">●</font>  مدل سازی اطلاعات مورد نطر <br /> <font face="Times New Roman">● </font> نمونه سازی با استفاده از سندهای XML  "خوش شکل "<br /> <font face="Times New Roman">● </font>در صورت نياز تعريف يک پيش نويس (Schema) رسمی <br /> <font face="Times New Roman">● </font>استفاده از Namespace بمنظور ترکيب اطلاعات از منابع متفاوت </font></p><br><br><br> <span style="font-size: 8pt"><div class=tagX><div class=dateX>تاریخ: دوشنبه 27 خرداد 1392</span></font></div></div> </div> <div class=bpost> <div class=date><div>ارسال توسط هادی احمدی</div></div> <div class=nz><a href="#" class="open-comment-modal" data-comment-modal data-post-id="600"> ارسال نظر(0) </a></div></div> <style> .rating .star { width: 20px; height:20px; cursor: pointer; background-color: #ccc; -webkit-mask: url("/js/ratingpng/01.png") no-repeat center; mask: url("/js/ratingpng/01.png") no-repeat center; -webkit-mask-size: cover; mask-size: cover; background-clip: content-box; } .rating .star.full { background-color: gold; } .rating .star.half { background: linear-gradient(-90deg, gold 50%, #ccc 50%); } .rating { display: inline-flex; gap: 4px; } </style> <script type="text/javascript" language="javascript" src="/js/rating.js"></script> <p align="center"><font face="Tahoma" size="2"> </font></p> <div id="postz"> <div class=tpost-x >آخرین مطالب</div> <div class=xpost><!items="10"> <div class=xpost2> <a href="https://dlp.loxblog.com/دانلود-کتاب-آموزش-جاوا-اسکریپت" title="جمعه 05 تیر 1405">دانلود کتاب آموزش جاوا اسکریپت</a></div><!items="10"> <div class=xpost2> <a href="https://dlp.loxblog.com/دانلود-نرم-افزار-001file-joiner--splitter-405" title="جمعه 05 تیر 1405">دانلود نرم افزار 001File Joiner & Splitter 4.0.5</a></div><!items="10"> <div class=xpost2> <a href="https://dlp.loxblog.com/دانلود-فیلم-های-آموزش-مایا-part-101112" title="جمعه 05 تیر 1405">دانلود فیلم های آموزش مایا part 10,11,12</a></div><!items="10"> <div class=xpost2> <a href="https://dlp.loxblog.com/دانلود-فیلم-های-آموزش-مایا-part-789" title="جمعه 05 تیر 1405">دانلود فیلم های آموزش مایا part 7,8,9</a></div><!items="10"> <div class=xpost2> <a href="https://dlp.loxblog.com/دانلود-کتاب-مرجع-آموزش-فارسی-جاوا-اسکریپت" title="جمعه 05 تیر 1405">دانلود کتاب مرجع آموزش فارسی جاوا اسکریپت</a></div><!items="10"> <div class=xpost2> <a href="https://dlp.loxblog.com/دانلود-آلبوم-قالیباف-فرج-علیپور" title="جمعه 05 تیر 1405">دانلود آلبوم قالیباف فرج علیپور</a></div><!items="10"> <div class=xpost2> <a href="https://dlp.loxblog.com/دانلود-آلبوم-بهار-باد-ایرج-رحمانپور" title="جمعه 05 تیر 1405">دانلود آلبوم بهار باد _ایرج رحمانپور</a></div><!items="10"> <div class=xpost2> <a href="https://dlp.loxblog.com/گالری-عکس-غار-خفاش" title="جمعه 05 تیر 1405">گالری عکس غار خفاش</a></div><!items="10"> <div class=xpost2> <a href="https://dlp.loxblog.com/غار-خفاش-دهلران" title="جمعه 05 تیر 1405">غار خفاش دهلران</a></div><!items="10"> <div class=xpost2> <a href="https://dlp.loxblog.com/مشخصات-جغرافيايي" title="جمعه 05 تیر 1405">مشخصات جغرافيايي</a></div> </div><div class=bpost-x></div></div> <div style="width:100%"> <p align="center"><font face="Tahoma" size="2"> </font></p> </div> </div> <div class=mainl > <div style="float:left;direction:rtl;text-align:right;width:216;overflow:hidden" > <div class="tmenu b3"><div class=tmenu2>آرشیو مطالب</div></div> <div class=xmenu> <div class=xmenu1> <a href="https://dlp.loxblog.com/posts/archive.php?pmonth=7&pyear=2015">تیر 1394</a></div><div class=xmenu1> <a href="https://dlp.loxblog.com/posts/archive.php?pmonth=2&pyear=2014">بهمن 1392</a></div><div class=xmenu1> <a href="https://dlp.loxblog.com/posts/archive.php?pmonth=1&pyear=2014">دی 1392</a></div><div class=xmenu1> <a href="https://dlp.loxblog.com/posts/archive.php?pmonth=9&pyear=2013">شهریور 1392</a></div><div class=xmenu1> <a href="https://dlp.loxblog.com/posts/archive.php?pmonth=8&pyear=2013">مرداد 1392</a></div><div class=xmenu1> <a href="https://dlp.loxblog.com/posts/archive.php?pmonth=7&pyear=2013">تیر 1392</a></div><div class=xmenu1> <a href="https://dlp.loxblog.com/posts/archive.php?pmonth=6&pyear=2013">خرداد 1392</a></div><div class=xmenu1> <a href="https://dlp.loxblog.com/posts/archive.php?pmonth=5&pyear=2013">اردیبهشت 1392</a></div><div class=xmenu1> <a href="https://dlp.loxblog.com/posts/archive.php?pmonth=4&pyear=2013">فروردین 1392</a></div><div class=xmenu1> <a href="https://dlp.loxblog.com/posts/archive.php?pmonth=3&pyear=2013">اسفند 1391</a></div></div> <div class=bmenu></div> <!------------block -----------------------> <div class="tmenu b2"><div class=tmenu2>امکانات جانبی</div></div> <div class=xmenu><div class=xmenu2> </div></div><div class=bmenu></div> <!------------block -----------------------> </div> </div> </div> <div class=footer> <div class=right> <div class=left id="linkz"> <div class=linkz> <div class=zz> </div> </div> <div class=rss><br> <a href="<-BlogXmlLink->" title="RSS"> <img border="0" src="https://mahtarin.com/weblog/images/x.gif" width="80" height="70"></a></div> <div class=down><div class=ft> تمام حقوق اين وبلاگ و مطالب آن متعلق به <a href="/">دهلران پی سی</a> آن مي باشد.</div> </div></div> </div> </div></div></div></div><div class="comment-modal" id="commentModal"> <div class="comment-box" > <div class="comment-top"> <div class="title">💬 نظرات کاربران</div> <button class="close" onclick="lx_close_modal('commentModal')">✕</button> </div> <div class="comment-body"> <div class="comment-thread"> <!-- reply --> </div> </div> <div class="comment-footer"> <div id="formMessage" class="form-message"></div> <input type="hidden" id="reply_to" name="reply_to" value="0"> <div class="reply-indicator" id="replyBox"></div> <form class="captcha-form" method="post" name="loxcommentf" id="commentForm" data-form="loxcommentf" data-target=".comment-respond" action="" rel="nofollow"> <input type="hidden" name="action" value="add"> <input type="text" id="c_name" name="c_name" placeholder="نام شما" class="comment-input" > <div class="comment-row"> <input dir="ltr" type="text" id="c_email" name="c_email" placeholder="ایمیل" class="comment-input" > <input dir="ltr" type="text" id="c_website" name="c_website" placeholder="وب‌سایت (اختیاری)" class="comment-input" > </div> <!-- متن --> <div style="font-size:12px;"><input type="checkbox" name="private" value="1">نظر خصوصی</div> <textarea name="c_text" id="c_text" placeholder="نظر خود را بنویسید..."></textarea> <link rel="stylesheet" type="text/css" href="/captcha/style.css" /> <div class="captcha-widget" data-form="loxcommentf"> <input type="hidden" name="form" value="loxcommentf"> <input type="hidden" name="captcha_token" value="e7f08f78291b78271fca46784d222e6b"> <div class="captcha-box"></div> <div class="captcha-message"></div> </div> <button type="button" class="send-btn" onclick="sendComment()"> ارسال </button> </form> </div> </div> </div><div class="comment-modal" id="fastregisterModal"> <div class="comment-box" style="height:auto"> <div class="comment-top"> <div class="title">💬ثبت نام کاربران</div> <button class="close"onclick="lx_close_modal('fastregisterModal')">✕</button> </div> <div class="comment-body"> <div class="comment-threadx"> <div class="comment-cardx" style="display: flex; flex-direction: column; gap: 12px;"> <form class="loxajax captcha-form" method="post" name="loxfastregister" data-form="loxfastregister" data-target=".fast_register-respond" action="/core/ajax.php?action=userregister" rel="nofollow"> <input class="comment-input" type="text" name="username" style="direction:ltr;" maxlength="40" placeholder="نام کاربری"> <input class="comment-input" type="password" name="password" style="direction:ltr;" maxlength="40" placeholder="پسورد"> <input class="comment-input" type="email" name="email" dir="ltr" maxlength="100" placeholder="ایمیل"> <input class="comment-input" type="text" name="name" dir="auto" maxlength="100" placeholder="نام فارسی"> <input class="comment-input" type="text" name="mobile" id="mobile_f" dir="ltr" maxlength="100" placeholder="موبایل (اختیاری)"> <link rel="stylesheet" type="text/css" href="/captcha/style.css" /> <div class="captcha-widget" data-form="loxfastregister"> <input type="hidden" name="form" value="loxfastregister"> <input type="hidden" name="captcha_token" value="d245e682341beb5fc97f6e7ebbb28a86"> <div class="captcha-box"></div> <div class="captcha-message"></div> </div> <div class="comment-row"> <button type="submit" class="send-btn">ارسال</button> <button type="button" class="send-btn" style="background-color: #50bdff;" onclick="lx_open_modal('fastloginModal');return false;" >فرم ورود</button> </div> </form> <div class="fast_register-respond"></div> </div> </div> </div> <div class="comment-footer"> </div> </div> </div><div class="comment-modal" id="fastloginModal"> <div class="comment-box" style="height:auto"> <div class="comment-top"> <div class="title">💬ورود کاربران</div> <button class="close"onclick="lx_close_modal('fastloginModal')">✕</button> </div> <div class="comment-body"> <div class="comment-threadx"> <div class="comment-cardx" style="display: flex; flex-direction: column; gap: 12px;"> <form class="loxajax captcha-form" method="post" name="loxfastlogin" data-form="loxfastlogin" data-target=".fast_login-respond" action="/core/ajax.php?action=userlogin" rel="nofollow"> <input class="comment-input" type="text" name="username" style="direction:ltr;" maxlength="40" placeholder="نام کاربری"> <input class="comment-input" type="text" name="password" style="direction:ltr;" maxlength="40" placeholder="پسورد"> <link rel="stylesheet" type="text/css" href="/captcha/style.css" /> <div class="captcha-widget" data-form="loxfastlogin"> <input type="hidden" name="form" value="loxfastlogin"> <input type="hidden" name="captcha_token" value="c82434054c364fc20dc5c230a76e02c5"> <div class="captcha-box"></div> <div class="captcha-message"></div> </div> <div class="comment-row"> <button type="submit" class="send-btn">ارسال</button> <button type="button" class="send-btn" style="background-color: #50bdff;" onclick="lx_open_modal('fastregisterModal');return false;" >فرم ثبت نام</button> </div> </form> <div id="respond" class="fast_login-respond"></div> </div> </div> </div> <div class="comment-footer"> </div> </div> </div></body></html>