`
xiaobashagua
  • 浏览: 11908 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

java使用XSL+XML生成HTML文件

    博客分类:
  • xsl
阅读更多
1、xml.xml
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="xsl.xsl"?>
<book>
    <title>XML与JSP</title>
    <chapter>
        <title>第1章 认识XML与DTD</title>
        <section>
            <title>XML的产生</title>
            <example>HelloWorld.html</example>
        </section>
    </chapter>
    <chapter>
        <title>第2章 XML名称空间</title>
        <section>
            <title>名称空间在元素和属性中的应用</title>
            <section>
                <title>名称空间在元素中的应用</title>
                <example>people.xml</example>
            </section>
            <section>
                <title>缺省名称空间</title>
                <example>book.xml</example>
            </section>
            <section>
                <title>名称空间在属性中的应用</title>
                <example>book2.xml</example>
            </section>
        </section>
        <section>
            <title>名称空间和DTD</title>
        </section>
    </chapter>
</book>

2、xsl.xsl
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html" version="1.0" encoding="utf-8" standalone="yes"/>
    <xsl:template match="/">
        <html>
            <head>
                <title>使用XML+XSLT生成的HTML文件</title>
            </head>
            <body>
                <xsl:apply-templates select="book"/>
            </body>
        </html>
    </xsl:template>
    <xsl:template match="chapter">
        <br/>
        <br/>
        <xsl:value-of select="./title"/>
        <xsl:apply-templates select="./section"/>
    </xsl:template>
    <xsl:template match="chapter/section">
        <br/>
        <br/>
        <xsl:text>    </xsl:text>
        <!--<xsl:number format="1. " level="multiple"/>-->
        <xsl:number format="1. " level="multiple" count="chapter | section" from="book"/>
        <xsl:value-of select="./title"/>
        <xsl:apply-templates select="./section"/>
    </xsl:template>
    <xsl:template match="chapter/section/section">
        <br/>
        <br/>
        <xsl:text>        </xsl:text>
        <!--<xsl:number format="1. " level="multiple"/>-->
        <xsl:number format="1. " level="multiple" count="chapter | section" from="book"/>
        <xsl:value-of select="./title"/>
        <xsl:number value="123456789" grouping-separator="," grouping-size="3"/>
    </xsl:template>
</xsl:stylesheet>

3、java.java
package test;

import java.io.File;
import java.io.IOException;

import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;

import org.junit.Test;

public class Train {
    @Test
    public void test() throws IOException {
        String xmlFileName = "d:/test/xml.xml";
        String xslFileName = "d:/test/xsl.xsl";
        String htmlFileName = "d:/test/html.html";
        Train.Transform(xmlFileName, xslFileName, htmlFileName);
    }

    public static void Transform(String xmlFileName, String xslFileName,
            String htmlFileName) {
        try {
            TransformerFactory tFac = TransformerFactory.newInstance();
            Source xslSource = new StreamSource(xslFileName);
            Transformer t = tFac.newTransformer(xslSource);
            File xmlFile = new File(xmlFileName);
            File htmlFile = new File(htmlFileName);
            Source source = new StreamSource(xmlFile);
            Result result = new StreamResult(htmlFile);
            System.out.println(result.toString());
            t.transform(source, result);
        } catch (TransformerConfigurationException e) {
            e.printStackTrace();
        } catch (TransformerException e) {
            e.printStackTrace();
        }
    }
}
4、html.html
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>使用XML+XSLT生成的HTML文件</title>
</head>
<body>
    XML与JSP
    <br>
<br>第1章 认识XML与DTD<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;1.1. XML的产生
    <br>
<br>第2章 XML名称空间<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;2.1. 名称空间在元素和属性中的应用<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.1.1. 名称空间在元素中的应用123,456,789<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.1.2. 缺省名称空间123,456,789<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2.1.3. 名称空间在属性中的应用123,456,789<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;2.2. 名称空间和DTD
</body>
</html>
5、效果
XML与JSP

第1章 认识XML与DTD

    1.1. XML的产生

第2章 XML名称空间

    2.1. 名称空间在元素和属性中的应用

        2.1.1. 名称空间在元素中的应用123,456,789

        2.1.2. 缺省名称空间123,456,789

        2.1.3. 名称空间在属性中的应用123,456,789

    2.2. 名称空间和DTD

分享到:
评论

相关推荐

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。.  本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...

    Java and XML, 3rd Edition

    本书的前两章回顾有关XML的基础知识,包括XPath、XSL、DTD以及XML Schema,其余部分专注于讲述如何在Java程序内使用XML。《Java与XML》(第三版)的内容涵盖了所有主要的Java XML处理库程序,全面讲解了SAX、DOM...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。.  本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。.  本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...

    JAVA与XML.rar

    本书的前两章回顾有关XML的基础知识,包括XPath、XSL、DTD以及XML Schema,其余部分专注于讲述如何在Java程序内使用XML。《Java与XML》(第三版)的内容涵盖了所有主要的Java XML处理库程序,全面讲解了SAX、DOM、...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。.  本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...

    xmlspy.2013-patch

    它提供了世界领先的XML编辑器,在原图形架构设计师,一个代码生成器,文件转换器,调试器,分析器,完整的数据库集成,支持WSDL,SOAP,XSLT,XPath,XQuery,XBRL,Open XML文档,加上视觉Studio和Eclipse插件,...

    cgn:在 XSL 中实现的代码生成工具

    该项目使使用 XSL 处理器为它们生成 Java 源代码( 变体)和 Json 解析器/gerenartor(基于 )变得简单。 开发的Saxon XSLT和XQuery处理器。 应该安装才能使用 cgn。 请在目录中提供的 *.sh 文件中指定 Saxon ...

    XSLTransformerInJava:XML - Java 中的 XSL 转换器

    XSL 转换器该程序使用 XSL 文件从 xml 文件生成新的 XML 输出。

    XMLSPY 2010 企业版

     XML Schema/DTD 的更多情况,可以看看 IBM 中文站:XML Schema 于 XML DTD的技术比较于分析 +ZDNET CHINA 特稿: XML Schema用法 Java / C++ 代码生成器,这个可以从 XML Schemas 文档中生成Java/C++ 代码。...

    XML实用大全----xml详细参考书

    3.1.3 将XML文件装入Web浏览器... 35 .2 考察简单的XML文档... 37 3.3 赋于XML标记以意义... 39 .4 为XML文档编写样式单... 40 .5 将样式单附加到XML文档上... 41 3.6 本章小结... 43 第4章 数据的结构化... ...

    altova-xmlspy-enterprise-2010-v12-3

    它提供了世界领先的XML编辑器,在原图形架构设计师,一个代码生成器,文件转换器,调试器,分析器,完整的数据库集成,支持WSDL,SOAP,XSLT,XPath,XQuery,XBRL,Open XML文档,加上视觉Studio和Eclipse插件,...

    JavaScript完全自学宝典 源代码

    13.4.xsl 使用XSLT实现“Hello World”的XSLT文件。 13.5.html 内嵌的XML数据岛。 13.6.html 外嵌的XML数据岛。 13.7.html 在HTML中显示XML数据。 13.8.html JavaScript操作XML数据岛。 13.9....

    Java核心技术II(第8版)

    2.7.1 使用StAX写出XML文档 2.8 XSL转换 第三章 网络 3.1 连接到服务器 3.1.1 套接字超时 3.1.2 因特网地址 3.2 实现服务器 3.2.1 为多个客户端服务 3.2.2 半关闭 3.3 可中断套接字 3.4 发送E-Mail 3.5 建立URL连接...

    fop生成PDF

    本例采用FOP根据xsl模板将xml格式数据转化为PDF文档,支持中文

    Java数据库编程宝典3

    目录 前言 第1部分 介绍数据库、SQL和JDBC 第1章 关系型数据库 1.1 理解关系型数据库管理系统 1.1.1 关系模型 1.1.2 Codd法则 1.1.3 表、行、列和关键字 ... 17.3 使用Java XML API——Xerces和JDOM ...

    AltovaXMLSpy2006

    Java / C++ 代码生成器,这个可以从 XML Schemas 文档中生成 Java/C++ 代码。 集成 Tamino, Tamino 产品是世界第一套以纯粹且标准的XML格式进行资料储存于抓取的信息服务器,一个能够将企业资料转换为Internet...

    O r a c l e与X M L

    书中许多例子使用了Java,通过使用组件的命令行接口和简单的可以编辑XML、XSL、XSQL文件的文本编辑器,就可以试验XML的大量功能。怎样使用本书不必按顺序阅读本书。本书的第1、2章是XML和Oracle的XML技术的介绍性...

    猛犸代码助手V3.6

    使用XML+XSL技术,利用模板插件机制,根据不同的项目模板可以生成ASP、PHP、C#、JAVA、Silverght、VC++MFC项目,生成项目完整,代码规范、易读易改, 能够直接运行或者用开发环境编译运行。绿色免费软件,免安装无...

Global site tag (gtag.js) - Google Analytics