=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Doc/xml.sm1,v retrieving revision 1.5 retrieving revision 1.9 diff -u -p -r1.5 -r1.9 --- OpenXM/src/kan96xx/Doc/xml.sm1 1999/12/14 10:00:45 1.5 +++ OpenXM/src/kan96xx/Doc/xml.sm1 2001/12/21 03:00:41 1.9 @@ -1,10 +1,15 @@ -%% $OpenXM: OpenXM/src/kan96xx/Doc/xml.sm1,v 1.4 1999/11/20 05:17:31 takayama Exp $ +%% $OpenXM: OpenXM/src/kan96xx/Doc/xml.sm1,v 1.8 2000/02/28 14:10:29 takayama Exp $ %% xml.sm1 XML support for sm1. %% This package requires ox.sm1 -[(parse) (ox.sm1) pushfile] extension +[(ostype)] extension 0 get (windows) eq { + [(parse) (ox-win.sm1) pushfile] extension +}{ + [(parse) (ox.sm1) pushfile] extension +} ifelse (xml.sm1 : 1999, 11/20 Sat) message %%%%% These should be under /usr/local/OpenXM or OpenXM_HOME /oxpath.java-support (lib/java-support) def +/@@@.xml null def [(getenv) (OpenXM_HOME)] extension tag 0 eq { @@ -49,7 +54,11 @@ tag 0 eq { [/in-cmo2xml /ob] pushVariables [ /ob arg1 def + @@@.xml tag 0 eq { + xmlconnect + }{ } ifelse @@@.xml ob oxpushcmo + @@@.xml 1 oxpushcmo @@@.xml (CMO2OMXML) oxexec @@@.xml oxpopcmo /arg1 set ] pop @@ -69,7 +78,11 @@ tag 0 eq { [/in-xml_to_cmo /ob] pushVariables [ /ob arg1 def + @@@.xml tag 0 eq { + xmlconnect + }{ } ifelse @@@.xml ob oxpushcmo + @@@.xml 1 oxpushcmo @@@.xml (OMXML2CMO) oxexec @@@.xml oxpopcmo /arg1 set ] pop @@ -143,7 +156,7 @@ tag 0 eq { [(cmoTreeToPostfix) [(tree-obj cmoTreeToPostfix postfix-str) - $Example 1: [(plus) (Basic) [(123).. (345)..]] [(class) (tree)] dc /ff set$ + $Example 1: [(plus) (basic) [(123).. (345)..]] [(class) (tree)] dc /ff set$ $ ff cmoTreeToPostfix /gg set $ $ [(parse) gg] extension pop :: $ $Example 2: ( (x-T-2)^5). /p set $ @@ -177,9 +190,9 @@ tag 0 eq { arg1 } def -/plus_Basic { +/basic_plus { /arg1 set - [/in-plus_Basic /s /a /n /i] pushVariables + [/in-basic_plus /s /a /n /i] pushVariables [ /a arg1 def /s a 0 get def @@ -193,9 +206,9 @@ tag 0 eq { popVariables arg1 } def -/times_Basic { +/basic_times { /arg1 set - [/in-times_Basic /s /a /n /i] pushVariables + [/in-basic_times /s /a /n /i] pushVariables [ /a arg1 def /s a 0 get def @@ -209,9 +222,9 @@ tag 0 eq { popVariables arg1 } def -/power_Basic { +/basic_power { /arg1 set - [/in-power_Basic /a ] pushVariables + [/in-basic_power /a ] pushVariables [ /a arg1 def a 0 get a 1 get power /arg1 set @@ -231,9 +244,10 @@ tag 0 eq { { in (array) dc /in set /dic in 1 get def + /dic dic tolower def %% concatenate the dictionary name to the function name. /ans in 2 get { cmoTreeToPrefix } map bracketForm def - [in 0 get (_) dic ans ] cat /ans set + [dic (_) in 0 get ans ] cat /ans set } ifelse /arg1 ans def ] pop @@ -243,7 +257,8 @@ tag 0 eq { [(cmoTreeToPrefix) [(tree-obj cmoTreeToPrefix prefix-str) - $Example 1: [(plus) (Basic) [(123).. (345)..]] [(class) (tree)] dc /ff set$ + (Dictionary names are translated to lower characters.) + $Example 1: [(plus) (basic) [(123).. (345)..]] [(class) (tree)] dc /ff set$ $ ff cmoTreeToPrefix /gg set $ $Example 2: ( (x-T-2)^5). /p set $ $ p [(class) (recursivePolynomial)] dc xml /ff set $ @@ -288,6 +303,22 @@ tag 0 eq { arg1 } def +/xml_tree_to_prefix_string { + /arg1 set + [/in-xml_tree_to_prefix_string /sss] pushVariables + [ + /sss arg1 def + sss isString { + }{ + (string xml_tree_to_prefix_string) error + }ifelse + sss xml_to_cmo cmoTreeToPrefix /ans set + /arg1 ans def + ] pop + arg1 +} def + + /OMproxy-testsuits2 { xmlconnect 1 1 30 { @@ -306,4 +337,7 @@ tag 0 eq { } for (Done.) message } def + + +