-- 作者:qnjian
-- 发布时间:7/1/2008 10:58:00 AM
-- 关于Xsl控制title提示的问题,急!
1.XML文件类似下面: <?xml version="1.0" encoding="ISO-8859-1"?> <?xml-stylesheet type="text/xsl" href="ConfigSpace.xsl"?> <set> <feature_element code="AAAAB" description="Feature description 123" /> <feature_element code="AAAAB" description="Feature description 123" /> <feature_element code="AAAAB" description="Feature description 123" /> <feature_element code="AAAAB" description="Feature description 123" /> <feature_element code="AAAAB" description="Feature description 123" /> <feature_element code="AAAAB" description="Feature description 123" /> <feature_element code="AAAAB" description="Feature description 123" /> <feature_element code="AAAAB" description="Feature description 123" /> <feature_element code="AAAAB" description="Feature description 123" /> <feature_element code="AAAAB" description="Feature description 123" /> <feature_element code="AAAAB" description="Feature description 123" /> <feature_element code="AAAAB" description="Feature description 123" /> <feature_element code="AAAAB" description="Feature description 123" /> <feature_element code="AAAAB" description="Feature description 123" /> <feature_element code="AAAAB" description="Feature description 123" /> <feature_element code="AAAAB" description="Feature description 123" /> <feature_element code="AAAAB" description="Feature description 123" /> <feature_element code="AAAAB" description="Feature description 123" /> <feature_element code="AAAAB" description="Feature description 123" /> <feature_element code="AAAAB" description="Feature description 123" /> <feature_element code="AAAAB" description="Feature description 123" /> <feature_element code="AAAAB" description="Feature description 123" /> <feature_element code="AAAAB" description="Feature description 123" /> <feature_element code="AAAAB" description="Feature description 123" /> <feature_element code="AAAAB" description="Feature description 123" /> <feature_element code="AAAAB" description="Feature description 123" /> <feature_element code="AAAAB" description="Feature description 123" /> <feature_element code="AAAAB" description="Feature description 123" /> <feature_element code="AAAAB" description="Feature description 123" /> <feature_element code="AAAAB" description="Feature description 123" /> <feature_element code="AAAAB" description="Feature description 123" /> <feature_element code="AAAAB" description="Feature description 123" /> <feature_element code="AAAAB" description="Feature description 123" /> <feature_element code="AAAAB" description="Feature description 123" /> </set> 2.xsl 文件: <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl" xmlns="http://www.w3.org/TR/REC-html40"> <xsl:script><![CDATA[ var count = 500; //characters number limited. var flag = true; //flag to decide if show tail string //Function to return features codes and descriptions function displayFeature(featureNode) { var code = featureNode.selectSingleNode("@code"); var desc = featureNode.selectSingleNode("@description"); count -= code.text.length + desc.text.length + 5; //5: 3 spaces, 1 colon, 1 comma. if(count>=0) { return code.text + " " + ":" + " " + desc.text + ", "; } else if(flag) { flag = false; return "There are more features which cannot be displayed here."; } else { return ""; } } ]]></xsl:script> <xsl:template match="/"> <xsl:apply-templates /> </xsl:template> <xsl:template match="set"> <html> <script language="javascript"> </script> <table> <td class="feature" nowrap="nowrap" > <xsl:attribute name="colspan"><xsl:value-of select="@colspan" /></xsl:attribute> <xsl:attribute name="title" ><xsl:for-each select="feature_element" ><xsl:eval>displayFeature(this)</xsl:eval></xsl:for-each ></xsl:attribute> {...} </td> </table> </html> </xsl:template> </xsl:stylesheet> 3.解释,所要实现的是在对应的TD项,鼠标移到上面,则显示相应的title提示。但是每个feature_element都要按code+空格+冒号+空格+description+逗号的形式显示,并尽可能在屏幕上显示满一行后,再换行。从上面的脚本可以看出,它还有字符限制,显示满指定的字符数后,即加一句话There are more features which cannot be displayed here.";这个脚本是我自己实现的。目的基本到,但是: HTML TD的title属性里的内容,如果包含任一空格,就可能会自动换行,不能在屏幕显示一行后再显示。而要求显示的内容里的空格却不能去掉,另外feature_element的description属性值也可能有空格。目前我找了太多资料也没有方法控制TD的title显示方式,把字符里的空格在脚本里转换成nbsp或 等代码形式,则它会把代码在提示中原样显示,这也不是我们需要的。 哪位高手有什么别的解决方案呀?急死了。另外最好不要用复杂的脚本重新实现TD的 title. [此贴子已经被作者于2008-7-1 12:52:30编辑过]
|