自动生成XSLT - 通用/默认XSLT

问题描述 投票:-1回答:1

这应该不是很复杂,但我在互联网上搜索并找不到这样的工具。

此工具应采用XML或XSD文件并生成XSLT。将此XSLT应用于XML时,结果是用户友好的HTML页面。

然后开发人员接受程序生成的XSLT并根据他的要求进行必要的调整。

对于大型XML文件而言,这些好处是显而易见的,您可以使用“默认”开始处理,而不是从头开始查找3000行XML文档。

xml xslt xsd transformation generate
1个回答
0
投票

从“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>

你可以玩任何东西,首先你可能想要不同的属性渲染,然后你的知名元素等。

© www.soinside.com 2019 - 2024. All rights reserved.