提问人:kapsula 提问时间:6/26/2013 最后编辑:pnutskapsula 更新时间:11/17/2015 访问量:151
CSS 中的目标标记,在早期 Internet Explorer 的 Content-type application/xhtml+xml 中
Target tags in CSS, in Content-type application/xhtml+xml for earliers internet explorer
问:
下面我尝试在 CSS 中使用 tagname (span) 定位元素,但它在早期的 Internet Explorer 中不起作用......如果有人有解决这个问题的方法,请帮忙......
索引.php
<?php header('Content-type: application/xhtml+xml'); ?>
<?xml-stylesheet type="text/xsl" href="copy.xsl"?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:aa="zz" xmlns:ee="rr">
<head>
<title></title>
<style type="text/css">
/* it work */ aa\:span{background: #00ff00;}
/* it doesnt work */ span{background: #00ff00;}
</style>
</head>
<body>
<aa:span id="span1">
<aa:p>aaa</aa:p>
</aa:span>
<ee:span id="span1">
<ee:p>aaa</ee:p>
</ee:span>
</body>
</html>
复制.xsl
<stylesheet version="1.0"
xmlns="http://www.w3.org/1999/XSL/Transform">
<template match="/">
<copy-of select="."/>
</template>
</stylesheet>
答:
0赞
Martin Honnen
6/26/2013
#1
好吧,您可以将所有元素转换为纯 HTML,而无需命名空间,例如
<xsl:template match="*">
<xsl:element name="{local-name()}">
<xsl:apply-templates select="@* | node()"/>
</xsl:element>
</xsl:template>
那么你还需要
<xsl:template match="@* | comment() | text() | processing-instruction()">
<xsl:copy/>
</xsl:template>
以确保复制其他节点不变。
所以所有你一起得到
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="*">
<xsl:element name="{local-name()}">
<xsl:apply-templates select="@* | node()"/>
</xsl:element>
</xsl:template>
<xsl:template match="@* | comment() | text() | processing-instruction()">
<xsl:copy/>
</xsl:template>
</xsl:stylesheet>
评论
0赞
kapsula
6/27/2013
谢谢你的反应,我只想提一下我是XSL的新手,我用你答案的第一部分替换了copy.xsl的内容,但我不知道在哪里插入代码的第二部分(那你还需要...或者一般来说,如何应用你的回应?
0赞
kapsula
6/27/2013
有人可以帮忙告诉我如何继续应用@Martin Honnen 发布的答案......?我是 XSL 的新手:)所以请耐心等待......
0赞
Martin Honnen
6/27/2013
@kapsula,我已经编辑了我的答案,向您展示了包含两个模板的完整样式表。
0赞
kapsula
6/28/2013
首先感谢,我插入了您发布的最后一个代码,它向我抛出一条消息(XML 解析错误:前缀未绑定到命名空间位置:*** 第 4 行,第 5 列:---^ <xsl:template match=“*”>) 我添加了 xmlns:xsl=“w3.org/1999/XSL/Transform” 现在它抛给了我(加载样式表时出错:解析 XSLT 样式表失败。
0赞
Martin Honnen
6/28/2013
@kapsula,很抱歉,我从您的问题中复制了一些代码来完成样式表,但该部分不适合我的示例。现已更正。
评论