एक्सएमएल ट्यूटोरियल

एक्सएमएल होम एक्सएमएल परिचय एक्सएमएल कैसे इस्तेमाल करें एक्सएमएल ट्री एक्सएमएल सिंटैक्स एक्सएमएल तत्व एक्सएमएल गुण एक्सएमएल नेमस्पेस एक्सएमएल डिस्प्ले एक्सएमएल एचटीपीअनुरोध एक्सएमएल पार्सर एक्सएमएल डोम एक्सएमएल XPath एक्सएमएल एक्सएसएलटी एक्सएमएल XQuery एक्सएमएल एक्सलिंक एक्सएमएल सत्यापनकर्ता एक्सएमएल डीटीडी एक्सएमएल स्कीमा एक्सएमएल सर्वर एक्सएमएल उदाहरण एक्सएमएल प्रश्नोत्तरी एक्सएमएल प्रमाणपत्र

एक्सएमएल अजाक्स

AJAX परिचय अजाक्स एक्सएमएलएचटीपी अजाक्स अनुरोध अजाक्स प्रतिक्रिया अजाक्स एक्सएमएल फ़ाइल अजाक्स पीएचपी अजाक्स एएसपी AJAX डेटाबेस अजाक्स अनुप्रयोग अजाक्स उदाहरण

एक्सएमएल डोम

डोम परिचय डोम नोड्स डोम एक्सेसिंग डोम नोड जानकारी डोम नोड सूची डोम ट्रैवर्सिंग डोम नेविगेटिंग डोम मूल्य प्राप्त करें डोम चेंज नोड्स डोम नोड्स निकालें डोम नोड्स बदलें डोम नोड्स बनाएं डोम नोड्स जोड़ें डोम क्लोन नोड्स डोम उदाहरण

XPath ट्यूटोरियल

XPath परिचय XPath नोड्स XPath सिंटैक्स XPath अक्ष XPath ऑपरेटर्स XPath उदाहरण

एक्सएसएलटी ट्यूटोरियल

एक्सएसएलटी परिचय एक्सएसएल भाषाएं एक्सएसएलटी ट्रांसफॉर्म एक्सएसएलटी <टेम्पलेट> एक्सएसएलटी <मूल्य का> एक्सएसएलटी <प्रत्येक के लिए> एक्सएसएलटी <सॉर्ट> एक्सएसएलटी <अगर> एक्सएसएलटी <चुनें> एक्सएसएलटी लागू करें क्लाइंट पर एक्सएसएलटी सर्वर पर एक्सएसएलटी एक्सएसएलटी एक्सएमएल संपादित करें एक्सएसएलटी उदाहरण

XQuery ट्यूटोरियल

XQuery परिचय XQuery उदाहरण XQuery FLWOR XQuery एचटीएमएल XQuery शर्तें XQuery सिंटैक्स XQuery जोड़ें XQuery चुनें XQuery कार्य

एक्सएमएल डीटीडी

डीटीडी परिचय डीटीडी बिल्डिंग ब्लॉक्स डीटीडी तत्व डीटीडी गुण DTD एलिमेंट्स बनाम Attr डीटीडी इकाइयां डीटीडी उदाहरण

एक्सएसडी स्कीमा

एक्सएसडी परिचय एक्सएसडी कैसे करें एक्सएसडी <स्कीमा> एक्सएसडी तत्व एक्सएसडी गुण एक्सएसडी प्रतिबंध

एक्सएसडी कॉम्प्लेक्स

एक्सएसडी तत्व एक्सएसडी खाली केवल एक्सएसडी तत्व केवल एक्सएसडी पाठ एक्सएसडी मिश्रित एक्सएसडी संकेतक एक्सएसडी <कोई भी> एक्सएसडी <anyAttribute> एक्सएसडी प्रतिस्थापन एक्सएसडी उदाहरण

एक्सएसडी डेटा

