--- a/trunk/Library/POUs/FB_XmlControl/svnobj
+++ b/trunk/Library/POUs/FB_XmlControl/svnobj
@@ -1,5 +1,4 @@
-Gx_l}!0…jüo|Æê=²ÙàÕFµ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.’    Buffer size of file can be set via GVL_Param_CfUnit (xUnitBufferSize)Usage 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:@    XmlBuffer : FB_StreamBuffer;;H    TagListBuffer : FB_StreamBuffer;<.    Tags : T_MaxString;=P    TagListSeekBuffer : FB_StreamBuffer;>,    TagsSeek : STRING;?@    TagBuffer : FB_StreamBuffer;@,    Tag : T_MaxString;A$    TagOpen: BOOL;B&    Select : UDINT;C8    SearchPosition : UDINT; DEND_VAREVAR CONSTANTF@    TAG_OPEN : STRING(1) := '<';GB    TAG_CLOSE : STRING(1) := '>';HL    END_TAG_CLOSE : STRING(2) := '/>';I:    SPACE : STRING(1) := ' ';J<    EQUALS : STRING(1) := '=';K:    QUOTE : STRING(1) := '"';LD    BACK_SLASH : STRING(1) := '\';MJ    FORWARD_SLASH : STRING(1) := '/';NP    OPEN_COMMENT : STRING(5) := '<!-- ';OP    CLOSE_COMMENT : STRING(4) := ' -->';P8    TAB : STRING(2) := '$T';Q@    CR_LF : STRING(4) := '$R$N';R`    // $OD : ASCII code for carriage return (CR)S.    // $$ : to add a $RTB    // $' : to add ' (apostrophe)U6    // $L or $l : line feedV4    // $N or $n : new lineW6    // $P or $p : next pageX:    // $R or $r : end of lineY"UniqueIdGeneratorZ153[POULevel\L{8e575c5b-1d37-49c6-941b-5c0ec7874787}]Standard^ ChildObjectGuids_8System.Collections.ArrayList`,AddAttributeSubsequentaboolÐÐ-ÐÐ	E
+Gx_lÛ!0…jüoºo‘eDù™tí‡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.’    Buffer size of file can be set via GVL_Param_CfUnit (xUnitBufferSize)*)8FUNCTION_BLOCK FB_XmlControlVAR@    XmlBuffer : FB_StreamBuffer;H    TagListBuffer : FB_StreamBuffer;.    Tags : T_MaxString;P    TagListSeekBuffer : FB_StreamBuffer;,    TagsSeek : STRING;@    TagBuffer : FB_StreamBuffer;,    Tag : T_MaxString; $    TagOpen: BOOL;!&    Select : UDINT;"8    SearchPosition : UDINT; #END_VAR$VAR CONSTANT%@    TAG_OPEN : STRING(1) := '<';&B    TAG_CLOSE : STRING(1) := '>';'L    END_TAG_CLOSE : STRING(2) := '/>';(:    SPACE : STRING(1) := ' ';)<    EQUALS : STRING(1) := '=';*:    QUOTE : STRING(1) := '"';+D    BACK_SLASH : STRING(1) := '\';,J    FORWARD_SLASH : STRING(1) := '/';-P    OPEN_COMMENT : STRING(5) := '<!-- ';.P    CLOSE_COMMENT : STRING(4) := ' -->';/8    TAB : STRING(2) := '$T';0@    CR_LF : STRING(4) := '$R$N';1`    // $OD : ASCII code for carriage return (CR)2.    // $$ : to add a $R3B    // $' : to add ' (apostrophe)46    // $L or $l : line feed54    // $N or $n : new line66    // $P or $p : next page7:    // $R or $r : end of line8"UniqueIdGenerator9153:POULevel;L{8e575c5b-1d37-49c6-941b-5c0ec7874787}<Standard= ChildObjectGuids>8System.Collections.ArrayList?,AddAttributeSubsequent@boolÐÐ-ÐÐ	E
 ÐÐ
