| 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
|
|---|