[r299]: / trunk / Library / POUs / FB_XmlControl / svnobj  Maximize  Restore  History

Download this file

5 lines (5 with data), 8.3 kB

Gx_lQ !0┘jЭo╗6ЁҐв│	h▒	`System.StringL{6f9dac99-8de1-4efc-8465-68ac443b7d08}SpecialFuncL{0db3d7bb-cde0-4416-9a7b-ce49a0124323}NoneImplementationL{3b83b776-fb25-43b8-99f2-3c507c9143fc}TextDocument	L{f3878285-8e4f-490b-bb1b-9acbb7eb04db}
TextLinesL{a5de0b0b-1cb5-4913-ac21-9d70293ec00d}Id
longTagTextInterfaceL{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}(*╡Organizes parsing and composing of XML data. Data can be treated as STRING or char array.≤Filebuffersize is default 4096 bytes and can be set via Gvl_Param_XmlControlUsage example:1. Initiate    VAR8        XML : FB_XMLControl;x        Buffer: STRING(GVL_Param_XmlControl.udiMaxFileSize);        //or▌        Buffer: ARRAY [0..GVL_Param_XmlControl.udiMaxFileSize] OF BYTE;    END_VARH        XML.pBuffer: = ADR (buffer);R        XML.LenBuffer: = SIZEOF (buffer); \    Add your own preferred fileheader like so:!^    XML: <?xml version="1.0" encoding="UTF-8"?>"   #√        XML.WriteDocumentHeader( '<?xml version="1.0" encoding="UTF-8"?>');$F2. Compose a tag with a parameters:%<XML: <MyTag ParaName = "11" />&H    XML.newTag(sTagName: = 'MyTag');'l    XML.newPara(sName: = 'ParaName', sPara: = sValue);(&    XML.CloseTag();)"3. Add tag value:*:XML: <MyTag> MyText </ MyTag>+B    XML.newTag(sName := 'MyTag');,P    XML.newTagData(sTagData :='MyText');-P4. Jump to the beginning of the XML data.(XML.toStartBuffer();/"5. Add a comment:0.XML: <!-- MyComment -->1X    XML.newComment(sTagName: = 'MyComment');2v6. Returns the next tag from the current position in buffer3XML.NextTag();4D7. Output the parameter of the tag5BXML.NextPara(sPara: = LastValue);6`Feedback: sPara returns the value found (string)7*)88FUNCTION_BLOCK FB_XmlControl9VAR::    Buffer : FB_StreamBuffer;;<    TagList : FB_StreamBuffer;<0    sTags : T_MaxString;=D    TagListSeek : FB_StreamBuffer;>.    sTagsSeek : STRING;?4    Tag : FB_StreamBuffer;@.    sTag : T_MaxString;A&    xTagOpen: BOOL;B(    iSelect : UDINT;C2    iSelectStart : UDINT;D.    iSelectEnd : UDINT;E:    iSelectStartPara : UDINT;F6    iSelectEndPara : UDINT;G8    iSelectTagClose : UDINT;H<    iSelectStartValue : UDINT;I8    iSelectEndValue : UDINT;J4    udiSearchPos : UDINT; KEND_VARLVAR CONSTANTM@    TAG_OPEN : STRING(1) := '<';NB    TAG_CLOSE : STRING(1) := '>';OL    END_TAG_CLOSE : STRING(4) := '/>';P:    SPACE : STRING(1) := ' ';Q<    EQUALS : STRING(1) := '=';R:    QUOTE : STRING(1) := '"';SD    BACK_SLASH : STRING(1) := '\';TJ    FORWARD_SLASH : STRING(1) := '/';UP    OPEN_COMMENT : STRING(5) := '<!-- ';VP    CLOSE_COMMENT : STRING(4) := ' -->';W8    TAB : STRING(2) := '$T';X:	CR_LF : STRING(4) := '$R$N';Y  ZX	//$OD : ASCII code for carriage return (CR)[&	//$$ : to add a $R\:	//$' : to add ' (apostrophe)].	//$L or $l : line feed^,	//$N or $n : new line_.	//$P or $p : next page`2	//$R or $r : end of linea"UniqueIdGeneratorb111cPOULeveldL{8e575c5b-1d37-49c6-941b-5c0ec7874787}eStandardf ChildObjectGuidsg8System.Collections.ArrayListh,AddAttributeSubsequentiboolпп-пп	E
пп
ґзп-пп	E
bпп
ґзп-пп
ґзп-пп
ґзп-пп
ґзп-пп
ґзп-пп
ґзп-пп
ґ	зп-пп
ґ
зп-пп
ґзп-пп
ґзп-пп
ґ
зп-пп
ґзп-пп
ґзп-пп
ґзп-пп
ґзп-пп
ґзп-пп
ґзп-пп
ґзп- пп
ґзп-!пп
ґnзп-"пп
ґзп-#пп
ґзп-пп
ґзп-$пп
ґзп-%пп
ґзп-пп
ґзп-&пп
ґзп-'пп
ґзп-(пп
ґ зп-пп
ґ!зп-пп
ґ"зп-)пп
ґ#зп-*пп
ґ$зп-пп
ґ%зп-+пп
ґ&зп-,пп
ґ'зп-(пп
ґ(зп-пп
ґ)зп-пп
ґ*зп--пп
ґ+зп-.пп
ґ,зп-пп
ґ-зп-пп
ґ.зп-/пп
ґ/зп-0пп
ґ0зп-пп
ґ1зп-1пп
ґ2зп-пп
ґ3зп-2пп
ґ4зп-3пп
ґ5зп-пп
ґ6зп-пп
ґ7зп-4пп
ґ8зп-5пп
ґ9зп-6пп
ґ:зп-пп
ґ;зп-7пп
ґ=зп-8пп
ґ>зп-9пп
ґ?зп-:пп
ґ@зп-;пп
ґAзп-<пп
ґBзп-=пп
ґCзп->пп
ґDзп-?пп
ґEзп-@пп
ґFзп-Aпп
ґGзп-Bпп
ґHзп-Cпп
ґIзп-Dпп
ґJзп-Eпп
ґKзп-Fпп
ґLзп-Gпп
ґMзп-Hпп
ґNзп-Iпп
ґOзп-Jпп
ґPзп-Kпп
ґQзп-Lпп
ґRзп-Mпп
ґSзп-Nпп
ґTзп-Oпп
ґUзп-Pпп
ґVзп-Qпп
ґWзп-Rпп
ґXзп-Sпп
ґYзп-Tпп
ґZзп-Uпп
ґ[зп-Vпп
ґfзп-Wпп
ґkзп-Xпп
ґlзп-Yпп
ґ]зп-Zпп
ґ^зп-[пп
ґ_зп-\пп
ґ`зп-]пп
ґaзп-^пп
ґbзп-_пп
ґcзп-`пп
ґзп-Kпa-bпcd-efgпhiґ