Xml 到 XSLT:获取属性值等等
Posted
技术标签:
【中文标题】Xml 到 XSLT:获取属性值等等【英文标题】:Xml to XSLT: getting attributes value and so on 【发布时间】:2021-12-20 04:24:36 【问题描述】:我有这个 xml 文件:
<?xml version="1.0" encoding="UTF-8"?>
<interface id="RESTInterface">
.....
<abstract_method name="authenticateUser">
<access>public</access>
<parameters>
<argument type="String">account</argument>
<argument type="String">password</argument>
</parameters>
<throws>
<exception>RemoteException</exception>
<exception>SecurityException</exception>
</throws>
<return>boolean</return>
</abstract_method>
<abstract_method name="verifyUser">
<access>public</access>
<parameters>
<argument type="aURL">link</argument>
</parameters>
<return>void</return>
</abstract_method>
</interface>
我正在尝试创建一个 xslt 样式表来创建这个结果:
【问题讨论】:
你应该展示一个尝试等等。 【参考方案1】:你可以像这样开始。 (我假设您可能仅限于 XSLT 1.0)
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output method="html" doctype-public="-//W3C//DTD HTML 4.0 Transitional//EN" doctype-system="_http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
<xsl:template match="/">
<html>
<body>
<xsl:apply-templates select="interface"></xsl:apply-templates>
</body>
</html>
</xsl:template>
<xsl:template match="interface">
<h1><xsl:value-of select="@id"/></h1>
<table>
<thead>
<tr>
<td>Operation</td>
<td>Argument(s)</td>
<td>Return</td>
<td>Exception</td>
</tr>
</thead>
<xsl:apply-templates select="abstract_method"></xsl:apply-templates>
</table>
</xsl:template>
<xsl:template match="abstract_method">
<tr>
<td><xsl:value-of select="@name"/></td>
<td><p><xsl:apply-templates select="./parameters/argument"></xsl:apply-templates></p></td>
<td><p><xsl:value-of select="./return/text()"/></p></td>
<td><p><xsl:choose>
<xsl:when test="count(./throws/exception) > 0">Yes</xsl:when>
<xsl:otherwise>No</xsl:otherwise>
</xsl:choose></p></td>
</tr>
</xsl:template>
<xsl:template match="argument">
<span><xsl:value-of select="./text()"/>: <xsl:value-of select="@type"/>
<xsl:if test="following-sibling::argument">, </xsl:if></span>
</xsl:template>
</xsl:stylesheet>
【讨论】:
以上是关于Xml 到 XSLT:获取属性值等等的主要内容,如果未能解决你的问题,请参考以下文章