总结_xsl

XSL的基础:

 绪言:要了解XSl首先必须先了解HTML语言,它是XSL语言的基础!(HTML语言详细知识可以参见附里的关于HTMl的网站),

 XSL. XML的简介和作用:

   XML简介: 所谓的xml,就是eXtensible Markup Language, 翻译成中文就是可扩展标识语言,在国内很多人理解xmlhtml的简单扩展,这实际上是一种误解。尽管xmlhtml关系非常密切。HTML相信大家都比较熟悉,即“HyperText Markup Language” (超文本标识语言),它的优点是比较适合web 页面的开发。但它有一个缺点是标记相对少,只有固定的标记集如<p>.<strong>等。缺少柔性和适应性。不能支持特定领域的标记语言

       首先XML是一种元标记语言,所谓元标记就是开发者可以根据自己的需要定义自己的标记,比如开发者可以定义如下标记<book> <name>,任何满足xml命名规则的名称都可以标记,这就为不同的应用程序打开了的大门。HTML是一种预定义标记语言,它只认识诸如<html>,<p>等已经定义的标记,对于用户自己定义的标记是不认识的。 第二xml是一种语义/结构化语言。它描述了文档的结构和语义。

 

XSL简介: XSL(eXtensible Stylesheet Language,可扩展样式语言)是为XML文件定义的一种标识语言,它将提供远远超过CSS的强大功能,如将元素再排序等。实际上简单的XML已可被CSS所解释,然而复杂的高度结构化的XML数据或XML文档则只能依赖于XSL极强的格式化的能力而现给用户。XSL以包含了一套元素集的XML语法规范而定义,该语法规范将被用来把XML文件转换成HTML文件或XML文档。一个XSL样式表集合了一系列设计规则以用于将信息从XML文件中汲取出,并将其转换成HTML等其它格式。这种转换将采用一种公开的方式,使其更加容易方便地被程序员描述。而且XSL还将提供多种脚本语言的通道以满足更为复杂的应用需求,因此尽管XSL是一项新的标识语言,但程序员完全可以继续充分发挥其所熟练的HTML或脚本语言的优势。XSL凭借其可扩展性能够控制无穷无尽的标签,而控制每个标签的方式也是无穷尽的。这就给Web提供了高级的布局特性。例如旋转的文本、多列和独立区域。它支持国际书写格式,可以在一页上混合使用从左至右、从右至左和从上至下的书写格式。

XSLT 介绍

