成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

使用XML來顯示數學公式

2010-08-28 10:45:06來源:西部e網作者:

  不要誤會,這里并不是用國際標準的數學xml來描述,通過最新的瀏覽器的支持來實現。我只是嘗試用xml+xslt,用簡單的html來顯示。只是一個初步的想法,拿出來和大家分享。也許之前,已經有很多人做過類似的嘗試,沒有關系,我只是說一說我的想法。

  數學公式的格式是很多樣的,比如極限和積分這樣的。其中每個部分都能用html來顯示,最終用table來組合。我的想法就是用xml來描述數學公式種各部分的關系,然后用xslt來格式化這個xml文件。

  舉個簡單的例子x的平方。用這樣的xml數據來描述。注意,這不是國際標準格式。真正實現的時候應該正規一些。


  <Power>
  <Base>
  <Quote Val="X"/>
  </Base>
  <Exponent>
  <Quote Val="2"/>
  </Exponent>
  </Power>

  那個<Quote>就是表示直接復制val屬性的值就可,無需格式化。然后這么一個xslt來轉化:


  <?xml version="1.0"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">

  <xsl:template match="/">
  <html>
  <body>
  <xsl:apply-templates select="Power"/>
  </body>
  </html>
  </xsl:template>

  <xsl:template match="Power">
  <table cellpadding="0" cellspacing="0">
  <tr>
  <td>
  <table cellpadding="0" cellspacing="0">
  <tr>
  <td>
  </td>
  </tr>
  <tr>
  <td>
  <xsl:apply-templates select="base"/>
  </td>
  </tr>
  </table>
  </td>
  <td valign="top">
  <table cellpadding="0" cellspacing="0">
  <tr>
  <td>
  </td>
  </tr>
  <tr>
  <td valign="top">
  <xsl:apply-templates select="exponent"/>
  </td>
  </tr>
  <tr>
  <td>



  </td>
  </tr>
  </table>
  </td>
  </tr>
  </table>
  </xsl:template>

  <xsl:template match="Base">
  <xsl:apply-templates select="*"/>
  </xsl:template>

  <xsl:template match="Exponent">
  <xsl:apply-templates select="*"/>
  </xsl:template>

  <xsl:template match="Quote">
  <xsl:value-of select="@Val"/>
  </xsl:template>

  </xsl:stylesheet>

  最后用這樣的辦法把兩者聯在一起


  <?xml-stylesheet type="text/xsl" href="math.xsl" ?>

  或者用這樣的辦法,避免xml與xslt的直接關聯。


  <html>
  <body>
  <script language="javascript">
  // Load XML
  var xml = new ActiveXObject("Microsoft.XMLDOM")
  xml.async = false
  xml.load("math.xml")
  // Load the XSL
  var xsl = new ActiveXObject("Microsoft.XMLDOM")
  xsl.async = false
  xsl.load("math.xsl")
  // Transform
  document.write(xml.transformNode(xsl))
  </script>
  </body>
  </html>

  類似的還可以實現極限,積分等。現在問題還有很多

  1.本人對于table的諸多格式控制并不熟悉,導致一個table占用了多于實際所需的空間,最終在像“分數”這樣的場合,空白太多。
  2.部分數學格式難于用table表達,比如開方的符號。
  3.div或許可以派上用場
  4.或許可以改由flash來實現,把xml作為參數。
  5.總體來說,插入圖片仍是最佳方案。不過似乎目前沒有單純作數學公式圖片輸出的軟件。只能用截圖的辦法。
  6.即使用xml實現了。與普通文本的融合也將是個問題。

  最后,本人是位數學系的大一學生。所知的東西極其有限。以上內容只不過是個人實驗,并未廣泛查閱網絡和已有軟件。錯誤實在很多。如有高手不吝賜教,在下十分感謝
  

關鍵詞:XML
主站蜘蛛池模板: 芷江| 青田县| 宣城市| 武功县| 驻马店市| 盐山县| 吉林市| 博爱县| 商城县| 夏津县| 广汉市| 潮安县| 思茅市| 西和县| 芦山县| 星子县| 青田县| 深圳市| 宣恩县| 郎溪县| 郓城县| 九台市| 从江县| 乌兰察布市| 宜宾市| 隆化县| 靖安县| 元氏县| 山东省| 勐海县| 武陟县| 壶关县| 南开区| 文登市| 历史| 日喀则市| 延寿县| 静海县| 阜宁县| 甘南县| 河津市|