- From: David Carlisle <davidc@nag.co.uk>
- Date: Mon, 8 Jul 2002 16:06:25 +0100
- To: spec-prod@w3.org
The MathML 2 REC XML sources are (due to historical necessity) written in xmlspec v1, with some MathML specific extensions. Eve was developing xmlspec V2 at the same time, and some of the extensions we needed got added in V2 (But too late to switch for the MathML REC). I've been looking what it would take to get the MathML sources to use xmlspec 2. It would require some name changes in the XML files that don't really concern this list, but in addition it would be helpful if xmlspec.dtd could be extended a bit: ** Allowing cross references in label and eg elements <!ENTITY % label.pcd.mix "#PCDATA|%annot.class;|%termdef.class;|%emph.class; |%tech.class;|%loc.class;|%ednote.class;|%ref.class;"> ^^^^^^^^^^ <!ENTITY % eg.pcd.mix "#PCDATA|%annot.class;|%emph.class;|%loc.class;|var|description|%ref.class; ^^^^^^^^^^^ |%ednote.class;|constraint"> ** Allowing var (or perhaps better %tech.class;) in more places. <!ENTITY % eg.pcd.mix "#PCDATA|%annot.class;|%emph.class;|%loc.class;|var|description|%ref.class; ^^^ |%ednote.class;|constraint"> <!ELEMENT sub (#PCDATA|var)*> <!ELEMENT sup (#PCDATA|var)*> ^^^ **The MathML DOM appendix (updated XML and generated HTML http://www.w3.org/Math/DOM/mathml2/mathml-dom.xml http://www.w3.org/Math/DOM/mathml2/appendixd.html) uses an extended version of the attribute element with new setraises and getraises elements <!ELEMENT attribute (descr, setraises?, getraises?)> ^^^^^^^^^^^^^^^^^^^^^^ <!ELEMENT setraises (exception*)> <!ELEMENT getraises (exception*)> It may be that the "best practice" DOM markup now takes a different format in which case we could change (any advice??) otherwise it would be helpful if there could be a parameter entity here so that the content model could be extended without explictly redeclaring the element. ** MathML has a highly structured appendix with its own specific markup. These elements would anyway be in a MathML-specific part of the DTD, but the place this specific markup hooks into the main document structure is <MMLdefinition> which has its own definition but functions as a <div4> for section numbering, tables of contents etc. In the version of xmlspec v1 that we used for the REC I appear to have gone: <!ELEMENT div3 (head, (%div.mix;)*, (div4|MMLdefinition)*)> ^^^^^^^^^^^^^^ As above I'd rather do this with a parameter entity if possible. (In fact adding MMLdefinition to div.mix would work although that's rather more general than I'd have liked.) ** variant forms of specref specref is defined to be EMPTY and used for internal links. Sometimes (especially when there are many links to the same thing in close proximity) the mechanically generated text used as the link body reads as if it's been mechanically generated.... We found it necessary to add a variant form that has the same hyperlinking semantics but takes non empty content which is used to generate the link text. There was some discussion on this list ages ago about allowing something like this. An alternative to a different element would just to open up the content of specref and specify that the application should only generate text if the element is empty. <!ENTITY % local.ref.class "|intref"> <!ELEMENT intref (%p.pcd.mix;)*> <!ATTLIST intref %common.att; %ref-req.att;> ** Inline graphics. The MathML spec has lots of inline graphics. These are not well supported in the DTD: we used <graphic role="inline" to get inline and appear to have needed an extra attribute: <!ATTLIST graphic valign (top|middle |bottom |baseline) #IMPLIED> Having a different element or a specific attribute instread of role="inline" would be good, I think. David _____________________________________________________________________ This message has been checked for all known viruses by Star Internet delivered through the MessageLabs Virus Scanning Service. For further information visit http://www.star.net.uk/stats.asp or alternatively call Star Internet for details on the Virus Scanning Service.
Received on Monday, 8 July 2002 11:06:44 UTC