Changeset 508 for ccr/trunk/p/C0CXPATH.m


Ignore:
Timestamp:
May 21, 2009, 1:12:11 PM (15 years ago)
Author:
George Lilly
Message:

formatting for Version 1

File:
1 edited

Legend:

Unmodified
Added
Removed
  • ccr/trunk/p/C0CXPATH.m

    r391 r508  
    1 C0CXPATH   ; CCDCCR/GPL - XPATH XML manipulation utilities; 6/1/08
    2  ;;0.2;CCDCCR;nopatch;noreleasedate
     1C0CXPATH          ; CCDCCR/GPL - XPATH XML manipulation utilities; 6/1/08
     2 ;;1.0;C0C;;May 19, 2009;
    33 ;Copyright 2008 George Lilly.  Licensed under the terms of the GNU
    44 ;General Public License See attached copy of the License.
     
    2222 Q
    2323 ;
    24 OUTPUT(OUTARY,OUTNAME,OUTDIR)   ; WRITE AN ARRAY TO A FILE
     24OUTPUT(OUTARY,OUTNAME,OUTDIR)     ; WRITE AN ARRAY TO A FILE
    2525 ;
    2626 N Y
     
    3030 Q
    3131 ;
    32 PUSH(STK,VAL)   ; pushs VAL onto STK and updates STK(0)
     32PUSH(STK,VAL)     ; pushs VAL onto STK and updates STK(0)
    3333 ;  VAL IS A STRING AND STK IS PASSED BY NAME
    3434 ;
     
    3838 Q
    3939 ;
    40 POP(STK,VAL)    ; POPS THE LAST VALUE OFF THE STK AND RETURNS IT IN VAL
     40POP(STK,VAL)       ; POPS THE LAST VALUE OFF THE STK AND RETURNS IT IN VAL
    4141 ; VAL AND STK ARE PASSED BY REFERENCE
    4242 ;
     
    5050 Q
    5151 ;
    52 PUSHA(ADEST,ASRC) ; PUSH ASRC ONTO ADEST, BOTH PASSED BY NAME
     52PUSHA(ADEST,ASRC)       ; PUSH ASRC ONTO ADEST, BOTH PASSED BY NAME
    5353 ;
    5454 N ZGI
     
    5757 Q
    5858 ;
    59 MKMDX(STK,RTN)  ; MAKES A MUMPS INDEX FROM THE ARRAY STK
     59MKMDX(STK,RTN)  ; MAKES A MUMPS INDEX FROM THE ARRAY STK
    6060 ; RTN IS SET TO //FIRST/SECOND/THIRD FOR THREE ARRAY ELEMENTS
    6161 S RTN=""
     
    6868 Q
    6969 ;
    70 XNAME(ISTR)     ; FUNCTION TO EXTRACT A NAME FROM AN XML FRAG
     70XNAME(ISTR)         ; FUNCTION TO EXTRACT A NAME FROM AN XML FRAG
    7171 ;  </NAME> AND <NAME ID=XNAME> WILL RETURN NAME
    7272 ; ISTR IS PASSED BY VALUE
     
    8383 Q CUR
    8484 ;
    85 INDEX(ZXML)     ; parse the XML in ZXML and produce an XPATH index
     85INDEX(ZXML)         ; parse the XML in ZXML and produce an XPATH index
    8686 ; ex. ZXML(FIRST,SECOND,THIRD,FOURTH)=FIRSTLINE^LASTLINE
    8787 ; WHERE FIRSTLINE AND LASTLINE ARE THE BEGINNING AND ENDING OF THE
     
    141141 Q
    142142 ;
    143 QUERY(IARY,XPATH,OARY)  ; RETURNS THE XML ARRAY MATCHING THE XPATH EXPRESSION
     143QUERY(IARY,XPATH,OARY)  ; RETURNS THE XML ARRAY MATCHING THE XPATH EXPRESSION
    144144 ; XPATH IS OF THE FORM "//FIRST/SECOND/THIRD"
    145145 ; IARY AND OARY ARE PASSED BY NAME
     
    163163 Q
    164164 ;
    165 XF(IDX,XPATH)   ; EXTRINSIC TO RETURN THE STARTING LINE FROM AN XPATH
     165XF(IDX,XPATH)     ; EXTRINSIC TO RETURN THE STARTING LINE FROM AN XPATH
    166166 ; INDEX WITH TWO PIECES START^FINISH
    167167 ; IDX IS PASSED BY NAME
    168168 Q $P(@IDX@(XPATH),"^",1)
    169169 ;
    170 XL(IDX,XPATH)   ; EXTRINSIC TO RETURN THE LAST LINE FROM AN XPATH
     170XL(IDX,XPATH)     ; EXTRINSIC TO RETURN THE LAST LINE FROM AN XPATH
    171171 ; INDEX WITH TWO PIECES START^FINISH
    172172 ; IDX IS PASSED BY NAME
    173173 Q $P(@IDX@(XPATH),"^",2)
    174174 ;
    175 START(ISTR)     ; EXTRINSIC TO RETURN THE STARTING LINE FROM AN INDEX
     175START(ISTR)         ; EXTRINSIC TO RETURN THE STARTING LINE FROM AN INDEX
    176176 ; TYPE STRING WITH THREE PIECES ARRAY;START;FINISH
    177177 ; COMPANION TO FINISH ; IDX IS PASSED BY NAME
    178178 Q $P(ISTR,";",2)
    179179 ;
    180 FINISH(ISTR)    ; EXTRINSIC TO RETURN THE LAST LINE FROM AN INDEX
     180FINISH(ISTR)       ; EXTRINSIC TO RETURN THE LAST LINE FROM AN INDEX
    181181 ; TYPE STRING WITH THREE PIECES ARRAY;START;FINISH
    182182 Q $P(ISTR,";",3)
    183183 ;
    184 ARRAY(ISTR)     ; EXTRINSIC TO RETURN THE ARRAY REFERENCE FROM AN INDEX
     184ARRAY(ISTR)         ; EXTRINSIC TO RETURN THE ARRAY REFERENCE FROM AN INDEX
    185185 ; TYPE STRING WITH THREE PIECES ARRAY;START;FINISH
    186186 Q $P(ISTR,";",1)
    187187 ;
    188 BUILD(BLIST,BDEST)      ; A COPY MACHINE THAT TAKE INSTRUCTIONS IN ARRAY BLIST
     188BUILD(BLIST,BDEST)           ; A COPY MACHINE THAT TAKE INSTRUCTIONS IN ARRAY BLIST
    189189 ; WHICH HAVE ARRAY;START;FINISH AND COPIES THEM TO DEST
    190190 ; DEST IS CLEARED TO START
     
    204204 Q
    205205 ;
    206 QUEUE(BLST,ARRAY,FIRST,LAST)    ; ADD AN ENTRY TO A BLIST
     206QUEUE(BLST,ARRAY,FIRST,LAST)       ; ADD AN ENTRY TO A BLIST
    207207 ;
    208208 I DEBUG W "QUEUEING ",BLST,!
     
    210210 Q
    211211 ;
    212 CP(CPSRC,CPDEST)        ; COPIES CPSRC TO CPDEST BOTH PASSED BY NAME
     212CP(CPSRC,CPDEST)               ; COPIES CPSRC TO CPDEST BOTH PASSED BY NAME
    213213 ; KILLS CPDEST FIRST
    214214 N CPINSTR
     
    222222 Q
    223223 ;
    224 QOPEN(QOBLIST,QOXML,QOXPATH)    ; ADD ALL BUT THE LAST LINE OF QOXML TO QOBLIST
     224QOPEN(QOBLIST,QOXML,QOXPATH)       ; ADD ALL BUT THE LAST LINE OF QOXML TO QOBLIST
    225225 ; WARNING NEED TO DO QCLOSE FOR SAME XML BEFORE CALLING BUILD
    226226 ; QOXPATH IS OPTIONAL - WILL OPEN INSIDE THE XPATH POINT
     
    242242 Q
    243243 ;
    244 QCLOSE(QCBLIST,QCXML,QCXPATH)   ; CLOSE XML AFTER A QOPEN
     244QCLOSE(QCBLIST,QCXML,QCXPATH)     ; CLOSE XML AFTER A QOPEN
    245245 ; ADDS THE LIST LINE OF QCXML TO QCBLIST
    246246 ; USED TO FINISH INSERTING CHILDERN NODES
     
    261261 Q
    262262 ;
    263 INSERT(INSXML,INSNEW,INSXPATH)  ; INSERT INSNEW INTO INSXML AT THE
     263INSERT(INSXML,INSNEW,INSXPATH)  ; INSERT INSNEW INTO INSXML AT THE
    264264 ; INSXPATH XPATH POINT INSXPATH IS OPTIONAL - IF IT IS
    265265 ; OMITTED, INSERTION WILL BE AT THE ROOT
     
    287287 Q
    288288 ;
    289 INSINNER(INNXML,INNNEW,INNXPATH)        ; INSERT THE INNER XML OF INNNEW
     289INSINNER(INNXML,INNNEW,INNXPATH)               ; INSERT THE INNER XML OF INNNEW
    290290 ; INTO INNXML AT THE INNXPATH XPATH POINT
    291291 ;
     
    307307 Q
    308308 ;
    309 INSB4(XDEST,XNEW) ; INSERT XNEW AT THE BEGINNING OF XDEST
     309INSB4(XDEST,XNEW)       ; INSERT XNEW AT THE BEGINNING OF XDEST
    310310 ; BUT XDEST AN XNEW ARE PASSED BY NAME
    311311 N XBLD,XTMP
     
    318318 Q
    319319 ;
    320 REPLACE(REXML,RENEW,REXPATH)    ; REPLACE THE XML AT THE XPATH POINT
     320REPLACE(REXML,RENEW,REXPATH)       ; REPLACE THE XML AT THE XPATH POINT
    321321 ; WITH RENEW - NOTE THIS WILL DELETE WHAT WAS THERE BEFORE
    322322 ; REXML AND RENEW ARE PASSED BY NAME XPATH IS A VALUE
     
    342342 Q
    343343 ;
    344 MISSING(IXML,OARY)      ; SEARTH THROUGH INXLM AND PUT ANY @@X@@ VARS IN OARY
     344MISSING(IXML,OARY)           ; SEARTH THROUGH INXLM AND PUT ANY @@X@@ VARS IN OARY
    345345 ; W "Reporting on the missing",!
    346346 ; W OARY
     
    354354 Q
    355355 ;
    356 MAP(IXML,INARY,OXML)    ; SUBSTITUTE MULTIPLE @@X@@ VARS WITH VALUES IN INARY
     356MAP(IXML,INARY,OXML)       ; SUBSTITUTE MULTIPLE @@X@@ VARS WITH VALUES IN INARY
    357357 ; AND PUT THE RESULTS IN OXML
    358358 I '$D(@IXML@(0)) W "MALFORMED XML PASSED TO MAP",! Q
     
    379379 Q
    380380 ;
    381 DOFLD ; PROCESS A FILEMAN FIELD REFERENCED BY A VARIABLE
    382  ;
    383  Q
    384  ;
    385 TRIM(THEXML) ; TAKES OUT ALL NULL ELEMENTS
     381DOFLD   ; PROCESS A FILEMAN FIELD REFERENCED BY A VARIABLE
     382 ;
     383 Q
     384 ;
     385TRIM(THEXML)    ; TAKES OUT ALL NULL ELEMENTS
    386386 ; THEXML IS PASSED BY NAME
    387387 N I,J,TMPXML,DEL,FOUND,INTXT
     
    421421 Q FOUND
    422422 ;
    423 UNMARK(XSEC) ; REMOVE MARKUP FROM FIRST AND LAST LINE OF XML
     423UNMARK(XSEC)    ; REMOVE MARKUP FROM FIRST AND LAST LINE OF XML
    424424 ; XSEC IS A SECTION PASSED BY NAME
    425425 N XBLD,XTMP
     
    429429 Q
    430430 ;
    431 PARY(GLO)       ;PRINT AN ARRAY
     431PARY(GLO)             ;PRINT AN ARRAY
    432432 N I
    433433 F I=1:1:@GLO@(0) W I_" "_@GLO@(I),!
    434434 Q
    435435 ;
    436 H2ARY(IARYRTN,IHASH,IPRE) ; CONVERT IHASH TO RETURN ARRAY
     436H2ARY(IARYRTN,IHASH,IPRE)       ; CONVERT IHASH TO RETURN ARRAY
    437437 ; IPRE IS OPTIONAL PREFIX FOR THE ELEMENTS. USED FOR MUPTIPLES 1^"VAR"^VALUE
    438438 I '$D(IPRE) S IPRE=""
     
    460460 Q
    461461 ;
    462 XVARS(XVRTN,XVIXML) ; RETURNS AN ARRAY XVRTN OF ALL UNIQUE VARIABLES
     462XVARS(XVRTN,XVIXML)     ; RETURNS AN ARRAY XVRTN OF ALL UNIQUE VARIABLES
    463463 ; DEFINED IN INPUT XML XVIXML BY @@VAR@@
    464464 ; XVRTN AND XVIXML ARE PASSED BY NAME
     
    471471 Q
    472472 ;
    473 DXVARS(DXIN) ;DISPLAY ALL VARIABLES IN A TEMPLATE
     473DXVARS(DXIN)    ;DISPLAY ALL VARIABLES IN A TEMPLATE
    474474 ; IF PARAMETERS ARE NULL, DEFAULTS TO CCR TEMPLATE
    475475 ;
     
    487487 Q
    488488 ;
    489 TEST     ; Run all the test cases
     489TEST        ; Run all the test cases
    490490 D TESTALL^C0CUNIT("C0CXPAT0")
    491491 Q
    492492 ;
    493 ZTEST(WHICH)    ; RUN ONE SET OF TESTS
     493ZTEST(WHICH)       ; RUN ONE SET OF TESTS
    494494 N ZTMP
    495495 S DEBUG=1
     
    498498 Q
    499499 ;
    500 TLIST   ; LIST THE TESTS
     500TLIST     ; LIST THE TESTS
    501501 N ZTMP
    502502 D ZLOAD^C0CUNIT("ZTMP","C0CXPAT0")
Note: See TracChangeset for help on using the changeset viewer.