Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 保留元素内的空间并删除元素之间的空白(空行)XSLT、CSS_Html_Css_Xml_Xslt - Fatal编程技术网

Html 保留元素内的空间并删除元素之间的空白(空行)XSLT、CSS

Html 保留元素内的空间并删除元素之间的空白(空行)XSLT、CSS,html,css,xml,xslt,Html,Css,Xml,Xslt,一直在尝试使用输出html方法转换xml文档,以便在浏览器中使用带有CSS的xsl样式表显示。是否要显示以下代码 <paragraph> <content>Source A</content> </paragraph> <paragraph> <content>Color Yellow </content> <

一直在尝试使用输出html方法转换xml文档,以便在浏览器中使用带有CSS的xsl样式表显示。是否要显示以下代码

 <paragraph> 
 <content>Source                   A</content>
 </paragraph>
 <paragraph>
 <content>Color                       Yellow   </content>
 </paragraph>
作为

源和A之间保留了空间,颜色和黄色之间保留了空间,但行之间删除了空白行。我可以这样做,例如,使用pre节点包装内容节点以保留元素中的空间,并使用

  <p>
  { margin:0}

移除行之间的空白。然而,我无法同时完成这两项任务。使用了各种选项,如whitespace:pre、xsl:preserve space和许多其他组合,但都没有成功。


谢谢

XSLT保留空白。默认情况下,HTML不会显示它

使用此CSS指令:

p { 
  white-space: pre;
}
XSLT是这样的:

<xsl:template match="paragraph">
  <p><xsl:value-of select="content" /></p>
</xsl:template>

一般答案如下,对于更专业的答案,我们需要查看您的XSLT代码。它似乎将所有行包装到一个块中,但我们希望保持行的不同,只是中间没有空白行。它也不会在元素中保留空间。我没有提到的一点是,样式表和xml文档受CDA规范的约束,所以这里可能会考虑到这一点。谢谢,我不知道CDA的规格是什么;但我知道XSLT不会触及源文档中的空白,除非您明确指示它。另外,正如我上面所说的,要获得更具体的答案,您需要共享您的XSLT代码。样式表在这里提供:Thankstripped to The bare minimum,但在其他方面保持不变您的XSLT与我的建议完美配合:。所以,除非我们谈论的不是同一件事…感谢您提供了一个工作测试接口。我工作得很好,仍然不适用于非压缩样式表,也不确定它是否也能完成边距为0的任务,但很有帮助。
p { 
  white-space: pre;
}
<xsl:template match="paragraph">
  <p><xsl:value-of select="content" /></p>
</xsl:template>