Re: XSLT and Text Processing Languages

Subject: Re: XSLT and Text Processing Languages
From: Dan Vint <dvint@xxxxxxxx>
Date: Fri, 8 Sep 2000 06:53:06 -0700 (PDT)
I'll look at this some more if you can send the DTD and a sample of what
the data might look like. What jumps off the page as "strange" OmniMark work
is the multiple elements storing the %c and not doing any processing their
immediatly. What I need to see is how deeply your elements nest, and the size 
of the data being stored.

You are right that I have never had to worry about memory use, but I have seen
some simple aditions to a fast efficient program suddenly bring the whole thing
to a grinding halt. The other part of the answer maybe in another reply that
indicated OmniMark might use all avaialbe memory - although I can't prove
that either. 

Do you know about the OMUG mailing list? You can submit this type of problem/
question to the general OmniMArk community and a number of users will answer
or provide help. Some of the OmniMark employees also pitch solutions there as
well.

..dan

> 
> 
> > This sounds like you were using some features of OmniMark=20
> > that don't exist in
> > XSLT - like shelves/arrays and probably referenents for=20
> > foward processing of
> > the document without processing it twice or requiring the=20
> > entire source document
> > in memory.
> 
> Shouldn't think so.  I'm no Omnimark expert so I have enclosed the =
> source at the end (it isn't long) so you can see for yourself.
> 
> > released. To fix the=20
> > underscore issue all you have to do is provide an SGML=20
> > Declaration that allows
> > '_' to be used in names, by default SGML didn't allow this. A=20
> > 2 minute fix=20
> > at best.
> 
> As usual, if you know how to do it.  I don't.
> 
> 
> > Yeah and how many times do you want to go back in and try to=20
> > remember what you
> > did in that regular expression? What is nice about OmniMark=20
> 
> Comments are allowed in source.  This applies for Perl as well as XSLT =
> and Omnimark.
> 
> [XSLT]
> 
> > data. Yeah you may want or need access to the network and=20
> > ODBC connections for
> > other uses and more complete solutions but when I you have a=20
> > basic XML -> ?
> > issue, XSLT is by far easier than any of the other XML=20
> > solutions in Perl and=20
> > Java and OmniMark is at least in the SGML a complete solution=20
> > for DTD based
> > processing. Soon to have support for DTD less work.
> 
> "Soon to have" is too late for us.
> 
> All your stated solutions have advantages and disadvantages in one way =
> or another. =20
> 
> You just appear to be in an environment where memory usage is not a =
> problem -- unfortunately I'm not.
> 
> The source:
> 
> 
> ;  down-translate
> 
> global stream XmlDclFile
> global stream DTDFile
> global stream inputFileName
> global stream DataItemFile
> global stream DataLinkFile
> global stream DataItemFileName
> global stream DataLinkFileName
> 
> global stream DataitemKey
> global stream DataitemType
> global stream Category
> global stream DescDisplay
> global stream DescIndex
> global stream FromDataitem
> global stream FromDatatype
> global stream ToDataitem
> global stream ToDatatype
> global stream DataLinktype
> 
> 
> DEFINE FUNCTION OpenFiles=20
> AS
> 	open DataItemFile as "%g(DataItemFileName)"=09
> 	open DataLinkFile as "%g(DataLinkFileName)"=09
> 
> DEFINE FUNCTION CloseFiles=20
> AS
> 	close DataItemFile
> 	close DataLinkFile
> 
> 
> DEFINE FUNCTION PrintDataitem
> AS
> 	put DataItemFile =
> "%"%g(DataitemKey)%";%"%g(DataitemType)%";%"%g(DescDisplay)%";%"%g(DescI=
> ndex)%"%n"
> 
> DEFINE FUNCTION PrintDatalink
> AS
> 	put DataLinkFile =
> "%g(FromDataitem)%";%"%g(FromDatatype)%";%"%g(ToDataitem)%";%"%g(ToDatat=
> ype)%";%"%g(DataLinktype)%"%n"
> 
> 
> process
> ; do xml-parse document scan "test.xml"
> ;  do xml-parse document scan file "%g(DTDFile)" || file =
> "%g(inputFileName)"
>   do xml-parse document scan file "%g(DTDFile)" || file =
> "%g(inputFileName)"
> ;  do xml-parse document scan file  "%g(inputFileName)"
>     output "%c"
>   done
> 
> element rowset
> 	OpenFiles
> 	OUTPUT "%c"
> 	CloseFiles
> 
> element dataitem
>     set DataitemKey to ""
>     set DataitemType to ""
>     set DescDisplay to ""
>     set DescIndex to ""
> 	OUTPUT "%c"
> 	PrintDataitem
> 
> element datalink
>     set FromDataitem to ""
>     set FromDatatype to ""
>     set ToDataitem to ""
>     set ToDatatype to ""
>     set DataLinktype to ""
> 	OUTPUT "%c"
> 	PrintDatalink
> 
> 
> element fromdataitem
> 	set FromDataitem to "%c"
> 
> element fromdatatype
> 	set FromDatatype to "%c"
> 
> element todataitem
> 	set ToDataitem to "%c"
> 
> element todatatype
> 	set ToDatatype to "%c"
> 
> element datalinktype
> 	set DataLinktype to "%c"
> 
> 
> 
> element dataitemkey
> 	set DataitemKey to "%c"
> 
> element dataitemtype
> 	set DataitemType to "%c"
> 
> element category
> 	set Category to "%c"
> 
> element descdspl
> 	set DescDisplay to "%c"
> 
> element descindx
> 	set DescIndex to "%c"
> --=20
>   Thorbj=F8rn Ravn Andersen             "...and...Tubular Bells!"
>   http://bigfoot.com/~thunderbear
> 
> 
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
> 


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread