Fixes to escape SQL keywords when used as column names
This commit is contained in:
		
							parent
							
								
									74be55668f
								
							
						
					
					
						commit
						b240169fc7
					
				|  | @ -12,7 +12,7 @@ | ||||||
|       Transform ADL to Hibernate |       Transform ADL to Hibernate | ||||||
|        |        | ||||||
|       $Author: sb $ |       $Author: sb $ | ||||||
|       $Revision: 1.9 $ |       $Revision: 1.10 $ | ||||||
|   --> |   --> | ||||||
| 
 | 
 | ||||||
|   <!--  |   <!--  | ||||||
|  | @ -44,6 +44,72 @@ | ||||||
|     </xsl:choose> |     </xsl:choose> | ||||||
|   </xsl:variable> |   </xsl:variable> | ||||||
| 
 | 
 | ||||||
|  |   <!-- define upper and lower case letters to enable case conversion --> | ||||||
|  |   <xsl:variable name="ucase">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable> | ||||||
|  |   <xsl:variable name="lcase">abcdefghijklmnopqrstuvwxyz</xsl:variable> | ||||||
|  |   <!-- define SQL keywords to police these out of field names --> | ||||||
|  |   <xsl:variable name="sqlkeywords-multiline"> | ||||||
|  |     ADD 	EXCEPT 	PERCENT | ||||||
|  |     ALL 	EXEC 	PLAN | ||||||
|  |     ALTER 	EXECUTE 	PRECISION | ||||||
|  |     AND 	EXISTS 	PRIMARY | ||||||
|  |     ANY 	EXIT 	PRINT | ||||||
|  |     AS 	FETCH 	PROC | ||||||
|  |     ASC 	FILE 	PROCEDURE | ||||||
|  |     AUTHORIZATION 	FILLFACTOR 	PUBLIC | ||||||
|  |     BACKUP 	FOR 	RAISERROR | ||||||
|  |     BEGIN 	FOREIGN 	READ | ||||||
|  |     BETWEEN 	FREETEXT 	READTEXT | ||||||
|  |     BREAK 	FREETEXTTABLE 	RECONFIGURE | ||||||
|  |     BROWSE 	FROM 	REFERENCES | ||||||
|  |     BULK 	FULL 	REPLICATION | ||||||
|  |     BY 	FUNCTION 	RESTORE | ||||||
|  |     CASCADE 	GOTO 	RESTRICT | ||||||
|  |     CASE 	GRANT 	RETURN | ||||||
|  |     CHECK 	GROUP 	REVOKE | ||||||
|  |     CHECKPOINT 	HAVING 	RIGHT | ||||||
|  |     CLOSE 	HOLDLOCK 	ROLLBACK | ||||||
|  |     CLUSTERED 	IDENTITY 	ROWCOUNT | ||||||
|  |     COALESCE 	IDENTITY_INSERT 	ROWGUIDCOL | ||||||
|  |     COLLATE 	IDENTITYCOL 	RULE | ||||||
|  |     COLUMN 	IF 	SAVE | ||||||
|  |     COMMIT 	IN 	SCHEMA | ||||||
|  |     COMPUTE 	INDEX 	SELECT | ||||||
|  |     CONSTRAINT 	INNER 	SESSION_USER | ||||||
|  |     CONTAINS 	INSERT 	SET | ||||||
|  |     CONTAINSTABLE 	INTERSECT 	SETUSER | ||||||
|  |     CONTINUE 	INTO 	SHUTDOWN | ||||||
|  |     CONVERT 	IS 	SOME | ||||||
|  |     CREATE 	JOIN 	STATISTICS | ||||||
|  |     CROSS 	KEY 	SYSTEM_USER | ||||||
|  |     CURRENT 	KILL 	TABLE | ||||||
|  |     CURRENT_DATE 	LEFT 	TEXTSIZE | ||||||
|  |     CURRENT_TIME 	LIKE 	THEN | ||||||
|  |     CURRENT_TIMESTAMP 	LINENO 	TO | ||||||
|  |     CURRENT_USER 	LOAD 	TOP | ||||||
|  |     CURSOR 	NATIONAL 	TRAN | ||||||
|  |     DATABASE 	NOCHECK 	TRANSACTION | ||||||
|  |     DBCC 	NONCLUSTERED 	TRIGGER | ||||||
|  |     DEALLOCATE 	NOT 	TRUNCATE | ||||||
|  |     DECLARE 	NULL 	TSEQUAL | ||||||
|  |     DEFAULT 	NULLIF 	UNION | ||||||
|  |     DELETE 	OF 	UNIQUE | ||||||
|  |     DENY 	OFF 	UPDATE | ||||||
|  |     DESC 	OFFSETS 	UPDATETEXT | ||||||
|  |     DISK 	ON 	USE | ||||||
|  |     DISTINCT 	OPEN 	USER | ||||||
|  |     DISTRIBUTED 	OPENDATASOURCE 	VALUES | ||||||
|  |     DOUBLE 	OPENQUERY 	VARYING | ||||||
|  |     DROP 	OPENROWSET 	VIEW | ||||||
|  |     DUMMY 	OPENXML 	WAITFOR | ||||||
|  |     DUMP 	OPTION 	WHEN | ||||||
|  |     ELSE 	OR 	WHERE | ||||||
|  |     END 	ORDER 	WHILE | ||||||
|  |     ERRLVL 	OUTER 	WITH | ||||||
|  |     ESCAPE 	OVER 	WRITETEXT | ||||||
|  |   </xsl:variable> | ||||||
|  |   <xsl:variable name="sqlkeywords" select="concat(' ', normalize-space($sqlkeywords-multiline), ' ')"/> | ||||||
|  | 
 | ||||||
