![]() |
Automated tool to convert XML from DTD to DTD
Hi… this is regarding XML to XML conversion, based on different DTDs
I have one XML file based on a given DTD, I am trying to convert the XML content to a new XML based on a different DTD. DTD 2 is a subset of DTD 1 with different element names. DTD1 is huge, DTD2 as well. I started to do this manually but it is taking a lonf time. I am trying to get some automated program tool to generate me a XLST transform to go from existing XML 1 (using DTD 1) to generated XML 2 (using DT2). Something that allows me to map the DTD elements and attributes, say, element “A” in XML 1 transforms into element “A1” in XML 2, so it then generates XSL for me. Do you know of any tool that would do that? Thanks in advance for your time, I really appreciate it Leonardo |
If its simply a one to one mapping then you can start by specifying the identity template:
<xsl:template match="node()|@*"> <xsl:copy> <xsl:apply-templates select="@*"/> <xsl:apply-templates/> </xsl:copy> </xsl:template> And then defining 'replace' templates: <xsl:template match="A"> <A1> <xsl:apply-template select="@*"/> <xsl:apply-template/> </A1> </xsl:template> Repeat this for each element that is changed. I don't know of any products that could do this automatically for you however. /- Sam Judson : Wrox Technical Editor -/ |
Stylus studio has a graphical tool that does this kind of thing, and I think there's something similar in XML Spy as well. In my experience these tools only work well when there is quite a close correspondence between the two DTDs, i.e. when it's mainly a matter of renaming the elements (they can do a lot more than that, but my experience is that it becomes easier to write the code).
Michael Kay http://www.saxonica.com/ Author, XSLT Programmer's Reference and XPath 2.0 Programmer's Reference |
All times are GMT -4. The time now is 03:07 PM. |
Powered by vBulletin®
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
© 2013 John Wiley & Sons, Inc.