On Jul 13, 2006, at 11:40 PM, John Tregea wrote:

Hi Kee,

I am aware of Rev having XML capabilities, but because of a whole bunch of SQL requirements I have kept it in the back of my mind for future investigation.

Actually, When I say use XML what I really mean is pass the data using that format but don't bother with using an XML library. Since you control the XML you will be reading, keep it simple and one simple parser is all you need.

For example:

User=joe Bob
account=9274564
Postal=7263 Anystreet
Apartment 16B
Flockingham
Stillton by the Whatever
Round the back and over the bridge
Camshire upon the Avon
Some British Country, UK L8K 9U6

When you use tagged pairs, and you pass data around, you have to deal with the data containing a return. It just confuses the situation.

If instead, you pass the data around in something that looks like XML, returns are not an issue.

<xml>
<user>joe Bob</user>
<account>9274564</account>
< Postal>7263 Anystreet
Apartment 16B
Flockingham
Stillton by the Whatever
Round the back and over the bridge
Camshire upon the Avon
Some British Country, UK L8K 9U6</Postal>
</xml>

So just so you know, the above is not legit xml

The parser for this (assuming you put the whole thing into a variable named 'theData' would be

put getXmlNode('user',getXmlNode('xml',theData)) into theUser
put getXmlNode('account',getXmlNode('xml',theData)) into theAccount
put getXmlNode('Postal',getXmlNode('xml',theData)) into thePostal

and that function looks like:

on getXmlNode nodeName, theText
put offset("<" & nodeName & ">",theText) + the number of chars in nodeName + 2 into startChar
  put offset("</" & nodeName & ">",theText) -1 into endChar
  if startChar > 0 AND endChar > 0 then
    return char startChar to endChar of theText
  else
    return empty
  end if
end getXmlNode

As long as you control the XML coming in and don't use attributes
<user name="ralph" />

and you don't duplicate data tags
<user>ralph</user>
<user>joe</user>

the above XML parser should be all that you need to use and you can create and pass data around using the XML format. My homebuilt XML parsers handle duplicate data tags and attributes but that is only because other people create the data and I have to deal with it. But if you own the data format, keep it simple and thats all the XML parser you'll need.

Kee


_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to