|   <xsl:template match="adl:application"> |   <xsl:template match="adl:application"> | ||||||
|       <hibernate-mapping> |       <hibernate-mapping> | ||||||
|         <xsl:attribute name="namespace"> |         <xsl:attribute name="namespace"> | ||||||
|  | @ -63,7 +129,7 @@ | ||||||
|     *	  THIS FILE IS AUTOMATICALLY GENERATED AND SHOULD NOT |     *	  THIS FILE IS AUTOMATICALLY GENERATED AND SHOULD NOT | ||||||
|     *	  BE MANUALLY EDITED. |     *	  BE MANUALLY EDITED. | ||||||
|     * |     * | ||||||
|     *	  Generated using adl2hibernate.xslt revision <xsl:value-of select="substring('$Revision: 1.9 $', 12)"/> |     *	  Generated using adl2hibernate.xslt revision <xsl:value-of select="substring('$Revision: 1.10 $', 12)"/> | ||||||
|     * |     * | ||||||
|     *************************************************************************** |     *************************************************************************** | ||||||
|         </xsl:comment> |         </xsl:comment> | ||||||
|  | @ -114,14 +180,9 @@ | ||||||
|             <xsl:value-of select="adl:property[position()=1]/@name"/> |             <xsl:value-of select="adl:property[position()=1]/@name"/> | ||||||
|           </xsl:attribute> |           </xsl:attribute> | ||||||
|           <xsl:attribute name="column"> |           <xsl:attribute name="column"> | ||||||
|             <xsl:choose> |             <xsl:call-template name="property-column-name"> | ||||||
|               <xsl:when test="adl:property[position()=1]/@column"> |               <xsl:with-param name="property" select="adl:property[position()=1]"/> | ||||||
|                 <xsl:value-of select="adl:property[position()=1]/@column"/> |             </xsl:call-template> | ||||||
|               </xsl:when> |  | ||||||
|               <xsl:otherwise> |  | ||||||
|                 <xsl:value-of select="adl:property[position()=1]/@name"/> |  | ||||||
|               </xsl:otherwise> |  | ||||||
|             </xsl:choose> |  | ||||||
|           </xsl:attribute> |           </xsl:attribute> | ||||||
|           <xsl:attribute name="type"> |           <xsl:attribute name="type"> | ||||||
|             <xsl:call-template name="csharp-base-type"> |             <xsl:call-template name="csharp-base-type"> | ||||||
|  | @ -193,14 +254,9 @@ | ||||||
|                 <xsl:value-of select="@name"/> |                 <xsl:value-of select="@name"/> | ||||||
|               </xsl:attribute> |               </xsl:attribute> | ||||||
|               <xsl:attribute name="column"> |               <xsl:attribute name="column"> | ||||||
|                 <xsl:choose> |                 <xsl:call-template name="property-column-name"> | ||||||
|                   <xsl:when test="@column"> |                   <xsl:with-param name="property" select="."/> | ||||||
|                     <xsl:value-of select="@column"/> |                 </xsl:call-template> | ||||||
|                   </xsl:when> |  | ||||||
|                   <xsl:otherwise> |  | ||||||
|                     <xsl:value-of select="@name"/> |  | ||||||
|                   </xsl:otherwise> |  | ||||||
|                 </xsl:choose> |  | ||||||
|               </xsl:attribute> |               </xsl:attribute> | ||||||
|               <xsl:attribute name="type"> |               <xsl:attribute name="type"> | ||||||
|                 <xsl:call-template name="csharp-type"> |                 <xsl:call-template name="csharp-type"> | ||||||
|  | @ -216,14 +272,9 @@ | ||||||
|                 <xsl:value-of select="@name"/> |                 <xsl:value-of select="@name"/> | ||||||
|               </xsl:attribute> |               </xsl:attribute> | ||||||
|               <xsl:attribute name="column"> |               <xsl:attribute name="column"> | ||||||
|                 <xsl:choose> |                 <xsl:call-template name="property-column-name"> | ||||||
|                   <xsl:when test="@column"> |                   <xsl:with-param name="property" select="."/> | ||||||
|                     <xsl:value-of select="@column"/> |                 </xsl:call-template> | ||||||
|                   </xsl:when> |  | ||||||
|                   <xsl:otherwise> |  | ||||||
|                     <xsl:value-of select="@name"/> |  | ||||||
|                   </xsl:otherwise> |  | ||||||
|                 </xsl:choose> |  | ||||||
|               </xsl:attribute> |               </xsl:attribute> | ||||||
|               <xsl:attribute name="class"> |               <xsl:attribute name="class"> | ||||||
|                 <xsl:value-of select="@entity"/> |                 <xsl:value-of select="@entity"/> | ||||||
|  | @ -271,7 +322,9 @@ | ||||||
|       </xsl:attribute> |       </xsl:attribute> | ||||||
|       <xsl:if test="@column"> |       <xsl:if test="@column"> | ||||||
|         <xsl:attribute name="column"> |         <xsl:attribute name="column"> | ||||||
|           <xsl:value-of select="@column"/> |           <xsl:call-template name="property-column-name"> | ||||||
|  |             <xsl:with-param name="property" select="."/> | ||||||
|  |           </xsl:call-template> | ||||||
|         </xsl:attribute> |         </xsl:attribute> | ||||||
|       </xsl:if> |       </xsl:if> | ||||||
|     </many-to-one> |     </many-to-one> | ||||||
|  | @ -315,14 +368,9 @@ | ||||||
|             <xsl:value-of select="@entity"/> |             <xsl:value-of select="@entity"/> | ||||||
|           </xsl:attribute> |           </xsl:attribute> | ||||||
|           <xsl:attribute name="column"> |           <xsl:attribute name="column"> | ||||||
|             <xsl:choose> |             <xsl:call-template name="property-column-name"> | ||||||
|               <xsl:when test="@column"> |               <xsl:with-param name="property" select="."/> | ||||||
|                 <xsl:value-of select="@column"/> |             </xsl:call-template> | ||||||
|               </xsl:when> |  | ||||||
|               <xsl:otherwise> |  | ||||||
|                 <xsl:value-of select="@name"/> |  | ||||||
|               </xsl:otherwise> |  | ||||||
|             </xsl:choose> |  | ||||||
|           </xsl:attribute> |           </xsl:attribute> | ||||||
|           <xsl:if test="@farkey"> |           <xsl:if test="@farkey"> | ||||||
|             <xsl:attribute name="property-ref"> |             <xsl:attribute name="property-ref"> | ||||||
|  | @ -454,14 +502,9 @@ | ||||||
|         </xsl:call-template> |         </xsl:call-template> | ||||||
|       </xsl:attribute> |       </xsl:attribute> | ||||||
|       <xsl:attribute name="column"> |       <xsl:attribute name="column"> | ||||||
|         <xsl:choose> |         <xsl:call-template name="property-column-name"> | ||||||
|           <xsl:when test="@column"> |           <xsl:with-param name="property" select="."/> | ||||||
|             <xsl:value-of select="@column"/> |         </xsl:call-template> | ||||||
|           </xsl:when> |  | ||||||
|           <xsl:otherwise> |  | ||||||
|             <xsl:value-of select="@name"/> |  | ||||||
|           </xsl:otherwise> |  | ||||||
|         </xsl:choose> |  | ||||||
|       </xsl:attribute> |       </xsl:attribute> | ||||||
|       <xsl:apply-templates select="adl:documentation"/> |       <xsl:apply-templates select="adl:documentation"/> | ||||||
|     </property> |     </property> | ||||||
|  | @ -473,6 +516,31 @@ | ||||||
|     </xsl:comment> |     </xsl:comment> | ||||||
|   </xsl:template> |   </xsl:template> | ||||||
| 
 | 
 | ||||||
