Brian, 
 
Have you ever tried taking XML output from DP and merging into a PDF
form?   I started messing with pdf forms a bit with Adobe 8, and they
use xml for data, but I have not figured out how to merge them.
 
-MD

________________________________

From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Brian Hancock
Sent: Wednesday, December 05, 2007 1:12 AM
To: Dataperfect Users Discussion Group
Subject: Re: [Dataperf] Document automation with DataPerfect


Hi Tony,
 
But I have to say that having open formats based on standards of sorts
is a better way to have documents. XML documents are far easier to work
with and mean that data is not locked up in a proprietary format...  WP
for DOS was great, and I am sure had it survived its abysmal transition
to Windows, that it probably would have gone down the XML route and
would have done it far better than Microsoft. Microsoft rarely has depth
in its products, only what marketing understand they can readily sell
makes it in...
 
I would like to see in the information about production of RTF
documents. 
 
The main benefit of XML over RTF is that you would not have to create
the entire document inside DP, which is quite limiting. When you use
external stylesheets, it means that the DP XML output is incredibly
simple... I should post an example...  
 
Regards
Brian
 
 

        ----- Original Message ----- 
        From: Tony Perez <mailto:[EMAIL PROTECTED]>  
        To: 'Dataperfect Users Discussion Group'
<mailto:[email protected]>  
        Sent: Wednesday, December 05, 2007 5:24 AM
        Subject: RE: [Dataperf] Document automation with DataPerfect

        Hello Brian ... quite a dissertation. :) Thanks for sharing.
         
        FWIW, Bruce Conrad and Thom Boyer taught me how to produce .rtf
documents through DP which I used regularly between 2001-04 in sending
trip proposals, confirmations and invoices as Word documents. If you or
anyone else in the group want to hear more about this, I'll dig out my
notes and samples.
         
        It is really a shame to see WordPerfect "drift into the sunset".
There's no question about it being a far superior wordprocessor than
Word with all of those nifty tools such as macros and reveal codes. If
someone has Bill Gates' ear, they should convince him to buy it and
incorporate it into the MS product line. It will far improve their
wordprocessor.
         
        All the best,
        Tony

                -----Original Message-----
                From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Brian Hancock
                Sent: Monday, December 03, 2007 7:01 PM
                To: Dataperfect Users Discussion Group
                Subject: [Dataperf] Document automation with DataPerfect
                
                
                Hi all,
                 
                I was going to send this as a private message to Laurie
as I had a recollection she had document automation as part of her DP
application, but I thought it might be of  more general interest, and so
I jhave expanded it a little.
                 
                In the past I have used WP5.1 for DOS as a high quality
print engine for DP, exporting a secondary merge file from DP and
merging it with a WordPerfect primary file. It is a very powerful and
flexible process, however one of the issues with conventional merging is
the problem of merging relational data, ie multiple related tables. A
simple invoice where there are multiple items lines on the one invoice
can be quite a challenge. Fortunately there are ways to do with this
WordPerfect using its merge/macro language by creating loops to loop
through the fields that make up the item lines, but it is not for the
fainthearted. But, alas, it is now pretty well impossible to base a
system on the merging of data with WordPerfect, dare I say it,
WordPerfect is dead or at least on its death bed.
                 
                Most people now use Microsoft Word, but merging data
with Word is not very satisfying. You either jump from simple merges
which do not have anywhere near the power of WordPerfect or else you
take a leap and use VBA or VB.NET and Automation (which is essentially
programming the control of one program from within another program).
With Word Automation there are a variety of ways of populating a
document with data, eg searching for bookmarks and replacing them with
the variable data, inserting document properties and using the results
in fields, or even dynamically writing out the document. All possible
but very time consuming, therefore expensive, requiring good programming
skills, and basically putting most of the document creation into the
hands of experts. There are various 3rd party tools for assembling
documents, and mostly they are quite expensive, and not easy to use.
Mostly these solutions involve using Word at the client end, ie on the
user's desktop. Server side creation of documents in this fashion is not
recommended as Word requires a larger amount of user interaction, and
cannot handle concurrent Automation sessions, so is single user
throughout the document creation process, which makes it totally
impractical for server side work.
                 
                From Word version 2003 onwards, Word has been able to
