MathML inside!

수학을 웹(Web)에서 MathML로 표시하기

이 문서는 많은 수의 브라우져에서 MathML이 웹페이지에 보여지기 위해 MathML을 포함하는 방법을 설명한다. 또한 MathML이 표현 되기 위해서 브라우져들의 환경 설정을 어떻게 하는지를 보여준다. 현재 아래에 있는 방법들을 이용해서 브라우져들이 페이지들을 표현할 것이다. :

간단한 표현(Presentation) MathML 예제좀더 복잡한 Content MathML 페이지(이것은 표현하는데 시간이 걸릴것이다)를 봄으로써 당신의 브라우져를 시험 할수 있다.

이것은 웹페이지들에 수학공식들을 포함하기 원하는 웹 컨텐츠 저자들이나 또, 이 컨텐츠를 읽기 원하는 사람들을 위한 것이다.

MathML을 위한 XSLT 스타일시트들(stylesheets)에서 더 자세한 기술적인 이유들과 방법들을 찾을 수 있다. 또한 MathML 컨퍼런스에서 David Carlisle의 슬라이드들을 참고할 수 있다.

웹페이지들에 MathML을 포함하기

많은 플렛폼들에서 보여질 수 있는 것을 최대화하기 위해서는 문서들은 아래에 있는 규칙들을 사용해서 작성되어야만 한다. 만약 당신이 amaya같은 W3C 표준으로 인정된 에디터를 사용한다면 이런 모든 것들이 자동적으로 이루어진다는 것을 상기하기 바란다.

1. XHTML과 inlined MathML을 사용하는 페이지 만들기

이 웹페이지는 다음 예제와 같이 XHTML과 inlined MathML을 사용해서 쓰여져야만 한다.

<?xml version="1.0"?>
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>...</head>
  <body>
    <h1>Example</h1>
    ....
    <math xmlns="http://www.w3.org/1998/Math/MathML">
      <mi>x</mi><mo>+</mo><mn>3</mn>
    </math>
  </body>
</html>

MathML 마크업은 <object> 태그안에 있으면 않되고, 또 <embed> 태그로 링크되는 별도의 파일에 있어서도 않된다.

2. a stylesheet processing instruction을 추가하기

<html>태그로 문서를 시작하기 전에, 다음에 나오는 (굵은 글씨로 표시된)줄을 XHTML페이지 처음 시작부분에 반드시 삽입해야 한다. 하지만 만약 XML선언<?xml...?> 부분이 있다면 그 다음에 삽입한다.

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="http://www.w3.org/Math/XSL/mathml.xsl"?>
<html xmlns="http://www.w3.org/1999/xhtml">
...

이것은 대부분의 경우들에 작동할 것이다. (하지만 Internet Explorer에서는 보안에 관한 이유들 때문에 XHTML+MathML의 문서와 같은 서버에 위치하지 않는 XSLT stylesheet는 적용되지 않을 것이다. 그 경우에는 아래에 '오프-라인' 방법을 따르는 것이 좋다. 그리고 IE 보안에 관한 더 자세한 정보는 이 문서의 아래에서 참고 할 수 있다.). 하지만, 여기 다른 방법들이 있다.

그리고 이것은 반드시 존재해야 한다. 더 많은 정보를 위해서 더 많은 자료들을 읽어라.

선호하는 방법들로 명시하기(Specifying preferences)

브라우져가 MathML 마크업을 표현하는 한가지 이상의 방법들을 가지고 있기 때문에(예를 들면,IE with the techexplorer plug-in도 CSS를 표현하는 방법을 이용해서 방정식들(equations)을 표현할 수 있다.), 선호하는 방식을 명시하는 방법이 제공된다. 특별한 네임스페이스(a special namespace)에 속해 있는 표시자(renderer)를 호출하는 애트리뷰트(an attribute)를 사용함으로써 이루어진다. 예를 들면:

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

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:pref="http://www.w3.org/2002/Math/preference"
      pref:renderer="css">
<head>...</head>
<body>...</body>
</html>

이 페이지를 표현하기 위해 선호되는 CSS표현 방법을 명시해라. 그리고 표시자(renderer)의 애트리뷰트들(attributes)의 값들은 아래와 같다.

마이크로소프트 Internet Explorer 보안

기본적으로, Internet Explorer 는 XSLT 스타일시트들이 문서와 같은 서버에 존재하지 않는다면 문서에 적용되는 것을 허용하지 않는다. 그러므로 이것은

<?xml-stylesheet type="text/xsl" href="http://www.w3.org/Math/XSL/mathml.xsl"?>

작동하지 않을 것이다. 대신에 스타일시트들을 문서와 같은 서버에 복사해 놓는 것이 필요하다.(위에서 설명한 것처럼). Internet Explorer의 보안 옵션들을 변경하는 것도 가능한 또 다른 방법이지만 이것은 단지 이 스타일시트의 사용에만 적용되는 것이 아니라 모든 브라우징(browsing)에 영향을 미칠 것이기 때문에 추천할 수는 없다.

MathML 컨퍼런스 프리젠테이션 (MathML Conference Presentation)

이 스타일시트는 두번째 국제 MathML 컨퍼런스에서 발표 되었다. 강의는 "전체화면(full screen)" 모드의 브라우져에서 보여질 수 있게 디자인 된 스타일시트의 예제들의 한 시리즈이다. 프리젠테이션 동안에 브라우져들 IE6, Mozilla 1.0, Amaya 6.1, 과 Netscape 7.0PR1 이 예제들을 표현하기 위해서 모두 사용되었다.

MathML 뿐만 아니라,SVG에 이 스타일시트를 확장한 작은 예제도 또한 시현되었다.


The W3C Math Working Group.www-math@w3.org으로 의견이나, 질문 또는 수정 사항을 보내주기 바란다.

$Id: Original: Overview.html,v 1.18 2003/03/15 13:03:50 davidc Exp $

$Id: Translated: Overview-Korean.html,v 1.18 2003/03/16 Dongsok,Kang Exp $