|  |   <!-- consistent, repeatable way of getting the column name for a given property --> | ||||||
|  |   <xsl:template name="property-column-name"> | ||||||
|  |     <!-- a property element --> | ||||||
|  |     <xsl:param name="property"/> | ||||||
|  |     <xsl:variable name="unescaped"> | ||||||
|  |       <xsl:choose> | ||||||
|  |         <xsl:when test="$property/@column"> | ||||||
|  |           <xsl:value-of select="$property/@column"/> | ||||||
|  |         </xsl:when> | ||||||
|  |         <xsl:otherwise> | ||||||
|  |           <xsl:value-of select="$property/@name"/> | ||||||
|  |         </xsl:otherwise> | ||||||
|  |       </xsl:choose> | ||||||
|  |     </xsl:variable> | ||||||
|  |     <xsl:choose> | ||||||
|  |       <xsl:when test="contains( $sqlkeywords, concat(' ', translate( $unescaped, $lcase, $ucase),' '))"> | ||||||
|  |         <xsl:value-of select="concat( '[', $unescaped, ']')"/> | ||||||
|  |       </xsl:when> | ||||||
|  |       <xsl:otherwise> | ||||||
|  |         <xsl:value-of select="$unescaped"/> | ||||||
|  |       </xsl:otherwise> | ||||||
|  |     </xsl:choose> | ||||||
|  |   </xsl:template> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|   <!--  |   <!--  | ||||||
|     horrible, horrible hackery. Compare two strings and return  |     horrible, horrible hackery. Compare two strings and return  | ||||||
|         * 0 if they are identical,  |         * 0 if they are identical,  | ||||||
|  |  | ||||||
|  | @ -12,7 +12,7 @@ | ||||||
|       Convert ADL to MS-SQL |       Convert ADL to MS-SQL | ||||||
|        |        | ||||||
|       $Author: sb $ |       $Author: sb $ | ||||||
|       $Revision: 1.11 $ |       $Revision: 1.12 $ | ||||||
|   --> |   --> | ||||||
|      |      | ||||||
|   <xsl:output indent="no" encoding="UTF-8" method="text"/> |   <xsl:output indent="no" encoding="UTF-8" method="text"/> | ||||||
|  | @ -28,13 +28,80 @@ | ||||||
|   <xsl:param name="abstract-key-name-convention" select="Id"/> |   <xsl:param name="abstract-key-name-convention" select="Id"/> | ||||||
|   <xsl:param name="database"/> |   <xsl:param name="database"/> | ||||||
| 
 | 
 | ||||||
