XSLT - Kuhariri XML
- Picha ya Kuzioa XSLT katika Kifungu cha Kifungu cha Kifungu
- Picha ya Mwanzo Mfanyikishaji wa XSLT
Data inayohifadhiwa katika faili ya XML inaweza kuhaririwa kwa kusoma kwenye mtangazaji wa intaneti.
Kufikia, kuhariri na kusafisha XML
Sasa, tunatukuzoa kufikia, kuhariri na kusafisha faili ya XML inayohifadhiwa kwenye mtaalamu.
Tunatufanya kusoma tabia ya XSL ya kubadilisha faili ya XML hadi katika formu ya HTML. Amani ya upeo wa uhusiano wa XML inatumika katika eneo la ingia la HTML formu. Foramu hii inaweza kuhaririwa. Baada ya kuhaririwa, data inatolewa kubalewa kwenye mtaalamu, faili ya XML inapandishwa (kutokana na ASP).
Faili ya XML na faili ya XSL
Kwanza, angalia faili ya XML ambayo itatumiwa ("tool.xml"):
<?xml version="1.0" encoding="ISO-8859-1"?> <tool> <field id="prodName"> <value>MBUURI HG2606</value> </field> <field id="prodNo"> <value>32456240</value> </field> <field id="price"> <value>$30.00</value> </field> </tool>
Kisha, angalia mifano ya tabia ya kufaa (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="haririfaa.asp"> <h2>Info ya Kifaa (hariri):</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" /> </body> </html> </xsl:template> </xsl:stylesheet>
上面这个 XSL 文件会循环遍历 XML 文件中的元素,并为每个 XML "field" 元素创建一个输入域。field 元素的 id 属性的值被添加到每个 HTML 输入域的 id 和 name 属性。"value" 元素的值被添加到每个 HTML 输入域的 "value" 属性。结果是,可以得到一个包含 XML 文件中值的可编辑的 HTML 表单。
Kisha, tunamosha mifano ya kifupi ya ujenzi ya klabu: "tool_updated.xsl". Faili ya XSL hii inatumiwa kusoma data ya XML ya kipindi. Faili hii haikutafsiri formu ya HTML inayofikia, bali inatoa tabia ya HTML inayofikia kwa kuzungumza:
<?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>Maafaka ya Kupangilia Kupata:</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>
Faili ya ASP
Kwenye faili "tool.xsl", matokeo wa sababu ya kipindi cha HTML ni "edittool.asp" .
Pembaada "edittool.asp" kina inaonyesha mifano: loadFile() inaumuisha na inasasisha faili XML, updateFile() inaumuisha faili XML:
<% function loadFile(xmlfile,xslfile) Dim xmlDoc,xslDoc Kulinda mifano ya XML set xmlDoc = Server.CreateObject("Microsoft.XMLDOM") xmlDoc.async = false xmlDoc.load(xmlfile) Kulinda mifano ya XSL set xslDoc = Server.CreateObject("Microsoft.XMLDOM") xslDoc.async = false xslDoc.load(xslfile) Kuchukua mifano Response.Write(xmlDoc.transformNode(xslDoc)) end function function updateFile(xmlfile) Dim xmlDoc,rootEl,f Dim i Kulinda mifano ya XML set xmlDoc = Server.CreateObject("Microsoft.XMLDOM") xmlDoc.async = false xmlDoc.load(xmlfile) Kuwa na rootEl kama mbinguni wa kina Set rootEl = xmlDoc.documentElement Kuondoa formu ya kina for i = 1 To Request.Form.Count Kupunguza elementi za kibonddo ya formu if instr(1,Request.Form.Key(i),"btn_")=0 then Method ya selectSingleNode inaweza kutafuta mwingine wa mifano ya XML ambao inafikia kwenye mifano Tafuta elementi ya value, elementi hii ni mwanafamilia wa elementi ya field Field hii ina id ya inayomtumika kwa thamani ya sehemu ya formu hiyo Kama inafikia, aseta uga text kwa thamani ya sehemu ya formu hiyo set f = rootEl.selectSingleNode("field[@id='" & _ Request.Form.Key(i) & "/value") f.Text = Request.Form(i) end if next Kuhifadhi mifano ya XML ya zilizohusishwa xmlDoc.save xmlfile Kupunguza taarifa zote za kina set xmlDoc=nothing set rootEl=nothing set f=nothing Kuwa na kichwa cha mifano cha XML ilitakiwa na mifano ya kichwa cha kina, kwa hivyo kina kina kinaweza kuona taarifa zilizohusishwa loadFile xmlfile,server.MapPath("tool_updated.xsl") end function 'Kama muhtasari haujafikii, sasisha faili ya XML na tafadhali tawala matokeo, kama haujafikii, kubadilisha faili ya XML ili kuhariri if Request.Form("btn_sub")="" then loadFile server.MapPath("tool.xml"),server.MapPath("tool.xsl") else updateFile server.MapPath("tool.xml") end if %>
Mafanikio:Kama huu haujifahamisha kuhariri ASP, tafadhali mafunzo yako hii:Mafunzo ya ASP》。
Mawazo:Wanakubadilisha na kuhakikisha mafungu ya XML ambayo imewekwa kwenye kifungu cha kifungu. Hii ni matokeo ya muhimu wa mawingu. Mtu wa kifungu cha kifungu kina kufikia kina ya HTML iliyotumika na kila kifungu cha kifungu.
- Picha ya Kuzioa XSLT katika Kifungu cha Kifungu cha Kifungu
- Picha ya Mwanzo Mfanyikishaji wa XSLT