XSLT是XML的一种转换语言,旨在将结构化文档转换为其他格式(如XML,HTML和纯文本,或者在XSLT 3,JSON中)。问题应该根据需要使用xslt-1.0,xslt-2.0或xslt-3.0标记之一。
我想使用XSLT将一个XML文件转换为另一个XML文件,并用属性替换某些XML元素的CDATA。 我还需要保留换行符,当然需要转换...
Saxon 和 XMLFilter:omit-xml-declaration=“yes” 没有效果
我们使用Saxon来生成一些导出文件。 这些转换通常由相继应用的多个 XSLT 转换组成。 为了提高性能,我引入了代码
任何元素/文本都应与使用 xslt 的 <p> 标签分开<p>
我们希望为按顺序出现在 标签中的任何标签/文本创建单独的 标签,这意味着内容不能不匹配。 谢谢并请帮助我 输入: 我们希望为按顺序出现在 <p> 标签中的任何标签/文本创建单独的 <p> 标签,这意味着内容不能不匹配。 谢谢,请帮助我 输入: <kk><p id="p_aj3uga5iqfuzmmw"> Some text is here <table outputclass="ruled" id="ko4xjv6txx"> <tgroup cols="2" id="67dc15u6ud"> <colspec colname="c1" colnum="1" colwidth="40" id="jc204r3bna"/> <colspec colname="c2" colnum="2" colwidth="60" id="o79df53wog"/> <thead id="kih5dc7um1"> <row id="ve4ln370t8"> <entry id="yi4lwe9p51">head text is here</entry> <entry id="dwl1ol06ju">head text is here</entry> </row> </thead> <tbody id="62gug7qywr" class="- topic/tbody "> <row id="7wdson97xv" class="- topic/row "> <entry id="3at6ja8goj">text is here</entry> <entry id="m33p8e0e9f">text is here</entry> </row> </tbody> </tgroup> </table> <b id="nryvddsy5o"><i id="cs8atnkc9h">Component auditor responsibilities</i></b> some text here </p></kk> 预期输出: <kk><p id="p_aj3uga5iqfuzmmw"> Some text is here</p> <table outputclass="ruled" id="ko4xjv6txx"> <tgroup cols="2" id="67dc15u6ud"> <colspec colname="c1" colnum="1" colwidth="40" id="jc204r3bna"/> <colspec colname="c2" colnum="2" colwidth="60" id="o79df53wog"/> <thead id="kih5dc7um1"> <row id="ve4ln370t8"> <entry id="yi4lwe9p51">head text is here</entry> <entry id="dwl1ol06ju">head text is here</entry> </row> </thead> <tbody id="62gug7qywr" class="- topic/tbody "> <row id="7wdson97xv" class="- topic/row "> <entry id="3at6ja8goj">text is here</entry> <entry id="m33p8e0e9f">text is here</entry> </row> </tbody> </tgroup> </table> <p><b id="nryvddsy5o"><i id="cs8atnkc9h">Component auditor responsibilities</i></b> some text here</p></kk> 我的XSL文件: <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xd="http://www.oxygenxml.com/ns/doc/xsl" exclude-result-prefixes="xs xd" version="2.0"> <xsl:template match="@* | node()"> <xsl:copy> <xsl:apply-templates select="@* | node()"/> </xsl:copy> </xsl:template> <xsl:template match="p"> <xsl:choose> <xsl:when test="starts-with(., text())"> <p><xsl:apply-templates select="text()[1] except table | text() | *"/></p> </xsl:when> <xsl:when test="table[1]"> <xsl:apply-templates select="table[1]"/> </xsl:when> <xsl:when test="*[1]"> <xsl:apply-templates select="*[1]"/> </xsl:when> </xsl:choose> </xsl:template> <xsl:template match="table"> <table> <xsl:apply-templates select="@* | node()"/> </table> </xsl:template> </xsl:stylesheet> <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xd="http://www.oxygenxml.com/ns/doc/xsl" exclude-result-prefixes="xs xd" version="2.0"> <xsl:template match="@* | node()"> <xsl:copy> <xsl:apply-templates select="@* | node()"/> </xsl:copy> </xsl:template> <xsl:template match="p[table]"> <!-- If p contains table put everything before and after table in p and the table it self not in p--> <xsl:for-each-group select="node()" group-adjacent="if(self::table) then 1 else 0"> <xsl:choose> <xsl:when test="current-group()[self::table]"> <xsl:apply-templates select="current-group()"/> </xsl:when> <xsl:otherwise> <p> <xsl:apply-templates select="current-group()"/> </p> </xsl:otherwise> </xsl:choose> </xsl:for-each-group> </xsl:template> </xsl:stylesheet>
我有一种情况,我需要从 SOAP 响应中过滤某些 XML 节点,我使用了 XSLT 映射,但它没有从 SOAP 响应中过滤特定的 xml 节点,我的要求是有 xml 节点...
我正在使用 HTML Tidy(版本 5.8.0)来清理来自 Web 的 HTML,以便使用 XSLT 进行转换。 这通常工作得很好,直到我发现一个页面有 2 个 元素具有相同的重复
DownloadContentAsync 返回现有文件的奇怪值
我已将一些 XSLT 文件存储在 azure blob 存储中并使用 BlobClient.DownloadContentAsync() 下载.net功能应用程序中的内容并进行处理。对于其他 xslt 文件,一切都很好,但...
我正在使用一个工具将游戏数据转换为 XML,但该工具的怪癖之一是它以字母数字方式而不是数字方式输出父代码对象,示例输出带有以下注释: 我正在使用一个工具将游戏数据转换为 XML,但该工具的怪癖之一是它以字母数字方式而不是数字方式输出父代码对象,示例输出带有以下注释: <container format="RTPC" endian="Little"> <object> <object name="root"> <object name="0"><!-- disables input --> <value name="_class" type="string">CInputActionOverride</value> <value name="_class_hash" type="int">-1833934533</value> <value name="_object_id" type="objectid">26D7913A,0</value> <value name="action_list" type="string">Accelerate</value><!-- action name --> <value name="activate_event" type="vec_events">death_run_play_cutscene,0x0</value> </object> <object name="1"> <value name="_class" type="string">CGameObjectList</value> <value name="_class_hash" type="int">-1531974803</value> <value name="_object_id" type="objectid">C51129BC,0</value><!-- spawn list ref --> <value name="name" type="string">SpawnedVehicleList</value> <value name="tags" type="vec_int"/> </object> <object name="10"> <value name="_class" type="string">CNavMeshDynamicObstacle</value> <value name="_class_hash" type="int">838607288</value> <value name="_object_id" type="objectid">F96135EC,0</value> <value name="disable_event" type="vec_events"/> <value name="enable_event" type="vec_events"/> <value name="enabled_from_start" type="int">1</value> </object> <object name="100"> <value name="_class" type="string">SAnimationLayerInfo</value> <value name="_class_hash" type="int">-786417417</value> <value name="_object_id" type="objectid">B2B5BF10,0</value> <value name="file" type="string">animations/characters/light_facelayer.al</value><!-- anim path --> <value name="layer_index" type="int">1</value> <value name="layer_name" type="string">Face</value> <value name="name" type="string">AnimationLayerInfoFace</value> </object> <object name="102"> <value name="_class" type="string">CSpawnReferencePosition</value> <value name="_class_hash" type="int">-1429677905</value> <value name="_object_id" type="objectid">1958DDF6,0</value> <value name="keep_orientation" type="int">1</value> <value name="name" type="string">CSpawnReferencePosition</value> <value name="no_create_on_load" type="int">1</value> <value name="tags" type="vec_int"/> </object> </object> </object> </container> 为了解决这个排序问题,我使用了我发现的这个稍微修改过的 XSL 模板: <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" encoding="UTF-8" indent="yes"/> <xsl:template match="node()|@*"> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> <xsl:template match="object"> <xsl:copy> <xsl:apply-templates select="@*"/> <xsl:apply-templates select="*"> <xsl:sort select="@name" data-type="number" order="ascending"/> </xsl:apply-templates> </xsl:copy> </xsl:template> </xsl:stylesheet> 这个模板可以完成工作,但我面临的另一个问题是转换会吃掉所有评论 [我相信这是默认行为] 并且我的 XSL 知识几乎不存在,这意味着我很难弄清楚列出对代码对象进行排序并保留所有注释所需的代码。 我在示例输入中看到的所有注释都是需要排序的“编号”object元素的子元素。 假设没有任何注释是 object 的子级,其 name 是 root,您可以通过稍微修改模板来解决您的问题,而不是: <xsl:template match="object"> 上面写着: <xsl:template match="object[@name='root']">
在 AWS Cloud/Java XML 转换中将非 ASCII 字符转换为问号
我正在 Amazon Web Services 云环境中工作,涉及转换 XML 文档的 java 服务。在某些情况下,当发生这种转换时,非 ASCII 字符会转换为 qu...
在查看了社区的大量精彩建议后,在这里发表了第一篇文章。 我在 XSLT 2.0 中有三个字段,全部处于同一级别(肩膀、膝盖和脚趾)。 我需要输出总和...
如何将 XsltTransformer 的转换结果写入字符串,然后将其推送到 azure 服务总线?
我需要使用 XsltTransformer 将给定的 xml 转换为 json,XsltTransformer 编译 xslt,然后转换 xml。我希望 XsltTransformer 的目的地是 stri...
我正在使用 XSLT 2 (Saxon HE 10.9)。 我有以下目录树: 项目 - 索引.xml - 课程 - 我的A班 -MyClassA.xml 我正在将 MyClassA.xml 转换为新的文件格式。 这里有一个
我不知道用什么词来表达我想要实现的目标,所以我会尽力解释。 请随意将我重定向到现有问题。 假设我有一个包含类列表的 XML 文件(例如...
我正在使用 X(X -> A)中的目录 A 中的 XSLT 样式表处理 XML 文档,该样式表使用 document() 函数动态构建到 N 中另一个 XML 文档的目录路径......
我创建了一个自定义 HTMLHelper,它应该呈现解析后的 XML。该方法采用 XML 和 XSL 文件的路径,并应返回 HTML。 当我访问该页面时,出现错误
如何以 FilesAndJATS 打包格式构建文件 jats.xml 中的数据(例如出版物元数据,如作者和标题)https://datahub.deepgreen.org/FilesAndJATS(无法在浏览器中打开...
我目前正在开发一个项目,该项目正在从使用存储在 postgresql 中的 XML 数据迁移到存储在 mongodb 中的 json。 问题是:需要保持一定程度的向后兼容性......
我们打算将我们的框架从 msxml4 迁移到 msxml6。 我们目前正在使用 msxsl.exe。 它似乎只支持 MSXML 版本高达 4.0,命令行告诉我: msxsl.exe -u 版本 6.0 难道是……
ish 在 XSLT 上,并且有一个 XSLT 输出,其中在元素中包含一些 json。 {“代码&