GeneXusのUserControlについて
xslファイル(.xsl)はGeneXus上にUserControlが置かれた場合のデザインを構成するファイルです。
サンプル
【ユーザーコントロール名】.xsl
<?xml version='1.0'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxml="urn:schemas-microsoft-com:xslt"
xmlns:gx="urn:shemas-artech-com:gx"
exclude-result-prefixes="msxml gx"
xmlns:gxca="urn:GXControlAdap">
<xsl:output method="html"/>
<xsl:template match="/" >
<xsl:apply-templates select="/GxControl"/>
</xsl:template>
<xsl:template match="GxControl">
<xsl:choose>
<xsl:when test="@type = '【ユーザーコントロール名】'">
<xsl:call-template name="Render【ユーザーコントロール名】"/>
</xsl:when>
</xsl:choose>
</xsl:template>
<!-- 【ユーザーコントロール名】 design render -->
<!-- /////////////////// Implement your render here ///////////////////-->
<xsl:template name="Render【ユーザーコントロール名】">
<span atomicselection="true">
<xsl:call-template name="AddStyleAttribute"/>
<img>
<xsl:attribute name="src">
<xsl:value-of select="gxca:GetMyPath()"/>
<xsl:text>\UserControl.png</xsl:text>
</xsl:attribute>
<xsl:call-template name="AddStyleAttribute"/>
</img>
</span>
</xsl:template>
<!-- Helpers Templates -->
<xsl:template name="AddStyleAttribute" >
<xsl:variable name="Style">
<xsl:text>width: </xsl:text>
<xsl:value-of select="gxca:GetPropertyValueInt('Width')"/>
<xsl:text>; </xsl:text>
<xsl:text>height: </xsl:text>
<xsl:value-of select="gxca:GetPropertyValueInt('Height')"/>
<xsl:text>; </xsl:text>
<xsl:text>border-style: solid;border-width: 0px;</xsl:text>
</xsl:variable>
<xsl:attribute name="style">
<xsl:value-of select="$Style"/>
</xsl:attribute>
</xsl:template>
</xsl:stylesheet>
XSL内で使用できるメソッド
名前 | 概要 |
---|---|
gxca:GetPropertyValue | プロパティ値を取得 |
gxca:GetStringPropertyValue | テキストのプロパティ値を取得 |
gxca:GetPropertyValueInt | 数値のプロパティ値を取得 |
gxca:GetPropertyValueColorRGB | 色のプロパティ値を取得 |
gxca:GetMyPath() | UserControlディレクトリのパスを取得 |