现在的位置: 首页 > 综合 > 正文

关于DTD,XSL,TLD文件的总结

2013年09月15日 ⁄ 综合 ⁄ 共 3430字 ⁄ 字号 评论关闭

1、  DTD文件

DTD文件定义:

DTD为英文Document Type Definition,中文意思为“文档类定义”。

DTD文件作用:

DTD肩负着两重任务: 一方面它帮助你编写合法的代码 ,另一方面它让浏览器正确地显示器代码。

DTD列表:

 

XHTML 1.1

XHTML1.0 Strict DTD(严格的文档类定义):要求严格的DTD,你不能使用表现标识和属性,和CSS一同使用。完整代码如下:   

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">   

XHTML1.0 Transitional DTD(过渡的文档类定义):要求非常宽松的DTD,它允许你继续使用HTML4.01的标识(但是要符合xhtml的写法)。完整代码如下:   

<!DOCTYPE html  PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   

XHTML1.0 Frameset DTD(框架集文档类定义):专门针对框架页面设计使用的DTD,如果你的页面中包含有框架,需要采用这种DTD。完整代码如下:   

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> 

 

HTML 4.01

HTML 4.01 Strict DTD (严格的文档类定义)不能包含已过时的元素(或属性)和框架元素。对于使用了这类DTD的文档,使用如下文档声明:   

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 

HTML 4.01 Transitional DTD(过渡的文档类定义)能包含已过时的元素和属性但不能包含框架元素。对于使用了这类DTD的文档,使用如下文档声明:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 

HTML 4.01 Frameset DTD(框架集文档类定义)。能包含已过时的元素和框架元素。。对于使用了这类DTD的文档,使用如下文档声明:   

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">

 

2、  XSL文件

XML和XSL组成HTML文件,HTML文件包括数据和格式,XML包括数据,XSL则只包括格式.

XML文件保存数据,简单二维结构,格式:<主标签>数据</主标签>; 也可多层嵌套。

XSL提供模式语言:

选择模式<xsl:for-each>、<xsl:value-of>和<xsl:apply-templates>

例: <xsl:for-each select="pattern" order-by="sort-criteria-list"></xsl:for-each>

即:对指定的XML文件中的所有节点循环选取标签为"pattern"(如为嵌套,则为"主标签名/标签名/嵌套名")的节点;对凡是标签为"pattern"的节点进行order-by(排序)操作,order-by="+列表元素;-列表元素",列表元素即为标签名,前面为"+"则升序,"-"降序.多个标签中间加分号;<xsl:for-each>也可不加order-by;直接对所有XML文件选择指定(select)节点,进行样式定义。

详细解释:

<xsl:value-of select="pattern">提取节点中的数据;

<xsl:value-each>只选取节点,对节点中的数据进行样式操作,或排序文件;并没有取出节点中的数据。

<xsl:value-of select="pattern"></xsl:value-of>即为对指定XML文件中所有标签为"pattern"中的数据分次显示出来.按xsl文件中此value-of语句所在的位置把数据分次显示出来。

<xsl:apply-templates select="pattern" order-by="sort-criteria-list"/>select为确定在XML文件中应执行什么模板,即选取用<xsl:template>建立的模板.order-by以分号隔开的排序标准.一般为子标签的序列.

测试模式:

<xsl:if >和< xsl:when >

<xsl:if expr language="language name" test="pattern/>:expr为脚本语言表达式.如为真,则通过test,输出中显示其中内容.执行test value() ──XSL函数,其他常用XSL函数有text()、end()、index()等。

匹配模式:

<xsl:template match="note-context"language="language-name"/>: match:确定什么样的情况下执行此模板.可使用XML文件中标签的名字,其中最上层模板必须将match设为"/". language:确定在此模板中执行什么脚本语言,其值与HTML中的script标记中的language属性值一样,默认为"Jscript".<xsl:template>用match属性从xml文件选取满足条件的节点,针对这些特定节点形成一个特定输出形式的模板。

其它:

xsl:comment:在此元素中的内容,XSL将它作为注释信息,并不显示在浏览器中。

xsl:stylesheet:作为XSL样式表中的根元素,在每个XSL文件中都必须有。在文件首行:<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

属性:default-space:决定是否保留XML文件中的空白,仅当值为"default"时保留。

      indent-result:决定是否保留XSL文件中的空白,值为"yes"时保留。

      language:设定在XSL文件中使用的脚本语言。

 

xsl:copy:从XML文件中拷贝标记中的信息到输出的文件中

xsl:choose,xsl:when,xsl:otherwise:这三个元素是用来设定较为复杂的条件式,一般共同配合使用。其中xsl:when有script、language、test三种属性,与前面xsl:if中的属性含义是一样的。

 

xsl:attribute和xsl:element:可以在标记中附加一个属性名称或新建一个标记。XSL样式表不但可以引用HTML标记,而且也可以建立新的标记和属性,然后一起结合XML文件中的信息来显示。其中xsl:attribute是在标记中新增一个属性,xsl:element是新建一个标记。它们有共同的属性。

属性:name:为新建的属性指定属性名

 

 

注:如果XML文档中不同标记有同名的子标记,在为其编写模板时,应把父标记作为其前缀,格式为(parent_mark/child_mark)。

    模板文件必须有一个根模板,其属性match是"/"

3、  TLD文件

扩展名为tld的文件是存放标签名字和类的映射用的。比如struts的标签库中就有这种文件。

 

标签库,他把页面标签和后面的java类影射起来.减少了页面中的代码。使页面清晰。其实标签最后还是被解释成后台的Java代码。

原理是,用户在jsp页面中使用标签时,系统首先会先到xml文件中的 <taglib>标签中的《taglib-uri》和《taglib-location》这两对标签找到相对应的扩展名为tld文件,然后在 tld文件中的映射再找到相对应的taglib类。

当用自定义标签时就需要配置,xml,以及tld文件。

 

抱歉!评论已关闭.