এক্সএসএলটি - এক্সএমএল সম্পাদনা
- পূর্ববর্তী পৃষ্ঠা এক্সএসএলটি - সার্ভার এণ্ড
- পরবর্তী পৃষ্ঠা এক্সএসএলটি এডিটর
XML ফাইলে সংরক্ষিত ডাটা ইন্টারনেট ব্রাউজার দ্বারা সম্পাদনা করা যায়。
XML খুলতে, সম্পাদনা করা এবং সংরক্ষিত করা
এখন, আমরা আপনাকে সার্ভারে সংরক্ষিত XML ফাইলটি খুলতে, সম্পাদনা করতে এবং সংরক্ষিত করতে দেখাব।
আমরা XSL ব্যবহার করে XML ফাইলটিকে HTML ফর্মে রূপান্তর করব।XML এলিমেন্টের মূল্যটি HTML ফর্মের HTML ইনপুট ফিল্ডে লেখা হবে।এই ফর্মটি সম্পাদনা করা যায়।সম্পাদনা করার পর, ডাটা সার্ভারে ফিরিয়ে পাঠানো হবে, XML ফাইলটি অপদান করা হবে (এটি ASP দ্বারা করা হবে)।
XML ফাইল এবং XSL ফাইল
প্রথমে, ব্যবহার করা হবে এই XML ফাইল ("tool.xml") দেখুন:
<?xml version="1.0" encoding="ISO-8859-1"?> <tool> <field id="prodName"> <value>HAMMER HG2606</value> </field> <field id="prodNo"> <value>32456240</value> </field> <field id="price"> <value>$30.00</value> </field> </tool>
তারপর, নিচের স্টাইল সংযোজনা ("tool.xsl") দেখুন:
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <form method="post" action="edittool.asp"> <h2>টুল তথ্য (সম্পাদনা):</h2> <table border="0"> <xsl:for-each select="tool/field"> <tr> <td> <xsl:value-of select="@id"/> </td> <td> <input type="text"> <xsl:attribute name="id"> <xsl:value-of select="@id" /> </xsl:attribute> <xsl:attribute name="name"> <xsl:value-of select="@id" /> </xsl:attribute> <xsl:attribute name="value"> <xsl:value-of select="value" /> </xsl:attribute> </input> </td> </tr> </xsl:for-each> </table> <br /> <input type="submit" id="btn_sub" name="btn_sub" value="Submit" /> <input type="reset" id="btn_res" name="btn_res" value="Reset" /> </form> </body> </html> </xsl:template> </xsl:stylesheet>
উপরের এই XSL ফাইলটি XML ফাইলের উপাদানগুলি পার্থক্য করবে এবং প্রত্যেক XML "field" উপাদানকে একটি ইনপুট ডোমেইন তৈরি করবে। field উপাদানের id অ্যাট্রিবিউটের মানটি প্রত্যেক HTML ইনপুট ডোমেইনের id এবং name অ্যাট্রিবিউটে যোগ করা হবে। "value" উপাদানের মানটি প্রত্যেক HTML ইনপুট ডোমেইনের "value" অ্যাট্রিবিউটে যোগ করা হবে। ফলে, XML ফাইলের মানগুলি ধারণকারী এডিটয়েবল HTML ফর্ম পাওয়া যাবে。
তারপর, আমরা আরও একটি স্টাইলশিপ আছে: "tool_updated.xsl"। এই XSL ফাইলটি ব্যবহার করা হবে XML ডাটা দেখানোর জন্য। এই স্টাইলশিপটি এডিটয়েবল HTML ফর্ম না হলেও, একটি স্থায়ী HTML টেবিল হবে:
<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0"> xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <h2>Updated Tool Information:</h2> <table border="1"> <xsl:for-each select="tool/field"> <tr> <td><xsl:value-of select="@id" /></td> <td><xsl:value-of select="value" /></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>
ASP ফাইল
উপর "tool.xsl" ফাইলে, HTML ফর্মের action অ্যাট্রিবিউটের মান "edittool.asp" হয়。
"edittool.asp" পৃষ্ঠা দুটি ফাংশন ধারণ করে: loadFile() XML ফাইল লোড এবং রূপান্তরিত করা, updateFile() ফাংশন XML ফাইল অপদান করা:
<%}} function loadFile(xmlfile,xslfile) Dim xmlDoc,xslDoc XML ফাইল লোড করুন set xmlDoc = Server.CreateObject("Microsoft.XMLDOM") xmlDoc.async = false xmlDoc.load(xmlfile) XSL ফাইল লোড করুন set xslDoc = Server.CreateObject("Microsoft.XMLDOM") xslDoc.async = false xslDoc.load(xslfile) ফাইল ট্রান্সফর্ম করুন Response.Write(xmlDoc.transformNode(xslDoc)) end function function updateFile(xmlfile) Dim xmlDoc,rootEl,f Dim i XML ফাইল লোড করুন set xmlDoc = Server.CreateObject("Microsoft.XMLDOM") xmlDoc.async = false xmlDoc.load(xmlfile) rootEl বদলে রোট ইলেমেন্ট সমায়োজিত করুন Set rootEl = xmlDoc.documentElement form সংকলনকে পরিভ্রমণ করুন for i = 1 To Request.Form.Count ফর্ম থেকে বাটন ইলেমেন্ট সরানো if instr(1,Request.Form.Key(i),"btn_")=0 then selectSingleNode মথড় একটি XML ফাইলের একটি একক নোডটি যা একটি কোনওয়ালটিকে ম্যাচ করে এই কোনওয়ালটিটি value ইলেমেন্টটি চেষ্টা করবে, এই value ইলেমেন্টটি field ইলেমেন্টের সাথে সংযুক্ত এই field ইলেমেন্টটি ফর্মের বর্তমান key মানের id অ্যাট্রিবিউট ধারণ করে যদি ম্যাচ পাওয়া যায়, তবে text অ্যাট্রিবিউট ফর্মের বর্তমান ক্ষেত্রের মান নিয়ে সমায়োজিত করুন set f = rootEl.selectSingleNode("field[@id='" & _ Request.Form.Key(i) & "/value") f.Text = Request.Form(i) end if next পরিবর্তিত XML ফাইল সংরক্ষণ করুন xmlDoc.save xmlfile সমস্ত ওবজেক্ট রেফারেন্স মুক্ত করুন set xmlDoc=nothing set rootEl=nothing set f=nothing একটি স্টাইলশিপ দ্বারা পরিবর্তিত XML ফাইল লোড করুন এবং ক্লায়েন্ট সম্পাদিত তথ্য দেখতে পাবে loadFile xmlfile,server.MapPath("tool_updated.xsl") end function যদি ফর্ম সম্পাদিত হয়েছে, তবে XML ফাইলটি আপডেট করা হবে এবং ফলাফল দেখানো হবে, যদি ফর্ম সম্পাদিত হয়নি, তবে এই XML ফাইলকে সম্পাদনার জন্য রূপান্তরিত করা হবে if Request.Form("btn_sub")="" then loadFile server.MapPath("tool.xml"),server.MapPath("tool.xsl") else updateFile server.MapPath("tool.xml") end if %>
সুঝাওয়া:যদি আপনি এসপি লিখতে জানেন না, তবে আমাদেরএসপি শিক্ষাক্রম》
মন্তব্য:আমরা সার্ভারে অবস্থিত XML ফাইলটি রূপান্তরিত এবং অপদাত্ত করছি।এটি একটি প্ল্যাটফর্ম অব্যবহারিক সমাধান।ক্লায়েন্টটি শুধুমাত্র সার্ভার থেকে ফিরে আসা HTML পাবে - এবং এই এইচটিএমএল কোনও ব্রাউজারেই চালানো যায়。
- পূর্ববর্তী পৃষ্ঠা এক্সএসএলটি - সার্ভার এণ্ড
- পরবর্তী পৃষ্ঠা এক্সএসএলটি এডিটর