­ÚÐ-ÐÐ	E
-[ÐÐ
­—ÚÐ-ÐÐ
­˜ÚÐ-ÐÐ
­™ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­	ÚÐ-ÐÐ
­
-ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­
ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ- ÐÐ
­ÚÐ-!ÐÐ
­nÚÐ-"ÐÐ
­ÚÐ-#ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-$ÐÐ
­ÚÐ-%ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-&ÐÐ
­ÚÐ-'ÐÐ
­ÚÐ-(ÐÐ
­ ÚÐ-ÐÐ
­!ÚÐ-ÐÐ
­"ÚÐ-)ÐÐ
­#ÚÐ-*ÐÐ
­$ÚÐ-ÐÐ
­%ÚÐ-+ÐÐ
­&ÚÐ-,ÐÐ
­'ÚÐ-(ÐÐ
­(ÚÐ-ÐÐ
­)ÚÐ-ÐÐ
­*ÚÐ--ÐÐ
­+ÚÐ-.ÐÐ
­,ÚÐ-ÐÐ
­-ÚÐ-ÐÐ
­.ÚÐ-/ÐÐ
­/ÚÐ-0ÐÐ
­0ÚÐ-ÐÐ
­1ÚÐ-1ÐÐ
­2ÚÐ-ÐÐ
­3ÚÐ-2ÐÐ
­4ÚÐ-3ÐÐ
­5ÚÐ-ÐÐ
­6ÚÐ-ÐÐ
­7ÚÐ-4ÐÐ
­8ÚÐ-5ÐÐ
­9ÚÐ-6ÐÐ
­:ÚÐ-ÐÐ
­;ÚÐ-7ÐÐ
­uÚÐ-8ÐÐ
­vÚÐ-9ÐÐ
­wÚÐ-:ÐÐ
­xÚÐ-;ÐÐ
­yÚÐ-<ÐÐ
­zÚÐ-=ÐÐ
­{ÚÐ->ÐÐ
­|ÚÐ-?ÐÐ
­}ÚÐ-@ÐÐ
­~ÚÐ-AÐÐ
­ÚÐ-BÐÐ
­€ÚÐ-CÐÐ
­ÚÐ-DÐÐ
­‚ÚÐ-EÐÐ
­ƒÚÐ-FÐÐ
­„ÚÐ-GÐÐ
­…ÚÐ-HÐÐ
­†ÚÐ-IÐÐ
­‡ÚÐ-JÐÐ
­ˆÚÐ-KÐÐ
­‰ÚÐ-LÐÐ
­ŠÚÐ-MÐÐ
­‹ÚÐ-NÐÐ
­ŒÚÐ-OÐÐ
­ÚÐ-PÐÐ
­ŽÚÐ-QÐÐ
­ÚÐ-ÐÐ
­ÚÐ-RÐÐ
­‘ÚÐ-SÐÐ
­’ÚÐ-TÐÐ
­“ÚÐ-UÐÐ
­”ÚÐ-VÐÐ
­•ÚÐ-WÐÐ
­–ÚÐ-XÐÐ
­ÚÐ-DÐY-ZÐ[\-]^_Ð`a­+'ÐÐ
­—ÚÐ-ÐÐ
­˜ÚÐ-ÐÐ
­™ÚÐ-ÐÐ
­;ÚÐ-ÐÐ
­uÚÐ-ÐÐ
­vÚÐ-ÐÐ
­wÚÐ-ÐÐ
­xÚÐ-ÐÐ
­yÚÐ-ÐÐ
­zÚÐ-ÐÐ
­{ÚÐ-ÐÐ
­|ÚÐ-ÐÐ
­}ÚÐ-ÐÐ
­~ÚÐ- ÐÐ
­ÚÐ-!ÐÐ
­€ÚÐ-"ÐÐ
­ÚÐ-#ÐÐ
­‚ÚÐ-$ÐÐ
­ƒÚÐ-%ÐÐ
­„ÚÐ-&ÐÐ
­…ÚÐ-'ÐÐ
­†ÚÐ-(ÐÐ
­‡ÚÐ-)ÐÐ
­ˆÚÐ-*ÐÐ
­‰ÚÐ-+ÐÐ
­ŠÚÐ-,ÐÐ
­‹ÚÐ--ÐÐ
­ŒÚÐ-.ÐÐ
­ÚÐ-/ÐÐ
­ŽÚÐ-0ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-1ÐÐ
­‘ÚÐ-2ÐÐ
­’ÚÐ-3ÐÐ
­“ÚÐ-4ÐÐ
­”ÚÐ-5ÐÐ
­•ÚÐ-6ÐÐ
­–ÚÐ-7ÐÐ
­ÚÐ-#Ð8-9Ð:;-<=>Ð?@­