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 中。
?