我做了一个单一的任务而且不能(在我的生活中)在网上找到关于“xslt-param”xml处理指令的任何信息。有关于“xsl:param”的信息,但它不是一回事。
基本上我在客户端有一个我要转换成html的xml文档。我的作业要求我使用“xslt-param”将值发送到样式表,如下所示:
<?xml version="1.0"?>
<?xml-stylesheet href="http://blah/assign/pass.xsl" type="text/xsl"?>
<?xslt-param name="user_entry" select="superman"?>
<root>
content
</root>
样式表会像这样收到:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="user_entry"/>
<xsl:template match="/">
<html>
<head>
<meta charset = "UTF-8" />
<title>Assignment</title>
</head>
<body bgcolor="orange">
<H3> RESULT...</H3>
<p>
HOWDY.
You entered <xsl:value-of select="$user_entry" />
</p>
<!--xsl:apply-templates/-->
</body>
</html>
</xsl:template>
</xsl:stylesheet>
这些东西大部分都在工作......
我无法在线(或从我的主管)找到有关使用CORRECT TECHNIQUE的任何信息 “XSLT-PARAM”
它几乎就像这种技术并不存在。有人知道吗?
我知道这种方法可能永远不会在现实世界中使用。但我得完成任务。
有没有人知道“xslt-param”是通过教程/官方指定记录/解释的?
由于
答案 0 :(得分:2)
据我所知,Mozilla浏览器支持处理指令xslt-param
,有关文档,请参阅https://developer.mozilla.org/en-US/docs/XSLT/PI_Parameters。
我不确定其他浏览器是否支持。
因此,对于您的示例<?xslt-param name="user_entry" select="superman"?>
,我认为您要么<?xslt-param name="user_entry" value="superman"?>
(您在其中指定字符串值superman
),要么您想要使用带有select
的XPath表达式<?xslt-param name="user_entry" select="//superman"?>
会在XML输入文档中选择名为superman
的元素,或者<?xslt-param name="user_entry" select="'superman'"?>
将字符串值superman
指定给参数的方式不同。
原始样本<?xslt-param name="user_entry" select="superman"?>
没有多大意义,因为它会选择名为superman
的元素作为输入文档的根元素;但是您的输入样本有一个名为root
的根元素。