JMJS系统总结系列----XSLT的语句规则(一)

xslt是一种用于将xml文档转换成xhtml的语言。

xslt文档是一个xml文件

<?xml version="1.0" encoding="utf-8"?>

声明文档的命名空间

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">

或者:

<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xslt:import>元素: 用于把一个样式表中的内容倒入另一个样式表中

<xsl:import href="AcceptLeft.xslt"/>

href属性:设置引入模版的路径。

<xslt:output>元素: 定义输出文档的格式

<xsl:output method="html" indent="yes"/>

method: 定义输出的格式。默认为xml。

Indent: 在输出结果树时是否要增加空白。

<xslt:template>元素 模板元素

<xsl:template match="/" name="AcceptInfoEdit">

match: 属性用于把模板关联到某个 XML 元素("/" 定义了整个文档)。

name:定义模版的名称。

<xslt:call-template>元素 可调用一个指定的模板

<xsl:call-template name="AcceptBaseInfo"></xsl:call-template>name:被调用的模版名称。

注意:必须在当前模版为使用<xslt:import href= ‘AcceptBaseInfo> 倒入模版,才能使用<salt:call-template>调用。

<xslt:value-of>元素 用于提取某个选定节点的值

<xsl:value-of select="Accept/ApprovalItemName"/>

select:指定xml元素中摸个具体节点的值。

<xslt:attribute>元素 用于给某个元素添加属性

<img src="images/icon_upload.gif" width="16" height="16">

<xsl:attribute name="onclick">

SelectRegion(<xsl:value-of select="Accept/Project/UserRegionID"/>);

</xsl:attribute>

</img>

Name:属性名称。

<xsl:attribute>具体的属性值</xsl:attribute>

<xslt:if>元素 用于放置针对 XML 文件内容的条件测试

<xsl:if test="Accept/AcceptID &gt; 0">

<xsl:call-template name="AcceptInfoOperator"></xsl:call-template>

</xsl:if>

test: 规定要测试的条件。

<xslt:choose>元素 用于结合 <xsl:when> 和 <xsl:otherwise> 来表达多重条件测试

<xsl:choose>

<xsl:when test="Accept/FlowStop = 1">

<input type="radio" id="Accept/IsSupervisions1" name="Accept/IsSupervisions" onclick="SetValue('IsSupervisions','1')" value="1"/>

<label for="Accept/IsSupervisions1">是</label>&#160;&#160;

<input type="radio" id="Accept/IsSupervisions2" name="Accept/IsSupervisions" onclick="SetValue('IsSupervisions','2')" value="2" checked="true"/>

<label for="Accept/IsSupervisions2">否</label>

</xsl:when>

<xsl:otherwise>

<input type="radio" id="Accept/IsSupervisions1" name="Accept/IsSupervisions" onclick="SetValue('IsSupervisions','1')" value="1" checked="true" />

<label for="Accept/IsSupervisions1">是</label>&#160;&#160;

<input type="radio" id="Accept/IsSupervisions2" name="Accept/IsSupervisions" onclick="SetValue('IsSupervisions','2')" value="2" />

<label for="Accept/IsSupervisions2">否</label>

</xsl:otherwise>

</xsl:choose>

test: 规定要测试的条件。

<xsl:otherwise>:不满足条件的其他情况。

<xlst:for-each>元素 在 XSLT 中进行循环

<xsl:for-each select="Accept/FlowWorkBooks/FlowWorkBook">

<tr>

<td height="30" align="left" class="form_td">

<xsl:value-of select="FlowName"/>

</td>

<td align="left" class="form_td">

<xsl:call-template name="FormatDate">

<xsl:with-param name="DateTime" select="RealityDate"/>

</xsl:call-template>

</td>

<td align="left" class="form_td">

<xsl:value-of select="Opinion"/>

</td>

</tr>

</xsl:for-each>

select: 被处理的节点集。

posted @ 2011-08-30 18:32  远大 光明  阅读(779)  评论(0编辑  收藏  举报