|  |   <!-- define upper and lower case letters to enable case conversion --> | ||||||
|  |   <xsl:variable name="ucase">ABCDEFGHIJKLMNOPQRSTUVWXYZ</xsl:variable> | ||||||
|  |   <xsl:variable name="lcase">abcdefghijklmnopqrstuvwxyz</xsl:variable> | ||||||
|  |   <!-- define SQL keywords to police these out of field names --> | ||||||
|  |   <xsl:variable name="sqlkeywords-multiline"> | ||||||
|  |     ADD 	EXCEPT 	PERCENT | ||||||
|  |     ALL 	EXEC 	PLAN | ||||||
|  |     ALTER 	EXECUTE 	PRECISION | ||||||
|  |     AND 	EXISTS 	PRIMARY | ||||||
|  |     ANY 	EXIT 	PRINT | ||||||
|  |     AS 	FETCH 	PROC | ||||||
|  |     ASC 	FILE 	PROCEDURE | ||||||
|  |     AUTHORIZATION 	FILLFACTOR 	PUBLIC | ||||||
|  |     BACKUP 	FOR 	RAISERROR | ||||||
|  |     BEGIN 	FOREIGN 	READ | ||||||
|  |     BETWEEN 	FREETEXT 	READTEXT | ||||||
|  |     BREAK 	FREETEXTTABLE 	RECONFIGURE | ||||||
|  |     BROWSE 	FROM 	REFERENCES | ||||||
|  |     BULK 	FULL 	REPLICATION | ||||||
|  |     BY 	FUNCTION 	RESTORE | ||||||
|  |     CASCADE 	GOTO 	RESTRICT | ||||||
|  |     CASE 	GRANT 	RETURN | ||||||
|  |     CHECK 	GROUP 	REVOKE | ||||||
|  |     CHECKPOINT 	HAVING 	RIGHT | ||||||
|  |     CLOSE 	HOLDLOCK 	ROLLBACK | ||||||
|  |     CLUSTERED 	IDENTITY 	ROWCOUNT | ||||||
|  |     COALESCE 	IDENTITY_INSERT 	ROWGUIDCOL | ||||||
|  |     COLLATE 	IDENTITYCOL 	RULE | ||||||
|  |     COLUMN 	IF 	SAVE | ||||||
|  |     COMMIT 	IN 	SCHEMA | ||||||
|  |     COMPUTE 	INDEX 	SELECT | ||||||
|  |     CONSTRAINT 	INNER 	SESSION_USER | ||||||
|  |     CONTAINS 	INSERT 	SET | ||||||
|  |     CONTAINSTABLE 	INTERSECT 	SETUSER | ||||||
|  |     CONTINUE 	INTO 	SHUTDOWN | ||||||
|  |     CONVERT 	IS 	SOME | ||||||
|  |     CREATE 	JOIN 	STATISTICS | ||||||
|  |     CROSS 	KEY 	SYSTEM_USER | ||||||
|  |     CURRENT 	KILL 	TABLE | ||||||
|  |     CURRENT_DATE 	LEFT 	TEXTSIZE | ||||||
|  |     CURRENT_TIME 	LIKE 	THEN | ||||||
|  |     CURRENT_TIMESTAMP 	LINENO 	TO | ||||||
|  |     CURRENT_USER 	LOAD 	TOP | ||||||
|  |     CURSOR 	NATIONAL 	TRAN | ||||||
|  |     DATABASE 	NOCHECK 	TRANSACTION | ||||||
|  |     DBCC 	NONCLUSTERED 	TRIGGER | ||||||
|  |     DEALLOCATE 	NOT 	TRUNCATE | ||||||
|  |     DECLARE 	NULL 	TSEQUAL | ||||||
|  |     DEFAULT 	NULLIF 	UNION | ||||||
|  |     DELETE 	OF 	UNIQUE | ||||||
|  |     DENY 	OFF 	UPDATE | ||||||
|  |     DESC 	OFFSETS 	UPDATETEXT | ||||||
|  |     DISK 	ON 	USE | ||||||
|  |     DISTINCT 	OPEN 	USER | ||||||
|  |     DISTRIBUTED 	OPENDATASOURCE 	VALUES | ||||||
|  |     DOUBLE 	OPENQUERY 	VARYING | ||||||
|  |     DROP 	OPENROWSET 	VIEW | ||||||
|  |     DUMMY 	OPENXML 	WAITFOR | ||||||
|  |     DUMP 	OPTION 	WHEN | ||||||
|  |     ELSE 	OR 	WHERE | ||||||
|  |     END 	ORDER 	WHILE | ||||||
|  |     ERRLVL 	OUTER 	WITH | ||||||
|  |     ESCAPE 	OVER 	WRITETEXT | ||||||
|  |   </xsl:variable> | ||||||
|  |   <xsl:variable name="sqlkeywords" select="concat(' ', normalize-space($sqlkeywords-multiline), ' ')"/> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|   <xsl:template match="adl:application">  |   <xsl:template match="adl:application">  | ||||||
|         ------------------------------------------------------------------------------------------------- |         ------------------------------------------------------------------------------------------------- | ||||||
|         -- |         -- | ||||||
|         --    Application Description Language framework |         --    Application Description Language framework | ||||||
|         -- |         -- | ||||||
|         --    Database for application <xsl:value-of select="@name"/> version <xsl:value-of select="@version"/> |         --    Database for application <xsl:value-of select="@name"/> version <xsl:value-of select="@version"/> | ||||||
|         --    Generated for MS-SQL 2000+ using adl2mssql.xslt <xsl:value-of select="substring('$Revision: 1.11 $', 12)"/> |         --    Generated for MS-SQL 2000+ using adl2mssql.xslt <xsl:value-of select="substring('$Revision: 1.12 $', 12)"/> | ||||||
|         -- |         -- | ||||||
|         --    Code generator (c) 2007 Cygnet Solutions Ltd |         --    Code generator (c) 2007 Cygnet Solutions Ltd | ||||||
|         -- |         -- | ||||||
|  | @ -523,7 +590,9 @@ | ||||||
| 
 | 
 | ||||||
