मैं एक कॉलेज में एक छात्र के विवरण प्रदर्शित करने के लिए एक एक्सएमएल डिजाइन करने की कोशिश कर रहा हूँ। कॉलेज में पैरामीटर नाम, उम्र और रोल वाले छात्र शामिल हैं।

यहाँ मेरी एक्सएमएल फ़ाइल है

<?xml version="1.0"?>
<!DOCTYPE college SYSTEM "college.DTD">
<?xsl-stylesheet  type="text/xsl" href="college.XSL"?>

<college>

<student>
<name>vipul</name>
<age>16</age>
<roll>12</roll>
</student>

<student>
<name>vipul</name>
<age>16</age>
<roll>12</roll>
</student>

<student>
<name>vipul</name>
<age>16</age>
<roll>12</roll>
</student>

</college>

यह मेरी एक्सएसएल फाइल है

<?xml version="1.0"?>
<xsl-stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">

    <html>
    <head>
    <title>college</title>
    <head>

    <body>
    <table border="1" align="center">
    <tr bgcolor="yellow">
    <th>name</th>
    <th>age</th>
    <th>roll</th>
    </tr>

    <xsl:for-each select="college/student">
    <tr>
    <td><xsl:value-of select="name" /></td>
    <td><xsl:value-of select="age" /></td>
    <td><xsl:value-of select="roll" /></td>
    </tr>
    </xsl:for-each>
    </table>
    </body>
    </html>
    </xsl:template>
    </xsl:stylesheet>

और अंत में यह मेरी बाहरी डीटीडी फाइल है। यहां मैंने प्रासंगिक कोड संरचना को परिभाषित किया है

<?xml version="1.0">
<!DOCTYPE college(student)>
<!ELEMENT student(name,age,roll)>
<!ELEMENT name(#PCDATA)>
<!ELEMENT age(#PCDATA)>
<!ELEMENT roll(#PCDATA)>

सब कुछ सही प्रतीत होता है, फिर भी मुझे अपना वांछित एक्सएमएल आउटपुट नहीं मिल रहा है। यह क्यों हो रहा है ?

0
user12265479 2 नवम्बर 2019, 06:14

1 उत्तर

सबसे बढ़िया उत्तर

आपकी फ़ाइलों में दो त्रुटियाँ हैं:

  1. आपकी डीटीडी फाइल अमान्य है। यह उत्तर देखें। यह बताता है कि बाहरी DTD फ़ाइलों में a . नहीं होना चाहिए

    <!DOCTYPE college(student)>
    

    घोषणा। तो आपकी डीटीडी फ़ाइल कुछ इस तरह दिखनी चाहिए (मैंने आपके college एलिमेंट में एक + जोड़ा है, ताकि कई student बच्चों को सक्षम किया जा सके)

    <?xml version="1.0" encoding="utf-8" ?>
    <!ELEMENT college (student+)>
    <!ELEMENT student (name,age,roll)>
    <!ELEMENT name (#PCDATA)>
    <!ELEMENT age (#PCDATA)>
    <!ELEMENT roll (#PCDATA)>
    
  2. आपका ब्राउज़र आपकी XML फ़ाइल में आपके XSLT कोड के लिंक को नहीं पहचानता है, क्योंकि आपकी घोषणा में एक टाइपो है। आपकी XML फ़ाइल की शुरुआत में सही वर्तनी है

    <?xml-stylesheet... 
    

    की बजाय

    <?xsl-stylesheet....
    
0
halfer 13 मई 2020, 01:38