read and save its documents in an XML format. This has some great
benefits, especially since the documents can be read by other
applications, and therefore data can be extracted from it. Normally once
data went into a Word document it could not be easily extracted, but by
attaching XML Schemas to the document you can enforce various structures
to the document, making each document's content easily accessible to
another application.
                 
                Another benefit which I have been looking into is the
creation of documents by using a Word documents using XML.  Although
many documents are now programmitically created from XML the major
method employed is either using Word Automation, and/or using
WordprocessingML
<http://en.wikipedia.org/wiki/Microsoft_Office_XML_formats>  to build
documents from XML fragments.  
                 
                Curiously, although tools are available, it seems only a
handful of people seem to be doing much work with using XSLT to create
Word documents. XSLT is the main method of transforming XML into HTML
documents, so I am surprised it has not had more traction. Since a Word
document can be saved in XML it can be converted to an XSLT template,
which can be used to "transform"  XML data to create a "merged"
document. The real advantage of this over more conventional merging is
that the data can be relational, so taking the previous example of an
invoice where one invoice can have many line items XML makes this very
easy. In fact extremely complex data structures can easily be
incorporated into the "merged" or "styled" result document.
                 
                I have been using Microsoft Access and also dabbled with
SQL Server 2005 to create the XML document.  You really have a battle
when using Access as Access does not understand XML Namespaces which are
a critical component of using the data in Word. SQL Server allows you to
do a little more, as it understands Namespaces. Neither owever allow you
to directly associate a style sheet  (XSLT template) to the XML data. 
                 
                With Access you need to transform the original output
from Access into a new XML document which includes a Namespace for your
data, additionally you might need to do some very serious programming
work with Access as the inbuilt ExportXML
<http://msdn2.microsoft.com/en-us/library/bb237912.aspx>  is very
rudimentary. SQL Server removes this step so you can you can created
SQL statements <http://msdn2.microsoft.com/en-us/library/ms345137.aspx>
that create the XML
                 
                The way this is used in Word is that you open the XML
Data sheet and then browse for a Stylesheet (ie the Word template) and
then the document is "transformed" and you can view the document on
screen.  In this scenario Word is the XSLT processor, but it need not
be. In fact any XSLT processor can be used, giving rise to immense
flexibility.
                 
                Although DataPerfect doesn't itself understand XML,
because you can create whatever text output you want you can easily
write complex XML output. Since everything is in your control you can
add one or more Namespaces to the output, and if you like you can
specify an XSLT template.
                 
                If an XML document specifies a Word XSLT template then
Word will open the document and transform it automatically without the
user needing to browse for the template. This already makes the output
from DataPerfect easy to use than output from Access or SQL: Server. 
                 
                If you are using a different XSLT processor, then you
can create the final Word document without even using Word, which means
it makes it easy for server side production of complex documents.  Even
though the final result document is in XML format if you give it the the
file extension, .DOC then Word opens it, sees that it is XML and treats
it like an ordinary Wiord document. Similarly, if the file has a .DOT
extension Word opens it as though it were open a new template, which is
handy since it will not get a filename and the user can save it however
they please.
                 
                DataPerfect then become a perfect accompaniment to
creating Word documents. It can be used in its normal desktop mode, or
it can be use in the web enabled mode, delivering completed Word
document across the Internet or organisations Intranet.  You can even
deply the final document to users who only have the free Microsoft Word
2003 viewer.
                 
                Writing the XSLT template is the hard part, but
Microsoft has made that easier with a free download called the
WordProcessingML Transformation Inference Tool
<http://www.microsoft.com/downloads/details.aspx?familyid=2cb5b04e-61d9-
4f16-9b18-223ec626080e&displaylang=en>  , which has very scant
documentation but which does a very good job. With simple XML documents
even very basic users can create long complex documents templates quite
easily, but with more complex XML documents or more complex formatting
then some knowledge of XML <http://en.wikipedia.org/wiki/XML>  , XSLT
<http://en.wikipedia.org/wiki/XSL_Transformations>  , XPath
<http://en.wikipedia.org/wiki/XPath>  and Schemas
<http://en.wikipedia.org/wiki/XML_Schema_%28W3C%29>  will be very
helpful.
                 
                The documents themselves can be very rich. You can use
almost any Word feature in the document except perhaps embedding data
from other applications, unless you know those applications will be
available. So for instance if you used Excel to graph something, and
embed the results in a document it might be more prudent to use MSQuery
and MSGraph to bind a graph to a table in word.  You can start the
creation of a new template either by starting a new document based on an
XML sample, or you can take an existing document and attach an XML
Schema to it. 
                 
                I hope this information is useful and perhaps can give
