草庐IT

xslt-transformer

全部标签

xml - XSLT:检查是否在节点列表中找到节点

我需要检查节点列表中是否存在特定值。目前我正在使用for-each,我认为这效率不高。and-->Found!我想一次性搞定。我该怎么办? 最佳答案 按照您的使用方式使用时,current()与.相同(参见12.4部分)。但是,current的目的(广义上讲)是能够从谓词中获取整个表达式的上下文节点(其中.表示谓词的上下文).我想这种区别的微妙之处可能引起了一些混淆。只有当整个表达式的上下文节点的字符串值与$thisProduct相同时,这个XPath表达式才会成功。这显然不是你想要的:$ChildList[string(curre

xml - 如何在 XSLT2 replace() 函数中转换 'mix and match' 实体?

我正在试验XSLT2,使用基于this的样式表回答:$0')"/>旨在进行多次替换,例如来自:abc<field1>def<field2>ghi到:abc<field1>def<field2>ghi但是我的转换无效,我得到这个错误:Erroronline12column54ofmy.xsl:SXXP0003:ErrorreportedbyXMLparser:Thevalueofattribute"select"associatedwithanelementtype"null"mustnotcontainthe'如果我使用select="r

xml - 格式化 XSLT 文档

我有一个XSLT文件,用于将数据从表转换为INSERT语句。所以输出看起来像INSERTINTOsome_tableVALUES(Voda,Šenov);INSERTINTOsome_tableVALUES(Vorba,Vlčnov);这对我来说很好。我的XSLT包含这三行INSERTINTOsome_tableVALUES(,);问题来了,我真的不想在同一行中放置这么多值(我的表有大约20列)以保持输出格式,那么有没有办法保持输出相同并在for-each中的多行插入我的列?非常感谢您的回答编辑我想要这样的for-each循环INSERTINTOsome_tableVALUESva1,

xml - XSLT 注释标签不输出内容?

我正在尝试将一些XML从一个文档转移到另一个文档,但我希望它在到达那里时被注释掉。所以我想做这样的事情:当我使用直接的JavaXSLT处理器运行它时,我得到的结果如下:奇怪的是,如果我在没有注释对象的情况下运行它,如下所示:内容很好。有什么想法吗?我想也许你不能在评论中使用元素,但我查了一下,应该没问题。 最佳答案 根据规范(Section7.4,CreatingComments),强调我的:Itisanerrorifinstantiatingthecontentofxsl:commentcreatesnodesotherthant

javax.xml.transform.Transformer 忽略前缀?

我正在尝试解析一个非常简单的示例:100我使用的样式表如下:这在libxslt中有效,没问题。我现在正尝试在java中执行相同的任务,并且我正在尝试使用javax.xml.transform包来执行此操作。它为total-results属性提供了一个空值,而不是预期的结果。但是,当我将值更改为此时:它有效。更改xml和xslt不是一个选项。我应该在某处设置参数吗?代码非常简单:InputSourcexmlSource=newInputSource(newStringReader(xml));DocumentBuilderbuilder=factory.newDocumentBuilde

xml - 如何使用 XSLT 将 XML 元素名称转换为属性值?

给定XML片段:2012-05-17T15:16:57Z如何转换元素进入使用XSLT?编辑:预期输出:2012-05-17T15:16:57Z 最佳答案 这个转换:应用于提供的XML文档时:2012-05-17T15:16:57Z产生想要的、正确的结果:2012-05-17T15:16:57Z 关于xml-如何使用XSLT将XML元素名称转换为属性值?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/

xml - XSLT 2.0 - 在不丢弃现有前缀绑定(bind)的情况下更改命名空间

这是我的输入XML文档:foo:bar我想使用XSLT(2.0)将此文档的命名空间更改为v2,即所需的输出是:foo:bar我正在尝试使用此样式表:current.Nootherchangesrequired.-->不幸的是,输出结果为:foo:bar即qnameValue上的关键命名空间绑定(bind)已经消失。有没有办法强制将所有namespace绑定(bind)的副本复制到输出? 最佳答案 应该这样做,并且与XSLT1.0兼容:current.Nootherchangesrequired.-->在您的示例输入上运行时,结果是:

xml - 使用 XSLT 将 HTML 转换为 XML

我正在尝试使用XSLT将XHTML文档转换为XML,但目前我无法让我的模板与输入文档中的标签相匹配。我应该能够像这样将XHTML转换为XML吗?如果是这样,我的样式表是否有错误?输入文档:titletextbodytext样式表:Thisiswhereallthemetadatawillcomefrom预期输出Thisiswhereallthemetadatawillcomefrom谢谢 最佳答案 XHTML文档中的元素位于http://www.w3.org/1999/xhtml命名空间中。而您的XSLT文档正在匹配没有namesp

xml - XSLT - 减去 IP 地址范围以查找主机数

所以我有两个IP地址,一个endIP和一个startIP。必须根据IP地址范围计算主机数。我测试了一个示例,起始IP地址为192.168.2.188,有88个主机。所以我得到的结束地址是192.168.3.19。但是,我的xml文件中没有88台主机的记录(因为它是自动生成的),我应该如何找到主机数?所以我做了一个认为它至少会给我剩下的。但是,在我解析它之后返回了一个“NaN”。算一下,因为它是多位小数。我对XSL不是很熟悉,所以这让我很头疼。我完全不知道如何根据IP地址范围计算主机号。任何帮助将不胜感激。 最佳答案 实现此目的的一种

xml - 复制除根节点和属性 XSLT 之外的 XML 文件内容

我正在处理一个小型XSLT文件以复制XML文件的内容并删除声明和根节点。根节点具有命名空间属性。我目前让它正常工作,除了现在命名空间属性现在被复制到直接子节点。到目前为止,这是我的xslt文件,没什么大的或复杂的:我的输入文件是这样的:XSLT后的输出是这样的:问题是,每个Report_Entry标记现在都从我删除的根节点获取该xml命名空间属性。如果您想知道,我知道XSLT的输出格式不正确。我将在XSLT转换之后添加XML声明和不同的根节点名称。 最佳答案 以下生成您想要的输出: 关于