[hibernate-issues] [Hibernate-JIRA] Commented: (ANN-537) Support @Comment or column attribute on @Table and @Column

Peter Hilton (JIRA) noreply at atlassian.com
Tue Jan 15 05:30:55 EST 2008


    [ http://opensource.atlassian.com/projects/hibernate/browse/ANN-537?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_29310 ] 

Peter Hilton commented on ANN-537:
----------------------------------

Meanwhile, I have a work-around: generate the HTML documentation and then use XSLT to add the column descriptions.

First, I define the comments in an XML file, where the id attributes are table names and column names.

<?xml version="1.0" encoding="UTF-8"?>
<column-descriptions>
<table id="customers">
	<column id="customer_id">Primary key</column>
	<!-- more columns -->
</table>
<!-- more tables -->
</column-descriptions>

Then I transform each generated table_name.html file with the following XSL 2.0 stylesheet. XSL version 2 is required, to have multiple source documents.

<?xml version="1.0" encoding="UTF-8"?>
<xsl:transform version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"	xmlns="http://www.w3.org/1999/xhtml" xpath-default-namespace="http://www.w3.org/1999/xhtml">
	<xsl:output method="xhtml" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" />
	<!-- Identity transformation. -->
	<xsl:template match="node()">
		<xsl:copy>
			<xsl:copy-of select="@*" />
			<xsl:apply-templates />
		</xsl:copy>
	</xsl:template>
	<!-- Column detail section: copy the heading, then output a paragraph containing the column description from column-descriptions.xml. -->
	<xsl:template match="h3">
		<xsl:copy-of select="."/>
		<xsl:variable name="table" select="substring(/html/body/h2[1], 7)"/>
		<xsl:variable name="column" select="substring(@id , 15)"/>
		<p><xsl:value-of select="document('column-descriptions.xml')//*[@id=$table]/*[@id=$column]"/></p>
	</xsl:template>
</xsl:transform>

The easiest way to run this is to use Saxon-B 9.0 (http://saxon.sourceforge.net/) and the following Ant task.

<xslt style="source/column-descriptions.xsl" basedir="build/hbm2doc/tables" destdir="build/documentation" force="yes">
	<classpath location="lib/saxonb9-0-0-2j/saxon9.jar"/>
	<include name="**/*.html" />
</xslt>

Also, while I am at it, I added templates to the XSL stylesheet to replace the HTML LINK element so I can point to my own stylesheet.



> Support @Comment or column attribute on @Table and @Column
> ----------------------------------------------------------
>
>                 Key: ANN-537
>                 URL: http://opensource.atlassian.com/projects/hibernate/browse/ANN-537
>             Project: Hibernate Annotations
>          Issue Type: Improvement
>          Components: binder
>    Affects Versions: 3.2.1
>            Reporter: Max Rydahl Andersen
>
> with hbm2ddl and hbm2doc its a shame that Annotation does not support setting a comment on table and columns.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the hibernate-issues mailing list