you some ideas to give new life to your DataPerfect applications.  
                 
                By the way, I am about to try a complex VoIP PBX routing
application using XML from DP, Access or SQL Server. The gist of the
application is that customer service staff after creating an incident
with a client, will have that client's incoming phone calls routed to
the correct person dynamically. So instead of preprogrammed route being
established in the PBX, the information for the phone routing will come
dynamically based on the caller ID. In theory all that is required is to
pass the phone number in the query string of a URL, to a CGI program in
front of DataPerfect customer service application.  eg
http://www.mydpserver.com?phone=2159999999
<http://www.mydpserver.com/?phone=2159999999>  and use the application
to decide who should answer that call. Of course the VoIP PBX software
has got to support that type of interface.
                 
                Regards
                Brian
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 

                -----Original Message-----
                From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Behalf Of Brian Hancock
                Sent: Monday, December 03, 2007 7:01 PM
                To: Dataperfect Users Discussion Group
                Subject: [Dataperf] Document automation with DataPerfect
                
                
                Hi all,
                 
                I was going to send this as a private message to Laurie
as I had a recollection she had document automation as part of her DP
application, but I thought it might be of  more general interest, and so
I jhave expanded it a little.
                 
                In the past I have used WP5.1 for DOS as a high quality
print engine for DP, exporting a secondary merge file from DP and
merging it with a WordPerfect primary file. It is a very powerful and
flexible process, however one of the issues with conventional merging is
the problem of merging relational data, ie multiple related tables. A
simple invoice where there are multiple items lines on the one invoice
can be quite a challenge. Fortunately there are ways to do with this
WordPerfect using its merge/macro language by creating loops to loop
through the fields that make up the item lines, but it is not for the
fainthearted. But, alas, it is now pretty well impossible to base a
system on the merging of data with WordPerfect, dare I say it,
WordPerfect is dead or at least on its death bed.
                 
                Most people now use Microsoft Word, but merging data
with Word is not very satisfying. You either jump from simple merges
which do not have anywhere near the power of WordPerfect or else you
take a leap and use VBA or VB.NET and Automation (which is essentially
programming the control of one program from within another program).
With Word Automation there are a variety of ways of populating a
document with data, eg searching for bookmarks and replacing them with
the variable data, inserting document properties and using the results
in fields, or even dynamically writing out the document. All possible
but very time consuming, therefore expensive, requiring good programming
skills, and basically putting most of the document creation into the
hands of experts. There are various 3rd party tools for assembling
documents, and mostly they are quite expensive, and not easy to use.
Mostly these solutions involve using Word at the client end, ie on the
user's desktop. Server side creation of documents in this fashion is not
recommended as Word requires a larger amount of user interaction, and
cannot handle concurrent Automation sessions, so is single user
throughout the document creation process, which makes it totally
impractical for server side work.
                 
                From Word version 2003 onwards, Word has been able to
read and save its documents in an XML format. This has some great
benefits, especially since the documents can be read by other
applications, and therefore data can be extracted from it. Normally once
data went into a Word document it could not be easily extracted, but by
attaching XML Schemas to the document you can enforce various structures
to the document, making each document's content easily accessible to
another application.
                 
                Another benefit which I have been looking into is the
creation of documents by using a Word documents using XML.  Although
many documents are now programmitically created from XML the major
method employed is either using Word Automation, and/or using
WordprocessingML
<http://en.wikipedia.org/wiki/Microsoft_Office_XML_formats>  to build
documents from XML fragments.  
                 
                Curiously, although tools are available, it seems only a
handful of people seem to be doing much work with using XSLT to create
Word documents. XSLT is the main method of transforming XML into HTML
documents, so I am surprised it has not had more traction. Since a Word
document can be saved in XML it can be converted to an XSLT template,
which can be used to "transform"  XML data to create a "merged"
document. The real advantage of this over more conventional merging is
that the data can be relational, so taking the previous example of an
invoice where one invoice can have many line items XML makes this very
easy. In fact extremely complex data structures can easily be
incorporated into the "merged" or "styled" result document.
                 
                I have been using Microsoft Access and also dabbled with