|   <!-- consistent, repeatable way of getting the column name for a given property --> |   <!-- consistent, repeatable way of getting the column name for a given property --> | ||||||
|   <xsl:template name="property-column-name"> |   <xsl:template name="property-column-name"> | ||||||
|  |     <!-- a property element --> | ||||||
|     <xsl:param name="property"/> |     <xsl:param name="property"/> | ||||||
|  |     <xsl:variable name="unescaped"> | ||||||
|     <xsl:choose> |     <xsl:choose> | ||||||
|       <xsl:when test="$property/@column"> |       <xsl:when test="$property/@column"> | ||||||
|         <xsl:value-of select="$property/@column"/> |         <xsl:value-of select="$property/@column"/> | ||||||
|  | @ -532,6 +601,15 @@ | ||||||
|         <xsl:value-of select="$property/@name"/> |         <xsl:value-of select="$property/@name"/> | ||||||
|       </xsl:otherwise> |       </xsl:otherwise> | ||||||
|     </xsl:choose> |     </xsl:choose> | ||||||
|  |     </xsl:variable> | ||||||
|  |     <xsl:choose> | ||||||
|  |       <xsl:when test="contains( $sqlkeywords, concat(' ', translate( $unescaped, $lcase, $ucase),' '))"> | ||||||
|  |         <xsl:value-of select="concat( '[', $unescaped, ']')"/> | ||||||
|  |       </xsl:when> | ||||||
|  |       <xsl:otherwise> | ||||||
|  |         <xsl:value-of select="$unescaped"/> | ||||||
|  |       </xsl:otherwise> | ||||||
|  |     </xsl:choose> | ||||||
|   </xsl:template> |   </xsl:template> | ||||||
| 
 | 
 | ||||||
