- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
最新更新 我已经包含了一个示例 XSL 和当前输出:)
示例 XML
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0"
xmlns="http://www.w3.org/1999/xhtml"
exclude-result-prefixes="xsl">
>
<xsl:output method="xml" encoding="UTF-8" indent="yes" />
<xsl:template match="/Report">
<xsl:text disable-output-escaping='yes'><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
</xsl:text>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>My Report</title>
</head>
<body>
<xsl:element name="table" namespace="">
<xsl:element name="tr" namespace="">
<xsl:attribute name="id">123</xsl:attribute>
<xsl:element name="td" namespace="">
<xsl:attribute name="style">width: 15%;</xsl:attribute>
<xsl:element name="div" namespace="">
mememe
</xsl:element>
</xsl:element>
<xsl:element name="td" namespace="">
<xsl:element name="div" namespace="">
hi there
</xsl:element>
</xsl:element>
<xsl:element name="td" namespace="">
<xsl:attribute name="style">width: 3%; text-align:center; padding:0px;</xsl:attribute>
<xsl:element name="div" namespace="">
no chance
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:element>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
电流输出
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xml:lang="en" lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>My Report</title>
</head>
<body>
<table xmlns="">
<tr id="123">
<td style="width: 15%;">
<div>
mememe
</div>
</td>
<td>
<div>
hi there
</div>
</td>
<td style="width: 3%; text-align:center; padding:0px;">
<div>
no chance
</div>
</td>
</tr>
</table>
</body>
</html>
问题 xmlns=""破坏了我严格的 HTML 验证以及所有后续的 css。我该如何摆脱它?谢谢!
除非您想查看它是如何开始的,否则请不要向下滚动
编辑 我需要一个属性 id
对于 tr 标签,因为我需要分配值,所以我可以将它用作 anchor 。
代码
<xsl:template match="Details">
<xsl:element name="tr">
<xsl:attribute name="id">
<xsl:value-of select="following-sibling::PluginID"></xsl:value-of>
<xsl:element name="td">Mall 3</xsl:element>
<xsl:element name="td">00003</xsl:element>
<td class="medium">
<div>
<a href="#top">
<xsl:apply-templates select="text()"/>
</a>
</div>
</td>
<td class="darkstyle" style="width: 3%; text-align:center; padding:0px;">
<div>
<a href="#top">Top</a>
</div>
</td>
</xsl:attribute>
</xsl:element>
</xsl:template>
问题
我无法使用 xsl:element
添加<td>
而且我不能使用 html <td>
标记。 那么我该怎么做?有TD有类等样式需要应用inline
他们都应该有一个 <div>
具有一定的值(value)。
除非有另一种方法来分配 PluginID
的值至 <tr>
?
然后我如何添加实际的 <div>
它的值(value)在哪里?
如有任何帮助或建议,我们将不胜感激!
编辑 我得到了要应用的类,它转换时没有错误,但 CSS <style>
未应用标签,仅应用类中的样式!有什么想法吗?
<xsl:element name="tr">
<xsl:attribute name="id">
<xsl:value-of select="following-sibling::PluginID"></xsl:value-of>
</xsl:attribute>
<xsl:element name="td">
<xsl:attribute name="class">
medium
</xsl:attribute>
<xsl:attribute name="style">
width: 15%;
</xsl:attribute>
<xsl:element name="div">
<xsl:value-of select="following-sibling::RiskDesc"/>
</xsl:element>
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="class">
medium
</xsl:attribute>
<xsl:element name="div">
<xsl:apply-templates select="text()"/>
</xsl:element>
</xsl:element>
<xsl:element name="td">
<xsl:attribute name="class">
darkstyle
</xsl:attribute>
<xsl:attribute name="style">
width: 3%; text-align:center; padding:0px;
</xsl:attribute>
<xsl:element name="div">
Top
</xsl:element>
</xsl:element>
</xsl:element>
电流输出
<tr xmlns="" id="10026">
<td class=" 					medium 				" style=" 					width: 15%; 				">
<div>Medium</div>
</td>
<td class=" 					medium 				">
<div>Derp Derp</div>
</td>
<td class=" 					darkstyle 				" style=" 					width: 3%; text-align:center; padding:0px; 				">
<div>
Top
</div>
</td>
</tr>
编辑 简化示例:
<xsl:element name="div">
<xsl:attribute name="class">
darkstyle
</xsl:attribute>
<!-- THE ISSUE IS THAT THIS STYLE ATTRIBUTE IS NOT BEING APPLIED! -->
<xsl:attribute name="style">
width: 3%; text-align:center; padding:0px;
</xsl:attribute>
<xsl:element name="div">
Top
</xsl:element>
</xsl:element>
关联 CSS
.darkstyle{
vertical-align: text-top;
background:#666;
}
更新 其中一个问题是我的标签被转为转义字符使用
<xsl:attribute name="class">darkstyle</xsl:attribute>
在 ONE 行,它将创建正确的 html。
我设法追踪到 <tr>
的中断标记,上面的代码,生成以下内容:
<tr xmlns="" id="10020">
是这个xmls=""
这破坏了我所有的 CSS。 我该怎么办? 仅供引用:我尝试添加 namespace=""
到 tr
但这并没有阻止它。
XSL 顶部
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0"
exclude-result-prefixes="yes"
>
<xsl:output method="xml" encoding="UTF-8" indent="yes" />
<xsl:template match="/Report">
<xsl:text disable-output-escaping='yes'><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
</xsl:text>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
最佳答案
您的处理器正在向您的所有行添加一个空的默认命名空间。这会导致您的浏览器对是否应将 tr 元素视为表格行感到困惑。
要解决此问题,您可以通过在样式表根目录中声明此默认命名空间,将所有非命名空间元素放入默认命名空间。
此外,exclude-result-prefixes 属性需要一个前缀列表,而不是一个是/否值。这是您不想附加到生成的文档的命名空间前缀的列表。在您的例子中,它是 xsl
。许多处理器会导致错误,其中包含无效值,但出于某种原因,您的处理器显然不会。
在您的 xsl:stylesheet
元素上添加 xmlns="http://www.w3.org/1999/xhtml"
,并更改 exclude-结果前缀,以便它读取
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0"
xmlns="http://www.w3.org/1999/xhtml"
exclude-result-prefixes="xsl">
此外,避免在动态元素上使用 namespace=""
属性指定空命名空间,除非它们明确需要空命名空间(即不是 HTML 元素)。
关于html - 具有属性和值以及 CSS 的 XSL TR 和 TD 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35740804/
我知道这可能看起来像一个愚蠢/新手问题,但我对 XSLT 还很陌生(尽管我开始接受它并了解它的功能)。 什么时候适合使用xsl:if,什么时候适合使用xsl:choose/xsl:when? 当我想要
在根据节点是否存在设置变量后,我尝试输出变量的文字字符串值。我认为条件检查逻辑是正确的。但它没有输出值... su
我目前正试图使用 XSL 将 XML 文档转换为 HTML。 XML 文档使用 namespace ,我对 XSL 并没有太多经验,更不用说 namespace 了。基本上我想做的就是抓取 s:t
你能否在嵌套的 xsl:when 中嵌套 xsl:if,例如:
我正在 W3Schools 上使用 XSLT 代码示例:https://www.w3schools.com/xml/xsl_client.asp 我有这部分代码在 IE 中使用基本的 xslt 处理.
我正在尝试从 XSLT 样式表动态生成 XSLT 文档。原则上这当然有效,但我没有让命名空间工作。我想让生成的 XSLT 元素以“xsl”前缀为前缀: 而不是 我玩过 xsl:element 的
我们客户的要求是提供带圆角的 PDF 表格。我只有 Apache FOP 处理器可供我使用,它不支持圆角属性。它也不支持 float ,因此无法向左和向右 float 圆形图像。 你对如何做到这一点有
我有一个关于 xsl 的问题。我有 1 个巨大的 xsl 文件(+4000 行 :p),我想将文件分成不同的部分。我使用 xsl 文件来映射 BizTalk 中的一些架构,如果我将它分成几部分,它的性
我的 FO 流程有问题,因为在一页上,标题显示在一页的末尾并在之后的页面上继续。如何向 title-element 添加属性,以便标题始终显示在同一页面上,这意味着:没有分页符。 谢谢! /丹尼 最佳
我想知道是否有人可以帮助我或指出正确的方向。我目前有从 XML 文件返回正确的元素有些麻烦。我只是尝试获取我拥有的大型 XML 文件的精简版本,以便输出另一个 XML 文件(不是很多教程都在使用的 H
我想动态创建具有动态名称的变量以供以后在我的转换中使用,但为此我需要动态生成 XSL,然后在同一脚本中运行它。 这只是我正在寻找的粗略伪代码示例。
我正在学习 XML 以及如何使用 XSL 文件。在 XSL 文件中,我发现了以下术语: xsl:template match="/" 这代表什么?我可以用什么代替 /?我可以编写 table 或任何其
是否可以将 xsl: 放到 XSL 样式表中的 XSL 标签? 例如,可以: 输入为: 编辑:样式表中包含 HTML 和 XML 节点。 谢谢,罗斯 最佳答案 实际上,您可以通过将 XSLT(“h
有什么办法不离开后第一 匹配但继续检查其他条件? 最佳答案 我相信这是一个不。正如规范所说: The content of the first, and only the first, xsl:whe
在构建 XSL 文档时,我遇到了以下问题。我想保留原文中的换行符,所以我设置了linefeed-treatment="preserve" .然而,这显然也意味着它保留了文本内容之外和实际 xml 元素
我有一个 XSL 样式表,我需要使用 xsl:function 添加一些自定义字符串操作。但是我在尝试找出在我的文档中放置该函数的位置时遇到了麻烦。 我的 XSL 简化看起来像这样,
我有以下 XML: Picture 1 Picture 2 Picture 3 虽然此 XSL 执行了预期的操作(输出第一张图片的属性):
我希望 column-count="2"只出现在页面的某些部分。 ]>
我正在为我的 XML 内容生成 xsl-fo 文档,然后将此内容传递给将生成 PDF 的第三方 DLL 之一。我需要以 45 度角显示测试。如何实现这一目标? 谢谢 最佳答案 我很确定您不能在纯 XS
在我的情况下,我必须在两个表格行之间提供高达 0.5cm 的空间。我怎样才能做到这一点。 代码:: 我用过了:
我是一名优秀的程序员,十分优秀!