代码改变世界

Tool2的使用及其功能

2011-03-10 09:32  闫妍  阅读(622)  评论(0编辑  收藏  举报

list列表清单   item项目   accessory附件    template模板     element元素

XSLT 是一种用于将 XML 文档转换为 XHTML 文档或其他 XML 文档的语言。

XPath 是一种用于在 XML 文档中进行导航的语言。

XSLT 使用 XPath 在 XML 文档中查找信息。XPath 被用来通过元素和属性在 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 样式表的正确方法,如需访问 XSLT 的元素、属性以及特性,我们必须在文档顶端声明 XSLT 命名空间。

xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 指向了官方的 W3C XSLT 命名空间。如果您使用此命名空间,就必须包含属性 version="1.0"。

<xsl:stylesheet> 和 <xsl:transform> 元素是完全同义的元素。都被用来定义样式表的根元素。

image

 

image

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

<xsl:output> 元素定义了输出文档的格式。

image

 

image
  <xsl:template match="/"> //

<xsl:template> 元素包含了当匹配指定节点时要应用的规则。match 属性用于把模板关联到某个 XML 元素。match 属性也能用于为 XML 文档的全部分支定义模板(比如,match="/" 定义了整个文档)。

image

 

image

<MultipleDetailPage>

  <Title>
        <xsl:value-of select="//textarea[@name='docm_compdisp_doc_td$title']/text()"  />     //

<xsl:value-of> 元素可用于选取某个 XML 元素的值,并把它输出。

<xsl:value-of> 元素可提取选定节点的值。

select 属性(必选)的值是一个 XPath 表达式。它的工作原理类似对文件系统的定位,比如用一个斜杠来选择子目录

image

 

image


      </Title>
      <ListType />
      <ActionState />

      <!--关注-->
      <FocusList>
        <FocusList>
          <FocusItem>
            <Name>文件编号:</Name>
            <Value>
              <xsl:value-of select="concat('【',//input[@name='docm_compdisp_doc_td$doc_year'],'】',//input[@name='docm_compdisp_doc_td$serial_num'],'号')" />
            </Value>
          </FocusItem>
          <FocusItem>
            <Name>缓急:</Name>
            <Value>
              <xsl:value-of select="//input[@name='docm_compdisp_doc_td$slow_or_fast']/@value" />
            </Value>
          </FocusItem>
          <FocusItem>
            <Name>密级:</Name>
            <Value>
              <xsl:value-of select="//select[@name='docm_compdisp_doc_td$secret_rank']/option[@selected]/@value" />
            </Value>
          </FocusItem>
          <FocusItem>
            <Name>页数:</Name>
            <Value>
              <xsl:value-of select="//input[@name='docm_cd_ext_td$value_content$file_page']/@value" />
            </Value>
          </FocusItem>
          <FocusItem>
            <Name>当前状态:</Name>
            <Value>
              <xsl:value-of select="//input[@name='docm_workitem_view$activity_name']/@value" />
            </Value>
          </FocusItem>
          <FocusItem>
            <Name>当前处理人:</Name>
            <Value>
              <xsl:value-of select="//input[@name='docm_workitem_view$workitem_person_name']/@value" />
            </Value>
          </FocusItem>
        </FocusList>
      </FocusList>
      <!--字段-->
      <FieldList>
        <FieldItem>
          <Name>签发</Name>
          <Value>
            <xsl:value-of select="//table[@class='tb_red mc']/tr[1]/td[1]/div[1]/div[2]" />
          </Value>
        </FieldItem>
        <FieldItem>
          <Name>主办部门</Name>
          <Value>
            <xsl:value-of select="//textarea[@name='docm_compdisp_doc_td$main_dept']/text()" />
          </Value>
        </FieldItem>
        <FieldItem>
          <Name>会签部门</Name>
          <Value>
            <xsl:value-of select="//table[@class='tb_red mc']/tr[3]/td[2]/div[3]" />
          </Value>
        </FieldItem>
        <FieldItem>
          <Name>主送</Name>
          <Value>
            <xsl:value-of select="//textarea[@name='docm_cd_ext_td$value_content$main_send']/text()" />
          </Value>
        </FieldItem>
        <FieldItem>
          <Name>抄送</Name>
          <Value>
            <xsl:value-of select="//textarea[@name='docm_cd_ext_td$value_content$copy_send']/text()" />
          </Value>
        </FieldItem>
        <FieldItem>
          <Name>留言</Name>
          <Value>
            <xsl:value-of select="//div[@id='lw_right_div']//table" />
          </Value>
        </FieldItem>
        <FieldItem>
          <Name>主题词</Name>
          <Value>
            <xsl:value-of select="//input[@name='docm_compdisp_doc_td$subject']/@value" />
          </Value>
        </FieldItem>
        <FieldItem>
          <Name>拟稿人</Name>
          <Value>
            <xsl:value-of select="//input[@name='docm_compdisp_doc_td$create_person_name']/@value" />
          </Value>
        </FieldItem>
        <FieldItem>
          <Name>电话</Name>
          <Value>
            <xsl:value-of select="//input[@name='docm_compdisp_doc_td$telephone']/@value" />
          </Value>
        </FieldItem>
        <FieldItem>
          <Name>日期</Name>
          <Value>
            <xsl:value-of select="//input[@name='docm_compdisp_doc_td$create_date']/@value" />
          </Value>
        </FieldItem>
        <FieldItem>
          <Name>保存期限:</Name>
          <Value>
            <xsl:value-of select="//input[@name='docm_compdisp_doc_td$save_time']/@value" />
          </Value>
        </FieldItem>
        <FieldItem>
          <Name>印刷:</Name>
          <Value>
            <xsl:value-of select="//input[@name='docm_compdisp_doc_td$period_catalog']/@value" />
          </Value>
        </FieldItem>
        <FieldItem>
          <Name>份数</Name>
          <Value>
            <xsl:value-of select="//input[@name='docm_compdisp_doc_td$copy_num']/@value" />
          </Value>
        </FieldItem>
        <FieldItem>
          <Name>校对</Name>
          <Value>
            <xsl:value-of select="//input[@name='docm_compdisp_doc_td$check']/@value" />
          </Value>
        </FieldItem>
      </FieldList>
      <!--意见-->
      <OpinionList>
        <OpinionItem>
          <Name>
            会签
          </Name>
          <Value>
            <xsl:value-of select="//div[@id='mind_right_div']/table" />
          </Value>
        </OpinionItem>
        <OpinionItem>
          <Name>部门审核</Name>
          <Value>
            <xsl:value-of select ="//div[@id='mind_left_div']/table[1]/tr[1]/td/div[2]"/>
          </Value>
        </OpinionItem>
        <OpinionItem>
          <Name>处室审核</Name>
          <Value>
            <xsl:value-of select ="//div[@id='mind_left_div']/table[1]/tr[2]/td/div[2]"/>
          </Value>
        </OpinionItem>
        <OpinionItem>
          <Name>综合部审核</Name>
          <Value>
            <xsl:value-of select ="//div[@id='mind_left_div']/table[1]/tr[3]/td/div[2]"/>
          </Value>
        </OpinionItem>
        <OpinionItem>
          <Name>综合部核稿</Name>
          <Value>
            <xsl:value-of select ="//div[@id='mind_left_div']/table[1]/tr[4]//td/div[2]"/>
          </Value>
        </OpinionItem>
      </OpinionList>
    </MultipleDetailPage>
  </xsl:template>
</xsl:stylesheet>

常用的函数:

image

 

image

 

image

 

每一条就是一个table.

路径·后面为属性