Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
0

Framemaker and S1000D

New Here ,
Mar 18, 2009 Mar 18, 2009

Copy link to clipboard

Copied

Hi,

does anyone in this forum have experience with structured authoring using the S1000D specification? I'd like to you a few questions.

Advice appreciated.

Thanks

Carl
TOPICS
Structured

Views

2.5K
Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Enthusiast ,
Mar 19, 2009 Mar 19, 2009

Copy link to clipboard

Copied

Hi Carl,

I have been developing S1000D structured applications since 1995, so I should be able to help. You may want to download the S1000D Application Pack from: http://www.adobe.com/support/downloads/product.jsp?product=22&platform=win

You coud ask your FM/S1000D questions on this forum, or contact me directly: ian dot proudfoot at itp-x dot co.uk

Ian

Adobe Community Expert

Votes

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Mar 19, 2009 Mar 19, 2009

Copy link to clipboard

Copied

Thanks Ian for the link. I'll come back to you shortly.

Cheers

Votes

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Mar 19, 2009 Mar 19, 2009

Copy link to clipboard

Copied

Hi Ian,

impressive resume! My question then should be a walk in the park for you! :-)

First the facts. I'm using FM 7.0p579 on an WinXP machine with v2.2 of S1000D (SGML only - we're not up to XML yet!).

My issue. At this stage I only want to get an EDD and a template created based on the Descriptive DTD. I've created an application in my structapps.fm file which I believe conforms to the rules for structured development in FM but also to the layouts described in S1000D v2.2 chap 7.3.1.2 (p8) and 7.3.1.4. When I try to open the DTD in FM (to create my EDD) I get the following:
SGML Parser Messages (Document Prolog)
S:\FrameMaker\dtd\descript.dtd; line 159
Reference to non-existent parameter entity (EXTLIST) ignored.
S:\FrameMaker\dtd\descript.dtd; line 198
Reference to non-existent parameter entity (PARAGRAPHS) ignored.
Referenced element (para) is not defined.
Referenced element (para) is not defined.
Referenced element (para) is not defined.
Referenced element (note) is not defined (it continues for two pages)

What am I doing wrong? I've checked my structapps.fm and I "don't believe" there are any mistakes, but any pointers would be greatly appreciated. BTW the EDD is created because I can see all the elements and attributes but I'm concerned about the messages.

Sorry it's a bit long winded.

(Also I tried to have a look at your web site www.itp-x.co.uk but it brought up an HTTP 403 (Forbidden) page - you may have a problem)

Cheers

Carl

Votes

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Enthusiast ,
Mar 20, 2009 Mar 20, 2009

Copy link to clipboard

Copied

Hi Carl

The error messages indicate that FrameMaker cannot find all of the component files that are required for the modular DTD.

The easiest way to fix this is to add a reference to the SGML catalog file in your structapps file.

1. In your SGMLApplication add the Entities element, then add the EntityCatalogFile element.

2. Type in the path to the 'catalog' file which is located in the /sgml_dtd/dm folder.

I recommend that the relationships between the various folders in the S1000D 2.2 package is retained, that will avoid the need to edit the paths in the catalog file.

The next stage is to provide a usable SGML declaration in structapps. FrameMaker has a problem here as the provided s1000d.dcl file for 2.2 far exceeds the capacity limits allowed by FrameMaker's SGML parser. As a workaround use the S1000D 1.8 SGML declaration file.

When you open the DTD to create an EDD you will get error messages that indicate that the ATTCNT has been exceeded. There is nothing that can be done about this as far as I know, increasing ATTCNT in the SGML dcl will not work.

I hope this helps a little.

Reards
Ian

Votes

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Mar 22, 2009 Mar 22, 2009

Copy link to clipboard

Copied

Hello Ian,

