XSLT客户端转换不提供textarea值

时间:2011-11-10 06:43:37

标签: asp.net xml xslt xhtml

我正在进行客户端转型。我想使用XSLT从XML中获取值并将其作为默认文本放在textarea中,它不起作用。 我有一个名为AddNewBlog.aspx的文件,它实际上是一个XML文件。它包含一个名为AddNewBlogXSL.aspx的文件,它为客户端转换提供XSL。

在AddNewBlogXSL.aspx我有

<label for="Oohrl" id="OohrlLabel">Oohrl:</label>
<input name="ctl00$RightColumn$Oohrl" 
type="text" value="{/oohru/form/oohrl}" 
id="Oohrl" class="textEntry"/>
<br/>
<div id="validateOohrl"/>
    <label for="Description" id="DescriptionLabel">Description:</label>
    <textarea name="ctl00$RightColumn$Description" 
    rows="4" cols="50" id="Description">
        {/oohru/form/desc}
    </textarea>

如果有帮助,这里是XSL文件的标题信息

<xsl:stylesheet version="1.0"><xsl:strip-space elements="*"/><!--  
Type Num
1=want
2=have
3=sell
--><xsl:output method="html" indent="yes" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"/><xsl:template match="/">

我的XML有这个

<oohru>
    <form>
        <desc>asdf</desc>
        <title>a</title>
        <oohrl>jordie</oohrl>
    </form>
</oohru>

标题为

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="AddNewBlogXSL.aspx"?>

oohrl最终填充为正确值但是对于desc我只是得到“{/ oohru / form / desc}”

该构造似乎只是文本区域的问题

更新:这似乎只是asp.net文本区域控件的问题......

    <asp:TextBox id="Description" TextMode="MultiLine" 
Columns="50" Rows="4" runat="server" 
ClientIDMode="Static"><xsl:value-of select="/oohru/form/desc" />
    </asp:TextBox>

放置文字值

<xsl:value-of select="/oohru/form/desc" />

进入页面上的框

,而

<textarea rows="5" cols="5"><xsl:value-of select="/oohru/form/desc" /></textarea>

将实际正确的值放入文本区域....

1 个答案:

答案 0 :(得分:0)

我能想到的最常见的情况是

  1. 您实际上并未通过XSLT处理器运行它。我要去 假设你有!
  2. 您错误地声明了XSLT名称空间。使 确保你的顶部有这样的东西 样式表:

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

  3. 请记住,前缀只是命名空间本身的表示。该命名空间名称必须完全,正如我上面提供的那样。