Power Designer 资料转成 html
Power Designer 文件转成 html
很长时间没有用PowerDesigner 做数据库的概念模型/物理设计了。 记得当初做代码的自动生成, 根据这个cdm 或者 pdm 文件 来导出 每张表的表名和字段, 类型。然后把它们加入到数据字典相关的表里面。 做企业应用设计嘛, 都是跟数据库打交道的东东, 有了这些 schema 数据就可以自动生成 DAO 的代码。 甚至前台UI 的代码都可以生成。 当前自从知道PowerDesigner 的格式是 xml 时候自己还写了 给 xslt 来transform 成 纯粹的 table name , column name, column type, column length 这些最纯的 模型。 以前的代码在那台破 P4机器上 N年没有用料,只有网上搜了个拿来改改。 现在记在这个地方供自己以后用用。 如下 pdm.xslt :
<?xml version="1.0" encoding="gb2312"?> <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <head> <title>list table info.</title> </head> <body> <xsl:apply-templates select="/Model/*[local-name()='RootObject']/*[local-name()='Children']/*[local-name()='Model']/*[local-name()='Tables']"/> </body> </html> </xsl:template> <xsl:template match="*[local-name()='Tables']"> <xsl:for-each select="./*[local-name()='Table']"> <font size="10" color="red"> <xsl:text>tablename: </xsl:text> <xsl:value-of select="./*[local-name()='Name']" /> </font> <table border="1"> <tr><th width="200px">Column Name</th><th width="200px">Column Code</th><th width="200px">Type</th><th>Length</th><th width="200px">Memo</th></tr> <xsl:apply-templates select="./*[local-name()='Columns']"/> </table> <br/> <hr/> </xsl:for-each> </xsl:template> <xsl:template match="*[local-name()='Columns']"> <xsl:for-each select="./*[local-name()='Column']"> <tr> <td width="200px" align="left"><xsl:value-of select="./*[local-name()='Name']" /></td> <td width="200px" align="left"><xsl:value-of select="./*[local-name()='Code']" /></td> <td width="200px" align="left"><xsl:value-of select="./*[local-name()='DataType']" /></td> <td width="200px" align="left"><xsl:value-of select="./*[local-name()='Length']" /></td> <td width="200px" align="left"><xsl:value-of select="./*[local-name()='Comment']" /></td> </tr> </xsl:for-each> </xsl:template> </xsl:stylesheet>
现在做这个仅仅是想把 pdm 格式的文件 导成 俺们喜欢的 html 方便阅读 打印。
另外去微软下了个 msxsl.exe 工具 :
msxsl.exe test.pdm pdm.xslt -o dataStrucutre.html
运行如上命令就可以得到 dataStruture.html 文件了。
顺便附上 msxsl.exe 和 这个 pdm.xsl 在 附件的 tool.zip 中。