XSLT:测试是否在菜单中“单击”了父项,子项或同级项
|
大家好:我正在尝试使用XSL在网页上创建菜单。当我单击任一项的父项时,我希望从菜单XML中选择菜单\'Item \'节点的特定子集; (b)其中一项的直接后代;或(c)自我或同级物品。我不知道该怎么做。代码片段位于http://pastie.org/2072445
哦,因为我正在使用PHP解析器,所以它必须是XSLT 1.0。
没有找到相关结果
已邀请:
2 个回复
磐乓铝举
厘恼轨
由于您尚未发布任何周围的XSLT,因此我们无法知道此处的上下文项。例如,您要遍历所有项目元素吗?换句话说,当上面的注释说“我的祖先项”,“我的兄弟姐妹”等时,我们不知道什么节点是“我”。 然后,在使用上下文节点测试与该上下文节点的祖先/后代/兄弟姐妹相关的条件之后,您可以将模板应用于与该上下文节点无关的子菜单元素。 我真的很难弄清楚您要做什么。在示例代码中,您正在将模板应用于
元素;但是您在注释中说要选择
个元素。 在对@Michael的评论中,您说过“我需要xslt返回属于submenu [@id = 1010]子级的节点集”。为此,代码将是
(我假设您只关心元素子元素,而不关心(空格)文本节点。)这将给$ childNodes一个节点集,该节点集由四个ID为1016、1017、1019、1020的4个元素组成。