SQL Server 2005 to create the XML document.  You really have a battle
when using Access as Access does not understand XML Namespaces which are
a critical component of using the data in Word. SQL Server allows you to
do a little more, as it understands Namespaces. Neither owever allow you
to directly associate a style sheet  (XSLT template) to the XML data. 
                 
                With Access you need to transform the original output
from Access into a new XML document which includes a Namespace for your
data, additionally you might need to do some very serious programming
work with Access as the inbuilt ExportXML
<http://msdn2.microsoft.com/en-us/library/bb237912.aspx>  is very
rudimentary. SQL Server removes this step so you can you can created
SQL statements <http://msdn2.microsoft.com/en-us/library/ms345137.aspx>
that create the XML
                 
                The way this is used in Word is that you open the XML
Data sheet and then browse for a Stylesheet (ie the Word template) and
then the document is "transformed" and you can view the document on
screen.  In this scenario Word is the XSLT processor, but it need not
be. In fact any XSLT processor can be used, giving rise to immense
flexibility.
                 
                Although DataPerfect doesn't itself understand XML,
because you can create whatever text output you want you can easily
write complex XML output. Since everything is in your control you can
add one or more Namespaces to the output, and if you like you can
specify an XSLT template.
                 
                If an XML document specifies a Word XSLT template then
Word will open the document and transform it automatically without the
user needing to browse for the template. This already makes the output
from DataPerfect easy to use than output from Access or SQL: Server. 
                 
                If you are using a different XSLT processor, then you
can create the final Word document without even using Word, which means
it makes it easy for server side production of complex documents.  Even
though the final result document is in XML format if you give it the the
file extension, .DOC then Word opens it, sees that it is XML and treats
it like an ordinary Wiord document. Similarly, if the file has a .DOT
extension Word opens it as though it were open a new template, which is
handy since it will not get a filename and the user can save it however
they please.
                 
                DataPerfect then become a perfect accompaniment to
creating Word documents. It can be used in its normal desktop mode, or
it can be use in the web enabled mode, delivering completed Word
document across the Internet or organisations Intranet.  You can even
deply the final document to users who only have the free Microsoft Word
2003 viewer.
                 
                Writing the XSLT template is the hard part, but
Microsoft has made that easier with a free download called the
WordProcessingML Transformation Inference Tool
<http://www.microsoft.com/downloads/details.aspx?familyid=2cb5b04e-61d9-
4f16-9b18-223ec626080e&displaylang=en>  , which has very scant
documentation but which does a very good job. With simple XML documents
even very basic users can create long complex documents templates quite
easily, but with more complex XML documents or more complex formatting
then some knowledge of XML <http://en.wikipedia.org/wiki/XML>  , XSLT
<http://en.wikipedia.org/wiki/XSL_Transformations>  , XPath
<http://en.wikipedia.org/wiki/XPath>  and Schemas
<http://en.wikipedia.org/wiki/XML_Schema_%28W3C%29>  will be very
helpful.
                 
                The documents themselves can be very rich. You can use
almost any Word feature in the document except perhaps embedding data
from other applications, unless you know those applications will be
available. So for instance if you used Excel to graph something, and
embed the results in a document it might be more prudent to use MSQuery
and MSGraph to bind a graph to a table in word.  You can start the
creation of a new template either by starting a new document based on an
XML sample, or you can take an existing document and attach an XML
Schema to it. 
                 
                I hope this information is useful and perhaps can give
you some ideas to give new life to your DataPerfect applications.  
                 
                By the way, I am about to try a complex VoIP PBX routing
application using XML from DP, Access or SQL Server. The gist of the
application is that customer service staff after creating an incident
with a client, will have that client's incoming phone calls routed to
the correct person dynamically. So instead of preprogrammed route being
established in the PBX, the information for the phone routing will come
dynamically based on the caller ID. In theory all that is required is to
pass the phone number in the query string of a URL, to a CGI program in
front of DataPerfect customer service application.  eg
http://www.mydpserver.com?phone=2159999999 and use the application to
decide who should answer that call. Of course the VoIP PBX software has
got to support that type of interface.
                 
                Regards
                Brian
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 

        
________________________________


        

        _______________________________________________
        Dataperf mailing list
        [email protected]
        http://lists.dataperfect.nl/mailman/listinfo/dataperf
        

_______________________________________________
Dataperf mailing list
[email protected]
http://lists.dataperfect.nl/mailman/listinfo/dataperf

Reply via email to