在学习XSLT之前你应该对XMLXML命名空间有基本的了解。XSLT是把一种XML文档转换成另一种文档的语言。XSLTXSL标准中最重要的一部分。它是XSL中用来把一种XML文档转换成另一种XML文档或者诸如HTMLXHTML能被浏览器识别的文档的一部分。XSLT通常是把每一个MXL元素转换成(XHTML元素来做到这一点的。
XSLT
也能够在输出的文件中加入新的元素,或者删除元素。它能对元素重新排列和分类并进行测试和判断显示哪些元素。当然还能做比这更多的。
一种通常的描述这种转换的方式是说XSLTXML source tree 转换成了 XML result tree

MVC模式中处于显示层的位置,控制页面的样式, 是专门为XML设计的一种样式语言。XSL它的作用就是实现了数据与数据表现形式的分离。

   1998年2月10日 ,XML1.0标准版在W 3C 组织中诞生。它是一种逻辑清晰,简洁,容易阅读的的标记语言。XML它的作用:描述并组织数据。

 

          

它的编写方法: 

1.    必备工具:

Office xp2003,   XMLwriter工具    jakarta-tomcat- 4.1.24

2.       编写步骤

21  具体编写步骤做简要介绍

    A  frontpage中打开该页面,点击该页的代码,在代码页里点击右键,选中应用XML格式

B  XMLwriter中把所有的代码从frontpage中复制到新的空xsl文件中(在头和尾加上XSL的固定格式),保存成与该页面同名的xsl.

C  再根据页面的具体形式编写XSl,,详细请去相关网站查看(见最后附)

 

22   测试前的准备工作:

1.  C:/jakarta-tomcat- 4.1.24 /webapps/目录下建一个test文件夹。

2.  C:/jakarta-tomcat- 4.1.24 /webapps/ROOT下的WEB-INF完全复制到该目录下。

 

23   测试分为2: 

A  直接在XMLwriter编辑器中,把你写的xml ,xsl 同时在XMLwriter种运行,F4键,页面可以正确显示即可。或按F5键,页面在ie里可以正确显示。或按F6键,检查 xml的格式是否完整。

    B jakarta-tomcat- 4.1.24 ,把写好的XML,XSL复制到C:/jakarta-tomcat-4.1.24/webapps/test,运行tomcat

C.在ie地址输入: http://localhost:8080/test/ ,点击页面名称进入该页面,输入参数提交form表单后,在ie地址栏里可以看到 action的名字和参数的名字和值,现在需要做的就是把参数的个数和名字和action涉及文档里的个数和名字进行对比,若完全一样就表示没有错误否则要么个数不一致,要么名字不一致。

   

 

  以下是在编码中的一些用到的知识和问题总结:

3.   表格自动换行

style="word-wrap:break-word; word-break:break-all;"

4.   只准输入数字的文本框

<οnkeypress="return (//d/.test(String.fromCharCode(event.keyCode)))" style="ime-mode: disabled">

5.   <!XML基本构架>

<?xml version="1.0" encoding="GB2312" ?>

<?xml:stylesheet type="text/xsl" href="EmployeeEdit.xsl" ?>

<root>

 

<!--系统提示信息-->         

        <system>

                   <appMessage> 

                      <message>Message </message>

                      <ResultMsg>ResultMsg</ResultMsg>

                </appMessage>                 

         </system>        

</root>

6.   <!XSL基本构架>

  <?xml version="1.0" encoding="GB2312"?>

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

<xsl:output method="html" encoding="GB2312"  indent="no"/>

<xsl:template match="root">

 

 

</xsl:template>

</xsl:stylesheet>

 

7.   <!Text文本框>

<input type="text" name="word" size="20" >  

                            <xsl:attribute name="value">

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

                                              </xsl:attribute>       

                            </input>     

8.   删除时确认是否要删除

 <a href="javascript:if(confirm("确实要删除吗?"))location="boos.asp?&areyou=删除&page=1"">删除</a>

 

9.   判断上一页的来源是从哪个页面过来的

                        javascript:
  document.referrer

 

10.        <div>,<span>,<layer>的区别是什么:

<div>(division)用来定义大段的页面元素,会产生转行
  <span>
用来定义同一行内的元素,跟<div>的唯一区别是不产生转行
  <layer>
ns的标记,IE不支持,相当于<div>

 

 

11.        让弹出窗口总在最前面

        <body οnblur="this.focus();">

 

 

12.        如何设定打开页面的大小

         <body οnlοad="top.resizeTo(300,200);">

        点击一个连接,top页面弹出的页面大小控制在宽300,200的范围里(显示器左上角为坐标的原点)

13.        所有的表单值都不能为空的判断

<input οnblur="if(this.value.replace(/^/s+|/s+$/g,'')=='')alert('不能为空!')">

 

 

14.        复选框的全选,多选,全不选,反选的代码如下

     <form name=hrong> //定义复选框的格式,

<input type=checkbox name=All οnclick="checkAll('mm')" value="ON">全选<br/>

<input type=checkbox name=mm οnclick="checkItem('All')" value="ON"><br/>

<input type=checkbox name=mm οnclick="checkItem('All')" value="ON"><br/>

<input type=checkbox name=mm οnclick="checkItem('All')" value="ON"><br/>

<input type=checkbox name=mm οnclick="checkItem('All')" value="ON"><br/>

<input type=checkbox name=mm οnclick="checkItem('All')" value="ON"><br/>

 

 

<input type=checkbox name=All2 οnclick="checkAll('mm2')" value="ON">全选<br/>

<input type=checkbox name=mm2 οnclick="checkItem('All2')" value="ON"><br/>

<input type=checkbox name=mm2 οnclick="checkItem('All2')" value="ON"><br/>

<input type=checkbox name=mm2 οnclick="checkItem('All2')" value="ON"><br/>

<input type=checkbox name=mm2 οnclick="checkItem('All2')" value="ON"><br/>

<input type=checkbox name=mm2 οnclick="checkItem('All2')" value="ON"><br/>

</form>

 

<SCRIPT LANGUAGE="javascript"> //  javascript来调用判断它是全选,多选,全部选还是反选

function checkAll(str)

{

  var a = document.getElementsByName(str);

  var n = a.length;

  for (var i=0; i<n; i++)

  a[i].checked = window.event.srcElement.checked;

}

function checkItem(str)

{

  var e = window.event.srcElement;

  var all = eval("document.hrong."+ str);

  if (e.checked)

  {

    var a = document.getElementsByName(e.name);

    all.checked = true;

    for (var i=0; i<a.length; i++)

    {

      if (!a[i].checked){ all.checked = false; break;}

    }

  }

  else all.checked = false;

}

</SCRIPT>

 

 

 

15.        按钮连接某个页面的写法

  <οnclick=”document.location.href=’**.html’”>

 

 

16.        样式的应用方式和具体代码(XSL中写)

<Link rel=”stylesheet” type=”text/css” href=”../resources/css/pipiwo.css” >

 

 

17.        关于meta的用法如下

  <meta name="ROBOTS" content="属性值">
其中属性值有以下一些:
 
属性值为"all": 文件将被检索,且页上链接可被查询;

 
属性值为"none": 文件不被检索,而且不查询页上的链接;
 
属性值为"index": 文件将被检索;
 
属性值为"follow": 查询页上的链接;
 
属性值为"noindex": 文件不检索,但可被查询链接;
 
属性值为"nofollow": 文件不被检索,但可查询页上的链接。

18.        Textarea自动适应文本文字行数的多少

<script type="text/javascript" src="../resources/options.js"></script>

<script language="JavaScript1.2">

function document.onkeydown(){

  if(event.keyCode==116){

    event.keyCode=0;

    event.returnValue=false;

  }

}

</script>

<script language="JavaScript1.2">

 

<textarea rows=1 name=s1 cols=27 onpropertychange="this.style.posHeight=this.scrollHeight" >
  </textarea>

 

 

19.        在文本框中输入最大字符的长度      

               Maxlength=”数字

 

20.        上传文件用到的在form中写:

       <form name="cardsform" ENCTYPE="multipart/form-data">

 

21.        复选框传值

<input type="checkbox" name="studentid">

                 <xsl:attribute name="value">

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

                </xsl:attribute>

                        </input>

 

22.        隐含参数的传递

<input type="hidden" name="PlaceOneMessage" size="8">

      <xsl:attribute name="value">

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

      </xsl:attribute>

</input>

 

23.        在页面处点击按钮判断是Add还是Edit

function a(){                                           //Edit

document.cardsform.ButtonName.value="EDIT"

document.cardsform.action="ST_AddEduRecordRGNext.do"

document.cardsform.submit();

}

function b(){                                           //Add

document.cardsform.ButtonName.value="ADD"

document.cardsform.action="ST_AddEduRecordRGNext.do"

document.cardsform.submit();

}

24.        控制空格大小的写法

<span lang="zh-cn"  style="font-size: 11px">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>

 

25.        最小化,最大化,关闭窗口  (本例使用于IE)

<object id=hh1 classid="clsid:ADB 880A 6-D8FF-11CF-9377-00AA003B 7A 11">
  <param name="Command" value="Minimize"></object>
  <object id=hh2 classid="clsid:ADB 880A 6-D8FF-11CF-9377-00AA003B 7A 11">
  <param name="Command" value="Maximize"></object>
  <OBJECT id=hh3 classid="clsid:adb 880a 6-d8ff-11cf-9377-00aa003b 7a 11">
  <PARAM NAME="Command" value="Close"></OBJECT>
  <input type=button value=
最小化 οnclick=hh1.Click()>
  <input type=button value=
最大化 οnclick=hh2.Click()>
  <input type=button value=
关闭 οnclick=hh3.Click()>
 

 

26.        屏蔽功能键 Shift ,Alt , Ctrl

<script>
         function look(){
          if(event.shiftKey)
        alert("
禁止按Shift!");        //可以把Shift换成ALT CTRL,可以试试.
          }
         document.οnkeydοwn=look;
       </script>

 

27.        怎么判断是否是字符的Javascript

if (/[^/x00-/xff]/g.test(s)) alert("含有汉字");            //Javascript代码
  else alert("
全是字符");

28.        下拉框中选中后显示的XSL书写方法

<xsl:for-each select="Notelist" >

             <option selected="" value="-1">全部短信</option>

               <xsl:for-each select="sort">

                    <xsl:if test="NoteSortID/@selected[.='1']">

                                        <option selected='selected'>

                         <xsl:attribute name="value">

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

                         </xsl:attribute>

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

                          </option>

                    </xsl:if>

                           <xsl:if test="NoteSortID/@selected[.='0']">

                                         <option>

                                <xsl:attribute name="value">

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

                                </xsl:attribute>

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

                                         </option>

                           </xsl:if>

                                      </xsl:for-each>

      </xsl:for-each>

 

 

 

29.        隐藏一个button来传值

<div style="visibility: hidden" ><xsl:value-of select="buttonName"/></div>

 

30.        控制按钮的大小

; width:120px

 

31.        按钮的关闭功能

οnclick="javascript:window.close()"

 

32.        按钮实现用IE打印的功能

                     οnclick="window.print()"  

33.         按钮传多个参数

         οnclick="document.location.href='YM_EditEPAppraisal.jsp?No={no}&amp;studentid={studentid}'"

34.          超链属性

           <xsl:attribute name="href"><xsl:value-of select="customerSite"/></xsl:attribute><xsl:value-of select="customerSite"/></a>

35.         单选按钮XSL书写模板

         <input type="radio" value="0" name="Sex">

         <xsl:if test="sex[.='true']">

                         <xsl:attribute name="checked">checked</xsl:attribute>

                         </xsl:if>

                    </input>

                    <input type="radio" value="1" name="Sex">

                    <xsl:if test="sex[.='false']">

                         <xsl:attribute name="checked">checked</xsl:attribute>

                         </xsl:if>

                    </input>

 

36.          复选框书写模板

        <xsl:for-each select="terminologyList/terminology">

      <tr><td>

                     <input type="checkbox" name="UserRole">

                   <xsl:if test="./@checked[.='1']">

                         <xsl:attribute name="checked">checked</xsl:attribute>     

                        </xsl:if>

                   <xsl:attribute name="value">

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

                              </xsl:attribute>

                              </input>

                    </td>

                   <td>   <xsl:value-of select="terminologyContent"/></td>

                   <td></td>

 </tr>

  </xsl:for-each>

37.         判断链接是什么状态

   <xsl:variable name="str1"><xsl:value-of select="useState"/></xsl:variable>

                <xsl:choose >

                                <xsl:when test="$str1=1"><a href="">冻结态</a></xsl:when>

                                <xsl:otherwise>激活态</xsl:otherwise>

                      </xsl:choose>

 

38.        有单选按钮的列表

  <xsl:for-each select="cycleList">

   <xsl:variable  name="var1"  select="number"/>

      <tr>

 <td width="2%" height="30" class="main-table-fun-top" style="color: #000000; background-color: #FFFFFF"><input type="radio" value="{$var1}" checked="" name="partID" /></td>

 <td width="8%" height="30" class="main-table-fun-top" style="color: #000000; background-color: #FFFFFF"><xsl:value-of select="number"/></td>

 <td width="7%" height="30" class="main-table-fun-top" style="color: #000000; background-color: #FFFFFF"><xsl:value-of select="server"/></td>

 <td width="4%" height="30" class="main-table-fun-top" style="color: #000000; background-color: #FFFFFF"><xsl:value-of select="price"/></td>

 <td width="6%" height="30" class="main-table-fun-top" style="color: #000000; background-color: #FFFFFF"><xsl:value-of select="buyTime"/></td>

 <td width="14%" height="30" class="main-table-fun-top" style="color: #000000; background-color: #FFFFFF"><xsl:value-of select="qualityInfo"/></td></tr>

</xsl:for-each>

39.        一段有用的javascript用来刷新

   <SCRIPT language="JavaScript1.2">

<xsl:comment>

<![CDATA[

function a(){

document.form.action="EditPage.jsp"

document.form.submit();

}

]]>

</xsl:comment>

</SCRIPT>                

40.        加入改代码使提交按钮背景变色和加个图片

style="border:0px ridge #FFFFFF; background-color:#E 2F 3C 0; color:#FFFFFF; width='13'; height='13'; background-image:url('../../resources/images/small1_langlib.gif')"

style="border:0px ridge #95b756; background-color:#c1da90; color:#006600;"

41.        标准的"邮编"代码

 

<input name="clientCompanyPostCard" type="text" maxlength="6" size="20" οnkeypress="return (//d/.test(String.fromCharCode(event.keyCode)))" style="ime-mode:

disabled" ><xsl:attribute name="value"><xsl:value-of select="clientCompanyPostCard"  /></xsl:attribute></input>

 

 

42.         图片的书写方法

                <img  border="0" width="80" height="100">

      <xsl:attribute name="src">

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

      </xsl:attribute>

</img>

 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值