Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion Groups
Database Servers
DB2InformixIngresMS SQLOraclePervasive.SQLPostgreSQLProgressSybase
Desktop Databases
FileMakerFoxProMS AccessParadox
General
General DB TopicsDatabase Theory
Related Topics
Java Development.NET DevelopmentVB DevelopmentMore Topics ...

Database Forum / Paradox Topics / July 2008

Tip: Looking for answers? Try searching our database.

ParadoxFile to XML

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Michael.Ruehling@t-online.de - 30 Jun 2008 20:37 GMT
Hi,
I am using Paradox 9. Thesedays I am trying to convert all of my
Lists into XML-Files to display them via XSL.
Has anybody tried to write an XML-Export-Filter -Function or
something like that in ObjectPal?
Anything is helpful.

M.
Jim Hargan - 30 Jun 2008 23:10 GMT
> Hi,
> I am using Paradox 9. Thesedays I am trying to convert all of my
> Lists into XML-Files to display them via XSL.
> Has anybody tried to write an XML-Export-Filter -Function or
> something like that in ObjectPal?
> Anything is helpful.

I wrote an OPAL system that creates valid XHTML web pages from text content
stored in Pdox tables. This is XML, but probably not what you are looking
for. However the principle is simple:
  - use tCursors to find the datum you want to write;
  - store it in a string variable (all XML data are strings);
  - add the XML tags to the start and end of the variable; and
  - textStream it into the XML document.

I've been using it successfully for five years or so. I created my web site
with it, and I create lightboxes for clients with it several times a week.

HTH,

Jim Hargan
www.harganonline.com
Michael.Ruehling@t-online.de - 01 Jul 2008 18:11 GMT
>> Hi,
>> I am using Paradox 9. Thesedays I am trying to convert all of my
[quoted text clipped - 18 lines]
>Jim Hargan
>www.harganonline.com

Hi,
this is what I want. But I want to do it automaticly (?) for all of
my tables without manual interference.
e.g.:

[PSEUDOCODE]:

openTable(char Name);  
while (!EOF)
{
STRING Var = add(XML_VARIABLE_START, datum, XML_ELEMENT_END);
writeFile(openTextFile, Var);
}
closeTable();

So far it complies with your Thought, except for the tCursor to find
the data.

By the way: Is there any good book/resource for OPAL?

Thanx
M.
Jim Hargan - 01 Jul 2008 20:27 GMT
A tCursor is simply a pointer to a specific record of a specific table, and
lets you access everything about the record. You open it on the table and
then move it to the record using locate() or qlocate() (the latter uses an
index for extra speed); from there you can use the tCursor to read any
field. The scan/endscan loop moves it through the entire table top to
bottom, and can take a selection criterion as well.

For a flat file, just point a tCursor at it and scan through it. For a
relational database, point one tCursor at the parent, and a second one at
the child. Scan the parent table with its tCursor. For each record you hit,
read the child table's local key into a variable, and then tell the child
table's tCursor to qLocate it. Now you have everything you need to
textStream the data to a file.

A form based approach is possible, but would be much slower to execute (by
at least one order of magnitude, and probably two), and would be tricker to
write (because you'd have to deal with the form's object hierarchy).

As for OPAL resources:

1. The online help is the best place to start: Help/ObjectPal Reference,
and Help/Objectpal Tutorial. The reference starts with a complete
explanation of the language. Start there, then look up "tCursor Type" and
"textStream Type" in the index.

2. When you use the embedded OPAL editor, you can put your cursor on any
command, hit <F1>, and get the help page for that command. These pages are
pretty good, with helpful examples and links to similar commands.

3. Your best resource is the community of enthusiasts and developers who
runs this and other Paradox news groups. Their web page is
http://www.thedbcommunity.com/
and it contains many articles and archived news groups.

4. AFAIK, there are no third party manuals currently in print. The easiest
to find is Mike Prestwood's Paradox 9 Programming, which despite its age is
almost completely current. You can read chapters from it on Mike's site,
http://www.prestwood.com/ASPSuite/kb/browse.asp?tid=103

HTH,

Jim Hargan

>>> Hi,
>>> I am using Paradox 9. Thesedays I am trying to convert all of my
[quoted text clipped - 41 lines]
> Thanx
> M.
|-| /-\ |_  ()7      [°¿°] - 03 Jul 2008 21:00 GMT
Hi!

See :  http://paradox.riff.org/
(since Paradox Convention 2003 - Paris)

@-salutations

Michel Claveau
modri dirkac - 09 Jul 2008 14:09 GMT
I created my method for XML files.
It requires DB table and a file with fields and XML tags to be joined with
DB.
This file with instructions how to join DB and tags to XML look like this:

##table mt MasterTable##
##table pt :FKWDB:fkwpt##
##table cust :STRDB:CUST##
##format Date DO(%Y-%M-%D)##
##format Number W.2##
<DATA>
 <HEADER>
     ##mt."Customer ID"##
     ##cust.qlocate(mt."Customer ID")##
     ##cust."Name1"## ##cust."Name2"##
 </HEADER>
 <ITEMS>
    ##pt.SetRange(mt."Invoice ID")##
    ##scan pt##
    <ITEM>
      ##pt."Qty"##
      ##pt."Price"##
    </ITEM>
    ##endscan##
  </ITEMS>
</DATA>

In this example in Master table I have one invoice
Pt table is detail table for invoice
cust table is customer table.

Method then  opens TCursors on this tables (first 3 lines)
The I set formatting for different data types
Everything between ## ## is a command to interpreter or refference to field
in table.
Everything else is directly written to final XML file.

Jure

> Hi,
> I am using Paradox 9. Thesedays I am trying to convert all of my
[quoted text clipped - 4 lines]
>
> M.
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.