关于xsl:exclude-result-prefixes的几点疑问

iyiduhsoad 2003-08-05 09:33:24
按照介绍:这是一个名称空间列表,在此中以空格分开的
名称空间前缀将不再在结果树中输出。
如我一个简单的例子
<?xml version="1.0"?>
<xsl:stylesheet
xsl:exclude-result-prefixes="ss"
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:style="http://style"
xmlns:ss="http://ss"
xmlns="ssss">
<xsl:template match="/">
<foo1 xsl:exclude-result-prefixes="style ss #default" ss:hl="ss"/>
</xsl:template>
</xsl:stylesheet>

结果集是:
<foo1 xmlns="ssss" xmlns:ss="http://ss" ss:hl="ss"/>
明显的是foo1中的"style ss #default"其中的style,ss都起作用了。
而xmlns="ssss"依然存在,
即#default没起作用,为什么呢??
另一点:
可以在xsl:stylesheet中使用xsl:exclude-result-prefixes,
但有什么用呢?在何时起作用呢??

那位能提供解释的实例,或进行探讨。
btw:不要纯英文呀,我看了
http://www.w3.org/TR/xslt#literal-result-element
半天不是很清楚,而且它好像解释的也不是很清楚。。



...全文
415 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
iyiduhsoad 2003-08-07
  • 打赏
  • 举报
回复
我用的是xmlspy,结果确实如此,奇怪,
莫非因为我用的是 D版.....?
^_^ ^_^
saucer 2003-08-07
  • 打赏
  • 举报
回复
not possible, something is wrong with your XSLT processor, on .NET, I got this back:


<aa:foo1 bb:hl="ss" xmlns:bb="http://bb" xmlns:aa="http://aa" />
iyiduhsoad 2003-08-07
  • 打赏
  • 举报
回复
saucer再帮看一下,
如果不是很确认,我也可以结帖了,以后再说。。
saucer 2003-08-06
  • 打赏
  • 举报
回复
>>>>即#default没起作用,为什么呢??

because when you use xmlns="ssss", "foo1" belongs to the "ssss" namespace:

<xsl:stylesheet xmlns="ssss">
<xsl:template match="/">
<foo1 ....>

if XSLT removes "ssss", where should "foo1" go?

>>>>可以在xsl:stylesheet中使用xsl:exclude-result-prefixes,

it is used to remove unnecessary namespace
saucer 2003-08-06
  • 打赏
  • 举报
回复
>>>>but why i can remove "ss"?

are you kidding? this is your output:
<foo1 xmlns="ssss" xmlns:ss="http://ss" ss:hl="ss"/>

"ss" is still there

see
Namespaces and XSLT Stylesheets
http://www.xml.com/pub/a/2001/04/04/trxml/
saucer 2003-08-06
  • 打赏
  • 举报
回复
>>>>but why i can remove "ss"?

are you kidding? this is your output:
<foo1 xmlns="ssss" xmlns:ss="http://ss" ss:hl="ss"/>

"ss" is still there

see
Namespaces and XSLT Stylesheets
http://www.xml.com/pub/a/2001/04/04/trxml/
iyiduhsoad 2003-08-06
  • 打赏
  • 举报
回复
first:
yes,you are right.i can't remove "ssss",because fool.
but why i can remove "ss"?--h1 belongs to "ss" too.
that's the difference between element and attribute?
maybe because the namespace of the element influences
the descendant,so it must be declared?
can you explain it?



second:
i can't understand,can you give me an example?


thanks.
iyiduhsoad 2003-08-06
  • 打赏
  • 举报
回复
maybe i made the wrong result-set
let's look at this example:

xslt:

<?xml version="1.0"?>
<xsl:stylesheet
exclude-result-prefixes="aa bb"
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:aa="http://aa"
xmlns:bb="http://bb">
<xsl:template match="/">
<aa:foo1 bb:hl="ss"/>
</xsl:template>
</xsl:stylesheet>

result-set:

<?xml version="1.0" encoding="UTF-8"?><aa:foo1 xmlns:aa="http://aa" bb:hl="ss"/>

you see,namespace aa is still here,but bb disappears.
can you explain it??



