我知道这个问题听起来像是“从过去”的事情,但我需要做一个功课,我不能让它工作.
问题如下:
我有从数据库调用的xml数据,我使用xslt在浏览器上呈现xforms文档,顺便说一下它的旧firefox 3.6只是为了使用xforms扩展而安装的.
它正确呈现xforms文档,但控件无法正常工作,我无法提交表单,实例数据也没有填入输入.
我的xsl样式表如下:
- <xsl:stylesheet version="1.0"
- xmlns="http://www.w3.org/1999/xhtml"
- xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:xf="http://www.w3.org/2002/xforms">
- <xsl:output method="xml"
- indent="yes"
- omit-xml-declaration="yes"
- media-type="application/xhtml+xml"
- doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
- doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" />
- <xsl:template match="/">
- <html xmlns="http://www.w3.org/1999/xhtml" xmlns:xf="http://www.w3.org/2002/xforms" dir="ltr" lang="es">
- <head>
- <xf:model>
- <xf:instance>
- <data xmlns="">
- <iCargo_Id>1</iCargo_Id>
- <sCargo_Desc>lalala</sCargo_Desc>
- <iConcurrencia_Id>1</iConcurrencia_Id>
- </data>
- </xf:instance>
- <xf:submission id="prueba" action="EditarCargos.aspx" method="post"/>
- </xf:model>
- <link href="../css/style.css" rel="stylesheet" type="text/css" />
- <title><![CDATA[Adicionar Cargos]]></title>
- </head>
- <body>
- <div class="header"></div>
- <div class="menu">
- <a href="../empleados/editarempleados.aspx"><![CDATA[Empleados]]></a>
- <a href="../horarios/editarhorarios.aspx"><![CDATA[Horarios]]></a>
- <a href="../jornadas/editarjornadas.aspx"><![CDATA[Jornadas]]></a>
- <a href="../cargos/editarcargos.aspx"><![CDATA[Cargos]]></a>
- <a href="../usuarios/editarusuarios.aspx"><![CDATA[Usuarios]]></a>
- <a href="../profesiones/editarprofesiones.aspx"><![CDATA[Profesiones]]></a>
- <a href="../reportes/ReporteMarcaciones.aspx"><![CDATA[Rep. de Marcaciones]]></a>
- <a href="../cerrarSesion.aspx"><![CDATA[Cerrar Sesión]]></a>
- </div>
- <div id="main">
- <div class="mainTitle">
- <![CDATA[Adicionar Cargos]]>
- </div>
- <div>
- <xf:input ref="sCargo_Desc">
- <xf:label><![CDATA[Cargo]]></xf:label>
- </xf:input>
- <div>
- <xf:submit submission="prueba">
- <xf:label><![CDATA[Guardar Cambios]]></xf:label>
- </xf:submit>
- </div>
- </div>
- <div>
- <a class="cmdSecond" href="EditarCargos.aspx"><![CDATA[Volver]]></a>
- </div>
- </div>
- </body>
- </html>
- </xsl:template>
- <xsl:template match="cargo[iCargo_Id]">
- <iCargo_Id>
- <xsl:value-of select="iCargo_Id"/>
- </iCargo_Id>
- <sCargo_Desc>
- <xsl:value-of select="sCargo_Desc"/>
- </sCargo_Desc>
- <iConcurrencia_Id>
- <xsl:value-of select="iConcurrencia_Id"/>
- </iConcurrencia_Id>
- </xsl:template>
- <xsl:template match="cargo[not(iCargo_Id)]">
- <iCargo_Id></iCargo_Id>
- <sCargo_Desc></sCargo_Desc>
- <iConcurrencia_Id></iConcurrencia_Id>
- </xsl:template>
- </xsl:stylesheet>
我的xml代码如下所示:
- <cargo>
- <iCargo_Id>1</iCargo_Id>
- <sCargo_Desc>Jefe de Sistemas</sCargo_Desc>
- <iConcurrencia_Id>1</iConcurrencia_Id>
- </cargo>
我认为问题是< xsl:output method =“xml”属性
,因为xforms需要xhtml来渲染,但是当我创建它时,firefox会抛出一个XSLT异常.
请帮忙!我到处搜索,我发现它有一些与firefox中的bug有关但我希望有另一种方法可以使这项工作,你的帮助将非常感激和抱歉我的英语,我正在学习:D