我知道这个问题听起来像是“从过去”的事情,但我需要做一个功课,我不能让它工作.
问题如下:
我有从数据库调用的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