about the second question,thanks you,i found my wrong.
it should be "exclude-result-prefixes" not "xsl:exclude-result-prefixes"
in the <xsl:stylesheet>
动易标签说明 信息概览 调用范例 参数细目 查询语句 转换模板 附加信息 图片一列式栏目上下循环 标签名称: 图片一列式栏目上下循环 调用标签名: {PE.Label id="图片一列式栏目上下循环"/} 数据源调用标签名: {PE.DataSource id="cone" datasource="图片一列式栏目上下循环" /} 标签分类: 栏目类 标签文件大小: 3K 更新时间: 2010/3/29 9:36:04 解析方式: 简单XSLT解析 数据设置: 系统数据库SQL查询 官方版本: 3.5.0.0 兼容版本: 3.5.0.0 是否具有分页功能: 否 是否启用XSLT查询: 否 是否启用XSLT统计: 否 是否允许Ajax访问: 否 标签说明: 图片一列式栏目上下循环 调用说明: ·分页需要开启参数usePage="true"。 ·双击可以直接复制调用代码至剪贴板。 ·绑定样式系列的查询标签分页标签数据源为 当前调用的标签+_+样式标签。 ·部分列表类标签支持节点配置托管,每页的分页数量可由节点配置。 ·移除和默认值相等的参数将会提升性能;不需要改变默认值的参数就尽量不要调用它。 普通调用方法: {PE.Label id="图片一列式栏目上下循环" outputQty="10" parentId="2" titleLength="60" hits="0" eliteLevel="0" linkOpenType="2" /} 分页调用方法: 该标签不具备分页功能 数据源调用方法: {PE.DataSource id="cone" datasource="图片一列式栏目上下循环" outputQty="10" parentId="2" titleLength="60" hits="0" eliteLevel="0" linkOpenType="2" /} 属性 参数类型 默认值 可用值 变量值 参数说明 outputQty - 10 自定义值 - 输出的项目数量,如果开启分页,则此参数为分页大小值 parentId - 2 自定义值,支持数组 @RequestInt_Id 父栏目ID titleLength - 60 自定义值 - 项目标题长度,一个汉字占两个字节 hits - 0 自定义值 - 点击数大于等于指定值的项目 eliteLevel - 0 自定义值 - 推荐级大于等于指定值的项目 linkOpenType - 2 自定义值 - 内容链接的打开方式{栏目节点配置取代:2,新窗口:1,原窗口:0} 查询语句: view sourceprint?1.SELECT TOP @pagesize * FROM PE_Nodes N WHERE N.NodeID NOT IN (SELECT TOP @startrow [IN].NodeID FROM PE_Nodes [IN] WHERE [IN].ParentID = @parentId AND [IN].ShowOnList_Parent = 1 AND [IN].PurviewType != 3 ORDER BY [IN].OrderID) AND N.ParentID = @parentId AND N.ShowOnList_Parent = 1 AND N.PurviewType != 3 ORDER BY N.OrderID 统计语句: view sourceprint?1.SELECT COUNT ([IN].NodeID) FROM PE_Nodes [IN] WHERE [IN].ParentID = @parentId AND [IN].ShowOnList_Parent = 1 AND [IN].PurviewType != 3 分页语句: view sourceprint?1.还没有相关数据! 转换模板内容: view sourceprint?01. 02.<XSL:TRANSFORM exclude-result-prefixes="pe" xmlns:pe="labelproc" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> 03. <XSL:OUTPUT method="html" /> 04. <XSL:PARAM name="outputQty" /> 05. <XSL:PARAM name="parentId" /> 06. <XSL:PARAM name="titleLength" /> 07. <XSL:PARAM name="hits" /> 08. <XSL:PARAM name="eliteLevel" /> 09. <XSL:PARAM name="linkOpenType" /> 10. <XSL:TEMPLATE match="/"> 11. <XSL:FOR-EACH select="/NewDataSet/Table"> 12.
13.
14.
15. 29.
30.
31.
    {PE.DataSource id="InfoList<XSL:VALUE-OF select="NodeID" />" datasource="图片栏目循环列表信息" nodeArray="<XSL:VALUE-OF select="arrChildID" />" parentId="<XSL:VALUE-OF select="$parentId" />" outputQty="<XSL:VALUE-OF select="$outputQty" />" hits="<XSL:VALUE-OF select="$hits" />" eliteLevel="<XSL:VALUE-OF select="$eliteLevel" />" linkOpenType="<XSL:VALUE-OF select="$linkOpenType" />" xslt="true" /} 32.{PE.Repeat id="InfoList<XSL:VALUE-OF select="NodeID" />" loop="10"} 33.
  • 34.{PE.field id="InfoList<XSL:VALUE-OF select="NodeID" />" fieldname="DefaultPicUrl" /} 35.
    36.{PE.field id="InfoList<XSL:VALUE-OF select="NodeID" />" fieldname="InfoPath" /} 37. 38.{/PE.Repeat} 39.
40.
41.
42.
43.
44.
45. XSL:FOR-EACH> 46. XSL:TEMPLATE> 47.XSL:TRANSFORM> 附加说明: - 注意事项: - 使用说明: - 更新日志: - 相关链接: -

8,907

社区成员

发帖
与我相关
我的任务
社区描述
XML/XSL相关问题讨论专区
社区管理员
  • XML/XSL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