एक्सएसडी स्ट्रिंग एक्सएसडी तिथि एक्सएसडी न्यूमेरिक एक्सएसडी विविध एक्सएसडी संदर्भ

वेब सेवाएं

एक्सएमएल सेवाएं एक्सएमएल डब्लूएसडीएल एक्सएमएल साबुन एक्सएमएल आरडीएफ एक्सएमएल आरएसएस

संदर्भ

डोम नोड प्रकार डोम नोड डोम नोडसूची डोम नेम नोडमैप डोम दस्तावेज़ डोम तत्व डोम विशेषता डोम टेक्स्ट डोम सीडीएटीए डोम टिप्पणी डोम एक्सएमएलएचटीपीअनुरोध डोम पार्सर एक्सएसएलटी तत्व एक्सएसएलटी/XPath फ़ंक्शंस

एक्सएसएलटी - एक्सएमएल का संपादन


एक्सएमएल फाइलों में संग्रहीत डेटा को इंटरनेट ब्राउज़र से संपादित किया जा सकता है।


एक्सएमएल खोलें, संपादित करें और सहेजें

अब, हम दिखाएंगे कि सर्वर पर संग्रहीत XML फ़ाइल को कैसे खोलें, संपादित करें और सहेजें।

हम एक्सएमएल दस्तावेज़ को एचटीएमएल फॉर्म में बदलने के लिए एक्सएसएल का उपयोग करेंगे। XML तत्वों के मान HTML इनपुट फ़ील्ड में HTML रूप में लिखे जाएंगे। HTML फॉर्म संपादन योग्य है। डेटा को संपादित करने के बाद, डेटा सर्वर पर वापस सबमिट किया जा रहा है और एक्सएमएल फ़ाइल अपडेट हो जाएगी (हम PHP और एएसपी दोनों के लिए कोड दिखाएंगे)।


एक्सएमएल फाइल और एक्सएसएल फाइल

सबसे पहले, एक्सएमएल दस्तावेज़ ("टूल.एक्सएमएल") पर एक नज़र डालें:

<?xml version="1.0" encoding="UTF-8"?>
<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="UTF-8"?>
<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>Tool Information (edit):</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 "फ़ील्ड" तत्व के लिए एक इनपुट फ़ील्ड बनाती है। एक्सएमएल "फ़ील्ड" तत्व की "आईडी" विशेषता का मान प्रत्येक HTML इनपुट फ़ील्ड के "आईडी" और "नाम" विशेषताओं दोनों में जोड़ा जाता है। प्रत्येक XML "मान" तत्व का मान प्रत्येक HTML इनपुट फ़ील्ड के "मान" विशेषता में जोड़ा जाता है। परिणाम एक संपादन योग्य HTML प्रपत्र है जिसमें XML फ़ाइल के मान शामिल हैं।

फिर, हमारे पास दूसरी स्टाइल शीट है: "tool_updated.xsl"। यह XSL फ़ाइल है जिसका उपयोग अद्यतन किए गए XML डेटा को प्रदर्शित करने के लिए किया जाएगा। इस स्टाइल शीट का परिणाम एक संपादन योग्य HTML फॉर्म नहीं होगा, बल्कि एक स्थिर HTML तालिका होगी:

<?xml version="1.0" encoding="UTF-8"?>
<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>

एक्सएसएल फ़ाइल देखें



पीएचपी फ़ाइल

उपरोक्त "tool.xsl" फ़ाइल में, HTML फॉर्म की क्रिया विशेषता को "edittool.php" में बदलें।

"Edittool.php" पृष्ठ में दो कार्य हैं: लोडफाइल () फ़ंक्शन प्रदर्शन के लिए एक्सएमएल फ़ाइल को लोड और रूपांतरित करता है और अपडेटफाइल () फ़ंक्शन एक्सएमएल फ़ाइल में परिवर्तन लागू करता है:

