草庐IT

xsl-variable

全部标签

xml - <xsl :apply-templates/> and <xsl:apply-templates select ="."/> 有什么区别

之间有什么区别?和.我认为select="."没有必要,但根据我使用的不同,我得到了不同的结果。抱歉,如果这是重复的。我曾尝试搜索此问题,但找不到任何内容。 最佳答案 Whatisthedifferencebetweenand第一条指令:是的简写:第二条指令:是以下内容的简写:我们看到,不仅这两个指令不同(前者对所有子节点应用模板,后者对当前节点应用模板),但后者是危险的并且经常会导致死循环! 关于xml-and有什么区别,我们在StackOverflow上找到一个类似的问题:

xml - 使用 xsl 变量为我捕获返回空白的调用模板的输出

我看过很多帖子都做这样的事情,这让我觉得这是可能的,我只是做错了什么。我已尽可能简化它以尝试找出发生这种情况的原因:这是我的xml(没什么特别的):这是我的xsl:这是我的结果:这是我的问题:为什么TEST2和TEST3不工作。$tryThisTemplate变量似乎是空白的。我在这里误解了什么吗?我应该以不同的方式来做这件事吗? 最佳答案 这是执行此操作的正确方法(请注意,DOE不是必需的,应该避免):当此转换应用于提供的XML文档时:产生了想要的结果:解释:复制(顾名思义)节点。输出其select中任何内容的字符串值属性。元素的

xml - 使用 XSL 将 XML 节点替换为新节点

我需要一个XSL解决方案来用新节点替换XML节点。假设我有以下现有的XML结构:AAA我想将一个标准节点替换为:BBBCCCDDD这样最终的XML结果就是:BBBCCCDDD我曾尝试使用substring-before和substring-after只复制结构的前半部分,然后只复制后半部分(以便在两半之间填充我的新节点)但看起来substring函数只识别节点标签之间的文本,而不是像我希望的那样识别标签本身。:(:(还有其他解决方案吗? 最佳答案 XSL不能替换任何东西。你能做的最好的事情就是复制你想保留的部分,然后输出你想改变的部

xml - 使用 XSL 提取 XML 文件的子集

我有这个XML文件:errorCodemsgab我希望输出为:ab我当前的XSL文件还包含我不想要的“ResponseParameters”标签。编辑:注意节点类名是动态的。我不知道这个名称在运行时会是什么。 最佳答案 使用:"//"缩写非常昂贵(导致扫描完整的XML文档),应该避免。 关于xml-使用XSL提取XML文件的子集,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/58

xml - 我可以在 xsl for-each 中使用 'and' 运算符吗?

我可以简单地在xsl中执行以下操作吗?问:当我在for-each中使用select=""时,它会改变我在for-each中使用的代码的选择器范围吗? 最佳答案 您可以在for-each循环中使用“and”,但不能按照您提到的方式使用(不确定您到底想要实现什么)我假设你的要求是1)你想遍历Trip,它的两个子实体都是(instanceandresult)notnull,在这种情况下你必须这样写..如果instance和result中的任何一个为null,那么你的循环不会进入该元素,即trip。2)您想遍历父级trip中的每个insta

xml - 使用 XSL 对 XML 文件进行哈希处理

我正在尝试找到一种“散列”XML文件内容的方法。其根源是需要比较一些传递到我期望的文本节点的文本节点,以确保校验和相同。传入的文本节点已从表单提交返回,我需要确保它们没有被更改(在合理范围内,排除冲突)。架构很糟糕,所以请不要问它!我被锁定在给定的共享点实现中,其中包含一些我需要解决的非常糟糕的自定义代码。是否有可以实现的性能良好的校验和/哈希函数?我需要检查大约100个文本节点。 最佳答案 听起来你需要一个position-dependentchecksum.您是要XSLT实现还是只要求算法?这是一个implementationo

xml - 在 XSL 翻译中更改 XML 文件的 namespace

所以我有一个输入文件在默认命名空间(xmlns="companyURL")中使用我公司的命名空间,但我希望我的输出文件使用默认命名空间以外的其他名称(xmlns:cmp="公司网址")。所以我使用cmp命名空间构建我的文件,但我想复制一些内部元素:不幸的是,它所做的是为每个内部元素定义默认namespace,从而使文件非常冗长和丑陋。简化示例:来源:asdfghjkl变成:asdfghjkl当然,companyURL又大又长又丑,而且两个地方都一样,所以我更希望上面的结果只是下面这样:asdfghjkl有没有一种简单的方法可以做到这一点,或者我应该将cmp命名空间下的所有内容转换为默认

.net - xsl :template match doesn't find matches

我正在尝试使用.NETXslCompiledTransform将一些Xaml转换为HTML,但在让xslt匹配Xaml标记时遇到了困难。例如,使用此Xaml输入:a还有这个xslt:我得到这个输出:a而不是预期的:a这会不会是命名空间的问题?这是我第一次尝试xsl转换,所以我很茫然。 最佳答案 是的,这是命名空间的问题。输入文档中的所有元素都在命名空间http://schemas.microsoft.com/winfx/2006/xaml/presentation中。您的模板正在尝试匹配默认命名空间中的元素,但未找到任何元素。您需要

xml - 如何使用 <xsl :if> 检查 xml 节点名称

我有一个这样的xml文件。现在在我的xsl中,我必须检查标签是否为或并生成基于该结果的标记。我可以使用做些什么吗??喜欢'> 最佳答案 但是,还有其他可能更好的方法:一个是对这个item使用一个模板;如果您想以这种方式查看,XSLT引擎将自动执行测试。另一种是使用self::轴 关于xml-如何使用检查xml节点名称,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/14995732

xml - XSL - 如何禁用属性的输出转义?

我有以下标签:...其中一个文件名为"File'sgotapostrophe.xml".XSL的输出是:...问题是撇号被HTML转义(两次?)到&#39;中,这会断开链接。我也试过使用,结果相同:输出效果很好——未转义的值打印在页面上。如何在不转义字符串的情况下设置属性? 最佳答案 您可以将生成为文本:<ahref="">/a< 关于xml-XSL-如何禁用属性的输出转义?,我们在StackOverflow上找到一个类似的问题: h