|   <xsl:template name="primary-key-name"> |   <xsl:template name="primary-key-name"> | ||||||
|  |  | ||||||
|  | @ -12,8 +12,8 @@ | ||||||
|     Transform ADL into velocity view templates |     Transform ADL into velocity view templates | ||||||
|      |      | ||||||
|     $Author: sb $ |     $Author: sb $ | ||||||
|     $Revision: 1.11 $ |     $Revision: 1.12 $ | ||||||
|     $Date: 2008-03-12 13:46:10 $ |     $Date: 2008-03-19 15:37:48 $ | ||||||
|   --> |   --> | ||||||
|   <!-- WARNING WARNING WARNING: Do NOT reformat this file!  |   <!-- WARNING WARNING WARNING: Do NOT reformat this file!  | ||||||
|      Whitespace (or lack of it) is significant! --> |      Whitespace (or lack of it) is significant! --> | ||||||
|  | @ -44,7 +44,7 @@ | ||||||
|     stored to CVS --> |     stored to CVS --> | ||||||
| 
 | 
 | ||||||
|   <xsl:variable name="transform-rev1" |   <xsl:variable name="transform-rev1" | ||||||
|                 select="substring( '$Revision: 1.11 $', 11)"/> |                 select="substring( '$Revision: 1.12 $', 11)"/> | ||||||
|   <xsl:variable name="transform-revision" |   <xsl:variable name="transform-revision" | ||||||
|                 select="substring( $transform-rev1, 0, string-length( $transform-rev1) - 1)"/> |                 select="substring( $transform-rev1, 0, string-length( $transform-rev1) - 1)"/> | ||||||
| 
 | 
 | ||||||