thanks for the info. It has helped me (I didn't know about the EntityCatalogFile element) but also thrown up more errors. Here is the application from my structapps file:

Application name: S1000D v2.2 Descriptive
Read/write rules: S:\FrameMaker\s1000d.rw.fm
Template: S:\Framemaker\templates\s1000d.desc.template.fm
DTD: S:\Framemaker\dm\dtd\descript.dtd
SGML declaration: S:\FrameMaker\dcl\s1000dv18.dcl
DOCTYPE: dmodule
Entity locations
Entity catalog file
S:\FrameMaker\dm\catalog
Entity search paths
S:\FrameMaker\

where S: is a network drive.

This is the first page of 6 of error messages from the parser:

Open DTD Log
March 23, 2009 1:25 pm
Source Document: S:\FrameMaker\dm\dtd\descript.dtd
SGML Parser Messages (Document Prolog)
S:\FrameMaker\dm\dtd\common.net; line 336
Number of names or name tokens in group exceeded the GRPCNT limit; definition (CLASS) ignored.
S:\FrameMaker\dm\dtd\common.net; line 337
Invalid character(s) ignored; attempting to resume DOCTYPE subset.
S:\FrameMaker\dm\dtd\common.net; line 369
Incorrect character in markup; markup terminated.
S:\FrameMaker\dm\dtd\common.net; line 369
Number of names or name tokens in group exceeded the GRPCNT limit; definition (ACROTYPE) ignored.
S:\FrameMaker\dm\dtd\common.net; line 370
Invalid character(s) ignored; attempting to resume DOCTYPE subset.
S:\FrameMaker\dm\dtd\common.net; line 373
Invalid character(s) ignored; attempting to resume DOCTYPE subset.
S:\FrameMaker\dm\dtd\common.net; line 489
Number of names or name tokens in group exceeded the GRPCNT limit; definition (EMPH) ignored.

I've tried working through the error messages to isolate the problem but the FM+SGML Error Messages only confuses me more. I don't believe the problem is in the DTD (otherwise other S1000D users would've complained) so I can only think I've left something out. I've checked my file paths and they look good to me. What have I done wrong?

Your advice is appreciated.

Cheers

Carl

Votes

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Mar 27, 2009 Mar 27, 2009

Copy link to clipboard

Copied

Hi Carl,
since V.2.0 the token groups for some attributes were extended to 100 entries. E.g. the "emph" in emphasis had tokens like "bold", "italic", and "underscore". Now emph has 99 tokens "em01" through "em99". It's the same with acrotyoe, class, color, prefix... This leads to the GRPCNT limit warning. You might change the corresponding value in the declaration file.
The error message "invalid character" derives from FM quitting reading the (EMPH etc) attribute definition and thereby losing some characters.
Have fun with Frame,

Andy

Votes

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Enthusiast ,
Mar 27, 2009 Mar 27, 2009

Copy link to clipboard

Copied

Carl, Andreas,

I have looked further into the GRPCNT limitation in FrameMaker. My investigations show that it may not be possible to increase the GRPCNT to a high enough value without causing FrameMaker to crash when opening the DTD.

The problem can be avoided by making a small change to the SGML catalog file...

Look for the line:
PUBLIC "-//S1000D//ENTITIES S1000D Project Configuration 20050501//EN" "dtd/project.cfg"

Change the file name to "dtd/project_minimum.cfg"

You will now be able to open the DTD without hitting the GRPCNT problem.

I hope this works for you.

Ian

Votes

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Mar 29, 2009 Mar 29, 2009

Copy link to clipboard

Copied

LATEST
Andreas, Ian,

thanks for the advice, it's been appreciated. I must admit to trying a number of different things recently, adopting a 'step-through' view and looking at the processing that occurs when FM starts. I've had mixed results, from FM crashing when opening the DTD (the catalog file and declaration file in the same app didn't want to talk) to pages of error messages. After changing the ref in the catalog file, the DTD opened nicely, no error messages at all AND with the catalog and declaration files in the same app. Thanks.

I hope I'm not stretching the friendship but I'm thinking of using the Pub Module (pm.dtd) as the basis for a Book. My situation is that I'll be using the descriptive dtd to write chapters (one FM file = one chapter) but then I need to incorporate them all into a FM book, together with prelim and post pages. I know it's not strictly in the intent of S1000D (in a CSDB and all) but I want to use S1000D as the structured basis so when it comes time to transfer into a CSDB it should be easier. Have either of you had experience in using an S1000D DTD to create the files (*.fm) which then get included into a book (*.book), and finally outputting to hard copy print? Advice greatly appreciated.

Cheers

Carl

Votes

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines