草庐IT

xml - 是否有可以通过示例创建 XSLT 的 XSL 代码生成器?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭2年前。Improvethisquestion给定源XML文档和转换后的样例,是否有代码生成器可以创建XSL转换来实现这一目标。我并不期望它是完美的,但是,就像可以从示例XML创建XSD的代码生成器一样,这将是一个很好的起点,然后再进行手动优化。

<xsl :output>: Which is the better choice? 中的 xml、html 或 xhtml

由于历史原因,我们混合了和和在XSL文件的包含层次结构中。现在我们要重构所有XSL文件使用相同的输出方法。最终我们想要生成XHTML输出,所以我认为后者是最佳选择。但是这三种输出方法之间有什么区别,您会使用哪种解决方案?编辑:我正在使用XSLT2.0 最佳答案 HTML将序列化为HTML,因此输出可能不是格式正确的XML。如果您只发送给浏览器而不关心是否能够解析为XML,那么这可能适合您。XML将序列化为XML,因此输出格式正确,但使用输出的浏览器可能会遇到一些问题。小东西,比如自闭和元素。为了避免这个问题,你必须玩游戏,比如在元素

xml - 在字符串中反向查找

我需要能够找到元素中最后一次出现的字符。例如:http://www.blah.com/path/to/file/media.jpg如果我尝试使用substring-before(mediaurl,'.')和substring-after(mediaurl,'.')来定位它,那么它会,当然,匹配第一个点。我如何获得文件扩展名?本质上,我需要从这样的路径获取文件名和扩展名,但我对如何使用XSLT做到这一点感到很困惑。 最佳答案 以下是将在XSLT1.0中生成所需输出的模板示例: 关于xml-

xml - XSLT 默认变量值(如果值不存在)

我正在尝试声明一个具有默认值的变量,或者如果一个值存在于重复集中以使用新的不同值。这就是我目前所拥有的。我想要的是,如果./Plan/InvestmentStrategy/FundSplit/@FundName的任何实例“包含”LifeStyle,然后lsind“Y”,否则它会回落到默认值“N”。我这样做就好像我使用“否则最后一次出现可能会将lsind设置回N?”有什么建议吗? 最佳答案 YN应该够了 关于xml-XSLT默认变量值(如果值不存在),我们在StackOverflow上找到

xml - XSLT:更改某些属性值

我是XSLT新手,有一个简单的任务:假设我有以下XML:我想通过一次更改将XML转换为相同的XML:所有名为“attr1”的属性,无论它们在哪里都必须转换,例如“1”将是“A”,“2”将是“X”,我。e.到我怎样才能做到这一点?提前致谢! 最佳答案 可以定义字符替换和替换chars,然后使用translate.您可以使用此XSLT:12AX另一种方式:AX将匹配所有属性attr1,然后使用xsl:choose您为此属性创建了适当的值。 关于xml-XSLT:更改某些属性值,我们在Stac

xml - Xslt 如何设置条件奇数/偶数行的样式

我有一个使用xslt转换编写的html表,看起来像这样-->something-->thisisalwaysdisplayed-->something2....-->thisisalwaysdisplayed我需要一种方法来将不同的类oddRow/evenRow应用于tr元素。or我尝试在每个元素之后使用这样的模板oddrowevenrow但这行不通。有什么想法吗? 最佳答案 您可能可以在justcss中执行此操作tr:nth-child(odd){/*...*/}tr:nth-child(odd){/*...*/}如果你不能,你可

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

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

c# - 在 XSLT 中最后一次出现字符后获取子字符串

我在XML文件中有一个类似于以下内容的字符串:M:Namespace.Class.Method(Somethinga,Somethingb)句点(.)字符的数量是任意的,这意味着它只能像本例中的2个,但也可以更多。我想使用XSLT从最后一个“.”获取此字符串的子字符串性格,所以我只会留下:Method(Somethinga,Somethingb)我无法使用标准的子串/子串后函数实现这一点。有没有简单的方法来做到这一点? 最佳答案 在XSLT1.0中,您将需要使用递归模板,如下所示:并像这样调用它:在XSLT2.0中,您可以使用tok

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不能替换任何东西。你能做的最好的事情就是复制你想保留的部分,然后输出你想改变的部