|  | @ -925,7 +925,7 @@ | ||||||
|           <xsl:value-of select="//adl:definition[@name=$definition]/@size"/> |           <xsl:value-of select="//adl:definition[@name=$definition]/@size"/> | ||||||
|         </xsl:variable> |         </xsl:variable> | ||||||
|         <input type="text"> |         <input type="text"> | ||||||
|           <xsl:attribute name="class"> |           <xsl:variable name="cssclass"> | ||||||
|             <xsl:if test="$property/@required='true'">required </xsl:if> |             <xsl:if test="$property/@required='true'">required </xsl:if> | ||||||
|             <xsl:choose> |             <xsl:choose> | ||||||
|               <xsl:when test="//adl:definition[@name=$definition]/@pattern"> |               <xsl:when test="//adl:definition[@name=$definition]/@pattern"> | ||||||
|  | @ -939,6 +939,9 @@ | ||||||
|               <xsl:when test="$definedtype='money'">validate-number</xsl:when> |               <xsl:when test="$definedtype='money'">validate-number</xsl:when> | ||||||
|               <xsl:when test="$definedtype='date'">date-field validate-date</xsl:when> |               <xsl:when test="$definedtype='date'">date-field validate-date</xsl:when> | ||||||
|             </xsl:choose> |             </xsl:choose> | ||||||
|  |           </xsl:variable> | ||||||
|  |           <xsl:attribute name="class"> | ||||||
|  |             <xsl:value-of select="normalize-space( cssclass)"/> | ||||||
|           </xsl:attribute> |           </xsl:attribute> | ||||||
|           <xsl:attribute name="id"> |           <xsl:attribute name="id"> | ||||||
|             <xsl:value-of select="concat( 'instance_', @name)"/> |             <xsl:value-of select="concat( 'instance_', @name)"/> | ||||||
|  | @ -1031,7 +1034,7 @@ | ||||||
|         <xsl:variable name="class"> |         <xsl:variable name="class"> | ||||||
|           <xsl:if test="$property/@required='true'">required </xsl:if>date-field validate-date |           <xsl:if test="$property/@required='true'">required </xsl:if>date-field validate-date | ||||||
|         </xsl:variable> |         </xsl:variable> | ||||||
|         ${FormHelper.TextField( "instance.<xsl:value-of select="$property/@name"/>", "%{class='<xsl:value-of select="$class"/>', textformat='d', size='10', maxlength='10'}")} |         ${FormHelper.TextField( "instance.<xsl:value-of select="$property/@name"/>", "%{class='<xsl:value-of select="normalize-space( $class)"/>', textformat='d', size='10', maxlength='10'}")} | ||||||
|       </xsl:when> |       </xsl:when> | ||||||
|       <xsl:otherwise> |       <xsl:otherwise> | ||||||
|         <xsl:variable name="class"> |         <xsl:variable name="class"> | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue