=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Doc/xml.sm1,v retrieving revision 1.5 retrieving revision 1.8 diff -u -p -r1.5 -r1.8 --- OpenXM/src/kan96xx/Doc/xml.sm1 1999/12/14 10:00:45 1.5 +++ OpenXM/src/kan96xx/Doc/xml.sm1 2000/02/28 14:10:29 1.8 @@ -1,10 +1,11 @@ -%% $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.7 2000/02/28 13:22:27 takayama Exp $ %% xml.sm1 XML support for sm1. %% This package requires ox.sm1 [(parse) (ox.sm1) pushfile] extension (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 +50,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 +74,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 +152,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 +186,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 +202,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 +218,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 +240,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 +253,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 +299,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 +333,7 @@ tag 0 eq { } for (Done.) message } def + + +