English 中文(简体)
使用 XSLT 将 XML 转换为 VXML
原标题:Conversion of XML to VXML using XSLT
  • 时间:2012-05-22 16:08:47
  •  标签:
  • xml
  • xslt

I am new to XML and its related languages. I am trying to do a project related to voiceXML. Where I need to convert XML document to VoiceXML document using XSLT. I tried to convert following XML file using xslt. But I am getting an output as: "I am here I am not here I am here I am not here " Can you please help me sort this out?

提前感谢您

XML 文件= "我的Proj.xml"

<?xml version="1.0" encoding="UTF-8" ?>

<?xml-stylesheet type="text/xsl" href="myProj_xsl.xsl"?>


<myProjtag>
<prompt>
    I am here
</prompt>
<prompt>
    I am not here
</prompt>
</myProjtag>

XSLT 文件="我的Proj_xsl.xsl"

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
    <vxml version="2.0" lang="en">
        <form id="myProj">
            <prompt>
                <xsl:value-of select="."/>
            </prompt>
            <prompt>
                <xsl:value-of select="."/>
            </prompt>
        </form>
    </vxml>
</xsl:template> 

</xsl:stylesheet>
最佳回答

您试图通过在网络浏览器中打开 XML 来处理转换吗?

如果您是,您看到的是浏览器试图在变换完成后实现输出。由于浏览器不知道如何显示 vxml, 您只看到文本节点 。

我建议您使用 XSLT 处理器。 我建议您使用 < a href=" "http://saxon. sourceforge.net/" rel="not follown norefererr" > Saxon 。 撒克逊- HE 将非常适合启动您。 文件应该很容易地让您从命令行进行变换 。

我添加了另一个您可以使用的 XSLT 1.0 示例。 最重要的部分是身份模板。 这将不作修改地复制所有节点( 文本/ 元素/ comments/ 处理指令) 和属性 。 如果您需要推翻身份模板, 请添加新的模板 。

此外,我偷走了Franci Avilas id creations,但用了一个