在项目中需要对通过后代代码生成的xml字符串数据做xsl样式转化,首先通过Altova XMLSpy工具进行xsl编辑:
首先给出xml数据文档CUSTOMER_Edit.xml:
<?xml version="1.0" encoding="GBK"?> <?xml-stylesheet type="text/xsl" href="CUSTOMER_Edit.xsl"?> <columns table="HSY_T_CUSTOMER" isWorkOrder="false" flowID="" flowName="" actionName="" title="大客户编辑" token="0428F398-9778-D1D7-2D05-968430963136"> <column seqId="000" feildName="CUSTOMER_ID" feildTitle="大用户ID" feildType="NUMBER" feildLen1="10" feildLen2="" feildNull="false" feildKey="true" defaultValue="" feildDescribe="" feildProperty="" feildValue="" feildRight="" visible="true" readOnly="false" align="right" rule="MaxValue" when="before"> </column> <column seqId="001" feildName="CUSTOMER_NAME" feildTitle="大用户名称" feildType="VARCHAR2" feildLen1="64" feildLen2="" feildNull="true" feildKey="false" defaultValue="" feildDescribe="" feildProperty="" feildValue="" feildRight="" visible="true" readOnly="false" align="left" rule="" when=""> </column> <column seqId="005" feildName="START_DATE" feildTitle="创建时间" feildType="DATE" feildLen1="7" feildLen2="" feildNull="true" feildKey="false" defaultValue="" feildDescribe="" feildProperty="" feildValue="" feildRight="" visible="true" readOnly="false" align="center" rule="" when=""> </column> <column seqId="006" feildName="STOP_DATE" feildTitle="停用时间" feildType="DATE" feildLen1="7" feildLen2="" feildNull="true" feildKey="false" defaultValue="" feildDescribe="" feildProperty="" feildValue="" feildRight="" visible="true" readOnly="false" align="center" rule="" when=""> </column> <column seqId="002" feildName="X" feildTitle="X坐标" feildType="VARCHAR2" feildLen1="20" feildLen2="" feildNull="true" feildKey="false" defaultValue="" feildDescribe="" feildProperty="" feildValue="" feildRight="" visible="true" readOnly="false" align="left" rule="" when=""> </column> <column seqId="003" feildName="Y" feildTitle="Y坐标" feildType="VARCHAR2" feildLen1="20" feildLen2="" feildNull="true" feildKey="false" defaultValue="" feildDescribe="" feildProperty="" feildValue="" feildRight="" visible="true" readOnly="false" align="left" rule="" when=""> </column> <column seqId="007" feildName="USER_NAME" feildTitle="用户名" feildType="VARCHAR2" feildLen1="64" feildLen2="" feildNull="true" feildKey="false" defaultValue="" feildDescribe="" feildProperty="" feildValue="" feildRight="" visible="true" readOnly="false" align="left" rule="UserName" when="before"> </column> <column seqId="008" feildName="USER_TITLE" feildTitle="用户标题" feildType="VARCHAR2" feildLen1="64" feildLen2="" feildNull="true" feildKey="false" defaultValue="" feildDescribe="" feildProperty="" feildValue="" feildRight="" visible="true" readOnly="false" align="left" rule="UserTitle" when="before"> </column> <column seqId="009" feildName="DEPT_ID" feildTitle="部门编号" feildType="NUMBER" feildLen1="10" feildLen2="" feildNull="true" feildKey="false" defaultValue="" feildDescribe="" feildProperty="" feildValue="" feildRight="" visible="true" readOnly="false" align="left" rule="" when=""> </column> <column seqId="010" feildName="DEPT_NAME" feildTitle="部门名称" feildType="VARCHAR2" feildLen1="64" feildLen2="" feildNull="true" feildKey="false" defaultValue="" feildDescribe="" feildProperty="" feildValue="" feildRight="" visible="true" readOnly="false" align="left" rule="" when=""> </column> <column seqId="004" feildName="DATA_GUID" feildTitle="DATA_GUID" feildType="VARCHAR2" feildLen1="38" feildLen2="" feildNull="true" feildKey="false" defaultValue="" feildDescribe="" feildProperty="" feildValue="" feildRight="" visible="false" readOnly="false" align="left" rule="Guid" when="before"> </column> </columns>
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format"> <xsl:template match="/"> <html> <head> <link rel="stylesheet" type="text/css" href="css/public.css"/> <script type="text/javascript" src="js/My97DatePicker/WdatePicker.js"/> <style type="text/css"> input{ width:100%; } </style> </head> <body> <!-- <div> <xsl:value-of select="columns/attribute::title"/> </div> --> <table style="width:800;" width="100%"> <!-- 隐藏行中包括table、isWorkOrder、flowID、flowName、actionName、token等信息 --> <tr id="hiddenTr" style="display:none;" width="100%"> <!-- display:none; --> <!-- 字段 table --> <td width="17%"> <xsl:attribute name="id">table</xsl:attribute> <xsl:attribute name="name">table</xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="columns/attribute::table"/></xsl:attribute> <xsl:value-of select="columns/attribute::table"/> </td> <!-- 字段 isWorkOrder --> <td width="17%"> <xsl:attribute name="id">isWorkOrder</xsl:attribute> <xsl:attribute name="name">isWorkOrder</xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="columns/attribute::isWorkOrder"/></xsl:attribute> <xsl:value-of select="columns/attribute::isWorkOrder"/> </td> <!-- 字段 flowID --> <td width="17%"> <xsl:attribute name="id">flowID</xsl:attribute> <xsl:attribute name="name">flowID</xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="columns/attribute::flowID"/></xsl:attribute> <xsl:value-of select="columns/attribute::flowID"/> </td> <!-- 字段 flowName --> <td width="17%"> <xsl:attribute name="id">flowName</xsl:attribute> <xsl:attribute name="name">flowName</xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="columns/attribute::flowName"/></xsl:attribute> <xsl:value-of select="columns/attribute::flowName"/> </td> <!-- 字段 actionName --> <td width="16%"> <xsl:attribute name="id">actionName</xsl:attribute> <xsl:attribute name="name">actionName</xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="columns/attribute::actionName"/></xsl:attribute> <xsl:value-of select="columns/attribute::actionName"/> </td> <!-- 字段 token --> <td width="16%"> <xsl:attribute name="id">token</xsl:attribute> <xsl:attribute name="name">token</xsl:attribute> <xsl:attribute name="value"><xsl:value-of select="columns/attribute::token"/></xsl:attribute> <xsl:value-of select="columns/attribute::token"/> </td> </tr> <!-- 要在页面中显示的字段 --> <xsl:variable name="tdStyle"/> <!-- 定义变量tdStyle --> <tr> <xsl:for-each select="columns/column"> <!-- 字段 CUSTOMER_ID --> <xsl:if test="./@feildName='CUSTOMER_ID'"> <td width="18%"> <xsl:attribute name="align"><xsl:value-of select="./@align"/></xsl:attribute> <!-- 判断是否隐藏此列 --> <xsl:attribute name="style"> <xsl:if test="./@visible='false'">display:none;</xsl:if> </xsl:attribute> <xsl:value-of select="./@feildTitle"/> <xsl:if test="./@feildKey='true'"> <span style="color:#E58A22;font-weight:bold;font-size:15px;">(PK)</span> </xsl:if> <xsl:if test="./@visible='false'"> <xsl:attribute name="style"> <xsl:text>display:none;</xsl:text> </xsl:attribute> </xsl:if> </td> <td colspan="2" width="32%"> <xsl:choose> <xsl:when test="./child::*"> <!-- select --> <xsl:if test="./feildDef/options/option"> <select> <!-- id 属性 --> <xsl:attribute name="id"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- name 属性 --> <xsl:attribute name="name"><xsl:value-of select="./@feildName"/></xsl:attribute> <xsl:for-each select="./feildDef/options/option"> <option> <xsl:value-of select="./@value"/> </option> </xsl:for-each> </select> </xsl:if> </xsl:when> <xsl:otherwise> <!-- input --> <xsl:if test="./@feildLen1 < 100"> <input width="100%"> <!-- id 属性 --> <xsl:attribute name="id"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- name 属性 --> <xsl:attribute name="name"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- type 属性 --> <xsl:attribute name="type">text</xsl:attribute> <!-- maxLength 属性 --> <xsl:attribute name="maxLength"><xsl:if test="./@feildLen2 = ''"><xsl:value-of select="./@feildLen1"/></xsl:if></xsl:attribute> <!-- 时间下拉框样式 属性 --> <xsl:if test="./@feildType = 'TIMESTAMP'"> <xsl:attribute name="onfocus">WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})</xsl:attribute> <xsl:attribute name="class">Wdate</xsl:attribute> </xsl:if> <xsl:if test="./@feildType = 'DATE'"> <xsl:attribute name="onfocus">WdatePicker({dateFmt:'yyyy-MM-dd'})</xsl:attribute> <xsl:attribute name="class">Wdate</xsl:attribute> </xsl:if> <!-- style 属性 --> <xsl:attribute name="style"> <xsl:if test="./@when != ''">when:<xsl:value-of select="./@when"></xsl:value-of>;</xsl:if> <xsl:if test="./@rule != ''">rule:<xsl:value-of select="./@rule"></xsl:value-of>;</xsl:if> <xsl:if test="./@feildKey='true'">pk:true;</xsl:if> <xsl:if test="./@feildLen2 != ''"> length:<xsl:value-of select="./@feildLen1"/>-<xsl:value-of select="./@feildLen2"/>; </xsl:if> <!-- visible 属性 --> <xsl:if test="./@visible = 'false'"> <xsl:text>display:none;</xsl:text> </xsl:if> <!-- 是否是工单 --> <xsl:if test="../attribute::isWorkOrder = 'true'"> <xsl:if test="./@feildRight = ''"> <xsl:text>border-style:none;</xsl:text> </xsl:if> <xsl:if test="./@feildRight = 'R'"> <xsl:text>border-color:red;</xsl:text> </xsl:if> </xsl:if> <xsl:if test="../attribute::isWorkOrder = 'false'"> <xsl:if test="./@readOnly = 'true'"> <xsl:text>border-style:none;</xsl:text> </xsl:if> <xsl:if test="./@feildNull = 'false'"> <xsl:text>border-color:red;</xsl:text> </xsl:if> </xsl:if> <xsl:if test="./@feildType = 'NUMBER'"> <xsl:text>dataType:NUMBER;</xsl:text> </xsl:if> <xsl:if test="./@feildType = 'VARCHAR2' or ./@feildType != 'VARCHAR'"> <xsl:text>dataType:STRING;</xsl:text> </xsl:if> <!-- 时间下拉框样式 属性 --> <xsl:if test="./@feildType = 'TIMESTAMP'"> <xsl:text>dataType:TIMESTAMP;</xsl:text> </xsl:if> <xsl:if test="./@feildType = 'DATE'"> <xsl:text>dataType:DATE;</xsl:text> </xsl:if> </xsl:attribute> <!-- readonly 属性 --> <xsl:if test="../attribute::isWorkOrder = 'true'"> <xsl:if test="./@feildRight = ''"> <xsl:attribute name="readonly">true</xsl:attribute> </xsl:if> </xsl:if> <xsl:if test="../attribute::isWorkOrder = 'false'"> <xsl:if test="./@readOnly = 'true'"> <xsl:attribute name="readonly">true</xsl:attribute> </xsl:if> </xsl:if> <!-- value 属性 --> <xsl:attribute name="value"><xsl:value-of select="./@feildValue"/></xsl:attribute> </input> </xsl:if> <!-- textarea --> <xsl:if test="./@feildLen1 >= 100"> <textarea rows="3" cols="28"> <!-- id 属性 --> <xsl:attribute name="id"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- name 属性 --> <xsl:attribute name="name"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- text --> <xsl:value-of select="./@feildValue"/> </textarea> </xsl:if> </xsl:otherwise> </xsl:choose> </td> </xsl:if> <!-- 字段 CUSTOMER_NAME--> <xsl:if test="./@feildName='CUSTOMER_NAME'"> <td width="18%"> <xsl:attribute name="align"><xsl:value-of select="./@align"/></xsl:attribute> <!-- 判断是否隐藏此列 --> <xsl:attribute name="style"> <xsl:if test="./@visible='false'">display:none;</xsl:if> </xsl:attribute> <xsl:value-of select="./@feildTitle"/> <xsl:if test="./@feildKey='true'"> <span style="color:#E58A22;font-weight:bold;font-size:15px;">(PK)</span> </xsl:if> <xsl:if test="./@visible='false'"> <xsl:attribute name="style"> <xsl:text>display:none;</xsl:text> </xsl:attribute> </xsl:if> </td> <td colspan="2" width="32%"> <xsl:choose> <xsl:when test="./child::*"> <!-- select --> <xsl:if test="./feildDef/options/option"> <select> <!-- id 属性 --> <xsl:attribute name="id"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- name 属性 --> <xsl:attribute name="name"><xsl:value-of select="./@feildName"/></xsl:attribute> <xsl:for-each select="./feildDef/options/option"> <option> <xsl:value-of select="./@value"/> </option> </xsl:for-each> </select> </xsl:if> </xsl:when> <xsl:otherwise> <!-- input --> <xsl:if test="./@feildLen1 < 100"> <input width="100%"> <!-- id 属性 --> <xsl:attribute name="id"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- name 属性 --> <xsl:attribute name="name"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- type 属性 --> <xsl:attribute name="type">text</xsl:attribute> <!-- maxLength 属性 --> <xsl:attribute name="maxLength"><xsl:if test="./@feildLen2 = ''"><xsl:value-of select="./@feildLen1"/></xsl:if></xsl:attribute> <!-- 时间下拉框样式 属性 --> <xsl:if test="./@feildType = 'TIMESTAMP'"> <xsl:attribute name="onfocus">WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})</xsl:attribute> <xsl:attribute name="class">Wdate</xsl:attribute> </xsl:if> <xsl:if test="./@feildType = 'DATE'"> <xsl:attribute name="onfocus">WdatePicker({dateFmt:'yyyy-MM-dd'})</xsl:attribute> <xsl:attribute name="class">Wdate</xsl:attribute> </xsl:if> <!-- style 属性 --> <xsl:attribute name="style"> <xsl:if test="./@when != ''">when:<xsl:value-of select="./@when"></xsl:value-of>;</xsl:if> <xsl:if test="./@rule != ''">rule:<xsl:value-of select="./@rule"></xsl:value-of>;</xsl:if> <xsl:if test="./@feildKey='true'">pk:true;</xsl:if> <xsl:if test="./@feildLen2 != ''"> length:<xsl:value-of select="./@feildLen1"/>-<xsl:value-of select="./@feildLen2"/>; </xsl:if> <!-- visible 属性 --> <xsl:if test="./@visible = 'false'"> <xsl:text>display:none;</xsl:text> </xsl:if> <!-- 是否是工单 --> <xsl:if test="../attribute::isWorkOrder = 'true'"> <xsl:if test="./@feildRight = ''"> <xsl:text>border-style:none;</xsl:text> </xsl:if> <xsl:if test="./@feildRight = 'R'"> <xsl:text>border-color:red;</xsl:text> </xsl:if> </xsl:if> <xsl:if test="../attribute::isWorkOrder = 'false'"> <xsl:if test="./@readOnly = 'true'"> <xsl:text>border-style:none;</xsl:text> </xsl:if> <xsl:if test="./@feildNull = 'false'"> <xsl:text>border-color:red;</xsl:text> </xsl:if> </xsl:if> <xsl:if test="./@feildType = 'NUMBER'"> <xsl:text>dataType:NUMBER;</xsl:text> </xsl:if> <xsl:if test="./@feildType = 'VARCHAR2' or ./@feildType != 'VARCHAR'"> <xsl:text>dataType:STRING;</xsl:text> </xsl:if> <!-- 时间下拉框样式 属性 --> <xsl:if test="./@feildType = 'TIMESTAMP'"> <xsl:text>dataType:TIMESTAMP;</xsl:text> </xsl:if> <xsl:if test="./@feildType = 'DATE'"> <xsl:text>dataType:DATE;</xsl:text> </xsl:if> </xsl:attribute> <!-- readonly 属性 --> <xsl:if test="../attribute::isWorkOrder = 'true'"> <xsl:if test="./@feildRight = ''"> <xsl:attribute name="readonly">true</xsl:attribute> </xsl:if> </xsl:if> <xsl:if test="../attribute::isWorkOrder = 'false'"> <xsl:if test="./@readOnly = 'true'"> <xsl:attribute name="readonly">true</xsl:attribute> </xsl:if> </xsl:if> <!-- value 属性 --> <xsl:attribute name="value"><xsl:value-of select="./@feildValue"/></xsl:attribute> </input> </xsl:if> <!-- textarea --> <xsl:if test="./@feildLen1 >= 100"> <textarea rows="3" cols="28"> <!-- id 属性 --> <xsl:attribute name="id"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- name 属性 --> <xsl:attribute name="name"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- text --> <xsl:value-of select="./@feildValue"/> </textarea> </xsl:if> </xsl:otherwise> </xsl:choose> </td> </xsl:if> </xsl:for-each> </tr> <tr> <xsl:for-each select="columns/column"> <!-- 字段 START_DATE --> <xsl:if test="./@feildName='START_DATE'"> <td> <xsl:attribute name="align"><xsl:value-of select="./@align"/></xsl:attribute> <!-- 判断是否隐藏此列 --> <xsl:attribute name="style"> <xsl:if test="./@visible='false'">display:none;</xsl:if> </xsl:attribute> <xsl:value-of select="./@feildTitle"/> <xsl:if test="./@feildKey='true'"> <span style="color:#E58A22;font-weight:bold;font-size:15px;">(PK)</span> </xsl:if> <xsl:if test="./@visible='false'"> <xsl:attribute name="style"> <xsl:text>display:none;</xsl:text> </xsl:attribute> </xsl:if> </td> <td colspan="2"> <xsl:choose> <xsl:when test="./child::*"> <!-- select --> <xsl:if test="./feildDef/options/option"> <select> <!-- id 属性 --> <xsl:attribute name="id"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- name 属性 --> <xsl:attribute name="name"><xsl:value-of select="./@feildName"/></xsl:attribute> <xsl:for-each select="./feildDef/options/option"> <option> <xsl:value-of select="./@value"/> </option> </xsl:for-each> </select> </xsl:if> </xsl:when> <xsl:otherwise> <!-- input --> <xsl:if test="./@feildLen1 < 100"> <input width="100%"> <!-- id 属性 --> <xsl:attribute name="id"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- name 属性 --> <xsl:attribute name="name"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- type 属性 --> <xsl:attribute name="type">text</xsl:attribute> <!-- maxLength 属性 --> <xsl:attribute name="maxLength"><xsl:if test="./@feildLen2 = ''"><xsl:value-of select="./@feildLen1"/></xsl:if></xsl:attribute> <!-- 时间下拉框样式 属性 --> <xsl:if test="./@feildType = 'TIMESTAMP'"> <xsl:attribute name="onfocus">WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})</xsl:attribute> <xsl:attribute name="class">Wdate</xsl:attribute> </xsl:if> <xsl:if test="./@feildType = 'DATE'"> <xsl:attribute name="onfocus">WdatePicker({dateFmt:'yyyy-MM-dd'})</xsl:attribute> <xsl:attribute name="class">Wdate</xsl:attribute> </xsl:if> <!-- style 属性 --> <xsl:attribute name="style"> <xsl:if test="./@when != ''">when:<xsl:value-of select="./@when"></xsl:value-of>;</xsl:if> <xsl:if test="./@rule != ''">rule:<xsl:value-of select="./@rule"></xsl:value-of>;</xsl:if> <xsl:if test="./@feildKey='true'">pk:true;</xsl:if> <xsl:if test="./@feildLen2 != ''"> length:<xsl:value-of select="./@feildLen1"/>-<xsl:value-of select="./@feildLen2"/>; </xsl:if> <!-- visible 属性 --> <xsl:if test="./@visible = 'false'"> <xsl:text>display:none;</xsl:text> </xsl:if> <!-- 是否是工单 --> <xsl:if test="../attribute::isWorkOrder = 'true'"> <xsl:if test="./@feildRight = ''"> <xsl:text>border-style:none;</xsl:text> </xsl:if> <xsl:if test="./@feildRight = 'R'"> <xsl:text>border-color:red;</xsl:text> </xsl:if> </xsl:if> <xsl:if test="../attribute::isWorkOrder = 'false'"> <xsl:if test="./@readOnly = 'true'"> <xsl:text>border-style:none;</xsl:text> </xsl:if> <xsl:if test="./@feildNull = 'false'"> <xsl:text>border-color:red;</xsl:text> </xsl:if> </xsl:if> <xsl:if test="./@feildType = 'NUMBER'"> <xsl:text>dataType:NUMBER;</xsl:text> </xsl:if> <xsl:if test="./@feildType = 'VARCHAR2' or ./@feildType != 'VARCHAR'"> <xsl:text>dataType:STRING;</xsl:text> </xsl:if> <!-- 时间下拉框样式 属性 --> <xsl:if test="./@feildType = 'TIMESTAMP'"> <xsl:text>dataType:TIMESTAMP;</xsl:text> </xsl:if> <xsl:if test="./@feildType = 'DATE'"> <xsl:text>dataType:DATE;</xsl:text> </xsl:if> </xsl:attribute> <!-- readonly 属性 --> <xsl:if test="../attribute::isWorkOrder = 'true'"> <xsl:if test="./@feildRight = ''"> <xsl:attribute name="readonly">true</xsl:attribute> </xsl:if> </xsl:if> <xsl:if test="../attribute::isWorkOrder = 'false'"> <xsl:if test="./@readOnly = 'true'"> <xsl:attribute name="readonly">true</xsl:attribute> </xsl:if> </xsl:if> <!-- value 属性 --> <xsl:attribute name="value"><xsl:value-of select="./@feildValue"/></xsl:attribute> </input> </xsl:if> <!-- textarea --> <xsl:if test="./@feildLen1 >= 100"> <textarea rows="3" cols="28"> <!-- id 属性 --> <xsl:attribute name="id"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- name 属性 --> <xsl:attribute name="name"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- text --> <xsl:value-of select="./@feildValue"/> </textarea> </xsl:if> </xsl:otherwise> </xsl:choose> </td> </xsl:if> <!-- 字段 STOP_DATE --> <xsl:if test="./@feildName='STOP_DATE'"> <td> <xsl:attribute name="align"><xsl:value-of select="./@align"/></xsl:attribute> <!-- 判断是否隐藏此列 --> <xsl:attribute name="style"> <xsl:if test="./@visible='false'">display:none;</xsl:if> </xsl:attribute> <xsl:value-of select="./@feildTitle"/> <xsl:if test="./@feildKey='true'"> <span style="color:#E58A22;font-weight:bold;font-size:15px;">(PK)</span> </xsl:if> <xsl:if test="./@visible='false'"> <xsl:attribute name="style"> <xsl:text>display:none;</xsl:text> </xsl:attribute> </xsl:if> </td> <td colspan="2"> <xsl:choose> <xsl:when test="./child::*"> <!-- select --> <xsl:if test="./feildDef/options/option"> <select> <!-- id 属性 --> <xsl:attribute name="id"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- name 属性 --> <xsl:attribute name="name"><xsl:value-of select="./@feildName"/></xsl:attribute> <xsl:for-each select="./feildDef/options/option"> <option> <xsl:value-of select="./@value"/> </option> </xsl:for-each> </select> </xsl:if> </xsl:when> <xsl:otherwise> <!-- input --> <xsl:if test="./@feildLen1 < 100"> <input width="100%"> <!-- id 属性 --> <xsl:attribute name="id"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- name 属性 --> <xsl:attribute name="name"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- type 属性 --> <xsl:attribute name="type">text</xsl:attribute> <!-- maxLength 属性 --> <xsl:attribute name="maxLength"><xsl:if test="./@feildLen2 = ''"><xsl:value-of select="./@feildLen1"/></xsl:if></xsl:attribute> <!-- 时间下拉框样式 属性 --> <xsl:if test="./@feildType = 'TIMESTAMP'"> <xsl:attribute name="onfocus">WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})</xsl:attribute> <xsl:attribute name="class">Wdate</xsl:attribute> </xsl:if> <xsl:if test="./@feildType = 'DATE'"> <xsl:attribute name="onfocus">WdatePicker({dateFmt:'yyyy-MM-dd'})</xsl:attribute> <xsl:attribute name="class">Wdate</xsl:attribute> </xsl:if> <!-- style 属性 --> <xsl:attribute name="style"> <xsl:if test="./@when != ''">when:<xsl:value-of select="./@when"></xsl:value-of>;</xsl:if> <xsl:if test="./@rule != ''">rule:<xsl:value-of select="./@rule"></xsl:value-of>;</xsl:if> <xsl:if test="./@feildKey='true'">pk:true;</xsl:if> <xsl:if test="./@feildLen2 != ''"> length:<xsl:value-of select="./@feildLen1"/>-<xsl:value-of select="./@feildLen2"/>; </xsl:if> <!-- visible 属性 --> <xsl:if test="./@visible = 'false'"> <xsl:text>display:none;</xsl:text> </xsl:if> <!-- 是否是工单 --> <xsl:if test="../attribute::isWorkOrder = 'true'"> <xsl:if test="./@feildRight = ''"> <xsl:text>border-style:none;</xsl:text> </xsl:if> <xsl:if test="./@feildRight = 'R'"> <xsl:text>border-color:red;</xsl:text> </xsl:if> </xsl:if> <xsl:if test="../attribute::isWorkOrder = 'false'"> <xsl:if test="./@readOnly = 'true'"> <xsl:text>border-style:none;</xsl:text> </xsl:if> <xsl:if test="./@feildNull = 'false'"> <xsl:text>border-color:red;</xsl:text> </xsl:if> </xsl:if> <xsl:if test="./@feildType = 'NUMBER'"> <xsl:text>dataType:NUMBER;</xsl:text> </xsl:if> <xsl:if test="./@feildType = 'VARCHAR2' or ./@feildType != 'VARCHAR'"> <xsl:text>dataType:STRING;</xsl:text> </xsl:if> <!-- 时间下拉框样式 属性 --> <xsl:if test="./@feildType = 'TIMESTAMP'"> <xsl:text>dataType:TIMESTAMP;</xsl:text> </xsl:if> <xsl:if test="./@feildType = 'DATE'"> <xsl:text>dataType:DATE;</xsl:text> </xsl:if> </xsl:attribute> <!-- readonly 属性 --> <xsl:if test="../attribute::isWorkOrder = 'true'"> <xsl:if test="./@feildRight = ''"> <xsl:attribute name="readonly">true</xsl:attribute> </xsl:if> </xsl:if> <xsl:if test="../attribute::isWorkOrder = 'false'"> <xsl:if test="./@readOnly = 'true'"> <xsl:attribute name="readonly">true</xsl:attribute> </xsl:if> </xsl:if> <!-- value 属性 --> <xsl:attribute name="value"><xsl:value-of select="./@feildValue"/></xsl:attribute> </input> </xsl:if> <!-- textarea --> <xsl:if test="./@feildLen1 >= 100"> <textarea rows="3" cols="28"> <!-- id 属性 --> <xsl:attribute name="id"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- name 属性 --> <xsl:attribute name="name"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- text --> <xsl:value-of select="./@feildValue"/> </textarea> </xsl:if> </xsl:otherwise> </xsl:choose> </td> </xsl:if> </xsl:for-each> </tr> <tr> <xsl:for-each select="columns/column"> <!-- 字段 X --> <xsl:if test="./@feildName='X'"> <td> <xsl:attribute name="align"><xsl:value-of select="./@align"/></xsl:attribute> <!-- 判断是否隐藏此列 --> <xsl:attribute name="style"> <xsl:if test="./@visible='false'">display:none;</xsl:if> </xsl:attribute> <xsl:value-of select="./@feildTitle"/> <xsl:if test="./@feildKey='true'"> <span style="color:#E58A22;font-weight:bold;font-size:15px;">(PK)</span> </xsl:if> <xsl:if test="./@visible='false'"> <xsl:attribute name="style"> <xsl:text>display:none;</xsl:text> </xsl:attribute> </xsl:if> </td> <td colspan="2"> <xsl:choose> <xsl:when test="./child::*"> <!-- select --> <xsl:if test="./feildDef/options/option"> <select> <!-- id 属性 --> <xsl:attribute name="id"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- name 属性 --> <xsl:attribute name="name"><xsl:value-of select="./@feildName"/></xsl:attribute> <xsl:for-each select="./feildDef/options/option"> <option> <xsl:value-of select="./@value"/> </option> </xsl:for-each> </select> </xsl:if> </xsl:when> <xsl:otherwise> <!-- input --> <xsl:if test="./@feildLen1 < 100"> <input width="100%"> <!-- id 属性 --> <xsl:attribute name="id"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- name 属性 --> <xsl:attribute name="name"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- type 属性 --> <xsl:attribute name="type">text</xsl:attribute> <!-- maxLength 属性 --> <xsl:attribute name="maxLength"><xsl:if test="./@feildLen2 = ''"><xsl:value-of select="./@feildLen1"/></xsl:if></xsl:attribute> <!-- 时间下拉框样式 属性 --> <xsl:if test="./@feildType = 'TIMESTAMP'"> <xsl:attribute name="onfocus">WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})</xsl:attribute> <xsl:attribute name="class">Wdate</xsl:attribute> </xsl:if> <xsl:if test="./@feildType = 'DATE'"> <xsl:attribute name="onfocus">WdatePicker({dateFmt:'yyyy-MM-dd'})</xsl:attribute> <xsl:attribute name="class">Wdate</xsl:attribute> </xsl:if> <!-- style 属性 --> <xsl:attribute name="style"> <xsl:if test="./@when != ''">when:<xsl:value-of select="./@when"></xsl:value-of>;</xsl:if> <xsl:if test="./@rule != ''">rule:<xsl:value-of select="./@rule"></xsl:value-of>;</xsl:if> <xsl:if test="./@feildKey='true'">pk:true;</xsl:if> <xsl:if test="./@feildLen2 != ''"> length:<xsl:value-of select="./@feildLen1"/>-<xsl:value-of select="./@feildLen2"/>; </xsl:if> <!-- visible 属性 --> <xsl:if test="./@visible = 'false'"> <xsl:text>display:none;</xsl:text> </xsl:if> <!-- 是否是工单 --> <xsl:if test="../attribute::isWorkOrder = 'true'"> <xsl:if test="./@feildRight = ''"> <xsl:text>border-style:none;</xsl:text> </xsl:if> <xsl:if test="./@feildRight = 'R'"> <xsl:text>border-color:red;</xsl:text> </xsl:if> </xsl:if> <xsl:if test="../attribute::isWorkOrder = 'false'"> <xsl:if test="./@readOnly = 'true'"> <xsl:text>border-style:none;</xsl:text> </xsl:if> <xsl:if test="./@feildNull = 'false'"> <xsl:text>border-color:red;</xsl:text> </xsl:if> </xsl:if> <xsl:if test="./@feildType = 'NUMBER'"> <xsl:text>dataType:NUMBER;</xsl:text> </xsl:if> <xsl:if test="./@feildType = 'VARCHAR2' or ./@feildType != 'VARCHAR'"> <xsl:text>dataType:STRING;</xsl:text> </xsl:if> <!-- 时间下拉框样式 属性 --> <xsl:if test="./@feildType = 'TIMESTAMP'"> <xsl:text>dataType:TIMESTAMP;</xsl:text> </xsl:if> <xsl:if test="./@feildType = 'DATE'"> <xsl:text>dataType:DATE;</xsl:text> </xsl:if> </xsl:attribute> <!-- readonly 属性 --> <xsl:if test="../attribute::isWorkOrder = 'true'"> <xsl:if test="./@feildRight = ''"> <xsl:attribute name="readonly">true</xsl:attribute> </xsl:if> </xsl:if> <xsl:if test="../attribute::isWorkOrder = 'false'"> <xsl:if test="./@readOnly = 'true'"> <xsl:attribute name="readonly">true</xsl:attribute> </xsl:if> </xsl:if> <!-- value 属性 --> <xsl:attribute name="value"><xsl:value-of select="./@feildValue"/></xsl:attribute> </input> </xsl:if> <!-- textarea --> <xsl:if test="./@feildLen1 >= 100"> <textarea rows="3" cols="28"> <!-- id 属性 --> <xsl:attribute name="id"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- name 属性 --> <xsl:attribute name="name"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- text --> <xsl:value-of select="./@feildValue"/> </textarea> </xsl:if> </xsl:otherwise> </xsl:choose> </td> </xsl:if> <!-- 字段 Y --> <xsl:if test="./@feildName='Y'"> <td> <xsl:attribute name="align"><xsl:value-of select="./@align"/></xsl:attribute> <!-- 判断是否隐藏此列 --> <xsl:attribute name="style"> <xsl:if test="./@visible='false'">display:none;</xsl:if> </xsl:attribute> <xsl:value-of select="./@feildTitle"/> <xsl:if test="./@feildKey='true'"> <span style="color:#E58A22;font-weight:bold;font-size:15px;">(PK)</span> </xsl:if> <xsl:if test="./@visible='false'"> <xsl:attribute name="style"> <xsl:text>display:none;</xsl:text> </xsl:attribute> </xsl:if> </td> <td colspan="2"> <xsl:choose> <xsl:when test="./child::*"> <!-- select --> <xsl:if test="./feildDef/options/option"> <select> <!-- id 属性 --> <xsl:attribute name="id"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- name 属性 --> <xsl:attribute name="name"><xsl:value-of select="./@feildName"/></xsl:attribute> <xsl:for-each select="./feildDef/options/option"> <option> <xsl:value-of select="./@value"/> </option> </xsl:for-each> </select> </xsl:if> </xsl:when> <xsl:otherwise> <!-- input --> <xsl:if test="./@feildLen1 < 100"> <input width="100%"> <!-- id 属性 --> <xsl:attribute name="id"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- name 属性 --> <xsl:attribute name="name"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- type 属性 --> <xsl:attribute name="type">text</xsl:attribute> <!-- maxLength 属性 --> <xsl:attribute name="maxLength"><xsl:if test="./@feildLen2 = ''"><xsl:value-of select="./@feildLen1"/></xsl:if></xsl:attribute> <!-- 时间下拉框样式 属性 --> <xsl:if test="./@feildType = 'TIMESTAMP'"> <xsl:attribute name="onfocus">WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})</xsl:attribute> <xsl:attribute name="class">Wdate</xsl:attribute> </xsl:if> <xsl:if test="./@feildType = 'DATE'"> <xsl:attribute name="onfocus">WdatePicker({dateFmt:'yyyy-MM-dd'})</xsl:attribute> <xsl:attribute name="class">Wdate</xsl:attribute> </xsl:if> <!-- style 属性 --> <xsl:attribute name="style"> <xsl:if test="./@when != ''">when:<xsl:value-of select="./@when"></xsl:value-of>;</xsl:if> <xsl:if test="./@rule != ''">rule:<xsl:value-of select="./@rule"></xsl:value-of>;</xsl:if> <xsl:if test="./@feildKey='true'">pk:true;</xsl:if> <xsl:if test="./@feildLen2 != ''"> length:<xsl:value-of select="./@feildLen1"/>-<xsl:value-of select="./@feildLen2"/>; </xsl:if> <!-- visible 属性 --> <xsl:if test="./@visible = 'false'"> <xsl:text>display:none;</xsl:text> </xsl:if> <!-- 是否是工单 --> <xsl:if test="../attribute::isWorkOrder = 'true'"> <xsl:if test="./@feildRight = ''"> <xsl:text>border-style:none;</xsl:text> </xsl:if> <xsl:if test="./@feildRight = 'R'"> <xsl:text>border-color:red;</xsl:text> </xsl:if> </xsl:if> <xsl:if test="../attribute::isWorkOrder = 'false'"> <xsl:if test="./@readOnly = 'true'"> <xsl:text>border-style:none;</xsl:text> </xsl:if> <xsl:if test="./@feildNull = 'false'"> <xsl:text>border-color:red;</xsl:text> </xsl:if> </xsl:if> <xsl:if test="./@feildType = 'NUMBER'"> <xsl:text>dataType:NUMBER;</xsl:text> </xsl:if> <xsl:if test="./@feildType = 'VARCHAR2' or ./@feildType != 'VARCHAR'"> <xsl:text>dataType:STRING;</xsl:text> </xsl:if> <!-- 时间下拉框样式 属性 --> <xsl:if test="./@feildType = 'TIMESTAMP'"> <xsl:text>dataType:TIMESTAMP;</xsl:text> </xsl:if> <xsl:if test="./@feildType = 'DATE'"> <xsl:text>dataType:DATE;</xsl:text> </xsl:if> </xsl:attribute> <!-- readonly 属性 --> <xsl:if test="../attribute::isWorkOrder = 'true'"> <xsl:if test="./@feildRight = ''"> <xsl:attribute name="readonly">true</xsl:attribute> </xsl:if> </xsl:if> <xsl:if test="../attribute::isWorkOrder = 'false'"> <xsl:if test="./@readOnly = 'true'"> <xsl:attribute name="readonly">true</xsl:attribute> </xsl:if> </xsl:if> <!-- value 属性 --> <xsl:attribute name="value"><xsl:value-of select="./@feildValue"/></xsl:attribute> </input> </xsl:if> <!-- textarea --> <xsl:if test="./@feildLen1 >= 100"> <textarea rows="3" cols="28"> <!-- id 属性 --> <xsl:attribute name="id"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- name 属性 --> <xsl:attribute name="name"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- text --> <xsl:value-of select="./@feildValue"/> </textarea> </xsl:if> </xsl:otherwise> </xsl:choose> </td> </xsl:if> </xsl:for-each> </tr> <tr> <xsl:for-each select="columns/column"> <!-- 字段 USER_NAME --> <xsl:if test="./@feildName='USER_NAME'"> <td> <xsl:attribute name="align"><xsl:value-of select="./@align"/></xsl:attribute> <!-- 判断是否隐藏此列 --> <xsl:attribute name="style"> <xsl:if test="./@visible='false'">display:none;</xsl:if> </xsl:attribute> <xsl:value-of select="./@feildTitle"/> <xsl:if test="./@feildKey='true'"> <span style="color:#E58A22;font-weight:bold;font-size:15px;">(PK)</span> </xsl:if> <xsl:if test="./@visible='false'"> <xsl:attribute name="style"> <xsl:text>display:none;</xsl:text> </xsl:attribute> </xsl:if> </td> <td colspan="2"> <xsl:choose> <xsl:when test="./child::*"> <!-- select --> <xsl:if test="./feildDef/options/option"> <select> <!-- id 属性 --> <xsl:attribute name="id"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- name 属性 --> <xsl:attribute name="name"><xsl:value-of select="./@feildName"/></xsl:attribute> <xsl:for-each select="./feildDef/options/option"> <option> <xsl:value-of select="./@value"/> </option> </xsl:for-each> </select> </xsl:if> </xsl:when> <xsl:otherwise> <!-- input --> <xsl:if test="./@feildLen1 < 100"> <input width="100%"> <!-- id 属性 --> <xsl:attribute name="id"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- name 属性 --> <xsl:attribute name="name"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- type 属性 --> <xsl:attribute name="type">text</xsl:attribute> <!-- maxLength 属性 --> <xsl:attribute name="maxLength"><xsl:if test="./@feildLen2 = ''"><xsl:value-of select="./@feildLen1"/></xsl:if></xsl:attribute> <!-- 时间下拉框样式 属性 --> <xsl:if test="./@feildType = 'TIMESTAMP'"> <xsl:attribute name="onfocus">WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})</xsl:attribute> <xsl:attribute name="class">Wdate</xsl:attribute> </xsl:if> <xsl:if test="./@feildType = 'DATE'"> <xsl:attribute name="onfocus">WdatePicker({dateFmt:'yyyy-MM-dd'})</xsl:attribute> <xsl:attribute name="class">Wdate</xsl:attribute> </xsl:if> <!-- style 属性 --> <xsl:attribute name="style"> <xsl:if test="./@when != ''">when:<xsl:value-of select="./@when"></xsl:value-of>;</xsl:if> <xsl:if test="./@rule != ''">rule:<xsl:value-of select="./@rule"></xsl:value-of>;</xsl:if> <xsl:if test="./@feildKey='true'">pk:true;</xsl:if> <xsl:if test="./@feildLen2 != ''"> length:<xsl:value-of select="./@feildLen1"/>-<xsl:value-of select="./@feildLen2"/>; </xsl:if> <!-- visible 属性 --> <xsl:if test="./@visible = 'false'"> <xsl:text>display:none;</xsl:text> </xsl:if> <!-- 是否是工单 --> <xsl:if test="../attribute::isWorkOrder = 'true'"> <xsl:if test="./@feildRight = ''"> <xsl:text>border-style:none;</xsl:text> </xsl:if> <xsl:if test="./@feildRight = 'R'"> <xsl:text>border-color:red;</xsl:text> </xsl:if> </xsl:if> <xsl:if test="../attribute::isWorkOrder = 'false'"> <xsl:if test="./@readOnly = 'true'"> <xsl:text>border-style:none;</xsl:text> </xsl:if> <xsl:if test="./@feildNull = 'false'"> <xsl:text>border-color:red;</xsl:text> </xsl:if> </xsl:if> <xsl:if test="./@feildType = 'NUMBER'"> <xsl:text>dataType:NUMBER;</xsl:text> </xsl:if> <xsl:if test="./@feildType = 'VARCHAR2' or ./@feildType != 'VARCHAR'"> <xsl:text>dataType:STRING;</xsl:text> </xsl:if> <!-- 时间下拉框样式 属性 --> <xsl:if test="./@feildType = 'TIMESTAMP'"> <xsl:text>dataType:TIMESTAMP;</xsl:text> </xsl:if> <xsl:if test="./@feildType = 'DATE'"> <xsl:text>dataType:DATE;</xsl:text> </xsl:if> </xsl:attribute> <!-- readonly 属性 --> <xsl:if test="../attribute::isWorkOrder = 'true'"> <xsl:if test="./@feildRight = ''"> <xsl:attribute name="readonly">true</xsl:attribute> </xsl:if> </xsl:if> <xsl:if test="../attribute::isWorkOrder = 'false'"> <xsl:if test="./@readOnly = 'true'"> <xsl:attribute name="readonly">true</xsl:attribute> </xsl:if> </xsl:if> <!-- value 属性 --> <xsl:attribute name="value"><xsl:value-of select="./@feildValue"/></xsl:attribute> </input> </xsl:if> <!-- textarea --> <xsl:if test="./@feildLen1 >= 100"> <textarea rows="3" cols="28"> <!-- id 属性 --> <xsl:attribute name="id"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- name 属性 --> <xsl:attribute name="name"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- text --> <xsl:value-of select="./@feildValue"/> </textarea> </xsl:if> </xsl:otherwise> </xsl:choose> </td> </xsl:if> <!-- 字段 USER_TITLE --> <xsl:if test="./@feildName='USER_TITLE'"> <td> <xsl:attribute name="align"><xsl:value-of select="./@align"/></xsl:attribute> <!-- 判断是否隐藏此列 --> <xsl:attribute name="style"> <xsl:if test="./@visible='false'">display:none;</xsl:if> </xsl:attribute> <xsl:value-of select="./@feildTitle"/> <xsl:if test="./@feildKey='true'"> <span style="color:#E58A22;font-weight:bold;font-size:15px;">(PK)</span> </xsl:if> <xsl:if test="./@visible='false'"> <xsl:attribute name="style"> <xsl:text>display:none;</xsl:text> </xsl:attribute> </xsl:if> </td> <td colspan="2"> <xsl:choose> <xsl:when test="./child::*"> <!-- select --> <xsl:if test="./feildDef/options/option"> <select> <!-- id 属性 --> <xsl:attribute name="id"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- name 属性 --> <xsl:attribute name="name"><xsl:value-of select="./@feildName"/></xsl:attribute> <xsl:for-each select="./feildDef/options/option"> <option> <xsl:value-of select="./@value"/> </option> </xsl:for-each> </select> </xsl:if> </xsl:when> <xsl:otherwise> <!-- input --> <xsl:if test="./@feildLen1 < 100"> <input width="100%"> <!-- id 属性 --> <xsl:attribute name="id"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- name 属性 --> <xsl:attribute name="name"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- type 属性 --> <xsl:attribute name="type">text</xsl:attribute> <!-- maxLength 属性 --> <xsl:attribute name="maxLength"><xsl:if test="./@feildLen2 = ''"><xsl:value-of select="./@feildLen1"/></xsl:if></xsl:attribute> <!-- 时间下拉框样式 属性 --> <xsl:if test="./@feildType = 'TIMESTAMP'"> <xsl:attribute name="onfocus">WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})</xsl:attribute> <xsl:attribute name="class">Wdate</xsl:attribute> </xsl:if> <xsl:if test="./@feildType = 'DATE'"> <xsl:attribute name="onfocus">WdatePicker({dateFmt:'yyyy-MM-dd'})</xsl:attribute> <xsl:attribute name="class">Wdate</xsl:attribute> </xsl:if> <!-- style 属性 --> <xsl:attribute name="style"> <xsl:if test="./@when != ''">when:<xsl:value-of select="./@when"></xsl:value-of>;</xsl:if> <xsl:if test="./@rule != ''">rule:<xsl:value-of select="./@rule"></xsl:value-of>;</xsl:if> <xsl:if test="./@feildKey='true'">pk:true;</xsl:if> <xsl:if test="./@feildLen2 != ''"> length:<xsl:value-of select="./@feildLen1"/>-<xsl:value-of select="./@feildLen2"/>; </xsl:if> <!-- visible 属性 --> <xsl:if test="./@visible = 'false'"> <xsl:text>display:none;</xsl:text> </xsl:if> <!-- 是否是工单 --> <xsl:if test="../attribute::isWorkOrder = 'true'"> <xsl:if test="./@feildRight = ''"> <xsl:text>border-style:none;</xsl:text> </xsl:if> <xsl:if test="./@feildRight = 'R'"> <xsl:text>border-color:red;</xsl:text> </xsl:if> </xsl:if> <xsl:if test="../attribute::isWorkOrder = 'false'"> <xsl:if test="./@readOnly = 'true'"> <xsl:text>border-style:none;</xsl:text> </xsl:if> <xsl:if test="./@feildNull = 'false'"> <xsl:text>border-color:red;</xsl:text> </xsl:if> </xsl:if> <xsl:if test="./@feildType = 'NUMBER'"> <xsl:text>dataType:NUMBER;</xsl:text> </xsl:if> <xsl:if test="./@feildType = 'VARCHAR2' or ./@feildType != 'VARCHAR'"> <xsl:text>dataType:STRING;</xsl:text> </xsl:if> <!-- 时间下拉框样式 属性 --> <xsl:if test="./@feildType = 'TIMESTAMP'"> <xsl:text>dataType:TIMESTAMP;</xsl:text> </xsl:if> <xsl:if test="./@feildType = 'DATE'"> <xsl:text>dataType:DATE;</xsl:text> </xsl:if> </xsl:attribute> <!-- readonly 属性 --> <xsl:if test="../attribute::isWorkOrder = 'true'"> <xsl:if test="./@feildRight = ''"> <xsl:attribute name="readonly">true</xsl:attribute> </xsl:if> </xsl:if> <xsl:if test="../attribute::isWorkOrder = 'false'"> <xsl:if test="./@readOnly = 'true'"> <xsl:attribute name="readonly">true</xsl:attribute> </xsl:if> </xsl:if> <!-- value 属性 --> <xsl:attribute name="value"><xsl:value-of select="./@feildValue"/></xsl:attribute> </input> </xsl:if> <!-- textarea --> <xsl:if test="./@feildLen1 >= 100"> <textarea rows="3" cols="28"> <!-- id 属性 --> <xsl:attribute name="id"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- name 属性 --> <xsl:attribute name="name"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- text --> <xsl:value-of select="./@feildValue"/> </textarea> </xsl:if> </xsl:otherwise> </xsl:choose> </td> </xsl:if> </xsl:for-each> </tr> <tr> <xsl:for-each select="columns/column"> <!-- 字段 DEPT_ID --> <xsl:if test="./@feildName='DEPT_ID'"> <td> <xsl:attribute name="align"><xsl:value-of select="./@align"/></xsl:attribute> <!-- 判断是否隐藏此列 --> <xsl:attribute name="style"> <xsl:if test="./@visible='false'">display:none;</xsl:if> </xsl:attribute> <xsl:value-of select="./@feildTitle"/> <xsl:if test="./@feildKey='true'"> <span style="color:#E58A22;font-weight:bold;font-size:15px;">(PK)</span> </xsl:if> <xsl:if test="./@visible='false'"> <xsl:attribute name="style"> <xsl:text>display:none;</xsl:text> </xsl:attribute> </xsl:if> </td> <td colspan="2"> <xsl:choose> <xsl:when test="./child::*"> <!-- select --> <xsl:if test="./feildDef/options/option"> <select> <!-- id 属性 --> <xsl:attribute name="id"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- name 属性 --> <xsl:attribute name="name"><xsl:value-of select="./@feildName"/></xsl:attribute> <xsl:for-each select="./feildDef/options/option"> <option> <xsl:value-of select="./@value"/> </option> </xsl:for-each> </select> </xsl:if> </xsl:when> <xsl:otherwise> <!-- input --> <xsl:if test="./@feildLen1 < 100"> <input width="100%"> <!-- id 属性 --> <xsl:attribute name="id"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- name 属性 --> <xsl:attribute name="name"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- type 属性 --> <xsl:attribute name="type">text</xsl:attribute> <!-- maxLength 属性 --> <xsl:attribute name="maxLength"><xsl:if test="./@feildLen2 = ''"><xsl:value-of select="./@feildLen1"/></xsl:if></xsl:attribute> <!-- 时间下拉框样式 属性 --> <xsl:if test="./@feildType = 'TIMESTAMP'"> <xsl:attribute name="onfocus">WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})</xsl:attribute> <xsl:attribute name="class">Wdate</xsl:attribute> </xsl:if> <xsl:if test="./@feildType = 'DATE'"> <xsl:attribute name="onfocus">WdatePicker({dateFmt:'yyyy-MM-dd'})</xsl:attribute> <xsl:attribute name="class">Wdate</xsl:attribute> </xsl:if> <!-- style 属性 --> <xsl:attribute name="style"> <xsl:if test="./@when != ''">when:<xsl:value-of select="./@when"></xsl:value-of>;</xsl:if> <xsl:if test="./@rule != ''">rule:<xsl:value-of select="./@rule"></xsl:value-of>;</xsl:if> <xsl:if test="./@feildKey='true'">pk:true;</xsl:if> <xsl:if test="./@feildLen2 != ''"> length:<xsl:value-of select="./@feildLen1"/>-<xsl:value-of select="./@feildLen2"/>; </xsl:if> <!-- visible 属性 --> <xsl:if test="./@visible = 'false'"> <xsl:text>display:none;</xsl:text> </xsl:if> <!-- 是否是工单 --> <xsl:if test="../attribute::isWorkOrder = 'true'"> <xsl:if test="./@feildRight = ''"> <xsl:text>border-style:none;</xsl:text> </xsl:if> <xsl:if test="./@feildRight = 'R'"> <xsl:text>border-color:red;</xsl:text> </xsl:if> </xsl:if> <xsl:if test="../attribute::isWorkOrder = 'false'"> <xsl:if test="./@readOnly = 'true'"> <xsl:text>border-style:none;</xsl:text> </xsl:if> <xsl:if test="./@feildNull = 'false'"> <xsl:text>border-color:red;</xsl:text> </xsl:if> </xsl:if> <xsl:if test="./@feildType = 'NUMBER'"> <xsl:text>dataType:NUMBER;</xsl:text> </xsl:if> <xsl:if test="./@feildType = 'VARCHAR2' or ./@feildType != 'VARCHAR'"> <xsl:text>dataType:STRING;</xsl:text> </xsl:if> <!-- 时间下拉框样式 属性 --> <xsl:if test="./@feildType = 'TIMESTAMP'"> <xsl:text>dataType:TIMESTAMP;</xsl:text> </xsl:if> <xsl:if test="./@feildType = 'DATE'"> <xsl:text>dataType:DATE;</xsl:text> </xsl:if> </xsl:attribute> <!-- readonly 属性 --> <xsl:if test="../attribute::isWorkOrder = 'true'"> <xsl:if test="./@feildRight = ''"> <xsl:attribute name="readonly">true</xsl:attribute> </xsl:if> </xsl:if> <xsl:if test="../attribute::isWorkOrder = 'false'"> <xsl:if test="./@readOnly = 'true'"> <xsl:attribute name="readonly">true</xsl:attribute> </xsl:if> </xsl:if> <!-- value 属性 --> <xsl:attribute name="value"><xsl:value-of select="./@feildValue"/></xsl:attribute> </input> </xsl:if> <!-- textarea --> <xsl:if test="./@feildLen1 >= 100"> <textarea rows="3" cols="28"> <!-- id 属性 --> <xsl:attribute name="id"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- name 属性 --> <xsl:attribute name="name"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- text --> <xsl:value-of select="./@feildValue"/> </textarea> </xsl:if> </xsl:otherwise> </xsl:choose> </td> </xsl:if> <!-- 字段 DEPT_NAME --> <xsl:if test="./@feildName='DEPT_NAME'"> <td> <xsl:attribute name="align"><xsl:value-of select="./@align"/></xsl:attribute> <!-- 判断是否隐藏此列 --> <xsl:attribute name="style"> <xsl:if test="./@visible='false'">display:none;</xsl:if> </xsl:attribute> <xsl:value-of select="./@feildTitle"/> <xsl:if test="./@feildKey='true'"> <span style="color:#E58A22;font-weight:bold;font-size:15px;">(PK)</span> </xsl:if> <xsl:if test="./@visible='false'"> <xsl:attribute name="style"> <xsl:text>display:none;</xsl:text> </xsl:attribute> </xsl:if> </td> <td colspan="2"> <xsl:choose> <xsl:when test="./child::*"> <!-- select --> <xsl:if test="./feildDef/options/option"> <select> <!-- id 属性 --> <xsl:attribute name="id"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- name 属性 --> <xsl:attribute name="name"><xsl:value-of select="./@feildName"/></xsl:attribute> <xsl:for-each select="./feildDef/options/option"> <option> <xsl:value-of select="./@value"/> </option> </xsl:for-each> </select> </xsl:if> </xsl:when> <xsl:otherwise> <!-- input --> <xsl:if test="./@feildLen1 < 100"> <input width="100%"> <!-- id 属性 --> <xsl:attribute name="id"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- name 属性 --> <xsl:attribute name="name"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- type 属性 --> <xsl:attribute name="type">text</xsl:attribute> <!-- maxLength 属性 --> <xsl:attribute name="maxLength"><xsl:if test="./@feildLen2 = ''"><xsl:value-of select="./@feildLen1"/></xsl:if></xsl:attribute> <!-- 时间下拉框样式 属性 --> <xsl:if test="./@feildType = 'TIMESTAMP'"> <xsl:attribute name="onfocus">WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})</xsl:attribute> <xsl:attribute name="class">Wdate</xsl:attribute> </xsl:if> <xsl:if test="./@feildType = 'DATE'"> <xsl:attribute name="onfocus">WdatePicker({dateFmt:'yyyy-MM-dd'})</xsl:attribute> <xsl:attribute name="class">Wdate</xsl:attribute> </xsl:if> <!-- style 属性 --> <xsl:attribute name="style"> <xsl:if test="./@when != ''">when:<xsl:value-of select="./@when"></xsl:value-of>;</xsl:if> <xsl:if test="./@rule != ''">rule:<xsl:value-of select="./@rule"></xsl:value-of>;</xsl:if> <xsl:if test="./@feildKey='true'">pk:true;</xsl:if> <xsl:if test="./@feildLen2 != ''"> length:<xsl:value-of select="./@feildLen1"/>-<xsl:value-of select="./@feildLen2"/>; </xsl:if> <!-- visible 属性 --> <xsl:if test="./@visible = 'false'"> <xsl:text>display:none;</xsl:text> </xsl:if> <!-- 是否是工单 --> <xsl:if test="../attribute::isWorkOrder = 'true'"> <xsl:if test="./@feildRight = ''"> <xsl:text>border-style:none;</xsl:text> </xsl:if> <xsl:if test="./@feildRight = 'R'"> <xsl:text>border-color:red;</xsl:text> </xsl:if> </xsl:if> <xsl:if test="../attribute::isWorkOrder = 'false'"> <xsl:if test="./@readOnly = 'true'"> <xsl:text>border-style:none;</xsl:text> </xsl:if> <xsl:if test="./@feildNull = 'false'"> <xsl:text>border-color:red;</xsl:text> </xsl:if> </xsl:if> <xsl:if test="./@feildType = 'NUMBER'"> <xsl:text>dataType:NUMBER;</xsl:text> </xsl:if> <xsl:if test="./@feildType = 'VARCHAR2' or ./@feildType != 'VARCHAR'"> <xsl:text>dataType:STRING;</xsl:text> </xsl:if> <!-- 时间下拉框样式 属性 --> <xsl:if test="./@feildType = 'TIMESTAMP'"> <xsl:text>dataType:TIMESTAMP;</xsl:text> </xsl:if> <xsl:if test="./@feildType = 'DATE'"> <xsl:text>dataType:DATE;</xsl:text> </xsl:if> </xsl:attribute> <!-- readonly 属性 --> <xsl:if test="../attribute::isWorkOrder = 'true'"> <xsl:if test="./@feildRight = ''"> <xsl:attribute name="readonly">true</xsl:attribute> </xsl:if> </xsl:if> <xsl:if test="../attribute::isWorkOrder = 'false'"> <xsl:if test="./@readOnly = 'true'"> <xsl:attribute name="readonly">true</xsl:attribute> </xsl:if> </xsl:if> <!-- value 属性 --> <xsl:attribute name="value"><xsl:value-of select="./@feildValue"/></xsl:attribute> </input> </xsl:if> <!-- textarea --> <xsl:if test="./@feildLen1 >= 100"> <textarea rows="3" cols="28"> <!-- id 属性 --> <xsl:attribute name="id"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- name 属性 --> <xsl:attribute name="name"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- text --> <xsl:value-of select="./@feildValue"/> </textarea> </xsl:if> </xsl:otherwise> </xsl:choose> </td> </xsl:if> </xsl:for-each> </tr> <!-- DATA_GUID --> <tr> <xsl:for-each select="columns/column"> <!-- 此列只有此一个字段,所以隐藏改行;若有>1个字段,则不需隐藏此行 --> <xsl:attribute name="style"> <xsl:if test="./@visible='false'">display:none;</xsl:if> </xsl:attribute> <!-- 字段 TITLE --> <xsl:if test="./@feildName='DATA_GUID'"> <td> <xsl:attribute name="align"><xsl:value-of select="./@align"/></xsl:attribute> <!-- 判断是否隐藏此列 --> <xsl:attribute name="style"> <xsl:if test="./@visible='false'">display:none;</xsl:if> </xsl:attribute> <xsl:value-of select="./@feildTitle"/> <xsl:if test="./@feildKey='true'"> <span style="color:#E58A22;font-weight:bold;font-size:15px;">(PK)</span> </xsl:if> </td> <td colspan="2"> <xsl:choose> <xsl:when test="./child::*"> <!-- select --> <xsl:if test="./feildDef/options/option"> <select> <!-- id 属性 --> <xsl:attribute name="id"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- name 属性 --> <xsl:attribute name="name"><xsl:value-of select="./@feildName"/></xsl:attribute> <xsl:for-each select="./feildDef/options/option"> <option> <xsl:value-of select="./@value"/> </option> </xsl:for-each> </select> </xsl:if> </xsl:when> <xsl:otherwise> <!-- input --> <xsl:if test="./@feildLen1 < 100"> <input width="100%"> <!-- id 属性 --> <xsl:attribute name="id"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- name 属性 --> <xsl:attribute name="name"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- type 属性 --> <xsl:attribute name="type">text</xsl:attribute> <!-- maxLength 属性 --> <xsl:attribute name="maxLength"><xsl:if test="./@feildLen2 = ''"><xsl:value-of select="./@feildLen1"/></xsl:if></xsl:attribute> <!-- 时间下拉框样式 属性 --> <xsl:if test="./@feildType = 'TIMESTAMP'"> <xsl:attribute name="onfocus">WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})</xsl:attribute> <xsl:attribute name="class">Wdate</xsl:attribute> </xsl:if> <xsl:if test="./@feildType = 'DATE'"> <xsl:attribute name="onfocus">WdatePicker({dateFmt:'yyyy-MM-dd'})</xsl:attribute> <xsl:attribute name="class">Wdate</xsl:attribute> </xsl:if> <!-- style 属性 --> <xsl:attribute name="style"> <xsl:if test="./@when != ''">when:<xsl:value-of select="./@when"></xsl:value-of>;</xsl:if> <xsl:if test="./@rule != ''">rule:<xsl:value-of select="./@rule"></xsl:value-of>;</xsl:if> <xsl:if test="./@feildKey='true'">pk:true;</xsl:if> <xsl:if test="./@feildLen2 != ''"> length:<xsl:value-of select="./@feildLen1"/>-<xsl:value-of select="./@feildLen2"/>; </xsl:if> <!-- visible 属性 --> <xsl:if test="./@visible = 'false'"> <xsl:text>display:none;</xsl:text> </xsl:if> <!-- 是否是工单 --> <xsl:if test="../attribute::isWorkOrder = 'true'"> <xsl:if test="./@feildRight = ''"> <xsl:text>border-style:none;</xsl:text> </xsl:if> <xsl:if test="./@feildRight = 'R'"> <xsl:text>border-color:red;</xsl:text> </xsl:if> </xsl:if> <xsl:if test="../attribute::isWorkOrder = 'false'"> <xsl:if test="./@readOnly = 'true'"> <xsl:text>border-style:none;</xsl:text> </xsl:if> <xsl:if test="./@feildNull = 'false'"> <xsl:text>border-color:red;</xsl:text> </xsl:if> </xsl:if> <xsl:if test="./@feildType = 'NUMBER'"> <xsl:text>dataType:NUMBER;</xsl:text> </xsl:if> <xsl:if test="./@feildType = 'VARCHAR2' or ./@feildType != 'VARCHAR'"> <xsl:text>dataType:STRING;</xsl:text> </xsl:if> <!-- 时间下拉框样式 属性 --> <xsl:if test="./@feildType = 'TIMESTAMP'"> <xsl:text>dataType:TIMESTAMP;</xsl:text> </xsl:if> <xsl:if test="./@feildType = 'DATE'"> <xsl:text>dataType:DATE;</xsl:text> </xsl:if> </xsl:attribute> <!-- readonly 属性 --> <xsl:if test="../attribute::isWorkOrder = 'true'"> <xsl:if test="./@feildRight = ''"> <xsl:attribute name="readonly">true</xsl:attribute> </xsl:if> </xsl:if> <xsl:if test="../attribute::isWorkOrder = 'false'"> <xsl:if test="./@readOnly = 'true'"> <xsl:attribute name="readonly">true</xsl:attribute> </xsl:if> </xsl:if> <!-- value 属性 --> <xsl:attribute name="value"><xsl:value-of select="./@feildValue"/></xsl:attribute> </input> </xsl:if> <!-- textarea --> <xsl:if test="./@feildLen1 >= 100"> <textarea rows="3" cols="28"> <!-- id 属性 --> <xsl:attribute name="id"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- name 属性 --> <xsl:attribute name="name"><xsl:value-of select="./@feildName"/></xsl:attribute> <!-- text --> <xsl:value-of select="./@feildValue"/> </textarea> </xsl:if> </xsl:otherwise> </xsl:choose> </td> </xsl:if> </xsl:for-each> </tr> </table> </body> </html> </xsl:template> </xsl:stylesheet>