<?php
function loadFile($xml, $xsl)
{
$xmlDoc = new DOMDocument();
$xmlDoc->load($xml);

$xslDoc = new DOMDocument();
$xslDoc->load($xsl);

$proc = new XSLTProcessor();
$proc->importStyleSheet($xslDoc);
echo $proc->transformToXML($xmlDoc);
}

function updateFile($xml)
{
$xmlLoad = simplexml_load_file($xml);
$postKeys = array_keys($_POST);

foreach($xmlLoad->children() as $x)
{
  foreach($_POST as $key=>$value)
  {
    if($key == $x->attributes())
    {
      $x->value = $value;
    }
  }
}

$xmlLoad->asXML($xml);
loadFile($xml,"tool_updated.xsl");
}

if($_POST["btn_sub"] == "")
{
  loadFile("tool.xml", "tool.xsl");
}
else
{
  updateFile("tool.xml");
}
?>

युक्ति: यदि आप PHP लिखना नहीं जानते हैं, तो कृपया हमारे PHP ट्यूटोरियल का अध्ययन करें ।

नोट: हम परिवर्तन कर रहे हैं और सर्वर पर XML फ़ाइल में परिवर्तन लागू कर रहे हैं। यह एक क्रॉस-ब्राउज़र समाधान है। क्लाइंट को केवल सर्वर से HTML वापस मिलेगा - जो किसी भी ब्राउज़र में काम करेगा।


एएसपी फ़ाइल

उपरोक्त "tool.xsl" फ़ाइल में HTML फॉर्म में "edittool.asp" के मान के साथ एक क्रिया विशेषता है।

"एडिटटूल.एएसपी" पृष्ठ में दो कार्य हैं: लोडफाइल () फ़ंक्शन प्रदर्शन के लिए एक्सएमएल फ़ाइल को लोड और रूपांतरित करता है और अपडेटफाइल () फ़ंक्शन एक्सएमएल फ़ाइल में परिवर्तन लागू करता है:

<%
function loadFile(xmlfile,xslfile)
Dim xmlDoc,xslDoc
'Load XML and XSL file
set xmlDoc = Server.CreateObject("Microsoft.XMLDOM")
xmlDoc.async = false
xmlDoc.load(xmlfile)
set xslDoc = Server.CreateObject("Microsoft.XMLDOM")
xslDoc.async = false
xslDoc.load(xslfile)
'Transform file
Response.Write(xmlDoc.transformNode(xslDoc))
end function

function updateFile(xmlfile)
Dim xmlDoc,rootEl,f
Dim i
'Load XML file
set xmlDoc = Server.CreateObject("Microsoft.XMLDOM")
xmlDoc.async = false
xmlDoc.load(xmlfile)

'Set the rootEl variable equal to the root element
Set rootEl = xmlDoc.documentElement

'Loop through the form collection
for i = 1 To Request.Form.Count
  'Eliminate button elements in the form
  if instr(1,Request.Form.Key(i),"btn_")=0 then
    'The selectSingleNode method queries the XML file for a single node
    'that matches a query. This query requests the value element that is
    'the child of a field element that has an id attribute which matches
    'the current key value in the Form Collection. When there is a match -
    'set the text property equal to the value of the current field in the
    'Form Collection.
    set f = rootEl.selectSingleNode("field[@id='" & _
    Request.Form.Key(i) & "']/value")
    f.Text = Request.Form(i)
  end if
next

'Save the modified XML file
xmlDoc.save xmlfile

'Release all object references
set xmlDoc=nothing
set rootEl=nothing
set f=nothing

'Load the modified XML file with a style sheet that
'allows the client to see the edited information
loadFile xmlfile,server.MapPath("tool_updated.xsl")
end function

'If form is submitted, update the XML file and display result
' - if not, transform the XML file for editing
if Request.Form("btn_sub")="" then
  loadFile server.MapPath("tool.xml"),server.MapPath("tool.xsl")
else
  updateFile server.MapPath("tool.xml")
end if
%>