您的位置:首页 > 其它

今天写的一个xslt解析xml为wml

2006-08-24 12:37 375 查看
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

<xsl:template match="/root">
<!-- Content Start -->
<wml>
<card id="show">
<xsl:attribute name="title"><xsl:value-of select="@title" /></xsl:attribute>
<p>

<br/>
<!--开始解析内容 -->
<xsl:apply-templates select="content" />
</p>
</card>
</wml>
<!-- Content End -->
</xsl:template>
<!--解析font标签 -->
<xsl:template match="font">
<xsl:element name="font">

<xsl:choose>
<xsl:when test="@size='large'">
<xsl:attribute name="size">4</xsl:attribute>
</xsl:when>
<xsl:when test="@size='normal'">
<xsl:attribute name="size">2</xsl:attribute>
</xsl:when>
<xsl:when test="@size='small'">
<xsl:attribute name="size">1</xsl:attribute>
</xsl:when>
</xsl:choose>

<xsl:attribute name="color">
<xsl:value-of select="@color"></xsl:value-of>
</xsl:attribute>

<xsl:attribute name="align">
<xsl:value-of select="@align"></xsl:value-of>
</xsl:attribute>

<xsl:value-of select="."></xsl:value-of>
</xsl:element>
</xsl:template>

<!--解析a标签 -->
<xsl:template match="a">
<xsl:element name="a">
<xsl:attribute name="href">
<xsl:choose>
<xsl:when test="substring-before(@href,':')='http'">
<xsl:value-of select="@href"></xsl:value-of>
</xsl:when>
<xsl:when test="substring-before(@href,':')='tel'">
<!--拨打电话 -->
wtai://wp/mc;<xsl:value-of select="substring-after(@href,':')"></xsl:value-of>
</xsl:when>
<xsl:otherwise> http://<xsl:value-of select="@href"></xsl:value-of>
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
<xsl:value-of select="."></xsl:value-of>
</xsl:element>
</xsl:template>

<!--解析p标签 -->
<xsl:template match="p">
<xsl:element name="p">
<xsl:attribute name="align">
<xsl:value-of select="@align"></xsl:value-of>
</xsl:attribute>
<xsl:apply-templates select="" />
</xsl:element>
</xsl:template>

<!--可扩展增加需要解析的标签 -->

</xsl:stylesheet>

部分代码
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: