下面的结构有什么问题,在早期的 Internet Explorer(5.5/6/7/8)中,浏览器启动了一个无限循环,并且没有呈现任何内容?
如您所见,p
标签有前缀,这对我的项目很重要,body 元素的内容必须使用服务器端语言插入,每个HTML片段可以从不同的用户发送,实际上一些片段可能包含相同的id名称或css *类* 名称,这就是为什么我使用 XMLNS 来区分每个片段...
索引.php
<?php header('Content-type: application/xml'); ?>
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="xslt.xsl"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:aa="zz" xmlns:ee="rr">
<head>
<title></title>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
<style type="text/css">
p{background: #0000ff;}
aa\:p{background: #00ff00;}
</style>
</head>
<body>
<aa:p>aaa</aa:p>
<ee:p>aaa</ee:p>
</body>
</html>
xslt.xsl
<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>