diff options
| -rw-r--r-- | scripts/context/ruby/ctxtools.rb | 71 | ||||
| -rw-r--r-- | scripts/context/ruby/graphics/gs.rb | 4 | ||||
| -rw-r--r-- | tex/context/base/cont-new.tex | 2 | ||||
| -rw-r--r-- | tex/context/base/context.tex | 2 | ||||
| -rw-r--r-- | tex/context/base/core-fil.tex | 29 | ||||
| -rw-r--r-- | tex/context/base/core-pgr.tex | 3 | ||||
| -rw-r--r-- | tex/context/base/font-ini.tex | 2 | ||||
| -rw-r--r-- | tex/context/base/math-ini.tex | 92 | ||||
| -rw-r--r-- | tex/context/base/mult-con.tex | 6 | ||||
| -rw-r--r-- | tex/context/base/x-newmml.tex | 304 | ||||
| -rw-r--r-- | tex/context/base/x-newmmo.tex | 126 | ||||
| -rw-r--r-- | tex/context/base/x-om2cml.xsl | 8 | ||||
| -rw-r--r-- | tex/context/base/x-sm2om.xsl | 106 | ||||
| -rw-r--r-- | tex/context/interface/cont-ro.xml | 4 | ||||
| -rw-r--r-- | tex/context/interface/keys-cz.xml | 3 | ||||
| -rw-r--r-- | tex/context/interface/keys-de.xml | 3 | ||||
| -rw-r--r-- | tex/context/interface/keys-en.xml | 3 | ||||
| -rw-r--r-- | tex/context/interface/keys-fr.xml | 3 | ||||
| -rw-r--r-- | tex/context/interface/keys-it.xml | 3 | ||||
| -rw-r--r-- | tex/context/interface/keys-nl.xml | 3 | ||||
| -rw-r--r-- | tex/context/interface/keys-ro.xml | 5 | 
21 files changed, 606 insertions, 176 deletions
diff --git a/scripts/context/ruby/ctxtools.rb b/scripts/context/ruby/ctxtools.rb index 2104eebf7..ee967ec31 100644 --- a/scripts/context/ruby/ctxtools.rb +++ b/scripts/context/ruby/ctxtools.rb @@ -44,7 +44,7 @@  # it cannot do that (it tries to hyphenate as if the "ffi" was a  # character), and the result is wrong hyphenation. -banner = ['CtxTools', 'version 1.3.2', '2004/2006', 'PRAGMA ADE/POD'] +banner = ['CtxTools', 'version 1.3.3', '2004/2006', 'PRAGMA ADE/POD']  unless defined? ownpath      ownpath = $0.sub(/[\\\/][a-z0-9\-]*?\.rb/i,'') @@ -528,7 +528,7 @@ class Commands      $forsuresuffixes = [          "tui", "tup", "ted", "tes", "top",          "log", "tmp", "run", "bck", "rlg", -        "mpt", "mpx", "mpd", "mpo" +        "mpt", "mpx", "mpd", "mpo", "ctl",      ]      $texonlysuffixes = [          "dvi", "ps", "pdf" @@ -1775,45 +1775,63 @@ class Commands      # document: <!DOCTYPE something SYSTEM "entities.xml">      def flushentities(handle,entities,doctype=nil) # 'stylesheet' -        tab = if doctype then "\t" else "" end -        handle.puts("<!DOCTYPE #{doctype} [") if doctype +        if doctype then +            tab = "\t" +            handle << "<?xml version='1.0' encoding='utf-8'?>\n\n" +            handle << "<!-- !DOCTYPE entities SYSTEM 'entities.xml' -->\n\n" +            handle << "<!DOCTYPE #{doctype} [\n" +        else +            tab = "" +        end          entities.keys.sort.each do |k| -            handle.puts("#{tab}<!ENTITY #{k} \"\&\##{entities[k]};\">") +            handle << "#{tab}<!ENTITY #{k} \"\&\#x#{entities[k]};\">\n" +        end +        if doctype then +            handle << "]>\n"          end -        handle.puts("]>") if doctype      end      def listentities -      # filename   = `texmfstart tmftools.rb --progname=context enco-uc.tex`.chomp -        filename   = `kpsewhich --progname=context enco-uc.tex`.chomp +        filenames  = ['enco-uc.tex','contextnames.txt']          outputname = @commandline.argument('first') - -        if filename and not filename.empty? and FileTest.file?(filename) then -            entities = Hash.new -            IO.readlines(filename).each do |line| -                if line =~ /\\definecharacter\s+([a-zA-Z]+)\s+\{\\uchar\{*(\d+)\}*\{(\d+)\}\}/o then -                    name, low, high = $1, $2.to_i, $3.to_i -                    entities[name] = low*256 + high +        doctype    = @commandline.option('doctype') +        entities   = Hash.new + +        filenames.each do |filename| +          # filename = `texmfstart tmftools.rb --progname=context #{filename}`.chomp +            filename = `kpsewhich --progname=context #{filename}`.chomp +            if filename and not filename.empty? and FileTest.file?(filename) then +                report("loading #{filename.gsub(/\\/,'/')}") unless outputname.empty? +                IO.readlines(filename).each do |line| +                    case line +                        when /^[\#\%]/io then +                            # skip comment line +                        when /\\definecharacter\s+([a-z]+)\s+\{\\uchar\{*(\d+)\}*\{(\d+)\}\}/io then +                            name, code = $1, ($2.to_i*256 + $3.to_i).to_s +                            entities[name] = code.rjust(4,'0') unless entities.key?(name) +                        when /^([A-F0-9]+)\;([a-z][a-z]+)\;(.*?)\;(.*?)\s*$/io then +                            code, name, adobe, comment = $1, $2, $3, $4 +                            entities[name] = code.rjust(4,'0') unless entities.key?(name) +                    end                  end              end -            if outputname and not outputname.empty? then -                if f = File.open(outputname,'w') then -                    flushentities(f,entities) -                    f.close -                else -                    flushentities($stdout,entities) -                end +        end +        if outputname and not outputname.empty? then +            if f = File.open(outputname,'w') then +                report("saving #{entities.size} entities in #{outputname}") +                flushentities(f,entities,doctype) +                f.close              else -                flushentities($stdout,entities) +                flushentities($stdout,entities,doctype)              end +        else +            flushentities($stdout,entities,doctype)          end -      end  end -  class Commands      include CommandBase @@ -2289,11 +2307,13 @@ class Commands                  begin                      system("unzip -uo #{archive}")                  rescue +                    report("fatal error, make sure that you have 'unzip' in your path")                      return false                  else                      return true                  end              else +                report("fatal error, '{archive}' has not been downloaded")                  return false              end          end @@ -2364,6 +2384,7 @@ commandline.registerflag('all')  commandline.registerflag('xml')  commandline.registerflag('log')  commandline.registerflag('utf8') +commandline.registerflag('doctype')  # general diff --git a/scripts/context/ruby/graphics/gs.rb b/scripts/context/ruby/graphics/gs.rb index 588ef2417..2c1079d1a 100644 --- a/scripts/context/ruby/graphics/gs.rb +++ b/scripts/context/ruby/graphics/gs.rb @@ -356,7 +356,7 @@ class GhostScript          arguments = ''          arguments << "\@gsprofile.ini " -        arguments << "-q -sDEVICE=pdfwrite -dNOPAUSE -dNOCACHE -dBATCH -dSAFER" +        arguments << "-q -sDEVICE=pdfwrite -dNOPAUSE -dNOCACHE -dBATCH -dSAFER "          arguments << "#{gscolorswitch} "          arguments << "#{gsdefaults} "          arguments << "-sOutputFile=#{outfile} #{gsstream} -c quit " @@ -432,7 +432,7 @@ class GhostScript          # -dEPSFitPage and -dEPSCrop behave weird (don't work) -        arguments = "-sDEVICE=bbox -dSAFER -dNOPAUSE -dBATCH #{inpfile}" +        arguments = "-sDEVICE=bbox -dSAFER -dNOPAUSE -dBATCH #{inpfile} "          debug("ghostscript: #{arguments}") diff --git a/tex/context/base/cont-new.tex b/tex/context/base/cont-new.tex index 9b1fa1627..b2f73df50 100644 --- a/tex/context/base/cont-new.tex +++ b/tex/context/base/cont-new.tex @@ -11,7 +11,7 @@  %C therefore copyrighted by \PRAGMA. See mreadme.pdf for  %C details. -\newcontextversion{2006.05.17 10:08} +\newcontextversion{2006.05.18 20:03}  %D This file is loaded at runtime, thereby providing an  %D excellent place for hacks, patches, extensions and new diff --git a/tex/context/base/context.tex b/tex/context/base/context.tex index 7d41beb55..d279b2339 100644 --- a/tex/context/base/context.tex +++ b/tex/context/base/context.tex @@ -31,7 +31,7 @@  %D 2004.8.30 the low level interface is english. Watch out and adapt  %D your styles an modules. -\def\contextversion{2006.05.16 18:35} +\def\contextversion{2006.05.18 20:03}  %D For those who want to use this: diff --git a/tex/context/base/core-fil.tex b/tex/context/base/core-fil.tex index a3311f562..d31b4af22 100644 --- a/tex/context/base/core-fil.tex +++ b/tex/context/base/core-fil.tex @@ -265,8 +265,8 @@     \fi     \let\currentmoduleparameters\empty} -\def\moduleparameter     #1#2{\csname\??md:#1:#2\endcsname} -\def\currentmoduleparameter#1{\csname\??md:\currentmodule:#1\endcsname} +\def\moduleparameter     #1#2{\executeifdefined{\??md:#1:#2}\s!empty} +\def\currentmoduleparameter#1{\executeifdefined{\??md:\currentmodule:#1}\s!empty}  % \usemodule[newmml]  % \usemodule[newmml][a=b] @@ -274,10 +274,31 @@  % \usemodule[x][newmml][a=b]  %  % \startmodule [mathml] -%   \setupmodule[a=c] [\currentmoduleparameter{a}] % user vars will be set afterwards -%   \setupmodule[a=c] [\currentmoduleparameter{a}] % user vars are now forgotten +%   \setupmodule[a=c] \relax [\currentmoduleparameter{a}] % user vars will be set afterwards +%   \setupmodule[a=c] \relax [\currentmoduleparameter{a}] % user vars are now forgotten  % \stopmodule +% one can introduce test sections with: +% +% \enablemode[newmml:test:\currentmoduleparameter{test}] +% \startmode[newmml:test:yes} ... \stopmode +% +% these will be ignored unless test=yes +% +% however, a better way is: + +\let\stopmoduletestsection\donothing + +\def\startmoduletestsection +  {\bgroup +   \setupmodule % we need to make sure that the vars are set +   \doifelse{\currentmoduleparameter\v!test}\v!yes +     {\egroup +      \writestatus{\currentmodule}{loading experimental code}} +     {\egroup +      \writestatus{\currentmodule}{skipping experimental code}% +      \gobbleuntil\stopmoduletestsection}} +  %D We also support a singular call, which saves us for  %D frustrations when we do a typo. diff --git a/tex/context/base/core-pgr.tex b/tex/context/base/core-pgr.tex index fa0836dee..fe82ac643 100644 --- a/tex/context/base/core-pgr.tex +++ b/tex/context/base/core-pgr.tex @@ -1343,7 +1343,8 @@             {\global\chardef\currentamrealpage0}}% % not found        \expanded          {\doglobal\noexpand\appendtoks -           #1_menu_button(\currentamposition,\the\currentamrealpage,\noexpand\MPpos{#1:\currentamposition}) ; +%            #1_menu_button(\currentamposition,\the\currentamrealpage,\noexpand\MPpos{#1:\currentamposition}) ; +           #1_menu_button(\currentamposition,\the\currentamrealpage,\MPpos{#1:\currentamposition}) ;           \to \MPmenutoks}%        \hpos{#1:\currentamposition}{#3}}       {#3}} diff --git a/tex/context/base/font-ini.tex b/tex/context/base/font-ini.tex index fa8523845..d8a06d68c 100644 --- a/tex/context/base/font-ini.tex +++ b/tex/context/base/font-ini.tex @@ -3539,7 +3539,7 @@    {\appendtoks       \everyhbox{\mr\everyhbox\emptytoks}%       \everyvbox{\mr\everyvbox\emptytoks}% -   \to \everymath} +   \to \everymathematics} % was \everymath  % \enableencodinginmath % too untested to enable by default diff --git a/tex/context/base/math-ini.tex b/tex/context/base/math-ini.tex index a9f93a4f4..7f5074947 100644 --- a/tex/context/base/math-ini.tex +++ b/tex/context/base/math-ini.tex @@ -328,8 +328,42 @@  \def\definemathcharacter    {\dosixtupleempty\dodefinemathcharacter} +% \def\dodefinemathcharacter[#1][#2][#3][#4][#5][#6]% +%   {\setmathtoks +%    \ifdynamicmathfamilies \let\purefamilyhex\relax \fi +%    \doifnumberelse{#1} +%      {\scratchcounter#1} +%      {\scratchcounter\@EA`\string#1}% +%    \appendetoks +%       \ifsixthargument +%         \delcode\the\scratchcounter="% +%           \ifnum\puremathcode{#2}>7 0\else\puremathcode{#2}\fi +%           \purefamilyhex{#3}\uchexnumbers{#4}% +%           \purefamilyhex{#5}\uchexnumbers{#6}\space +%       \else\iffourthargument +%         \mathcode\the\scratchcounter="% +%           \ifnum\puremathcode{#2}>7 0\else\puremathcode{#2}\fi +%           \purefamilyhex{#3}\uchexnumbers{#4}\space +%       \fi\fi\to\mathtoks +%    \let\purefamilyhex\normalpurefamilyhex +%    \tracemathcharacter{#1}} + +\newtoks\mathscratchtoks + +\def\definemathcharacter +  {\chardef\mathcharactermode\zerocount +   \dosixtupleempty\dodefinemathcharacter} + +\def\redefinemathcharacter +  {\chardef\mathcharactermode\plusone +   \dosixtupleempty\dodefinemathcharacter} +  \def\dodefinemathcharacter[#1][#2][#3][#4][#5][#6]% -  {\setmathtoks +  {\ifcase\mathcharactermode +     \setmathtoks +   \or +     \let\mathtoks\mathscratchtoks \mathtoks\emptytoks +   \fi     \ifdynamicmathfamilies \let\purefamilyhex\relax \fi     \doifnumberelse{#1}       {\scratchcounter#1} @@ -344,9 +378,16 @@          \mathcode\the\scratchcounter="%            \ifnum\puremathcode{#2}>7 0\else\puremathcode{#2}\fi            \purefamilyhex{#3}\uchexnumbers{#4}\space -      \fi\fi\to\mathtoks +      \fi\fi +   \to \mathtoks     \let\purefamilyhex\normalpurefamilyhex -   \tracemathcharacter{#1}} +   \ifcase\mathcharactermode +     \expandafter\tracemathcharacter +   \or +     \the\mathtoks +     \mathtoks\emptytoks +     \expandafter\gobbleoneargument +   \fi{#1}} % maybe lookahead  \def\tracemathcharacter#1%    {\iftracemathcollection @@ -461,25 +502,52 @@  %D   {ifmathpunctuation, enablemathpunctuation,  %D    definemathpunctuation}  %D +%D This will replace periods by comma's: +%D  %D \starttyping -%D \definemathpunctuation . mathperiod textperiod -%D \definemathpunctuation , mathcomma  textcomma +%D \definemathpunctuation . textcomma textperiod +%D \definemathpunctuation , textcomma textcomma +%D +%D \appendtoks +%D    \redefinemathcharacter [.] [ord] [mi] ["3B]% +%D \to \everymathpunctuation  %D \stoptyping -\newif\ifmathpunctuation +% \newif\ifmathpunctuation +% +% \def\enablemathpunctuation{\mathpunctuationtrue} +% +% \def\definemathpunctuation #1 #2 #3 % +%   {\appendtoks +%      \initializemathpunctuation{#1}{#2}{#3}% +%    \to\everymathematics} +% +% \def\initializemathpunctuation#1#2#3% sloowww +%   {\ifmathpunctuation % hm move thsi test to everymath, or better a separate token list +%      \mathcode`#1="8000 +%      \defineactivecharacter #1 {\dohandlemathpunctuation{#2}{#3}}% +%    \fi} +% +% \unexpanded\def\dohandlemathpunctuation#1#2% \if fails in mathml interval +%   {\def\next{\csname\ifx\space\nexttoken#2\else#1\fi\endcsname}% +%    \futurelet\nexttoken\next} + +\newtoks\everymathpunctuation -\def\enablemathpunctuation{\mathpunctuationtrue} +\def\enablemathpunctuation % can be called inside math, so after \everymathematics +  {\the\everymathpunctuation +   \appendtoksonce +     \the\everymathpunctuation +   \to\everymathematics}  \def\definemathpunctuation #1 #2 #3 %    {\appendtoks       \initializemathpunctuation{#1}{#2}{#3}% -   \to\everymath} +   \to\everymathpunctuation}  \def\initializemathpunctuation#1#2#3% sloowww -  {\ifmathpunctuation -     \mathcode`#1="8000 -     \defineactivecharacter #1 {\dohandlemathpunctuation{#2}{#3}}% -   \fi} +  {\mathcode`#1="8000 +   \defineactivecharacter #1 {\dohandlemathpunctuation{#2}{#3}}}  \unexpanded\def\dohandlemathpunctuation#1#2% \if fails in mathml interval    {\def\next{\csname\ifx\space\nexttoken#2\else#1\fi\endcsname}% diff --git a/tex/context/base/mult-con.tex b/tex/context/base/mult-con.tex index 3e00c2e0a..5c359ca3a 100644 --- a/tex/context/base/mult-con.tex +++ b/tex/context/base/mult-con.tex @@ -2016,6 +2016,10 @@ subsubsubsubsubsubject: subsubsubsubsubonderwerp                 subsubsubsubsub                             an                        zap                             attivo                    on                             actif +                     test: test                      test +                           test                      test +                           test                      test +                           test                    serried: aanelkaar                 serried                             kleinerabstand            semknuto                             vicino                    serried @@ -2849,7 +2853,7 @@ subsubsubsubsubsubject: subsubsubsubsubonderwerp                 subsubsubsubsub                             retour                       test: test                      test                             test                      test -                           test                      text +                           test                      test                             test                  inbetween: tussen                    inbetween                             zwischen                  mezi diff --git a/tex/context/base/x-newmml.tex b/tex/context/base/x-newmml.tex index 54e5940ca..517d67f55 100644 --- a/tex/context/base/x-newmml.tex +++ b/tex/context/base/x-newmml.tex @@ -21,7 +21,7 @@  %D Then we start defining the rendering macros: -\writestatus{loading}{Context XML Macros (MathML Rederer)} +\writestatus{loading}{Context XML Macros (MathML Renderer)}  \startmodule [mathml] @@ -36,6 +36,8 @@  \def\MMLrm{\mr} +\def\MMLseparator#1{{#1}} % nils space after separator +  %D First we define some general formula elements.  \defineXMLenvironment [formula] [label=,sublabel=] @@ -106,8 +108,6 @@  %D A few math related macros: -\def\MMLccomma{{,}} % are the extra {} still needed? -  \let\MMLctempresetlist\empty \def\setMMLcreset{\edef\MMLctempresetlist}  \newcount\MMLapplydepth \def\MMLcreset{\MMLapplydepth\zerocount} @@ -244,51 +244,6 @@      \startsavingXMLelements  \stopsetups -% \startsetups mmc:apply:stop -%     \stopsavingXMLelements -%     \MMLmathinner { -%         \expanded{\doifinsetelse{\getXMLstackname\plusone}{\MMLcmainresetlist,\MMLctempresetlist}} -%             \MMLcreset -%             \donothing -%         \ifcase\MMLapplydepth \else -%             \doifXMLparelse{apply}{open} \donothing{\getXMLarguments{apply}{open="("}}% slow -%             \doifXMLparelse{apply}{close}\donothing{\getXMLarguments{apply}{close=")"}}% slow -%         \fi -%         \doifXMLparelse{apply}{open}{\left\XMLpar{apply}{open}{}}\donothing -%         \advance\MMLapplydepth\plusone -%         \begingroup -%             \let\MMLctempresetlist\empty -%             \doifelse {\getXMLstackname\plusone} {apply} { -%                 % <apply> <apply> ... </apply> <ci> .. </ci> </apply> -%                 \MMLcreset -%                 \getXMLstackdata\plusone -%                 \ifconditional\somepostponedMMLactions -%                     \postponedMMLactions -%                 \else -%                     \left(\MMLcreset\getXMLstackdata\plustwo\right) -%                 \fi -%             } { -%                 \doifelse {\getXMLstackname\plusone} {fn} { -%                     % also postpone -%                     \directsetup{mmc:fn:apply} -%                 } { -%                     \doifelse {\getXMLstackname\plusone} {ci} { -%                         \getXMLstackdata\plusone -%                         \ifnum\XMLstacklevel>\plusone -%                             \left(\MMLcreset\flushXMLstackwith\plustwo\MMLccomma\right) -%                         \fi -%                     } { -%                         \getXMLstackdata\plusone -%                     } -%                 } -%             } -%         \endgroup -%         \advance\MMLapplydepth\minusone -%         \doifXMLparelse{apply}{close}{\right\XMLpar{apply}{close}{}}\donothing -%       } -%     \endgroup -% \stopsetups -  \startsetups mmc:apply:stop      \stopsavingXMLelements      \MMLmathinner { @@ -305,12 +260,12 @@              \let\MMLctempresetlist\empty              \doifelse {\getXMLstackname\plusone} {apply} {                  % <apply> <apply> ... </apply> <ci> .. </ci> </apply> -\doifelseMMCfunctioninapply \plusone {plus,minus} { -    % yet incomplete and rather untested -    % <apply> <apply> <minus/> <tan/> <cos/> </apply> <ci>x</ci> </apply> -} { -                \MMLcreset -} +                \doifelseMMCfunctioninapply \plusone {plus,minus} { +                    % yet incomplete and rather untested +                    % <apply> <apply> <minus/> <tan/> <cos/> </apply> <ci>x</ci> </apply> +                } { +                    \MMLcreset +                }                  \getXMLstackdata\plusone                  \ifconditional\somepostponedMMLactions                      \postponedMMLactions @@ -322,13 +277,18 @@                      % also postpone                      \directsetup{mmc:fn:apply}                  } { -                    \doifelse {\getXMLstackname\plusone} {ci} { -                        \getXMLstackdata\plusone -                        \ifnum\XMLstacklevel>\plusone -                            \left(\MMLcreset\flushXMLstackwith\plustwo\MMLccomma\right) -                        \fi +                    \doifelse {\getXMLstackname\plusone} {csymbol} { +                        % also postpone +                        \directsetup{mmc:csymbol:apply}                      } { -                        \getXMLstackdata\plusone +                        \doifelse {\getXMLstackname\plusone} {ci} { +                            \getXMLstackdata\plusone +                            \ifnum\XMLstacklevel>\plusone +                               \left(\MMLcreset\flushXMLstackwith\plustwo{\MMLseparator,}\right) +                            \fi +                        } { +                            \getXMLstackdata\plusone +                        }                      }                  }              } @@ -395,7 +355,7 @@              \getXMLstackdata\plusone              \ifnum\XMLstacklevel>\plusone                  \getXMLentity{NegThinSpace} -                \left(\MMLcreset\flushXMLstackwith\plustwo\MMLccomma\right) +                \left(\MMLcreset\flushXMLstackwith\plustwo{\MMLseparator,}\right)              \fi          }      } { @@ -462,6 +422,56 @@  \defineXMLargument [cn]      [type=,base=]   {\XMLval{mmc:cn}{\XMLop{type}}    {\firstofoneargument}}  \defineXMLargument [csymbol] [encoding=text] {\XMLval{mmc:cs}{\XMLop{encoding}}{\firstofoneargument}} +%D The next definition provide a kind of plug-in mechanism (see +%D the open math extension module). + +\defineXMLsingular +  [csymbol] +  [encoding=text, +   definitionURL=] +  {} + +\startsetups mmc:csymbol:apply +    \begingroup +    \startsavingXMLelements +    \rawXMLstacktext\plusone % still on stack, no check, just attr test +    \stopsavingXMLelements +    \doifsetupselse{mmc:csymbol:\XMLpar{csymbol}{definitionURL}{}} { +        \expanded{\endgroup\noexpand\directsetup{mmc:csymbol:\XMLpar{csymbol}{definitionURL}{}}} +    } { +        \endgroup +        \XMLval{mmc:cs}{\XMLop{encoding}}{\firstofoneargument} +    } +\stopsetups + +%D Alternative b will convert periods into comma's: +%D +%D \startbuffer +%D \startXMLdata +%D <imath><apply><cn>1.23</cn></apply></imath> +%D <dmath><apply><cn>1.23</cn></apply></dmath> +%D \stopXMLdata +%D +%D \setupMMLappearance[cn] [alternative=b] +%D +%D \startXMLdata +%D <imath><apply><cn>1.23</cn></apply></imath> +%D <dmath><apply><cn>1.23</cn></apply></dmath> +%D \stopXMLdata +%D \stopbuffer +%D +%D \start \typebuffer \getbuffer \stop + +\setupMMLappearance[cn] [\c!alternative=\v!a] + +\defineXMLargument[cn][type=,base=]{\MMLdocn} + +\def\MMLdocn#1% +  {\begingroup +   \doif\@@MMLcnalternative\v!b{\redefinemathcharacter [.][ord][mi]["3B]\relax}% +   \XMLval{mmc:cn}{\XMLop{type}}{\firstofoneargument}{#1}% +   \endgroup} +  \defineXMLsingular [sep] {\MMLcsep} \def\MMLcsep{\,}  \setupMMLappearance[polar]    [\c!alternative=\v!a]  % a|b|c @@ -498,7 +508,7 @@       {#1}}  \def\MMLcdopolara#1% -  {\def\MMLcsep{\MMLccomma}\getXMLentity{polar}\left(#1\right)} +  {\def\MMLcsep{\MMLseparator,}\getXMLentity{polar}\left(#1\right)}  \def\MMLcdopolarb#1%    {\def\MMLcsep##1\empty @@ -621,25 +631,25 @@      \endgroup  \stopsetups -\setupMMLappearance[interval][\c!alternative=\v!a] +\setupMMLappearance[interval][\c!alternative=\v!a,\c!separator={,}]  \mapXMLvalue {mmc:int} {closed} -  {\left[\getXMLstackdata\plusone,\getXMLstackdata\plustwo\right]} +  {\left[\getXMLstackdata\plusone\MMLseparator\@@MMLintervalseparator\getXMLstackdata\plustwo\right]}  \mapXMLvalue {mmc:int} {open-closed}    {\doifelse\@@MMLintervalalternative\v!b -     {\left<\getXMLstackdata\plusone,\getXMLstackdata\plustwo\right]} -     {\left(\getXMLstackdata\plusone,\getXMLstackdata\plustwo\right]}} +     {\left<\getXMLstackdata\plusone\MMLseparator\@@MMLintervalseparator\getXMLstackdata\plustwo\right]} +     {\left(\getXMLstackdata\plusone\MMLseparator\@@MMLintervalseparator\getXMLstackdata\plustwo\right]}}  \mapXMLvalue {mmc:int} {closed-open}    {\doifelse\@@MMLintervalalternative\v!b -     {\left[\getXMLstackdata\plusone,\getXMLstackdata\plustwo\right>} -     {\left[\getXMLstackdata\plusone,\getXMLstackdata\plustwo\right)}} +     {\left[\getXMLstackdata\plusone\MMLseparator\@@MMLintervalseparator\getXMLstackdata\plustwo\right>} +     {\left[\getXMLstackdata\plusone\MMLseparator\@@MMLintervalseparator\getXMLstackdata\plustwo\right)}}  \mapXMLvalue {mmc:int} {open}    {\doifelse\@@MMLintervalalternative\v!b -     {\left<\getXMLstackdata\plusone,\getXMLstackdata\plustwo\right>} -     {\left(\getXMLstackdata\plusone,\getXMLstackdata\plustwo\right)}} +     {\left<\getXMLstackdata\plusone\MMLseparator\@@MMLintervalseparator\getXMLstackdata\plustwo\right>} +     {\left(\getXMLstackdata\plusone\MMLseparator\@@MMLintervalseparator\getXMLstackdata\plustwo\right)}}  % inverse @@ -722,11 +732,11 @@  \startsetups mmc:lambda:stop      \stopsavingXMLelements      \doifelse\@@MMLlambdaalternative\v!a { -        \getXMLentity{lambda}(\flushXMLstackwith\plusone\MMLccomma) +        \getXMLentity{lambda}(\flushXMLstackwith\plusone{\MMLseparator,})      } {          \countXMLnamedstack{bvar}          \ifnum\scratchcounter>\plusone -            \left(\flushXMLnamedstackwith\plusone{bvar}\MMLccomma\right) +            \left(\flushXMLnamedstackwith\plusone{bvar}{\MMLseparator,}\right)          \else              \XMLfirstnamed{bvar}          \fi @@ -830,9 +840,9 @@  \startsetups mmc:minmax      \doifelse{\getXMLstackdata\plustwo}{bvar} {          {}_{\getXMLstackdata\plustwo} -        \left\{\flushXMLstackwith\plusthree\MMLccomma\right\} +        \left\{\flushXMLstackwith\plusthree{\MMLseparator,}\right\}      } { -        \left\{\flushXMLstackwith\plustwo  \MMLccomma\right\} +        \left\{\flushXMLstackwith\plustwo  {\MMLseparator,}\right\}      }  \stopsetups @@ -845,7 +855,7 @@  \startsetups mmc:minus      \doif \@@MMLsignreduction \v!yes { -        \setMMLcreset{\MMLcfunctionlist} +        \setMMLcreset{fn,\MMLcfunctionlist}      }      \ifcase\XMLstacklevel      \or @@ -859,7 +869,7 @@  \startsetups mmc:plus      \doifelse \@@MMLsignreduction \v!yes { -        \setMMLcreset{plus/,minus/,\MMLcfunctionlist,\MMLcconstructlist} +        \setMMLcreset{fn,plus,minus,\MMLcfunctionlist,\MMLcconstructlist}% was plus/, minus/          \doifelse{\getXMLstackname\plustwo} {apply} {              % branch needed, else (a-b) + (c-d) goes wrong              % reset check in case of (-x) + 37 @@ -980,7 +990,7 @@  % gcd -\defineXMLcommand [gcd] {\gcd\left(\MMLcreset\flushXMLstackwith\plustwo\MMLccomma\right)} +\defineXMLcommand [gcd] {\gcd\left(\MMLcreset\flushXMLstackwith\plustwo{\MMLseparator,}\right)}  % and or xor implies @@ -1012,7 +1022,7 @@  \stopsetups  \startsetups mmc:forall-exists -    _{\flushXMLnamedstackwith\plustwo{bvar}\MMLccomma} +    _{\flushXMLnamedstackwith\plustwo{bvar}{\MMLseparator,}}      \XMLdoifonstackelse {condition} {          \getXMLentity{ThickSpace}          \begingroup @@ -1044,7 +1054,7 @@  \defineXMLcommand [arg]       {\getXMLentity{arg}      \left(\MMLcreset\flushXMLstackfrom\plustwo\right)}  \defineXMLcommand [real]      {\getXMLentity{real}     \left(\MMLcreset\flushXMLstackfrom\plustwo\right)}  \defineXMLcommand [imaginary] {\getXMLentity{imaginary}\left(\MMLcreset\flushXMLstackfrom\plustwo\right)} -\defineXMLcommand [lcm]       {\getXMLentity{lcm}      \left(\flushXMLstackwith\plustwo\MMLccomma\right)} +\defineXMLcommand [lcm]       {\getXMLentity{lcm}      \left(\flushXMLstackwith\plustwo{\MMLseparator,}\right)}  \defineXMLcommand [floor]     {\getXMLentity{lfloor}   \flushXMLstackfrom\plustwo \getXMLentity{rfloor}}  \defineXMLcommand [ceiling]   {\getXMLentity{lceiling} \flushXMLstackfrom\plustwo \getXMLentity{rceiling}} @@ -1348,7 +1358,7 @@      \XMLdoifonstackelse{condition} {          \left\{\XMLfirstnamed{bvar}\,\middle\vert\,\XMLfirstnamed{condition}\right\}      } { -        \left\{\flushXMLstackwith\plusone\MMLccomma\right\} +        \left\{\flushXMLstackwith\plusone{\MMLseparator,}\right\}      }      \endgroup  \stopsetups @@ -1369,7 +1379,7 @@      \ifconditional\MMLlistdelimiters\left [\fi      \begingroup      \settrue\MMLlistdelimiters -    \flushXMLstackwith\plusone\MMLccomma +    \flushXMLstackwith\plusone{\MMLseparator,}      \endgroup      \ifconditional\MMLlistdelimiters\right]\fi      \endgroup @@ -1510,7 +1520,7 @@  \defineXMLcommand [vector] {\directsetup{mmc:vector}} % sequence -\setupMMLappearance [vector] [\c!direction=\v!horizontal] +\setupMMLappearance [vector] [\c!direction=\v!horizontal,\c!separator={,}]  \defineXMLnested      [vector] @@ -1522,12 +1532,11 @@      \startsavingXMLelements  \stopsetups -  \startsetups mmc:vector:stop      \stopsavingXMLelements      \ifnum\XMLstacklevel>\plusone          \doifelse\@@MMLvectordirection\v!horizontal { -            \left(\flushXMLstackwith\plusone\MMLccomma\right) +            \left(\flushXMLstackwith\plusone{\MMLseparator\@@MMLvectorseparator}\right)          } {              \collectXMLstack\crcr              \MMLcreset\left(\matrix{\the\XMLRtoks}\right) @@ -1595,7 +1604,7 @@  \stopsetups  \startsetups mmc:selector -    \MMLmathinner{\getXMLstackdata\plustwo}_{\MMLcreset\flushXMLstackwith\plusthree\MMLccomma} +    \MMLmathinner{\getXMLstackdata\plustwo}_{\MMLcreset\flushXMLstackwith\plusthree{\MMLseparator,}}  \stopsetups  \defineXMLcommand [vectorproduct] {\getXMLstackdata\plustwo\getXMLentity{vectorproduct}\getXMLstackdata\plusthree} @@ -1648,9 +1657,6 @@  \defineXMLcommand [primes]         {\getXMLentity{primes}}  \defineXMLcommand [exponentiale]   {\getXMLentity{ExponentialE}}  \defineXMLcommand [imaginaryi]     {\getXMLentity{ImaginaryI}} -% \defineXMLcommand [notanumber]     {\mathop{\MMLrm NaN}} -% \defineXMLcommand [true]           {\mathop{\MMLrm true}} -% \defineXMLcommand [false]          {\mathop{\MMLrm false}}  \defineXMLcommand [notanumber]     {\mathop{\mfunction{NaN}}}  \defineXMLcommand [true]           {\mathop{\mfunction{true}}}  \defineXMLcommand [false]          {\mathop{\mfunction{false}}} @@ -2352,6 +2358,128 @@      \endgroup  \stopsetups +% experimental patches + +\startmoduletestsection + +\let\MMLdoL\donothing +\let\MMLdoR\donothing + +\startsetups mmc:apply:stop +    \stopsavingXMLelements +    \MMLmathinner { +        \expanded{\doifinsetelse{\getXMLstackname\plusone}{\MMLcmainresetlist,\MMLctempresetlist}} +           \MMLcreset +           \donothing +        \ifcase\MMLapplydepth \else +           \doifXMLparelse{apply}{open} \donothing{\getXMLarguments{apply}{open="("}}% slow +           \doifXMLparelse{apply}{close}\donothing{\getXMLarguments{apply}{close=")"}}% slow +        \fi +        \doifXMLparelse{apply}{open} +          {\def\MMLdoL{\left \XMLpar{apply}{open} {(}} +           \def\MMLdoR{\right\XMLpar{apply}{close}{)}}} +          {\let\MMLdoL\donothing +           \let\MMLdoR\donothing} +        \advance\MMLapplydepth\plusone +        \begingroup +            \let\MMLctempresetlist\empty +            \doifelse {\getXMLstackname\plusone} {apply} { +                % <apply> <apply> ... </apply> <ci> .. </ci> </apply> +                \doifelseMMCfunctioninapply \plusone {plus,minus} { +                    % yet incomplete and rather untested +                    % <apply> <apply> <minus/> <tan/> <cos/> </apply> <ci>x</ci> </apply> +                } { +                    \MMLcreset +                } +                \MMLdoL +                \getXMLstackdata\plusone +                \ifconditional\somepostponedMMLactions +                    \postponedMMLactions +                \else +                    \left(\MMLcreset\getXMLstackdata\plustwo\right) +                \fi +                \MMLdoR +            } { +                \doifelse {\getXMLstackname\plusone} {fn} { +                    % \MMLdoL/R are to be taken care of in the next setup +                    \directsetup{mmc:fn:apply} +                } { +                    \doifelse {\getXMLstackname\plusone} {csymbol} { +                        % \MMLdoL/R are to be taken care of in the next setup +                        \directsetup{mmc:csymbol:apply} +                    } { +                        \doifelse {\getXMLstackname\plusone} {ci} { +                            % \MMLdoL/R are to be taken care of in the next setup +                            \directsetup{mmc:ci:apply} +                        } { +                            \MMLdoL +                            \getXMLstackdata\plusone +                            \MMLdoR +                        } +                    } +                } +            } +        \endgroup +        \advance\MMLapplydepth\minusone +        \directsetup{apply:flush} +      } +    \endgroup +\stopsetups + +\startsetups mmc:fn:apply +    \begingroup +    \startsavingXMLelements +    \rawXMLstacktext\plusone % still on stack, no check, just fn content +    \stopsavingXMLelements +    \doifelse {\getXMLstackname\plusone} {ci} { +        \flattenXMLcontent{\getXMLstackdata\plusone} +        \doifsetupselse{mmc:fn:\flattenedXMLcontent} { +% \MMLdoL/MMLdoR to be handled in plugin +            \global\defXMLstackdata\XMLfnoperator\plusone +            \expanded{\endgroup\noexpand\directsetup{mmc:fn:\flattenedXMLcontent}} +        } { +            \endgroup +            \MMLcreset +\MMLdoL +            \getXMLstackdata\plusone +            \ifnum\XMLstacklevel>\plusone +                \getXMLentity{NegThinSpace} +                \left(\MMLcreset\flushXMLstackwith\plustwo{\MMLseparator,}\right) +            \fi +\MMLdoR +        } +    } { +        \endgroup +        \MMLcreset +\MMLdoL +        \getXMLstackdata\plusone +\MMLdoR +    } +\stopsetups + +\startsetups mmc:csymbol:apply +    \begingroup +    \startsavingXMLelements +    \rawXMLstacktext\plusone % still on stack, no check, just attr test +    \stopsavingXMLelements +    % \MMLdoL/MMLdoR to be handled in plugin +    \doifsetupselse{mmc:csymbol:\XMLpar{csymbol}{definitionURL}{}} { +        \expanded{\endgroup\noexpand\directsetup{mmc:csymbol:\XMLpar{csymbol}{definitionURL}{}}} +    } { +        \endgroup +        \XMLval{mmc:cs}{\XMLop{encoding}}{\firstofoneargument} +    } +\stopsetups + +\startsetups mmc:ci:apply +    \getXMLstackdata\plusone +    \ifnum\XMLstacklevel>\plusone +       \left(\MMLcreset\flushXMLstackwith\plustwo{\MMLseparator,}\right) +    \fi +\stopsetups + +\stopmoduletestsection +  \stopmodule  \protect \endinput diff --git a/tex/context/base/x-newmmo.tex b/tex/context/base/x-newmmo.tex new file mode 100644 index 000000000..2becfb30a --- /dev/null +++ b/tex/context/base/x-newmmo.tex @@ -0,0 +1,126 @@ +%D \module +%D   [       file=x-newmmo, +%D        version=2006.05.17, +%D          title=\CONTEXT\ XML Modules, +%D       subtitle=MathML Renderer/Open Math Extensions, +%D         author=Hans Hagen, +%D           date=\currentdate, +%D      copyright={PRAGMA ADE}] +%C +%C This module is part of the \CONTEXT\ macro||package and is +%C therefore copyrighted by \PRAGMA. See mreadme.pdf for +%C details. + +%D Strange things, why not mapped onto normal content MathML and/or +%D onto processing instructions. + +\unprotect + +%D \startbuffer +%D <math xmlns="http://www.w3.org/1998/Math/MathML"> +%D     <vector> +%D         <apply> +%D             <csymbol definitionURL="http://www.openmath.org/cd/nums1#rational"/> +%D             <ci>a</ci> +%D             <cn type="integer">2</cn> +%D         </apply> +%D         <ci>a</ci> +%D     </vector> +%D </math> +%D \stopbuffer +%D +%D \typebuffer \processXMLbuffer + +\startsetups mmc:csymbol:http://www.openmath.org/cd/nums1\string#rational +    \MMLcreset +    \getXMLstackdata\plustwo/\getXMLstackdata\plusthree +\stopsetups + +%D \startbuffer +%D <math xmlns="http://www.w3.org/1998/Math/MathML"> +%D     <apply> +%D         <csymbol definitionURL="http://www.openmath.org/cd/math4all#diffquot"/> +%D         <ci>y</ci> +%D         <ci>x</ci> +%D     </apply> +%D </math> +%D \stopbuffer +%D +%D \typebuffer \processXMLbuffer + +\startsetups mmc:csymbol:http://www.openmath.org/cd/math4all\string#diffquot +    \MMLcreset +    \frac { +        \Delta\getXMLstackdata\plustwo +    } { +        \Delta\getXMLstackdata\plusthree +    } +\stopsetups + +%D \startbuffer +%D <math xmlns="http://www.w3.org/1998/Math/MathML"> +%D     <apply> +%D         <csymbol definitionURL="http://www.openmath.org/cd/math4all#difference"/> +%D         <ci>y</ci> +%D     </apply> +%D </math> +%D \stopbuffer +%D +%D \typebuffer \processXMLbuffer +%D +%D \startbuffer +%D <math xmlns="http://www.w3.org/1998/Math/MathML"> +%D     <apply> +%D         <csymbol definitionURL="http://www.openmath.org/cd/math4all#difference"/> +%D         <apply> +%D             <eq/> +%D             <ci>y</ci> +%D             <apply> +%D                 <minus/> +%D                 <apply> +%D                     <ci>f</ci> +%D                     <ci>x</ci> +%D                 </apply> +%D                 <apply> +%D                     <ci>f</ci> +%D                 <apply> +%D                     <minus/> +%D                     <ci>x</ci> +%D                     <cn type="integer">1</cn> +%D                 </apply> +%D             </apply> +%D         </apply> +%D     </apply> +%D </apply> +%D </math> +%D \stopbuffer +%D +%D \typebuffer \processXMLbuffer + +\startsetups mmc:csymbol:http://www.openmath.org/cd/math4all\string#difference +    \MMLcreset +    \Delta\getXMLstackdata\plustwo +\stopsetups + +%D \startbuffer +%D <math xmlns="http://www.w3.org/1998/Math/MathML"> +%D     <apply> +%D         <csymbol definitionURL="http://www.openmath.org/cd/math4all#diff"/> +%D         <ci>s</ci> +%D         <ci>t</ci> +%D     </apply> +%D </math> +%D \stopbuffer +%D +%D \typebuffer \processXMLbuffer + +\startsetups mmc:csymbol:http://www.openmath.org/cd/math4all\string#diff +    \MMLcreset +    \frac { +        \mfunction{\getXMLentity{mathematicald}}\getXMLstackdata\plustwo +    } { +        \mfunction{\getXMLentity{mathematicald}}\getXMLstackdata\plusthree +    } +\stopsetups + +\protect \endinput diff --git a/tex/context/base/x-om2cml.xsl b/tex/context/base/x-om2cml.xsl index 06f7442c8..acd95db2c 100644 --- a/tex/context/base/x-om2cml.xsl +++ b/tex/context/base/x-om2cml.xsl @@ -1247,4 +1247,12 @@      </annotation>    </xsl:template> +  <xsl:template match="om:OMS[@cd='math4all' and @name]"> +    <csymbol> +      <xsl:attribute name="definitionURL"> +        <xsl:value-of select="concat(concat(concat('http://www.openmath.org/cd/',@cd),'#'),@name)"/> +      </xsl:attribute> +    </csymbol> +  </xsl:template> +  </xsl:stylesheet> diff --git a/tex/context/base/x-sm2om.xsl b/tex/context/base/x-sm2om.xsl index 04677f30a..a37ce1e75 100644 --- a/tex/context/base/x-sm2om.xsl +++ b/tex/context/base/x-sm2om.xsl @@ -26,10 +26,10 @@      <xsl:output method="xml"/> -    <xsl:template match ="processing-instruction()"><xsl:copy/><xsl:text> +    <xsl:template match="processing-instruction()"><xsl:copy/><xsl:text>      </xsl:text></xsl:template> -    <xsl:template match = "node()|@*" > +    <xsl:template match="node()|@*" >          <xsl:copy>              <xsl:apply-templates select = "node()|@*" />          </xsl:copy> @@ -39,13 +39,48 @@      <xsl:variable name='openmath-to-content-mathml'><value-of select='$stylesheet-path'/>/x-openmath.xsl</xsl:variable> +    <xsl:template name='om-kind-of-data'> +        <xsl:param name='arg'/> +        <xsl:choose> +            <xsl:when test="contains($arg,'/')"> +                <xsl:element name="OMA"> +                    <xsl:element name="OMS"> +                        <xsl:attribute name="cd">nums1</xsl:attribute> +                        <xsl:attribute name="name">rational</xsl:attribute> +                    </xsl:element> +                    <xsl:call-template name="om-kind-of-data"> +                        <xsl:with-param name='arg' select="substring-before($arg,'/')"/> +                    </xsl:call-template> +                    <xsl:call-template name="om-kind-of-data"> +                        <xsl:with-param name='arg' select="substring-after($arg,'/')"/> +                    </xsl:call-template> +                </xsl:element> +            </xsl:when> +            <xsl:when test="contains($arg,'.') or contains($arg,',')"> +                <xsl:element name="OMF"> +                    <xsl:attribute name="dec"><xsl:value-of select="$arg"/></xsl:attribute> +                </xsl:element> +            </xsl:when> +            <xsl:when test="number($arg)"> +                <xsl:element name="OMI"> +                    <xsl:value-of select="$arg"/> +                </xsl:element> +            </xsl:when> +            <xsl:otherwise> +                <xsl:element name="OMV"> +                    <xsl:attribute name="name"><xsl:value-of select="$arg"/></xsl:attribute> +                </xsl:element> +            </xsl:otherwise> +        </xsl:choose> +    </xsl:template> +      <xsl:template match='i|n'>          <xsl:element name="OMOBJ">              <xsl:attribute name="xmlns">http://www.openmath.org/OpenMath</xsl:attribute>              <xsl:attribute name="version">2.0</xsl:attribute> -            <xsl:element name="OMI"> -                <xsl:apply-templates/> -            </xsl:element> +            <xsl:call-template name="om-kind-of-data"> +                <xsl:with-param name='arg' select="text()"/> +            </xsl:call-template>          </xsl:element>      </xsl:template> @@ -66,34 +101,45 @@              <xsl:attribute name="xmlns">http://www.openmath.org/OpenMath</xsl:attribute>              <xsl:attribute name="version">2.0</xsl:attribute>              <xsl:element name="OMA"> +                <xsl:variable name='type'> +                    <xsl:choose> +                        <xsl:when test="@type=''"> +                            cc +                        </xsl:when> +                        <xsl:otherwise> +                            <xsl:value-of select="@type"/> +                        </xsl:otherwise> +                    </xsl:choose> +                </xsl:variable>                  <xsl:element name="OMS">                      <xsl:attribute name="cd">interval1</xsl:attribute> -                    <xsl:attribute name="name">interval_oo</xsl:attribute> +                    <xsl:attribute name="name">interval_<xsl:value-of select="$type"/></xsl:attribute> +                </xsl:element> +                <xsl:call-template name="om-kind-of-data"> +                    <xsl:with-param name='arg' select="substring-before(text(),':')"/> +                </xsl:call-template> +                <xsl:call-template name="om-kind-of-data"> +                    <xsl:with-param name='arg' select="substring-after(text(),':')"/> +                </xsl:call-template> +            </xsl:element> +        </xsl:element> +    </xsl:template> + +    <xsl:template match='c'> +        <xsl:element name="OMOBJ"> +            <xsl:attribute name="xmlns">http://www.openmath.org/OpenMath</xsl:attribute> +            <xsl:attribute name="version">2.0</xsl:attribute> +            <xsl:element name="OMA"> +                <xsl:element name="OMS"> +                    <xsl:attribute name="cd">linalg3</xsl:attribute> +                    <xsl:attribute name="name">vector</xsl:attribute>                  </xsl:element> -                <xsl:choose> -                    <xsl:when test="not(number(substring-before(translate(text(),',','.'),':')))"> -                        <xsl:element name="OMV"> -                            <xsl:attribute name="name"><xsl:value-of select="substring-before(text(),':')"/></xsl:attribute> -                        </xsl:element> -                    </xsl:when> -                    <xsl:otherwise> -                        <xsl:element name="OMI"> -                            <xsl:value-of select="substring-before(text(),':')"/> -                        </xsl:element> -                    </xsl:otherwise> -                </xsl:choose> -                <xsl:choose> -                    <xsl:when test="not(number(substring-after(translate(text(),',','.'),':')))"> -                        <xsl:element name="OMV"> -                            <xsl:attribute name="name"><xsl:value-of select="substring-after(text(),':')"/></xsl:attribute> -                        </xsl:element> -                    </xsl:when> -                    <xsl:otherwise> -                        <xsl:element name="OMI"> -                            <xsl:value-of select="substring-after(text(),':')"/> -                        </xsl:element> -                    </xsl:otherwise> -                </xsl:choose> +                <xsl:call-template name="om-kind-of-data"> +                    <xsl:with-param name='arg' select="substring-before(text(),':')"/> +                </xsl:call-template> +                <xsl:call-template name="om-kind-of-data"> +                    <xsl:with-param name='arg' select="substring-after(text(),':')"/> +                </xsl:call-template>              </xsl:element>          </xsl:element>      </xsl:template> diff --git a/tex/context/interface/cont-ro.xml b/tex/context/interface/cont-ro.xml index 70beba87a..bc7f41264 100644 --- a/tex/context/interface/cont-ro.xml +++ b/tex/context/interface/cont-ro.xml @@ -8505,7 +8505,7 @@        <cd:parameter name="optiune">          <cd:constant type="incadrat"/>          <cd:constant type="gol"/> -        <cd:constant type="text"/> +        <cd:constant type="test"/>        </cd:parameter>        <cd:parameter name="obiect">          <cd:constant type="da"/> @@ -9317,7 +9317,7 @@    <cd:arguments>      <cd:assignments interactive="exclusive" list="yes">        <cd:parameter name="optiune"> -        <cd:constant type="text"/> +        <cd:constant type="test"/>        </cd:parameter>      </cd:assignments>    </cd:arguments> diff --git a/tex/context/interface/keys-cz.xml b/tex/context/interface/keys-cz.xml index 7ce6d9f6e..e165887d8 100644 --- a/tex/context/interface/keys-cz.xml +++ b/tex/context/interface/keys-cz.xml @@ -1,6 +1,6 @@  <?xml version="1.0"?> -<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="cz" version="2006.05.16 18:35"> +<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="cz" version="2006.05.18 20:03">    <cd:variables>      <cd:variable name="one" value="jedna"/> @@ -496,6 +496,7 @@    <cd:variables>      <cd:variable name="on" value="zap"/> +    <cd:variable name="test" value="test"/>      <cd:variable name="serried" value="semknuto"/>      <cd:variable name="joinedup" value="spojeno"/>      <cd:variable name="absolute" value="absolutni"/> diff --git a/tex/context/interface/keys-de.xml b/tex/context/interface/keys-de.xml index 7fe0242cc..281f596ba 100644 --- a/tex/context/interface/keys-de.xml +++ b/tex/context/interface/keys-de.xml @@ -1,6 +1,6 @@  <?xml version="1.0"?> -<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="de" version="2006.05.16 18:35"> +<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="de" version="2006.05.18 20:03">    <cd:variables>      <cd:variable name="one" value="eins"/> @@ -496,6 +496,7 @@    <cd:variables>      <cd:variable name="on" value="an"/> +    <cd:variable name="test" value="test"/>      <cd:variable name="serried" value="kleinerabstand"/>      <cd:variable name="joinedup" value="keinabstand"/>      <cd:variable name="absolute" value="absolut"/> diff --git a/tex/context/interface/keys-en.xml b/tex/context/interface/keys-en.xml index 9641b780f..1e5439012 100644 --- a/tex/context/interface/keys-en.xml +++ b/tex/context/interface/keys-en.xml @@ -1,6 +1,6 @@  <?xml version="1.0"?> -<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="en" version="2006.05.16 18:35"> +<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="en" version="2006.05.18 20:03">    <cd:variables>      <cd:variable name="one" value="one"/> @@ -496,6 +496,7 @@    <cd:variables>      <cd:variable name="on" value="on"/> +    <cd:variable name="test" value="test"/>      <cd:variable name="serried" value="serried"/>      <cd:variable name="joinedup" value="joinedup"/>      <cd:variable name="absolute" value="absolute"/> diff --git a/tex/context/interface/keys-fr.xml b/tex/context/interface/keys-fr.xml index 56b45a319..5977c0a3a 100644 --- a/tex/context/interface/keys-fr.xml +++ b/tex/context/interface/keys-fr.xml @@ -1,6 +1,6 @@  <?xml version="1.0"?> -<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="fr" version="2006.05.16 18:35"> +<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="fr" version="2006.05.18 20:03">    <cd:variables>      <cd:variable name="one" value="un"/> @@ -496,6 +496,7 @@    <cd:variables>      <cd:variable name="on" value="actif"/> +    <cd:variable name="test" value="test"/>      <cd:variable name="serried" value="serried"/>      <cd:variable name="joinedup" value="joinedup"/>      <cd:variable name="absolute" value="absolute"/> diff --git a/tex/context/interface/keys-it.xml b/tex/context/interface/keys-it.xml index eff156850..c5422a6c6 100644 --- a/tex/context/interface/keys-it.xml +++ b/tex/context/interface/keys-it.xml @@ -1,6 +1,6 @@  <?xml version="1.0"?> -<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="it" version="2006.05.16 18:35"> +<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="it" version="2006.05.18 20:03">    <cd:variables>      <cd:variable name="one" value="uno"/> @@ -496,6 +496,7 @@    <cd:variables>      <cd:variable name="on" value="attivo"/> +    <cd:variable name="test" value="test"/>      <cd:variable name="serried" value="vicino"/>      <cd:variable name="joinedup" value="unito"/>      <cd:variable name="absolute" value="assoluto"/> diff --git a/tex/context/interface/keys-nl.xml b/tex/context/interface/keys-nl.xml index b9fbc1980..a65e8f658 100644 --- a/tex/context/interface/keys-nl.xml +++ b/tex/context/interface/keys-nl.xml @@ -1,6 +1,6 @@  <?xml version="1.0"?> -<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="nl" version="2006.05.16 18:35"> +<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="nl" version="2006.05.18 20:03">    <cd:variables>      <cd:variable name="one" value="een"/> @@ -496,6 +496,7 @@    <cd:variables>      <cd:variable name="on" value="aan"/> +    <cd:variable name="test" value="test"/>      <cd:variable name="serried" value="aanelkaar"/>      <cd:variable name="joinedup" value="aansluitend"/>      <cd:variable name="absolute" value="absoluut"/> diff --git a/tex/context/interface/keys-ro.xml b/tex/context/interface/keys-ro.xml index 964963ccd..204033ebd 100644 --- a/tex/context/interface/keys-ro.xml +++ b/tex/context/interface/keys-ro.xml @@ -1,6 +1,6 @@  <?xml version="1.0"?> -<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="ro" version="2006.05.16 18:35"> +<cd:interface xmlns:cd="http://www.pragma-ade.com/commands" name="context" language="ro" version="2006.05.18 20:03">    <cd:variables>      <cd:variable name="one" value="unu"/> @@ -496,6 +496,7 @@    <cd:variables>      <cd:variable name="on" value="on"/> +    <cd:variable name="test" value="test"/>      <cd:variable name="serried" value="serried"/>      <cd:variable name="joinedup" value="unit"/>      <cd:variable name="absolute" value="absolut"/> @@ -703,7 +704,7 @@      <cd:variable name="symbol" value="simbol"/>      <cd:variable name="text" value="text"/>      <cd:variable name="back" value="inapot"/> -    <cd:variable name="test" value="text"/> +    <cd:variable name="test" value="test"/>      <cd:variable name="inbetween" value="intre"/>      <cd:variable name="type" value="type"/>      <cd:variable name="off" value="dezactivat"/>  | 
