Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: Iq-XML

61 views
Skip to first unread message

Oggy

unread,
Nov 14, 2019, 3:42:26 AM11/14/19
to
A ako koga zanima zašto nije bilo moguće kao element dodati neki veći
string, npr. neki drugi XML.... zato što je u procedurama:
XML:ConvertToXML
i
XML:AddElement
varijabla, odnosno varijable imena WorkValue, koja je/su cstring, bila
ograničena na 10241 byte, što je waay too small. Ako ste skinuli source,
nađite te procedure, te navedene varijable povećajte, najbolje do maksimuma.
I to je to...

"Boris Frković" wrote in message
news:ead53d40-4d60-4fb8...@googlegroups.com...

iQ-XML je open source i moŞete ga naći na:
https://github.com/Devuna/Devuna-IQXML

Boris Frković

unread,
Nov 14, 2019, 11:53:48 PM11/14/19
to
Na žalost to nije sve. Tako kreirani XML sa vrlo velikim vrijednostima nije moguće pročitati sa iQ-XML-om. Vrijednosti su "odrezane"...
Ima još varijabli koje treba povećati:

Global Embeds, After File Declarations:
XMLText FILE,DRIVER('DOS' ),PRE(TXT),CREATE,NAME(glo:_XML_xmlfilename),THREAD
Record RECORD,PRE()
StandLine CSTRING(4000000)
END
END
!StandLine CSTRING(65519)

XMLBase64File FILE,DRIVER('DOS'),PRE(B64),CREATE,NAME(glo:_XML_xmlbinaryname),THREAD
Record RECORD,PRE()
StandLine STRING(4000000)
END

Module Data/Local Data:
V1 CSTRING(4000000)
CommentString STRING(4000000)
ShowFullData CSTRING(4000000) !
ShowClipData STRING(4000000) !
ShowValue STRING(4000000) !
FieldValue CSTRING(4000000)
Mod:LastWrittenString CSTRING(4000000),THREAD
WorkValue CSTRING(4000000),AUTO !
LevelDisplay STRING(4000000),AUTO !
Workparm STRING(4000000) !
InFindValue STRING(4000000) !

XML:Replace:
In1 CSTRING(4000000),AUTO !

if i > 1
IN1 = IN1[1 : I-1] & ReplaceWith & SUB(IN1,I+R1LEN,4000000)
else
IN1 = ReplaceWith & SUB(IN1,I+R1LEN,4000000)
end

XML:ReplaceNC:
In1 CSTRING(4000000),AUTO !

if I > 1
IN1 = IN1[1 : i-1] & ReplaceWith & SUB(IN1,I+R1LEN,4000000)
else
IN1 = ReplaceWith & SUB(IN1,I+R1LEN,4000000)
end

XML:AddFromGroup:
TestFieldValue CSTRING(4000000) !

if TestFieldLen >= 4000000
XML:AddElement(que:ActualName,WHAT(InGroup,j),True)
else
XML:AddElement(que:ActualName,CLIP(TestFieldValue))
end

XML:ConvertFromXML:
WorkValue CSTRING(4000000),AUTO !
WorkValue2 CSTRING(4000000),AUTO !

if I > 1
WorkValue = WorkValue[1 : i-1] & CheckValue2 & sub(WorkValue,I+L,4000000)
else
WorkValue = CheckValue2 & sub(WorkValue,i+L,4000000)
end

XML:ConvertToXML:
WorkValue STRING(4000000),AUTO !
0 new messages