Thread View: adobe.framemaker.sgml
4 messages
4 total messages
Started by David_Blyth_San_Diego
Fri, 19 Sep 2008 01:38
S-Frame 7.2 finds wrong application on XML read
Author: David_Blyth_San_Diego
Date: Fri, 19 Sep 2008 01:38
Date: Fri, 19 Sep 2008 01:38
39 lines
1978 bytes
1978 bytes
Howdy all;
Long time no post. It's time to catch up!
I have a small test application in the form:
Name Book R/W rules: .../rules_book.txt DTD: ../book.dtd Template: ../template1-book.fm
If I "open" a valid XML file (that follows book.dtd) inside F7.2,
then Frame does not prompt for the application name and simply loads the file with the default Xdocbook application. How it finds Xdocbook is beyond me.
This behavior occurs whether or not I use "Set Application" to specify that I want the "Book" application. If you suggest that I try "Set Application" then you haven't read all of this post.
Ok. So... suppose I add a DOCTYPE to the application
DOCTYPE: Chapter
and re-read the structapps file. Then Frame does prompt for the application, asks me if I want "Book" or "DocBook"
(and no others) then loads the SGML DocBook applciation - despite the fact that the file clearly states it's an XML file.
Behavior #2 also occurs whether or not I use "Set Application" to specify that I want the "Book" application. If you suggest that I try "Set Application" then you haven't read all of this post.
Any ideas?
Thanks!
David Blyth (UNIX and vi dinosaur)
Staff Technical Writer
QCT Division
QUALCOMM - Standard Disclaimers Apply
Only 149,999,950 more years of Ruling The Earth to go
-----------------------------------------------------
Re: S-Frame 7.2 finds wrong application on XML read
Author: Martti_Poutanen
Date: Fri, 19 Sep 2008 05:58
Date: Fri, 19 Sep 2008 05:58
17 lines
2187 bytes
2187 bytes
Hi David, Framemaker selects the XML application from structapps solely based on the root element name. After parsing/validation (that is performed by the embedded Xerces parser) frame compares the root element name to the Doctype-elements across the applications defined in structapps. If only one match is found, frame does not ask the application, if more matches are found, frame asks which application to use (I skip the optional XSLT phase here..). Stupido thing is that frame makes no distinction between SGML and XML applications. After this selection, frame feeds the parsed XML through rw-rules, picks up the template and creates the frame instance. Probably (never tested myself) if only one application is defined, frame uses that even if the doctype element is not defined. During write frame needs to know the application to use. It can be either set in the EDD or forced by user by setting the application before save. DTD setting in application is used to "inform" Xerces where the dtd file is (frame saves the document to XML first through rw-rules and the invokes xerces to parse and validate the instance). RW rules can define whether doctype declaration in XML instance is of PUBLIC or SYSTEM type. DTD setting together with PublicID settings in strucapps mimics the typical catalog support in "native" xml enviroments. Martti
Re: S-Frame 7.2 finds wrong application on XML read
Author: Russ Ward
Date: Fri, 19 Sep 2008 12:52
Date: Fri, 19 Sep 2008 12:52
1 lines
945 bytes
945 bytes
Here's one more stupido thing about how Frame looks up the root element name in your structapps... the comparison is not case-sensitive. I don't know a lot about SGML so maybe it didn't matter so much there, but with XML this is a significant oversight, I think.
Re: S-Frame 7.2 finds wrong application on XML read
Author: David_Blyth_San_Diego
Date: Fri, 19 Sep 2008 18:11
Date: Fri, 19 Sep 2008 18:11
29 lines
1815 bytes
1815 bytes
Hi Martti, Russ;
Good to hear from you again.
The whole setup sounds el stupido. But at any rate, let's be more specific...
If only one match is found, frame does not ask the application, if more
matches are found, frame asks which application to use (I skip the optional
XSLT phase here..). Stupido thing is that frame makes no distinction between
SGML and XML applications.
In my case (see original post), Frame asked which application to use - then didn't use it. Instead, Frame looked for the SGML formatting template then barfed when the XML didn't match the SGML EDD (surprise!).
So as long as we're using Spanglish, ?que passa? What happened? Are you telling me that (1) Frame ignores your pick and (2) when more than one app has the same DOCTYPE, defaults to SGML applications?
BTW, I'm assuming that Xerces is Frame's XML parser?
Thanks much for your response!
David Blyth (UNIX and vi dinosaur)
Staff Technical Writer
QCT Division
QUALCOMM - Standard Disclaimers Apply
Only 149,999,950 more years of Ruling The Earth to go
----------------------------------------------------------------
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads