Questo documento è una copia tradotta di "Putting mathematics on the Web with MathML" e può contenere errori di traduzione. La copia normativa in lingua inglese è disponibile presso http://www.w3.org/Math/XSL/.

This document is a translated copy of "Putting mathematics on the Web with MathML" and may contain translation errors. The normative, English language, copy is available at http://www.w3.org/Math/XSL/.

Claudio Cattazzo <claudio(at)linux.it>


MathML inside!

Mettere della matematica sul Web con MathML

(sono disponibili traduzioni di questo documento)

Questa nota spiega come includere MathML all'interno di pagine Web in un modo che renda possibile la visualizzazione su un gran numero di browser. Mostra anche come configurare i browser per renderli in grado di mostrare MathML. Attualmente, i browser che rappresenteranno le pagine usando le convenzioni riportate in seguito sono (un segno '+' indica che funziona anche la versione più recente):

Si può provare il proprio browser vedendo questo semplice esempio di MathML di presentazione o questa pagina MathML di contenuto più complessa (che può impiegare un po' di tempo per essere rappresentata).

Questa nota è destinata agli autori di contenuti Web che vogliono includere formule matematiche all'interno di pagine Web, ma anche alle persone che vogliono leggere questi contenuti.

Ulteriori dettagli tecnici sui perché e i come possono essere trovati sui fogli di stile XSLT per MathML. Si vedano anche le slide dell'intervento di David Carlisle alla conferenza MathML.

Includere MathML in una pagina Web

Per poter massimizzare il numero di piattaforme su cui è visualizzabile, un documento dovrebbe essere scritto utilizzando le regole seguenti. Si noti che se si usa un editor conforme agli standard W3C come amaya, tutto questo è fatto automaticamente.

1. Creare la pagina usando XHTML con MathML incorporato

La pagina Web dovrebbe essere scritta utilizzando XHTML con il marcatore MathML incorporato, come nell'esempio seguente:

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

Il marcatore MathML non dovrebbe stare in un tag <object> o in un file separato richiamato da un tag <embed>.

2. Aggiungere un'istruzione per il trattamento di fogli di stile

La seguente riga (i caratteri in grassetto) dovrebbe essere inserita all'inizio della pagina HTML, prima del tag di apertura <html>, ma dopo la dichiarazione XML <?xml...?>, se esiste:

<?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">
...

Questo funzionerà nella maggior parte dei casi (ma non su Internet Explorer: per ragioni di sicurezza IE non eseguirà un foglio di stile che non è situato sullo stesso server del documento XHTML+MathML. In quel caso si seguano le istruzioni 'non in linea' più avanti. Si veda anche in fondo a questo documento per ulteriori informazioni sulla sicurezza di IE). Comunque, esistono alternative:

E questo dovrebbe essere tutto. Si continui a leggere per maggiori informazioni.

Specificare delle preferenze

Dato che può accadere che un browser abbia più di una maniera per visualizzare il marcatore MathML (per esempio, IE con il plug-in techexplorer può rappresentare le equazioni anche attraverso l'uso di CSS), viene fornito un modo per specificare il metodo preferito. Questo si ottiene attraverso l'uso di un attributo chiamato renderer appartenente ad uno speciale namespace. Per esempio:

<?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>

specifica che per rappresentare questa pagine è preferito il metodo di rappresentazione attraverso CSS. Valori per l'attributo renderer sono:

Sicurezza di Microsoft Internet Explorer

Come impostazione predefinita, Internet Explorer non permette che vengano applicati fogli di stile XSLT ad un documento se non sono situati sullo stesso server del documento. Per questo, usare

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

non funzionerà. Invece, è necessario copiare i fogli di stile sullo stesso server del documento (come descritto sopra). In alternativa è possibile cambiare le opzioni di sicurezza di Internet Explorer, ma non lo possiamo consigliare dato che interesserà tutta la navigazione, non solo l'uso di questo foglio di stile.

Presentazione della conferenza MathML

Questo foglio di stile è stato presentato alla seconda conferenza internazionale MathML. L'intervento è una serie di esempi del foglio di stile pensati per essere visualizzati con il browser in modalità "schermo intero". Durante la presentazione i browser IE6, Mozilla 1.0, Amaya 6.1 e Netscape 7.0PR1 sono stati tutti utilizzati per visualizzare gli esempi.

In aggiunta a MathML, è stato presentato anche un piccolo esempio che estende questo foglio di stile a SVG.


The W3C Math Working Group. Inviare commenti, domande e correzioni a www-math@w3.org

$Id: Overview.html,v 1.21 2003/11/26 00:43:24 mf Exp $