[Date Prev][Date Next][Thread Prev][Thread Next][Minivend by date
][Minivend by thread
]
Re: MV4.0 and XML
****** message to minivend-users from "Rob Zimmerman" <rob@readysite.net> ******
Mike,
Many thanks for the response. I have seen XML interfacing with EDI as well
as Java classes applet to the database so the thought of Minivend also
having these abilities was most intriguing. But I do appreciate the honest
response and you have confirmed that i must finish my perl studies... ;-)
Rob
-----
>
> Quoting Rob Zimmerman (rob@readysite.net):
> >
> > I am just curious as to how XML is going to be integrated into MV4.0. I have
> > been taking a look at DataChannels methods for converting a tab deliminated
> > files to XML files. Is this how XML will be integrated?
> >
>
> After doing quite a bit of work on XML/minivend 4, I must sheepishly
> backtrack a bit.
>
> My original intent was to use XML::Parser, which is blazingly fast.
> But after looking at the syntax requirements and consulting with someone
> who really knows about XML and has implemented it in a large system,
> I felt that the ordinary user would have trouble with the incredibly
> tough syntax requirements of XML. So the next strategy was to "compile"
> pages into XML and then run them. Upon investigation, there are some
> difficulties with the whole concept that are much too complex to get into
> here. Also, in the process of investigating this I managed to speed up
> the current parser by 10-60% depending on context.
>
> Suffice it to say I have still not determined what will be done, but
> it is a distinct possiblity that XML will not be a part of MiniVend 4.
>
> But the good news on performance and for embedded Perl programmers
> will be an easy interface like:
>
> [perl]
> $name = $Tag->value('name');
> # transpose
> $title = $Tag->value('title');
>
> $result = $Tag->value( {
> name => 'name',
> set => "$title $name"
> }
> );
> # Update userdb
> $result = $Tag->data( {
> table => 'userdb',
> column => 'name',
> key => $Tag->session( 'mv_username'),
> value => $result,
> }
> );
> return "Name is now $result, and it is updated in the user database.";
> [/perl]
>
> There will also be a row-setting interface that will allow looping
> over a database or search with easy reading/update of sets of columns.
>
> [perl]
> my $accessor = $Tag->accessor(
> { table => 'userdb', column => 'expiration', }
> );
> my $settor = $Tag->settor(
> { table => 'userdb', column => 'expiration', }
> );
>
> for (qw/ joe jane jim june /) {
> my $expire = $accessor->($_)
> next if $expire;
> $settor->($_ => "20010101");
> $out .= "Changed $_ expire to 20010101\n";
> }
> return $out;
> [/perl]
>
> --
> Mike Heins http://www.minivend.com/ ___
> Internet Robotics |_ _|____
> 131 Willow Lane, Floor 2 | || _ \
> It's a little-known fact Oxford, OH 45056 | || |_) |
> that the Y1K problem caused <mikeh@minivend.com> |___| _ <
> the Dark Ages. -- unknown 513.523.7621 FAX 7501 |_| \_\
> -
> To unsubscribe from the list, DO NOT REPLY to this message. Instead, send
> email with 'UNSUBSCRIBE minivend-users' in the body to Majordomo@minivend.com.
> Archive of past messages: http://www.minivend.com/minivend/minivend-list
>
-
To unsubscribe from the list, DO NOT REPLY to this message. Instead, send
email with 'UNSUBSCRIBE minivend-users' in the body to Majordomo@minivend.com.
Archive of past messages: http://www.minivend.com/minivend/minivend-list