Ant内置任务之xslt/style

一、概述

        xslt是ant内置任务,用于处理一组文档,对于生成代码或者构建基于xml的文档视图非常有用,style是其已经被废弃的名字。如果使用1.4以上的jdk,此任务不需要提供外部库。但是内置的xml引擎通常不是最新版本的,所以还是建议下载更新。可以通过includes、includesfile、excludes、excludesfile和defaultexcludes属性对处理的文件集进行过滤。通过在includes、includesfile属性中使用模式可以指定要保留的文件,在excludes、excludesfile属性中使用模式指定要排除的文件。通过defaultexcludes指定是否使用默认排除列表。此任务是一个隐式的文件集,支持fileset的所有属性,以及嵌套include、exclude和patternset元素。与其他类似任务不同,此任务处理由隐式文件集包含/排除模式匹配的目录及文件。支持嵌套解析实体和URI的xmlcatalog元素,还支持嵌套param元素,其值会传递给定义的属性。ant1.7起,此任务还支持资源集合。

二、属性

        basedir:查找源xml文件的位置,默认为project的basedir。
        destdir:保存结果的位置。如果指定了in、out属性,此属性可不设置。
        extension:目标文件使用的文件扩展名。如果不指定,默认为“.html”,如果嵌套了mapper,则忽略此属性。
        style:使用的样式表名称,基于basedir的相对目录或绝对目录。
        classpath:查找xslt处理器的类路径。
        classpathref:类路径的引用。
        force:如果为true,重新创建目标文件,即使它们比源文件或样式表更新,默认为false。
        processor:使用的xslt处理器名称。可用值为:trax(TraX兼容的处理器)。默认为trax。对xalan的支持在ant1.7被移除。
        includes:逗号或空格分隔的必须包含的文件模式列表。
        includesfile:文件名。指定文件的每一行都会做为一个includes模式。
        excludes:逗号或空格分隔的必须排除的文件模式列表。
        excludesfile:文件名。指定文件的每一行都会做为一个excludes模式。
        defaultexcludes:是否使用默认排除列表,默认为true。
        in:指定要样式化的单个xml文件。需要与out属性一起使用。
        out:指定in属性样式化结果的输出文件名。
        scanincludeddirectories:如果目录被includes或excludes模式匹配,是否尝试转换目录中的所有文件。默认为true。
        reloadstylesheet:ant1.5.2起,是否每次转换操作都重新创建样式表转换器。如果设置为true,可能对性能有影响,默认为false。
        useImplicitFileset:ant1.7起,此任务是否形成隐式文件集。如果为false,则必须嵌套资源集合或者指定in属性,而这样的话此属性true或者false没有任何影响,默认为true。
        filenameparameter:ant1.7起,指定一个xsl参数来访问当前处理的文件名字。如果不设置,名字不会传递给转换器。
        filedirparameter:ant1.7起,指定一个xsl参数来访问当前处理的文件的目录。如果文件在当前目录下,会传递给转换器一个值“.”。如果不设置,不会传递给转换器。
        supressWarnings:ant1.8起,是否抑制处理器警告,需要处理器支持,ant绑定的trax处理器支持。默认为false。
        failOnError:ant1.8起,如果产生任何错误构建是否失败。但是转换器错误仍然可以通过将failOnTransformationError设置为false来抑制,即使此属性设置为true。默认为true。
        failOnTransformationError:ant1.8起,如果转换文档时产生错误时构建是否失败,默认为true。当failOnError为false时,此属性不会产生任何影响。
        failOnNoResources:ant1.8起,如果嵌套资源集合为空构建是否失败,默认为true。当failOnError为false时,此属性不会产生任何影响。

        支持以下嵌套元素:
        任意资源集合:使用资源集合指定要应用的样式表,使用mapper或者destdir属性指定输出文件。
        classpath:指定类路径。
        xmlcatalog:解析实体和URI。
        param:用于给xsl样式表传递参数。具有以下属性:
                name:xsl参数名。
                expression:参数值。
                if:如果if指定的属性被设置,参数将会传递。
                unless:如果unless指定的属性未被设置,参数将会传递。
        outputproperty:trax处理器支持,用于指定结果树怎样按xslt规范中指定的方式输出。具有以下属性:
                name:属性名。
                value:属性值。
        factory:trax处理器支持,指定factory设置。具有以下属性:
                name:使用的转换器factory的完全限定类名。默认为JAXP查找机制。
                支持以下嵌套元素:
                        attribute:用于指定处理器factory设置。attribute的name(attribute的名称)和values(attribute的值)的值是处理器特有的,所以必须弄清楚它们的实现。
        mapper:ant1.6.2起,用于转换文件名,xslt默认的mapper会移除源文件的扩展名,然后添加通过extension属性指定的扩展名。
        style:ant1.7起,用于按ant资源类型指定样式表。使用此元素,样式表需要以嵌套资源或者单元素集合来指定,或者使用refid指定资源或集合的引用。
        sysproperty:ant1.8起,指定factory或转换器需要的系统属性。这些属性在类执行时会传递给VM。
        syspropertyset:ant1.8起,用于指定一组系统属性。

三、简单示例

        stylesheet.xml



	
	
		
		
			

My Stylesheet Test

Title Artist
        build.xml

	
		
		
	


你可能感兴趣的:(Ant入门)