paulpeath
小狐狸
小狐狸
  • UID29088
  • 注册日期2009-06-07
  • 最后登录2009-06-07
  • 发帖数1
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
阅读:4436回复:0

php的header函数在ff的执行问题?

楼主#
更多 发布于:2009-06-07 18:44
在Firefox浏览器下,执行如下代码可显示SVG图像和MathML公式。问题如下:
1、将//echo $xml->asXML() 的注释去掉,出现"XML解析错误:xml处理指令不在实体开始部分 行:115,列12";
2、将//echo $xml->asXML() 的注释去掉,在header('Content-type: application/xhtml+xml')前加注释,脚本可以执行,但svg图形不显示。
相关问题有无遇到,如何解决?
代码如下:
------------------------------------------------------------------------------------
<?php
header ('Content-type: application/xhtml+xml');
echo ' <?xml version="1.0" encoding="utf-8"?>';
$headerStr=' <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN"
"http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg-flat.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">';
echo $headerStr;
?>
<head>
<title>MathML SVG Example </title>
</head>
<body>
<?php
$XMLStr= < < <SimpleXMLStr
<!-- SVG codes starts here -->
<svg:svg xmlns:svg="http://www.w3.org/2000/svg" version="1.1" baseProfile="full" width="100%" height="100%">
<svg:circle cx="95px" cy="80px" r="70px" fill="red"/>
<svg:rect x="45" y="65" width="100" height="30" fill="rgb(255, 255, 255)"/>
<svg:circle cx="300px" cy="80px" r="67px" fill="#ffffff" stroke="red" stroke-width="5px"/>
<svg:rect x="250" y="65" width="100" height="30" fill="red"/>
<svg:rect x="285" y="30" width="30" height="100" fill="red"/>
</svg:svg>
<!-- SVG codes ends here -->
SimpleXMLStr;

$xml = simplexml_load_string ($XMLStr);
echo $XMLStr;
//echo $xml->asXML() ;
?>
<?php
$XMLStr= < < <SimpleXMLStr
<object_1>
<subject_1>
<text>如果 </text>
<mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML">
  <mml:mrow>
    <mml:mo lspace="4px" rspace="4px">&#x2220; </mml:mo>
    <mml:mi>&#x3b1; </mml:mi>
  </mml:mrow>
</mml:math>
<text>与 </text>
<mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML">
  <mml:mrow>
    <mml:mo lspace="4px" rspace="4px">&#x2220; </mml:mo>
    <mml:mi>&#x3b2; </mml:mi>
  </mml:mrow>
</mml:math>
<text>互补,且 </text>
<mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML">
  <mml:mrow>
    <mml:mo lspace="4px" rspace="4px">&#x2220; </mml:mo>
    <mml:mi>&#x3b1; </mml:mi>
    <mml:mo>&#x3e; </mml:mo>
    <mml:mo lspace="4px" rspace="4px">&#x2220; </mml:mo>
    <mml:mi>&#x3b2; </mml:mi>
  </mml:mrow>
</mml:math>
<text>则下列表示 </text>
<mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML">
  <mml:mrow>
    <mml:mo lspace="4px" rspace="4px">&#x2220; </mml:mo>
    <mml:mi>&#x3b2; </mml:mi>
  </mml:mrow>
</mml:math>
<text>的余角的式子中:①、 </text>
<mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML">
  <mml:mrow>
    <mml:mn>90 </mml:mn>
    <mml:mi>&#xb0; </mml:mi>
    <mml:mo>&#x2212; </mml:mo>
    <mml:mo lspace="4px" rspace="4px">&#x2220; </mml:mo>
    <mml:mi>&#x3b2; </mml:mi>
  </mml:mrow>
</mml:math>
<text>,②、 </text>
<mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML">
  <mml:mrow>
    <mml:mo lspace="4px" rspace="4px">&#x2220; </mml:mo>
    <mml:mi>&#x3b1; </mml:mi>
    <mml:mo>&#x2212; </mml:mo>
    <mml:mn>90 </mml:mn>
    <mml:mi>&#xb0; </mml:mi>
  </mml:mrow>
</mml:math>
<text>,③、 </text>
<mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML">
  <mml:mrow>
    <mml:mfrac>
      <mml:mn>1 </mml:mn>
      <mml:mn>2 </mml:mn>
    </mml:mfrac>
    <mml:mo stretchy="false">( </mml:mo>
    <mml:mo lspace="4px" rspace="4px">&#x2220; </mml:mo>
    <mml:mi>&#x3b1; </mml:mi>
    <mml:mo>+ </mml:mo>
    <mml:mo lspace="4px" rspace="4px">&#x2220; </mml:mo>
    <mml:mi>&#x3b2; </mml:mi>
    <mml:mo stretchy="false">) </mml:mo>
  </mml:mrow>
</mml:math>
<text>,④、 </text>
<mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML">
  <mml:mrow>
    <mml:mfrac>
      <mml:mn>1 </mml:mn>
      <mml:mn>2 </mml:mn>
    </mml:mfrac>
    <mml:mo stretchy="false">( </mml:mo>
    <mml:mo lspace="4px" rspace="4px">&#x2220; </mml:mo>
    <mml:mi>&#x3b1; </mml:mi>
    <mml:mo>&#x2212; </mml:mo>
    <mml:mo lspace="4px" rspace="4px">&#x2220; </mml:mo>
    <mml:mi>&#x3b2; </mml:mi>
    <mml:mo stretchy="false">) </mml:mo>
  </mml:mrow>
</mml:math>
<text>,正确的有: </text>
</subject_1>
<question>
<SimpleChoice>
<Choice> <text>(A)4个 </text>
</Choice>
<Choice> <text>(B)3个 </text>
</Choice>
<Choice>
<text>(C)2个 </text>
</Choice>
<Choice> <text>(D)1个 </text>
</Choice>
</SimpleChoice>
</question>
</object_1>
SimpleXMLStr;

$xml = simplexml_load_string ($XMLStr);
echo $XMLStr;
//echo $xml->asXML() ;
?>

</body>
</html>
游客

返回顶部