[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Dec 2004
    Beiträge
    34

    Question XML stream auf IFS mit ILE

    Hallo Allesamt.

    Ich habe ein kleines Problem
    Ich muss ein XML-Dokument mit ILE
    RPG erstellen. Soweit sogut

    mein Ergebnis ist folgendes
    - <Invoice>
    - <InvoiceHeader> <InvoiceDate>"DATA"</InvoiceDate> <DeliveryDate>"DATA"</DeliveryDate>

    <SupplierOrderNumber>DATA</SupplierOrderNumber>

    <BuyerOrderNumber>DATA</BuyerOrderNumber>

    <InvoiceCurrency>DATA</InvoiceCurrency>

    (InvoiceHeader)
    (wird nicht geschlossen ??)

    <InvoiceParties>
    - <Buyer>
    - <NameAddress>
    <Name1>DATA</Name1>

    <Name2>DATA</Name2>

    <Address1>DATA</Address1>

    <City>DATA</City>

    <PostalCode>DATA</PostalCode>

    <Country>DATA</Country>

    - <Supplier>










    usw . am ende werden alle tags geschlossen.
    </InvoiceDetail>


    </ListOfInvoiceDetail>


    </NameAddress>


    </Invoicee>


    </NameAddress>


    </DeliveryParty>


    </NameAddress>


    </Supplier>


    </NameAddress>


    </Buyer>


    </InvoiceParties>


    </InvoiceHeader>


    </Invoice>
    Aber ich brauche geschlossene Tags
    nach jedem Node
    zb Invoice header schliessen bevor
    InvoiceParties geöfnet wird.
    wie stelle ich das an

    ich benutze V5R3 mit XML toolkit
    qxml4pr513
    vielen Dank für schnelle Hilfe

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.258
    Ich kenn zwar das Toolkit nicht, aber:

    Solange du an ein Node etwas anfügst, wird dieses nicht geschlossen.
    Schau mal in deine Quelle, an welchen Node fügst du Nodes an. Dies impliziert die Hierarchie und damit das Schliessen der Nodes.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Dec 2004
    Beiträge
    34
    Hi
    Leider muss ich immer Elemente anhängen
    und es ist immer der obere Node

    hier mal die source
    ev kannst du was auslesen

    mfg
    Thomas
    000100000000 * ================================================== =============
    000200050628 FXMLMAPINV IF E DISK
    000300050629 ************************************************** ***************
    000400050628 /COPY QXML4PR531
    000500050628 /COPY XMLUNIDEFS
    000600050629 /COPY VECTORH
    000700000000 * General pointers *
    000800050629 Delement S 255a
    000900050629 DelementLen S 10I 0 INZ(0)
    001000050629 DprovidedC S 10I 0 INZ(50)
    001100050629 DavailableC S 10I 0 INZ(50)
    001200050629 DXMLstrPtr§ S *
    001300050629 DNodeptr§ S *
    001400050629 DNodemapptr§ S *
    001500050629 DNodLstPtr§ S *
    001600050629 *****
    001700050627 DDomExcDta§ S * INZ(%ADDR(Qxml_DOMEXCDATA))
    001800000000 D* Pointer to DOMException return
    001900000000 D* area. Monitor this area for
    002000000000 D* return codes indicating
    002100000000 D* incorrect/unsuccessful apis
    002200050627 DDomDoc§ S *
    002300050627 DDomNode§ S *
    002400050627 DDomImpl§ S *
    002500050627 DRootElem§ S *
    002600050627 DProdElem§ S *
    002700050629 DHelpElem§ S *
    002800050628 DHelpElem1§ S *
    002900050629 DLASTElem§ S *
    003000050629 DLASTElem1§ S *
    003100050627 DProdDataVal§ S *
    003200050627 DCatElem§ S *
    003300050627 DCatDataVal§ S *
    003400050627 DdevByElem§ S *
    003500050627 DdevByDataVal§ S *
    003600050627 DDomDoct§ S *
    003700050627 DDomNodeList§ S *
    003800050627 DXMLString1§ S *
    003900050627 DxmlDecl§ S *
    004000050627 Dchild§ S *
    004100000000 DXmlFile2 S 90A INZ('')
    004200050627 DXmlFile2§ S *
    004300000000 Dfd S *
    004400000000 DErrNo S 10I 0 INZ(0)
    004500050627 DErrNo§ S * INZ(%ADDR(ErrNo))
    004600000000 DRTN S 10I 0 INZ(0)
    004700000000 * *
    004800050627 Dstrgbuf§ S *
    004900000000 DOUTPUTSTR S 132A
    005000050627 DOUTPUTSTR§ S * INZ(%ADDR(OUTPUTSTR))
    005100050629 DInCodePage S 10I 0 INZ(237)
    005200000000 DOutCodePage S 10I 0 INZ(819)
    005300050627 DgEncodingStr§ S *
    005400000000 Dencodingstr S 10A INZ('ISO-8859-1')
    005500050627 Dencodingst§ S * INZ(%ADDR(ENCODINGSTR))
    005600050627 DXMLNULL§ S *
    005700050627 DOUTSTR§ S *
    005800050627 DgFormatter§ S *
    005900050627 DgTargetFile§ S *
    006000050629 Dtrue S 5u 0 inz(1)
    006100050629 Dfalse S 5u 0 inz(0)
    006200050629 Dstop S 5u 0 inz(0)
    006300000000 D* *
    006400000000 DElemCount S 10I 0 INZ(0)
    006500000000 DPRERROR PR
    006600000000 DOUTPUTDOC PR
    006700050627 D DOMNODE§ * VALUE
    006800050628 ************************************************** *************************
    006900050628 ****************** ANFANG *************************************************
    007000050628 ************************************************** *************************
    007100050627 C ALLOC 256 strgbuf§
    007200050627 C ALLOC 256 outstr§
    007300050627 C ALLOC 256 XmlFile2§
    007400000000 C *ENTRY PLIST
    007500000000 C PARM FILENAME 256
    007600000000 * Make sure a parameter is passed providing IFS location for output
    007700000000 šC IF %PARMS < 1 ‚<----------+
    007800050627 C EVAL %str(OUTSTR§:256)='Please specify the ' ‚ |
    007900000000 C + 'fully qualified IFS file name ' ‚ |
    008000000000 C + 'where the created XML ' + x'25' ‚ |
    008100000000 C + 'document will be streamed.' ‚ |
    008200000000 C + x'25' + x'00' ‚ |
    008300050627 C CALLP QxmlGenPrint(OUTSTR§:0) ‚ |
    008400050628 C GOTO ENDE$ ‚ |
    008500000000 šC ENDIF ‚<----------+
    008600000000 šC IF %PARMS = 1 ‚<----------+
    008700050627 C EVAL %str(XmlFile2§:256) = ‚ |
    008800000000 C %subst(FILENAME:1:%SCAN(' ':FILENAME:1)-1) ‚ |
    008900000000 C ELSE ‚ >---------+
    009000050627 C EVAL %str(XmlFile2§:256) = %TRIMR(XmlFile2) ‚ |
    009100000000 šC ENDIF ‚<----------+
    009200050628 ************************************************** ************************
    009300000000 * Initialize the XML environment, provide pointer to DOM exception
    009400000000 * data area. A call to QxmlInit must occur before any other API
    009500000000 * call.
    009600050627 C CALLP QxmlInit(DomExcDta§)
    009700050628 *********** ERSTELLEN XML **********************************************
    009800000000 * Create a Document Implementation
    009900050627 C EVAL DomImpl§ =
    010000000000 C QxmlDOMImplementation_getImplementation()
    010100050627 C EVAL DomDoct§ = QxmlDOMDocumentType_null
    010200050628 *
    010300050628 C Z-ADD 0 STUFE##
    010400050628 *
    010500050628 ******** ELEMENTE STUFE*******
    010600050628 C NEUELEMENT TAG
    010700050628 šC *IN52 DOWEQ *OFF ‚<----------+
    010800050629 C READ MAPINV 52 ‚ |
    010900050629 C ADD 1 LAUF## 13 0 ‚ |
    011000050628 C MOVEL(P) XMLPATH ELEMENT## 60 ‚ |
    011100050628 *FESTZLEGEN OB NOCH EINE STUFE ‚ |
    011200050629 C READ MAPINV 52 ‚ |
    011300050628 C Z-ADD VALUE VALUE1 9 0 ‚ |
    011400050628 C*ZURÜCK NACH FESTSTELLUNG ‚ |
    011500050628 C READP XMLMAPINV 52 ‚ |
    011600050628 * ‚ |
    011700050629 šC LAUF## IFEQ 20 ‚<---------+|
    011800050629 C* GOTO WEITER ‚ ||
    011900050629 šC ENDIF ‚<---------+|
    012000050629 * ‚ |
    012100050628 šC VALUE IFEQ 1 ‚<---------+|
    012200050628 C EXSR ROOT$ ‚ ||
    012300050628 C MOVE 'ROOT' ROOT 4 ‚ ||
    012400050628 C GOTO NEXT# ‚ ||
    012500050628 šC ENDIF ‚<---------+|
    012600050628 * ‚ |
    012700050628 C value ifeq 2 ‚<---------+|
    012800050629 C EXSR NODE$ ‚ ||
    012900050628 C MOVE *blank ROOT 4 ‚ ||
    013000050628 C GOTO NEXT# ‚ ||
    013100050628 šc endif ‚<---------+|
    013200050628 * ‚ |
    013300050628 C value ifLT STUFE## ‚<---------+|
    013400050628 C EXSR NODE$ ‚ ||
    013500050628 C GOTO NEXT# ‚ ||
    013600050628 šc endif ‚<---------+|
    013700050628 * ‚ |
    013800050628 C value ifeq STUFE## ‚<---------+|
    013900050628 C EXSR VALUE$ ‚ ||
    014000050628 C GOTO NEXT# ‚ ||
    014100050628 šc endif ‚<---------+|
    014200050628 * ‚ |
    014300050628 C value ifgt STUFE## ‚<---------+|
    014400050628 C value1 ANDGT VALUE ‚ ||
    014500050628 C EXSR NODE$ ‚ ||
    014600050628 C GOTO NEXT# ‚ ||
    014700050628 šc endif ‚<---------+|
    014800050628 * ‚ |
    014900050628 * ‚ |
    015000050628 C value ifgt STUFE## ‚<---------+|
    015100050628 C EXSR VALUE$ ‚ ||
    015200050628 C GOTO NEXT# ‚ ||
    015300050628 šc endif ‚<---------+|
    015400050628 * ‚ |
    015500050628 C NEXT# TAG ‚ |
    015600050628 C Z-ADD VALUE STUFE## 9 0 ‚ |
    015700050628 * ‚ |
    015800050628 šC ENDDO ‚<----------+
    015900050629 C WEITER TAG
    016000050628 *
    016100050628 C CALLP QxmlDOMElement_delete(RootElem§)
    016200050628 *
    016300000000 * verify document by getting all elements by tag name '*'
    016400050627 C EVAL %str(strgbuf§:256)='*'
    016500050627 C EVAL DomNodeList§ =
    016600000000 C QxmlDOMDocument_getElementsByTagName
    016700050627 C (DomDoc§:
    016800050627 C strgbuf§:
    016900000000 C Qxml_CHARSTR:
    017000000000 C 0)
    017100050628 * Verify the resulting node list count (element count should be > 59)
    017200000000 C EVAL ElemCount=QxmlDOMNodeList_getLength
    017300050627 C (DomNodeList§)
    017400050628 šC IF ElemCount < 2 ‚<----------+
    017500000000 C CALLP PRERROR ‚ |
    017600000000 šC ENDIF ‚<----------+
    017700050627 C CALLP QxmlDOMNodeList_delete(DomNodeList§)
    017800000000 * Output the XML document to a stream file
    017900000000 C EVAL fd=QxmlOpenNewOutputStream
    018000050627 C (xmlFile2§:
    018100050627 C 0: ErrNo§: OutCodePage)
    018200000000 * Note that outputstream open will fail if already exists
    018300000000 šC IF fd = *NULL ‚<----------+
    018400050627 C EVAL %str(OUTSTR§:256) = 'Error: output stream ' ‚ |
    018500000000 C + 'failed. Errno is' ‚ |
    018600000000 C +%editc(ErrNo:'Z') ‚ |
    018700000000 C +x'2500' ‚ |
    018800050627 C CALLP QxmlGenPrint(OUTSTR§:0) ‚ |
    018900000000 C ELSE ‚ >---------+
    019000000000 * create an XMLFormatTarget to Output XML ‚ |
    019100050627 C EVAL gTargetFile§=QxmlFileFormatTarget_new( ‚ |
    019200000000 C fd) ‚ |
    019300000000 * create XMLFormatter providing XMLFormatTarget output ‚ |
    019400050627 C EVAL gFormatter§=QxmlXMLFormatter_new( ‚ |
    019500050629 C encodingst§: Qxml_JOBCCSID:10:
    019600050627 C gTargetFile§: ‚ |
    019700000000 C Qxml_noEscapes:Qxml_UnRep_CharRef) ‚ |
    019800000000 * Output DOM tree to target IFS stream file ‚ |
    019900050627 C CALLP OUTPUTDOC(DomDoc§) ‚ |
    020000000000 C CALLP QxmlCloseOutputStream(fd) ‚ |
    020100000000 C CALLP QxmlFileFormatTarget_delete( ‚ |
    020200050627 C gTargetFile§) ‚ |
    020300000000 C CALLP QxmlXMLFormatter_delete( ‚ |
    020400050627 C gFormatter§) ‚ |
    020500000000 šC ENDIF ‚<----------+
    020600050627 C CALLP QxmlDOMDocument_delete(DomDoc§)
    020700000000 C CALLP QxmlTerm
    020800050628 C ENDE$ TAG
    020900050628 C SETON LR
    021000050628 C************************************************* *************************
    021100050628 C ROOT$ BEGSR
    021200050628 * Create a null terminated string for root company
    021300050628 C EVAL %str(strgbuf§:256) = %TRIMR(ELEMENT##)
    021400050628 C EVAL DomDoc§ =
    021500050628 C QxmlDOMImplementation_createDocument
    021600050628 C (DomImpl§:
    021700050628 C XMLString1§:
    021800050628 C Qxml_UNICODE:
    021900050628 C 0:
    022000050628 C strgbuf§ :
    022100050628 C Qxml_CHARSTR:
    022200050628 C 0:
    022300050628 C DomDoct§)
    022400050628 * Delete the objects created above that are not needed anymore
    022500050628 C CALLP QxmlDOMImplementation_delete
    022600050628 C (DomImpl§)
    022700050628 C CALLP QxmlDOMDOCUMENTTYPE_delete(
    022800050628 C DomDoct§)
    022900050628 * Get the root element and keep to append additional elements
    023000050628 C EVAL RootElem§ =
    023100050628 C QxmlDOMDocument_getDocumentElement
    023200050628 C (DomDoc§)
    023300050629 *
    023400050629 C EVAL LASTElem§ =
    023500050629 C QxmlDOMDocument_getDocumentElement
    023600050629 C (DomDoc§)
    023700050629 C EXSR ADD$
    023800050629 *
    023900050628 C ENDSR
    024000050629 C************************************************* *************************
    024100050628 C NODE$ BEGSR
    024200050629 C MOVE ' ' CLOSE## 1
    024300050629 šC CLOSE## IFNE *BLANK ‚<----------+
    024400050629 c EVAL LASTELEM = GetLstElem ‚ |
    024500050629 c CALLP RemLstElem ‚ |
    024600050629 C CALLP QxmlDOMElement_delete(LASTELEM1§)
    024700050629 šC ENDIF ‚<----------+
    024800050629 *
    024900050629 C EVAL %str(strgbuf§:256) = %TRIMR(ELEMENT##)
    025000050629 C EVAL XMLString1§=
    025100050629 C QxmlTranscodeToUNICODE(strgbuf§:
    025200050629 C Qxml_CHARSTR:
    025300050629 C 0)
    025400050629 * Create a document element and append to root
    025500050629 C EVAL PRODELEM§=
    025600050629 C QxmlDOMDocument_createElement(
    025700050629 C DomDoc§:
    025800050629 C strgbuf§:
    025900050629 C qxml_JOBCCSID:
    026000050629 C 0)
    026100050629 C EVAL LASTELEM1§ = QxmlDOMNode_appendChild(
    026200050629 C LASTElem§:
    026300050629 C PRODELEM§)
    026400050629 *
    026500050629 C EVAL LASTELEM§=PRODELEM§
    026600050629 C EXSR ADD$
    026700050628 C ENDSR
    026800050628 C************************************************* *************************
    026900050628 C VALUE$ BEGSR
    027000050629 * Create a document element of name 'product' and append to the root
    027100050629 * Note that for string elements you can either specify the length or
    027200050629 * provide it as a null terminated string (length is 0)
    027300050628 C EVAL %str(strgbuf§:256) = %TRIMR(ELEMENT##)
    027400050628 C EVAL XMLString1§=
    027500050628 C QxmlTranscodeToUNICODE(strgbuf§:
    027600050628 C Qxml_CHARSTR:
    027700050628 C 0)
    027800050629 * Create a document element and append to root
    027900050629 C EVAL PRODELEM§=
    028000050629 C QxmlDOMDocument_createElement(
    028100050629 C DomDoc§:
    028200050629 C strgbuf§:
    028300050629 C qxml_JOBCCSID:
    028400050629 C 0)
    028500050629 C EVAL CHILD§ = QxmlDOMNode_appendChild(
    028600050629 C LASTElem§:
    028700050629 C PRODELEM§)
    028800050629 C* CALLP QxmlDOMNode_delete(child§)
    028900050629 * Create a text node and add element
    029000050628 C MOVEL(P) 'BÜRKLIN-DATA'INHALT## 60
    029100050628 C EVAL %str(strgbuf§:256)= %TRIMR(INHALT##)
    029200050628 C EVAL ProdDataVal§ =
    029300050628 C QxmlDOMDocument_createTextNode
    029400050628 C (DomDoc§:
    029500050628 C strgbuf§:
    029600050628 C qxml_CHARSTR:
    029700050628 C 18)
    029800050629 C EVAL child§ = QxmlDOMNode_appendChild
    029900050629 C (ProdElem§:PRODDATAVAL§)
    030000050629 *
    030100050629 C* CALLP QxmlDOMText_delete(ProdDataVal§)
    030200050629 C* CALLP QxmlDOMElement_delete(ProdElem§)
    030300050629 C* CALLP QxmlDOMNode_delete(child§)
    030400050628 C ENDSR
    030500050628 ************************************************** ************************
    030600050629 C ADD$ BEGSR
    030700050629 * Holen Node Name
    030800050629 C EVAL XMLstrPtr§ = QxmlDOMNode_getNodeName
    030900050629 C (LASTElem§)
    031000050629 C EVAL providedC = 50
    031100050629 C EVAL availableC = 50
    031200050629 C CALLP QxmlTranscode(XMLstrPtr§: Qxml_UNICODE:
    031300050629 C %ADDR(element): %ADDR(providedC):
    031400050629 C %ADDR(availableC): Qxml_CHARSTR)
    031500050629 C EVAL elementLen = QxmlXMLString_stringLen(
    031600050629 C XMLstrPtr§:Qxml_UNICODE)
    031700050629 C eval element = %subst(element:1:elementLen)
    031800050629 *
    031900050629 c CALLP AddElem(element)
    032000050629 C EXSR LASTELEMENT$
    032100050629 C ENDSR
    032200050629 ************************************************** ************************
    032300050629 C remove$ BEGSR
    032400050629 C*REMOVE LAST ELEMENT
    032500050629 C MOVE *BLANK LASTELEM 50
    032600050629 c EVAL LASTELEM = GetLstElem
    032700050629 c CALLP RemLstElem
    032800050629 C ENDSR
    032900050629 ************************************************** ************************
    033000050629 C LASTELEMENT$ BEGSR
    033100050629 C MOVE *BLANK LASTELEM 50
    033200050629 c EVAL LASTELEM = GetLstElem
    033300050629 C ENDSR
    033400050629 ************************************************** ************************
    033500000000 PPRERROR B
    033600000000 DPRERROR PI
    033700050627 C EVAL %str(OUTSTR§:256) = 'Error: Element count '
    033800000000 C + 'is not equal to 4' + x'25' + x'00'
    033900050627 C CALLP QxmlGenPrint(OUTSTR§:0)
    034000050628 C RETURN
    034100050628 ************************************************** ************************
    034200000000 PPRERROR E
    034300000000 POUTPUTDOC B
    034400000000 DOUTPUTDOC PI
    034500050627 D DOMNODE§ * VALUE
    034600000000 *
    034700050627 DDOMAttr§ S *
    034800050627 DDOMChild§ S *
    034900050627 DSaveChild§ S *
    035000050627 DNodeName§ S *
    035100050627 DNodeVal§ S *
    035200050627 DAttrName2§ S *
    035300050627 DAttrVal2§ S *
    035400050627 DNodeMap§ S *
    035500000000 DNodeType S 5I 0
    035600000000 Dattrlen S 10I 0
    035700000000 Distrue S 10I 0
    035800000000 Dsaveattrl S 10I 0
    035900000000 DIndex S 10I 0 INZ(0)
    036000000000 DLENT S 10I 0 INZ(0)
    036100050627 DDOCTPID§ S *
    036200050627 DSTR§ S *
    036300000000 * get node name, value and type
    036400050627 C EVAL NodeName§ = QxmlDOMNODE_GETNODENAME(
    036500050627 C DOMNODE§)
    036600050627 C EVAL NodeVal§ =QxmlDOMNODE_GETNODEVALUE(
    036700050627 C DOMNODE§ )
    036800000000 C EVAL NodeType =QxmlDOMNODE_GETNODETYPE(
    036900050627 C DOMNODE§ )
    037000050627 C EVAL LENT=QxmlXMLString_stringLen(NodeVal§
    037100000000 C :Qxml_UNICODE)
    037200000000 * Based on NODE TYPE, determine the output
    037300000000 * If Node TYPE is TEXT_NODE
    037400000000 šC IF NodeType =Qxml_TEXT_NOD ‚<----------+
    037500000000 C CALLP QxmlXMLFormatter_formatBuf( ‚ |
    037600050627 C gFormatter§: ‚ |
    037700050627 C NodeVal§: ‚ |
    037800000000 C Qxml_UNICODE: ‚ |
    037900000000 C 0: ‚ |
    038000000000 C Qxml_CharEscapes: ‚ |
    038100000000 C Qxml_DefaultEscape) ‚ |
    038200000000 C ELSE ‚ >---------+
    038300000000 * Node TYPE is Element - print child nodes ‚ |
    038400000000 šC IF NodeType = Qxml_ELMNT_NOD ‚<---------+|
    038500000000 * Determine if element node has any 'attributes' ‚ ||
    038600000000 C CALLP QxmlXMLFormatter_setEscapeFlags( ‚ ||
    038700050627 C gFormatter§: ‚ ||
    038800000000 C Qxml_NoEscapes) ‚ ||
    038900000000 C CALLP QxmlXMLFormatter_streamoutXMLCh( ‚ ||
    039000050627 C gFormatter§: ‚ ||
    039100000000 C %ADDR(chOpenAngle)) ‚ ||
    039200000000 C CALLP QxmlXMLFormatter_streamoutXMLString( ‚ ||
    039300050627 C gFormatter§: ‚ ||
    039400050627 C nodeName§) ‚ ||
    039500050627 C EVAL NodeMap§=QxmlDOMNODE_GETATTRIBUTES( ‚ ||
    039600050627 C DOMNODE§) ‚ ||
    039700000000 C EVAL attrlen=QxmlDOMNAMEDNODEMAP_GETLENGTH( ‚ ||
    039800050627 C NodeMap§) ‚ ||
    039900000000 šC DOW (index<attrlen) ‚<--------+||
    040000050627 C EVAL DOMAttr§ = ‚ |||
    040100050627 C QxmlDOMNamedNodeMap_ITEM(NodeMap§:Index) ‚ |||
    040200050627 C EVAL AttrName2§ = ‚ |||
    040300050627 C QxmlDOMNODE_getNodeName(DOMAttr§) ‚ |||
    040400050627 C EVAL AttrVal2§ =QxmlDOMNODE_getNodeValue( ‚ |||
    040500050627 C DOMAttr§) ‚ |||
    040600050627 C CALLP QxmlDOMNode_delete(DOMAttr§) ‚ |||
    040700000000 C CALLP QxmlXMLFormatter_setEscapeFlags( ‚ |||
    040800050627 C gFormatter§: ‚ |||
    040900000000 C Qxml_NoEscapes) ‚ |||
    041000000000 C CALLP QxmlXMLFormatter_streamoutXMLCh( ‚ |||
    041100050627 C gFormatter§: ‚ |||
    041200000000 C %ADDR(chSpace)) ‚ |||
    041300000000 C CALLP QxmlXMLFormatter_streamoutXMLString( ‚ |||
    041400050627 C gFormatter§: ‚ |||
    041500050627 C AttrName2§) ‚ |||
    041600000000 C CALLP QxmlXMLFormatter_streamoutXMLCh( ‚ |||
    041700050627 C gFormatter§: ‚ |||
    041800000000 C %ADDR(chEqual)) ‚ |||
    041900000000 C CALLP QxmlXMLFormatter_streamoutXMLCh( ‚ |||
    042000050627 C gFormatter§: ‚ |||
    042100000000 C %ADDR(chDoubleQuote)) ‚ |||
    042200000000 C CALLP QxmlXMLFormatter_setEscapeFlags( ‚ |||
    042300050627 C gFormatter§: ‚ |||
    042400000000 C Qxml_AttrEscapes) ‚ |||
    042500000000 C CALLP QxmlXMLFormatter_streamoutXMLString( ‚ |||
    042600050627 C gFormatter§: ‚ |||
    042700050627 C AttrVal2§) ‚ |||
    042800000000 C CALLP QxmlXMLFormatter_setEscapeFlags( ‚ |||
    042900050627 C gFormatter§: ‚ |||
    043000000000 C Qxml_NoEscapes) ‚ |||
    043100000000 C CALLP QxmlXMLFormatter_streamoutXMLCh( ‚ |||
    043200050627 C gFormatter§: ‚ |||
    043300000000 C %ADDR(chDoubleQuote)) ‚ |||
    043400000000 C EVAL Index = Index +1 ‚ |||
    043500000000 šC ENDDO ‚<--------+||
    043600050627 C CALLP QxmlDOMNamedNodeMap_delete(NodeMap§) ‚ ||
    043700000000 * Process children of node ‚ ||
    043800050627 C EVAL DOMChild§=QxmlDOMNODE_GETFIRSTCHILD( ‚ ||
    043900050627 C DOMNODE§) ‚ ||
    044000050627 šC IF (QxmlDOMNODE_ISNULL(DomChild§) = ‚<--------+||
    044100000000 C Qxml_NODNOTNUL) ‚ |||
    044200000000 * Do while there are child nodes ‚ |||
    044300000000 C ‚ |||
    044400000000 C CALLP QxmlXMLFormatter_setEscapeFlags( ‚ |||
    044500050627 C gFormatter§: ‚ |||
    044600000000 C Qxml_NoEscapes) ‚ |||
    044700000000 C CALLP QxmlXMLFormatter_streamoutXMLCh( ‚ |||
    044800050627 C gFormatter§: ‚ |||
    044900000000 C %ADDR(chCloseAngle)) ‚ |||
    045000050627 šC DOW (QxmlDOMNODE_ISNULL(DomChild§) = ‚<-------+|||
    045100000000 C Qxml_NODNOTNUL) ‚ ||||
    045200050627 C CALLP OUTPUTDOC(DOMChild§) ‚ ||||
    045300050627 C EVAL SaveChild§=DOMChild§ ‚ ||||
    045400050627 C EVAL DOMChild§=QxmlDOMNode_getNextSibling( ‚ ||||
    045500050627 C DOMChild§) ‚ ||||
    045600050627 C CALLP QxmlDOMNODE_delete(SaveChild§) ‚ ||||
    045700000000 šC ENDDO ‚<-------+|||
    045800050627 C CALLP QxmlDOMNODE_delete(DOMChild§) ‚ |||
    045900000000 C CALLP QxmlXMLFormatter_setEscapeFlags( ‚ |||
    046000050627 C gFormatter§: ‚ |||
    046100000000 C Qxml_NoEscapes) ‚ |||
    046200000000 C CALLP QxmlXMLFormatter_streamoutXMLString( ‚ |||
    046300050627 C gFormatter§: ‚ |||
    046400050627 C gEndElement§) ‚ |||
    046500000000 C CALLP QxmlXMLFormatter_streamoutXMLString( ‚ |||
    046600050627 C gFormatter§: ‚ |||
    046700050627 C nodeName§) ‚ |||
    046800000000 C CALLP QxmlXMLFormatter_streamoutXMLCh( ‚ |||
    046900050627 C gFormatter§: ‚ |||
    047000000000 C %ADDR(chCloseAngle)) ‚ |||
    047100000000 C ELSE ‚ >-------+||
    047200050627 C CALLP QxmlDOMNODE_delete(DOMChild§) ‚ |||
    047300000000 C CALLP QxmlXMLFormatter_setEscapeFlags( ‚ |||
    047400050627 C gFormatter§: ‚ |||
    047500000000 C Qxml_NoEscapes) ‚ |||
    047600000000 C CALLP QxmlXMLFormatter_streamoutXMLCh( ‚ |||
    047700050627 C gFormatter§: ‚ |||
    047800000000 C %ADDR(chForwardSlash)) ‚ |||
    047900000000 C CALLP QxmlXMLFormatter_streamoutXMLCh( ‚ |||
    048000050627 C gFormatter§: ‚ |||
    048100000000 C %ADDR(chCloseAngle)) ‚ |||
    048200000000 * Close the element children IF ‚ |||
    048300000000 šC ENDIF ‚<--------+||
    048400000000 C ELSE ‚ >--------+|
    048500000000 * Node TYPE is Document - print child nodes ‚ ||
    048600000000 šC IF NodeType =Qxml_DOC_NOD ‚<--------+||
    048700050627 C EVAL DOMChild§=QxmlDOMNODE_GETFIRSTCHILD( ‚ |||
    048800050627 C DOMNODE§) ‚ |||
    048900050627 šC DOW (QxmlDOMNODE_ISNULL(DomChild§) = ‚<-------+|||
    049000000000 C Qxml_NODNOTNUL) ‚ ||||
    049100050627 C CALLP OUTPUTDOC(DOMChild§) ‚ ||||
    049200050627 C EVAL SaveChild§=DOMChild§ ‚ ||||
    049300050627 C EVAL DOMChild§=QxmlDOMNODE_GETNEXTSIBLING( ‚ ||||
    049400050627 C DOMChild§) ‚ ||||
    049500050627 C CALLP QxmlDOMNODE_delete(SaveChild§) ‚ ||||
    049600000000 šC ENDDO ‚<-------+|||
    049700050627 C CALLP QxmlDOMNODE_delete(DOMChild§) ‚ |||
    049800000000 C ELSE ‚ >-------+||
    049900000000 * If Node TYPE is COMMENT_NODE ‚ |||
    050000000000 šC IF NodeType = Qxml_CMNT_NOD ‚<-------+|||
    050100000000 C CALLP QxmlXMLFormatter_setEscapeFlags( ‚ ||||
    050200050627 C gFormatter§:Qxml_NoEscapes) ‚ ||||
    050300000000 C CALLP QxmlXMLFormatter_streamoutXMLString( ‚ ||||
    050400050627 C gFormatter§:gStartComment§) ‚ ||||
    050500000000 C CALLP QxmlXMLFormatter_streamoutXMLString( ‚ ||||
    050600050627 C gFormatter§:nodeVal§) ‚ ||||
    050700000000 C CALLP QxmlXMLFormatter_streamoutXMLString( ‚ ||||
    050800050627 C gFormatter§:gEndComment§) ‚ ||||
    050900000000 C ELSE ‚ >------+|||
    051000000000 * Node TYPE is Processing Instruction ‚ ||||
    051100000000 šC IF NodeType =Qxml_PI_NOD ‚<------+||||
    051200000000 C* Output the markup for Processing instruction ‚ |||||
    051300000000 C CALLP QxmlXMLFormatter_setEscapeFlags( ‚ |||||
    051400050627 C gFormatter§: ‚ |||||
    051500000000 C Qxml_NoEscapes) ‚ |||||
    051600000000 C CALLP QxmlXMLFormatter_streamoutXMLString( ‚ |||||
    051700050627 C gFormatter§: ‚ |||||
    051800050627 C gStartPI§) ‚ |||||
    051900000000 C CALLP QxmlXMLFormatter_streamoutXMLString( ‚ |||||
    052000050627 C gFormatter§: ‚ |||||
    052100050627 C nodeName§) ‚ |||||
    052200000000 šC IF (LENT>0) ‚<-----+|||||
    052300000000 C CALLP QxmlXMLFormatter_streamoutXMLCh( ‚ ||||||
    052400050627 C gFormatter§: ‚ ||||||
    052500000000 C %ADDR(chSpace)) ‚ ||||||
    052600000000 C CALLP QxmlXMLFormatter_streamoutXMLString( ‚ ||||||
    052700050627 C gFormatter§: ‚ ||||||
    052800050627 C nodeVal§) ‚ ||||||
    052900000000 šC ENDIF ‚<-----+|||||
    053000000000 C CALLP QxmlXMLFormatter_streamoutXMLString( ‚ |||||
    053100050627 C gFormatter§: ‚ |||||
    053200050627 C gEndPI§) ‚ |||||
    053300000000 C ELSE ‚ >-----+||||
    053400000000 * Node TYPE is Start Entity Reference Node ‚ |||||
    053500000000 šC IF NodeType = Qxml_ENTRF_NOD ‚<-----+|||||
    053600000000 C CALLP QxmlXMLFormatter_setEscapeFlags( ‚ ||||||
    053700050627 C gFormatter§: ‚ ||||||
    053800000000 C Qxml_NoEscapes) ‚ ||||||
    053900000000 C CALLP QxmlXMLFormatter_streamoutXMLCh( ‚ ||||||
    054000050627 C gFormatter§:%ADDR(chAmpersand)) ‚ ||||||
    054100000000 C CALLP QxmlXMLFormatter_streamoutXMLString( ‚ ||||||
    054200050627 C gFormatter§:nodeName§) ‚ ||||||
    054300000000 C CALLP QxmlXMLFormatter_streamoutXMLCh( ‚ ||||||
    054400050627 C gFormatter§:%ADDR(chSemiColon)) ‚ ||||||
    054500000000 C ELSE ‚ >----+|||||
    054600000000 * Node Type is CDATA node ‚ ||||||
    054700000000 šC IF NodeType = Qxml_CDATA_NOD ‚<----+||||||
    054800000000 C CALLP QxmlXMLFormatter_setEscapeFlags( ‚ |||||||
    054900050627 C gFormatter§: ‚ |||||||
    055000000000 C Qxml_NoEscapes) ‚ |||||||
    055100000000 C CALLP QxmlXMLFormatter_streamoutXMLString( ‚ |||||||
    055200050627 C gFormatter§: ‚ |||||||
    055300050627 C gStartCDATA§) ‚ |||||||
    055400000000 C CALLP QxmlXMLFormatter_streamoutXMLString( ‚ |||||||
    055500050627 C gFormatter§:nodeVal§) ‚ |||||||
    055600000000 C CALLP QxmlXMLFormatter_streamoutXMLString( ‚ |||||||
    055700050627 C gFormatter§:gEndCDATA§) ‚ |||||||
    055800000000 C ELSE ‚ >---+||||||
    055900000000 * Node TYPE is Start Document Type node ‚ |||||||
    056000000000 šC IF nodeType = Qxml_DOCTP_NOD ‚<---+|||||||
    056100000000 C CALLP QxmlXMLFormatter_setEscapeFlags( ‚ ||||||||
    056200050627 C gFormatter§:Qxml_NoEscapes) ‚ ||||||||
    056300000000 C CALLP QxmlXMLFormatter_streamoutXMLString( ‚ ||||||||
    056400050627 C gFormatter§:gStartDocType§) ‚ ||||||||
    056500000000 C CALLP QxmlXMLFormatter_streamoutXMLString( ‚ ||||||||
    056600050627 C gFormatter§:nodeName§) ‚ ||||||||
    056700050627 C EVAL DOCTPID§ = QxmlDOMDocumentType_getPublicId ‚ ||||||||
    056800050627 C (DOMNODE§) ‚ ||||||||
    056900050627 šC IF DOCTPID§ <> *NULL ‚<--+||||||||
    057000000000 * Output Public ID ‚ |||||||||
    057100000000 C CALLP QxmlXMLFormatter_setEscapeFlags( ‚ |||||||||
    057200050627 C gFormatter§:Qxml_NoEscapes) ‚ |||||||||
    057300000000 C CALLP QxmlXMLFormatter_streamoutXMLCh( ‚ |||||||||
    057400050627 C gFormatter§:%ADDR(chSpace)) ‚ |||||||||
    057500000000 C CALLP QxmlXMLFormatter_streamoutXMLString( ‚ |||||||||
    057600050627 C gFormatter§:gPublic§) ‚ |||||||||
    057700000000 C CALLP QxmlXMLFormatter_streamoutXMLString( ‚ |||||||||
    057800050627 C gFormatter§OCTPID§) ‚ |||||||||
    057900000000 C CALLP QxmlXMLFormatter_streamoutXMLCh( ‚ |||||||||
    058000050627 C gFormatter§:%ADDR(chDoubleQuote)) ‚ |||||||||
    058100050627 C EVAL DOCTPID§ = QxmlDOMDocumentType_getSystemID ‚ |||||||||
    058200050627 C (DOMNODE§) ‚ |||||||||
    058300050627 šC IF DOCTPID§ <> *NULL ‚<-+|||||||||
    058400000000 * Output system id ‚ ||||||||||
    058500000000 C CALLP QxmlXMLFormatter_setEscapeFlags( ‚ ||||||||||
    058600050627 C gFormatter§:Qxml_NoEscapes) ‚ ||||||||||
    058700000000 C CALLP QxmlXMLFormatter_streamoutXMLCh( ‚ ||||||||||
    058800050627 C gFormatter§:%ADDR(chSpace)) ‚ ||||||||||
    058900000000 C CALLP QxmlXMLFormatter_streamoutXMLCh( ‚ ||||||||||
    059000050627 C gFormatter§:%ADDR(chDoubleQuote)) ‚ ||||||||||
    059100000000 C CALLP QxmlXMLFormatter_streamoutXMLString( ‚ ||||||||||
    059200050627 C gFormatter§OCTPID§) ‚ ||||||||||
    059300000000 C CALLP QxmlXMLFormatter_streamoutXMLCh( ‚ ||||||||||
    059400050627 C gFormatter§:%ADDR(chDoubleQuote)) ‚ ||||||||||
    059500050627 š * end DOCTPID§ SystemID ‚ ||||||||||
    059600000000 šC ENDIF ‚<-+|||||||||
    059700000000 * check for System ID to output ‚ |||||||||
    059800000000 C ELSE ‚ >-+||||||||
    059900050627 C EVAL DOCTPID§=QxmlDOMDocumentType_getSystemId ‚ |||||||||
    060000050627 C (DOMNODE§) ‚ |||||||||
    060100050627 šC IF DOCTPID§ <> *NULL ‚<-+|||||||||
    060200000000 * Output SYSTEM ID ‚ ||||||||||
    060300000000 C CALLP QxmlXMLFormatter_setEscapeFlags( ‚ ||||||||||
    060400050627 C gFormatter§:Qxml_NoEscapes) ‚ ||||||||||
    060500000000 C CALLP QxmlXMLFormatter_streamoutXMLCh( ‚ ||||||||||
    060600050627 C gFormatter§:%ADDR(chSpace)) ‚ ||||||||||
    060700000000 C CALLP QxmlXMLFormatter_streamoutXMLString( ‚ ||||||||||
    060800050627 C gFormatter§:gSystem§) ‚ ||||||||||
    060900000000 C CALLP QxmlXMLFormatter_streamoutXMLString( ‚ ||||||||||
    061000050627 C gFormatter§OCTPID§) ‚ ||||||||||
    061100000000 C CALLP QxmlXMLFormatter_streamoutXMLCh( ‚ ||||||||||
    061200050627 C gFormatter§:%ADDR(chDoubleQuote)) ‚ ||||||||||
    061300000000 šC ENDIF ‚<-+|||||||||
    061400050627 š * end DOCTPID§ PublicID ‚ |||||||||
    061500000000 šC ENDIF ‚<--+||||||||
    061600050627 C EVAL DOCTPID§ = ‚ ||||||||
    061700000000 C QxmlDOMDocumentType_getInternalSubset ‚ ||||||||
    061800050627 C (DOMNODE§) ‚ ||||||||
    061900050627 šC IF DOCTPID§ <> *NULL ‚<--+||||||||
    062000000000 * Output internal subset ‚ |||||||||
    062100000000 C CALLP QxmlXMLFormatter_setEscapeFlags( ‚ |||||||||
    062200050627 C gFormatter§:Qxml_NoEscapes) ‚ |||||||||
    062300000000 C CALLP QxmlXMLFormatter_streamoutXMLCh( ‚ |||||||||
    062400050627 C gFormatter§:%ADDR(chOpenSquare)) ‚ |||||||||
    062500000000 C CALLP QxmlXMLFormatter_streamoutXMLString( ‚ |||||||||
    062600050627 C gFormatter§OCTPID§) ‚ |||||||||
    062700000000 C CALLP QxmlXMLFormatter_streamoutXMLCh( ‚ |||||||||
    062800050627 C gFormatter§:%ADDR(chCloseSquare)) ‚ |||||||||
    062900000000 * End output internal subset ‚ |||||||||
    063000000000 šC ENDIF ‚<--+||||||||
    063100000000 * Output the end of the DOCTYPE ‚ ||||||||
    063200000000 C CALLP QxmlXMLFormatter_setEscapeFlags( ‚ ||||||||
    063300050627 C gFormatter§:Qxml_NoEscapes) ‚ ||||||||
    063400000000 C CALLP QxmlXMLFormatter_streamoutXMLCh( ‚ ||||||||
    063500050627 C gFormatter§:%ADDR(chCloseAngle)) ‚ ||||||||
    063600000000 C CALLP QxmlXMLFormatter_streamoutXMLCh( ‚ ||||||||
    063700050627 C gFormatter§:%ADDR(chLF)) ‚ ||||||||
    063800000000 C ELSE ‚ >--+|||||||
    063900000000 * If note type Start Entity Node ‚ ||||||||
    064000000000 šC IF nodeType = Qxml_ENTTY_NOD ‚<--+||||||||
    064100000000 * Output start of entity ‚ |||||||||
    064200000000 C CALLP QxmlXMLFormatter_setEscapeFlags( ‚ |||||||||
    064300050627 C gFormatter§:Qxml_NoEscapes) ‚ |||||||||
    064400000000 C CALLP QxmlXMLFormatter_streamoutXMLString( ‚ |||||||||
    064500050627 C gFormatter§:gStartEntity§) ‚ |||||||||
    064600000000 C CALLP QxmlXMLFormatter_streamoutXMLString( ‚ |||||||||
    064700050627 C gFormatter§:nodeName§) ‚ |||||||||
    064800000000 * Output Entity Public ID ‚ |||||||||
    064900050627 C EVAL DOCTPID§ = QxmlDOMEntity_getPublicId ‚ |||||||||
    065000050627 C (DOMNODE§) ‚ |||||||||
    065100050627 šC IF DOCTPID§ <> *NULL ‚<-+|||||||||
    065200000000 C CALLP QxmlXMLFormatter_setEscapeFlags( ‚ ||||||||||
    065300050627 C gFormatter§:Qxml_NoEscapes) ‚ ||||||||||
    065400000000 C CALLP QxmlXMLFormatter_streamoutXMLString( ‚ ||||||||||
    065500050627 C gFormatter§:gPublic§) ‚ ||||||||||
    065600000000 C CALLP QxmlXMLFormatter_streamoutXMLString( ‚ ||||||||||
    065700050627 C gFormatter§OCTPID§) ‚ ||||||||||
    065800000000 C CALLP QxmlXMLFormatter_streamoutXMLCh( ‚ ||||||||||
    065900050627 C gFormatter§:%ADDR(chDoubleQuote)) ‚ ||||||||||
    066000000000 šC ENDIF ‚<-+|||||||||
    066100000000 * Output Entity System ID ‚ |||||||||
    066200050627 C EVAL DOCTPID§ = QxmlDOMEntity_getSystemId ‚ |||||||||
    066300050627 C (DOMNODE§) ‚ |||||||||
    066400050627 šC IF DOCTPID§ <> *NULL ‚<-+|||||||||
    066500000000 C CALLP QxmlXMLFormatter_setEscapeFlags( ‚ ||||||||||
    066600050627 C gFormatter§:Qxml_NoEscapes) ‚ ||||||||||
    066700000000 C CALLP QxmlXMLFormatter_streamoutXMLString( ‚ ||||||||||
    066800050627 C gFormatter§:gSystem§) ‚ ||||||||||
    066900000000 C CALLP QxmlXMLFormatter_streamoutXMLString( ‚ ||||||||||
    067000050627 C gFormatter§OCTPID§) ‚ ||||||||||
    067100000000 C CALLP QxmlXMLFormatter_streamoutXMLCh( ‚ ||||||||||
    067200050627 C gFormatter§:%ADDR(chDoubleQuote)) ‚ ||||||||||
    067300000000 šC ENDIF ‚<-+|||||||||
    067400000000 * Output Entity Notation ‚ |||||||||
    067500050627 C EVAL DOCTPID§ = QxmlDOMEntity_getNotationName ‚ |||||||||
    067600050627 C (DOMNODE§) ‚ |||||||||
    067700050627 šC IF DOCTPID§ <> *NULL ‚<-+|||||||||
    067800000000 C CALLP QxmlXMLFormatter_setEscapeFlags( ‚ ||||||||||
    067900050627 C gFormatter§:Qxml_NoEscapes) ‚ ||||||||||
    068000000000 C CALLP QxmlXMLFormatter_streamoutXMLString( ‚ ||||||||||
    068100050627 C gFormatter§:gNotation§) ‚ ||||||||||
    068200000000 C CALLP QxmlXMLFormatter_streamoutXMLString( ‚ ||||||||||
    068300050627 C gFormatter§OCTPID§) ‚ ||||||||||
    068400000000 C CALLP QxmlXMLFormatter_streamoutXMLCh( ‚ ||||||||||
    068500050627 C gFormatter§:%ADDR(chDoubleQuote)) ‚ ||||||||||
    068600000000 šC ENDIF ‚<-+|||||||||
    068700000000 * Output end of Entity ‚ |||||||||
    068800000000 C CALLP QxmlXMLFormatter_setEscapeFlags( ‚ |||||||||
    068900050627 C gFormatter§:Qxml_NoEscapes) ‚ |||||||||
    069000000000 C CALLP QxmlXMLFormatter_streamoutXMLCh( ‚ |||||||||
    069100050627 C gFormatter§:%ADDR(chCloseAngle)) ‚ |||||||||
    069200000000 C CALLP QxmlXMLFormatter_streamoutXMLCh( ‚ |||||||||
    069300050627 C gFormatter§:%ADDR(chLF)) ‚ |||||||||
    069400000000 C ELSE ‚ >-+||||||||
    069500000000 * If Node TYPE is Start DecL Node ‚ |||||||||
    069600000000 šC IF nodeType = -1 ‚<-+|||||||||
    069700000000 C CALLP QxmlXMLFormatter_streamoutXMLString( ‚ ||||||||||
    069800050627 C gFormatter§:gXMLDOMDecl1§) ‚ ||||||||||
    069900050627 C* EVAL STR§ = QxmlDOMXMLDecl_getVersion( ‚ ||||||||||
    070000050627 C* DOMNODE§) ‚ ||||||||||
    070100000000 * Output version ‚ ||||||||||
    070200000000 C CALLP QxmlXMLFormatter_streamoutXMLString( ‚ ||||||||||
    070300050627 C gFormatter§:STR§) ‚ ||||||||||
    070400000000 C CALLP QxmlXMLFormatter_streamoutXMLString( ‚ ||||||||||
    070500050627 C gFormatter§:gXMLDOMDecl2§) ‚ ||||||||||
    070600050627 C* EVAL STR§ = QxmlDOMXMLDecl_getEncoding( ‚ ||||||||||
    070700050627 C* DOMNODE§) ‚ ||||||||||
    070800000000 * Output encoding ‚ ||||||||||
    070900000000 C CALLP QxmlXMLFormatter_streamoutXMLString( ‚ ||||||||||
    071000050627 C gFormatter§:STR§) ‚ ||||||||||
    071100050627 C* EVAL STR§ = QxmlDOMXMLDecl_getStandalone( ‚ ||||||||||
    071200050627 C* DOMNODE§) ‚ ||||||||||
    071300050627 šC IF STR§ <> *NULL ‚++||||||||||
    071400000000 C CALLP QxmlXMLFormatter_streamoutXMLString( ‚ +||||||||||
    071500050627 C gFormatter§:gXMLDecl3§) ‚ +||||||||||
    071600000000 C CALLP QxmlXMLFormatter_streamoutXMLString( ‚ +||||||||||
    071700050627 C gFormatter§:STR§) ‚ +||||||||||
    071800000000 šC ENDIF ‚++||||||||||
    071900000000 C CALLP QxmlXMLFormatter_streamoutXMLString( ‚ ||||||||||
    072000050627 C gFormatter§:gXMLDecl4§) ‚ ||||||||||
    072100000000 * Close Declaration Node IF ‚ ||||||||||
    072200000000 šC ENDIF ‚<-+|||||||||
    072300000000 * Close Entity Node IF ‚ |||||||||
    072400000000 šC ENDIF ‚<--+||||||||
    072500000000 * Close Document Type Node IF ‚ ||||||||
    072600000000 šC ENDIF ‚<---+|||||||
    072700000000 * Close CDATA node IF ‚ |||||||
    072800000000 šC ENDIF ‚<----+||||||
    072900000000 * Close Entity Reference Node IF ‚ ||||||
    073000000000 šC ENDIF ‚<-----+|||||
    073100000000 * Close the PI node IF ‚ |||||
    073200000000 šC ENDIF ‚<------+||||
    073300000000 * Close the Comment Node IF ‚ ||||
    073400000000 šC ENDIF ‚<-------+|||
    073500000000 * Close the Document Node IF ‚ |||
    073600000000 šC ENDIF ‚<--------+||
    073700000000 * Close the Element node IF ‚ ||
    073800000000 šC ENDIF ‚<---------+|
    073900000000 * Close the Text Node IF ‚ |
    074000000000 šC ENDIF ‚<----------+
    074100000000 POUTPUTDOC E

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.258
    Natürlich müssen die Nodes angehängt werden, aber es ist schon ein Unterschied welcher Parentnode gewählt wird oder ob der neue Node eben als Childnode des vorherigen hinzugefügt wird.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Registriert seit
    Aug 2006
    Beiträge
    26
    Hallo THH

    Ist das Tema bei dir noch Aktuell dann hätte ich dir ein RPGLE Beispiel

Similar Threads

  1. Dateien per FTP von IFS auf der AS400 holen
    By kroehn in forum NEWSboard Windows
    Antworten: 5
    Letzter Beitrag: 08-11-06, 19:36
  2. Datei im IFS auf iSeries verschlüsseln
    By jo400 in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 21-10-06, 17:57
  3. Zeit auf IFS
    By scherm in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 04-10-06, 10:48
  4. FTP-Zugriff auf Textfiles im IFS
    By GraueEminenz in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 30-08-06, 08:29
  5. Zugriff auf NSF Dateien im IFS
    By Stephan/400 in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 03-05-06, 07:10

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •