This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Tag Replacement
- From: Greg Gerou <GGerou at sandcherry dot com>
- To: "'XSL-List at lists dot mulberrytech dot com'" <XSL-List at lists dot mulberrytech dot com>
- Date: Thu, 14 Feb 2002 16:43:20 -0700
- Subject: [xsl] Tag Replacement
- Reply-to: xsl-list at lists dot mulberrytech dot com
Hi,
I'm attempting to use XSL to do the following:
Input document:
<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN"
"http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<card id="welcome" title="Welcome">
<p><strong>Welcome to this WAP page!</strong></p>
<a href="products.wml">Products</a>
<p><a href="links.wml"><small>Links</small></a></p>
</card>
</wml>
Output document:
<?xml version="1.0" encoding="UTF-8"?>
<vxml>
<form id="welcome">
<field>
<prompt>Welcome to this WAP page!
<voice gender="female">Products</voice>
<voice gender="female">Links</voice></prompt>
</field>
</form>
</vxml>
In other words, I'm attempting to strip all the displayed text from the
original document and display it in the transformed document, but each
anchor tag ("<a...") is replaced by a <voice> tag. The following XSL will do
all this, except handle the anchor cases (it will ouput the above "output
document" without the voice tags):
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8"
indent="yes"/>
<xsl:template match="/">
<vxml version="1.0">
<xsl:for-each select="*/card">
<form id="{@id}">
<field>
<xsl:for-each select="*">
<xsl:value-of select="."/>
</xsl:for-each>
</field>
</form>
</xsl:for-each>
</vxml>
</xsl:template>
</xsl:template>
</xsl:stylesheet>
What changes are necessary to get it to work in the desired fashion? Thanks
in advance!
Greg Gerou
ggerou@sandcherry.com
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list