自动生成XSLT - 通用/默认XSLT
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动生成XSLT - 通用/默认XSLT相关的知识,希望对你有一定的参考价值。
这应该不是很复杂,但我在互联网上搜索并找不到这样的工具。
此工具应采用XML或XSD文件并生成XSLT。将此XSLT应用于XML时,结果是用户友好的html页面。
然后开发人员接受程序生成的XSLT并根据他的要求进行必要的调整。
对于大型XML文件而言,这些好处是显而易见的,您可以使用“默认”开始处理,而不是从头开始查找3000行XML文档。
答案
从“XSLT身份转换”开始可能是最简单的,它的原始形式如下所示:
<xsl:stylesheet version="3.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
它基本上创建了XML文件的深层副本,因此它不是很有趣,但是它允许你在此期间装饰某些元素。
根据您希望初始HTML的样子,您可以通过添加特定模板来修饰它,或者更改核心递归模板来生成,比如说,嵌套的<div>
元素......或者<ul>
/ <li>
等等。
这可以是一个简单的开始:
<xsl:stylesheet version="3.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<ul>
<xsl:apply-templates select="*"/>
</ul>
</xsl:template>
<xsl:template match="@*|node()">
<li>
<xsl:value-of select="local-name()"/>
<xsl:if test="*">
<ul>
<xsl:apply-templates select="@*|node()"/>
</ul>
</xsl:if>
</li>
</xsl:template>
</xsl:stylesheet>
你可以玩任何东西,首先你可能想要不同的属性渲染,然后你的知名元素等。
以上是关于自动生成XSLT - 通用/默认XSLT的主要内容,如果未能解决你的问题,请参考以下文章