1 | TMGXMLEX ;TMG/kst/XML Exporter ;03/25/06
|
---|
2 | ;;1.0;TMG-LIB;**1**;07/12/05
|
---|
3 |
|
---|
4 | ;"TMG XML EXPORT FUNCTION
|
---|
5 | ;"Kevin Toppenberg MD
|
---|
6 | ;"GNU General Public License (GPL) applies
|
---|
7 | ;"7-12-2005
|
---|
8 |
|
---|
9 | ;"=======================================================================
|
---|
10 | ;" API -- Public Functions.
|
---|
11 | ;"=======================================================================
|
---|
12 |
|
---|
13 | ;"=======================================================================
|
---|
14 | ;"PRIVATE API FUNCTIONS
|
---|
15 | ;"=======================================================================
|
---|
16 |
|
---|
17 | ;"=======================================================================
|
---|
18 | ;"Dependencies (duplicates shown in parenthesies)
|
---|
19 | ;"TMGXMLUI
|
---|
20 | ;"--XLFSTR
|
---|
21 | ;"--TMGDBAPI
|
---|
22 | ;"----TMGDEBUG
|
---|
23 | ;"------TMGUSRIF
|
---|
24 | ;"--------(TMGDEBUG)
|
---|
25 | ;"--------TMGSTUTL
|
---|
26 | ;"----------(TMGDEBUG)
|
---|
27 | ;"--------TMGXDLG
|
---|
28 | ;"----(TMGUSRIF)
|
---|
29 | ;"----(TMGSTUTL)
|
---|
30 | ;"--(TMGDEBUG)
|
---|
31 | ;"-- TMGMISC
|
---|
32 | ;"----(TMGDBAPI)
|
---|
33 | ;"----TMGIOUTL
|
---|
34 | ;"----(TMGDEBUG)
|
---|
35 | ;"----(TMGSTUTL)
|
---|
36 | ;"TMGXMLE2
|
---|
37 | ;"--(TMGDBAPI)
|
---|
38 | ;"--(TMGDEBUG)
|
---|
39 | ;"--(TMGMISC)
|
---|
40 | ;"--(TMGUSRIF)
|
---|
41 | ;"TMGIOUTL
|
---|
42 | ;"--(TMGUSRIF)
|
---|
43 | ;"--(TMGDEBUG)
|
---|
44 | ;"--(TMGSTUTL)
|
---|
45 | ;"--(TMGMISC)
|
---|
46 |
|
---|
47 |
|
---|
48 | ;"TMGDEBUG
|
---|
49 | ;"=======================================================================
|
---|
50 | ;"=======================================================================
|
---|
51 |
|
---|
52 |
|
---|
53 | EXPORT
|
---|
54 | ;"Purpose: To ask for parameters, select output, and do actual export
|
---|
55 |
|
---|
56 | new XMLarray
|
---|
57 | new pArray set pArray=$name(XMLarray)
|
---|
58 | new fileName,PriorErrorFound
|
---|
59 |
|
---|
60 | if $$UI^TMGXMLUI(pArray)=0 goto ExDone
|
---|
61 |
|
---|
62 | if (1=0) do if fileName="" do goto ExDone
|
---|
63 | . write "Please select an output file for the XML export",!
|
---|
64 | . set fileName=$$GetFName^TMGIOUTL()
|
---|
65 | . ;"Here I need to select IO channel
|
---|
66 | . if fileName="" quit
|
---|
67 | . . do ShowError^TMGDEBUG(.PriorErrorFound,"No file selected, so aborting.")
|
---|
68 | . set %ZIS("HFSNAME")=fileName
|
---|
69 | . set %ZIS="Q" ;"queing allowed
|
---|
70 | . set %ZIS("HFSMODE")="W" ;"write mode
|
---|
71 | . set IOP="HFS"
|
---|
72 | else do
|
---|
73 | . write "Select device to output XML data to.",!
|
---|
74 | . write "HFS (i.e. Host File System) will allow output to a file.",!
|
---|
75 | . write "(A file name will be asked after HFS is chosen)."
|
---|
76 | . set %ZIS("A")="Enter Output Device: "
|
---|
77 | . set %ZIS("B")="HFS"
|
---|
78 |
|
---|
79 | do ^%ZIS ;"standard device call
|
---|
80 | if POP do goto ExDone
|
---|
81 | . do ShowError^TMGDEBUG(.PriorErrorFound,"Error opening output file. Aborting.")
|
---|
82 | use IO
|
---|
83 |
|
---|
84 | do WriteXMLData^TMGXMLE2(pArray,,,1)
|
---|
85 | do ^%ZISC ;" Close the output device
|
---|
86 |
|
---|
87 | write !,"(Data written to ouput file)",!
|
---|
88 |
|
---|
89 | ExDone
|
---|
90 | kill TMGXDEBUG
|
---|
91 | write !,"Leaving XML Exporter. Goodbye.",!
|
---|
92 | quit
|
---|