0
<xsl:value-of select="jobpageno"/>

以上代码没有错误,可以成功运行并显示页面。

但是,下面的代码出现错误,删除 &PageNo={@jobpageno} 后,显示成功。

<a href="http://www.hello.com/description.aspx?ID={@id}&PageNo={@jobpageno}" target="_top">

这个包含这个参数的链接有什么问题

解析 EntityName 时出错。第 58 行,位置 103

它应该显示 hello.com/description.aspx?ID=753561&PageNo=1

<a href="http://www.hello.com/description.aspx?ID={@id}&PageNo={jobpageno}" target="_top">

也有错误

pageno 只是元素之一

<jobresults jobcount='1'>
<header1><![CDATA[ IT Jobs]]></header1>
<header2><![CDATA[1 Results for ' IT' in Asia]]></header2>
<entity id='753561' index='1'>
<position><![CDATA[Ecommerce Project Manager]]></position>
<jobCountry><![CDATA[Singapore]]></jobCountry>
<posteddate><![CDATA[January 2013]]></posteddate>
<JobDefaultRole><![CDATA[Contract]]></JobDefaultRole>
<jobTypeDesc><![CDATA[Jobs In IT]]></jobTypeDesc>
<jobDetails><![CDATA[ Ecommerce Project Manager Client Description Our  ...]]></jobDetails>
<jobpageno><![CDATA[1]]></jobpageno>
</entity>
</jobresults>


 <xsl:for-each select="jobresults/entity">
              <xsl:choose>
                <xsl:when test="position() mod 2 = 0">
                  <tr class="odd">
                    <td>
                      <a href="http://www.hello.com/job-description.aspx?jobID={@id}&jobPageNo={@jobpageno}" target="_top">
                        <xsl:value-of select="position"/>
                        <xsl:value-of select="jobpageno"/>
                      </a>
                    </td>
4

2 回答 2

2

XSLT 文件必须是格式正确的 XML,因此您需要转义&

<a href="http://www.hello.com/description.aspx?ID={@id}&amp;PageNo={jobpageno}" target="_top">

您看到的实际错误消息是因为解析器将&PageNo其视为实体引用的开始,但随后找不到终止分号。

于 2013-03-18T08:58:51.767 回答
1

这可能只是您的问题中的一个错字,但在您的第一个 XSLT 示例中您使用pageno,这意味着它是一个元素,但在您的第二个 XSLT 示例中您使用@pageno,这意味着它正在寻找一个属性。

也许你的意思是这样做:

 <a href="http://www.hello.com/description.aspx?ID={@id}&PageNo={pageno}" target="_top">

请注意,XSLT 示例的语法实际上并没有错。如果你引用了一个不存在的属性,它只会被输出为一个空白,而所有的情况都是 href 属性不会像你期望的那样完整。

编辑:通过查看您修改后的问题,既没有一个属性也没有一个名为pageno的元素。也许您的意思是使用jobpageno

 <a href="http://www.hello.com/description.aspx?ID={@id}&PageNo={jobpageno}" target="_top">
于 2013-03-18T08:17:45.163 回答