I have large number of xml files :
First:
<xmldata1>
<record>
<property11>abc</property11>
<property12>def</property12>
<property13>xyz</property13>
............
</record>
........
</xmldata1>
Second:
<xmldata2>
<record>
<property21>abc</property21>
<property22>def</property22>
<property23>xyz</property23>
............
</record>
........
</xmldata2>
and so on.
There won't be any more nested tags . But the name of property tag will be different for each xmldata file.
So i want to dynamically generate a HTML
Form using XSLT
to be used to read data for each xml
. Where a simple text box should be used to read each property. and we can take the first record as reference for number and name of properties.
The desired output
<form name ="xmldata1">
<table>
<tr>
<td>property11 :</td>
<td><input type="text" name="property11"></td>
</tr>
.......
and so on
</table>
</form>
How can i achieve this. Where can i find sample example for this.
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes" />
<!--Template match for the document element, no matter what the name -->
<xsl:template match="/*">
<form name="{local-name()}">
<table>
<!--Apply-templates for all of the record/property elements -->
<xsl:apply-templates select="*/*"/>
</table>
</form>
</xsl:template>
<!--Match on all of the property elements and create a new row for each -->
<xsl:template match="/*/*/*">
<tr>
<td><xsl:value-of select="local-name()"/> :</td>
<td><input type="text" name="{local-name()}"/></td>
</tr>
</xsl:template>
</xsl:stylesheet>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With