DITA Specializations (FrameMaker 2020)

New Here ,
Sep 28, 2021 Sep 28, 2021

Copy link to clipboard

Copied

My DITA specialization (based on parml) works fine in XML Documentation for AEM and in Adobe's web-based editor for AEM XML, but I cannot get FrameMaker 2020 to recognize it (to create output templates).

I am following these instructions: Customizing DITA for Adobe FrameMaker.

My .mod and .ent files are in the dtd folder. I have added the information to both concept.dtd and ditabase.dtd. In a new concept, I can add in the new elements directly into the raw/source view, but they are not listed in the Element list and they display as red in the Structure View.

I am new to FrameMaker and have to be doing something simple and obvious wrong, but I can't figure it out. 

TOPICS
Getting started , Structured , XML author

Views

157

Likes

Translate

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
Advocate ,
Sep 28, 2021 Sep 28, 2021

Copy link to clipboard

Copied

FrameMaker uses an EDD to define valid elements and structure. That EDD needs to be imported into the template before the new elements become available in FM. Check the Structured Applications Developer Guide. The DTD and MOD files are used to check structural validity but FM cannot work without having an EDD and template (which include styling as well as structure definition).

Likes

Translate

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 ,
Sep 29, 2021 Sep 29, 2021

Copy link to clipboard

Copied

Thank you! I have located and downloaded the developers guide.

 

Is there any other helpful documentation that I don't know I need? 🙂

Likes

Translate

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
Advocate ,
Sep 29, 2021 Sep 29, 2021

Copy link to clipboard

Copied

Try to build a very simple structured application from scratch: DTD, EDD, read-write rules, template. See if you can make that work using the Developer's Guide, possibly by also using the Developer's Reference. Once you get something done from the ground up you will start to understand how FM handles structured content. Then you should be good to go with DITA specializations.

Likes

Translate

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 ,
Oct 06, 2021 Oct 06, 2021

Copy link to clipboard

Copied

I've only been able to locate and download the FrameMaker Developer's Reference (282 pages long). I cannot find a current Developer's Guide, only very old ones. 

Likes

Translate

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
Advocate ,
Oct 06, 2021 Oct 06, 2021

Copy link to clipboard

Copied

Here is the FrameMaker Developer Center page with all the references you will ever need: https://www.adobe.io/content/dam/adobeio/apis/creativecloud/framemaker/Framemaker-Developer-Center-A...

Scroll down to the heading Structured Applications, subheading Documentation and you will find two entries, one for the Guide (Developing Structured Applications) and one for the Reference.

Likes

Translate

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 ,
Oct 06, 2021 Oct 06, 2021

Copy link to clipboard

Copied

Got it! Thank you!

Likes

Translate

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 ,
Nov 02, 2021 Nov 02, 2021

Copy link to clipboard

Copied

As far as I know, I've followed every instruction I can find.

 

I can manually add in the specialized elements to a concept (from the source XML view), but they do not appear in the list of “elements allowed anywhere in parent”. I have to change the elements settings to “All Elements” to see the specializations. I could live with this since we have no intention of ever using Structured FrameMaker as our authoring tool, but the specialized elements also do not appear in the Paragraph Designer so that I can define their formatting in the output template. Currently, <specl> and its elements are taking their formatting from the parml.def and parml.term definitions.

 

Does anyone have any ideas what I'm doing wrong and how to fix it?

Likes

Translate

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
Advocate ,
Nov 02, 2021 Nov 02, 2021

Copy link to clipboard

Copied

FrameMaker uses an EDD (Element Definition Document) to make structured authoring possible. Basically, the EDD is a combination of a DTD with a kind of CSS, so that structured content can be rendered in the GUI. The DTD modules are only for validating the DITA files. You need to create an EDD module to be included in the master EDD for your concept (and other topics if you need to have your specialisation available in them), then import the completed EDD into the template that you want to use for your concept (and other topics). Then the element becomes available in the elements catalog.

You can find all information about EDDs and templates in the Structured Application Development Guide, which can be downloaded from the FrameMaker Developer Center.

Likes

Translate

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 ,
Nov 03, 2021 Nov 03, 2021

Copy link to clipboard

Copied

I added my specialization to the programmingDomain.eddmod.fm since it looked like concept.edd.fm and ditabase.edd.fm was basically conreffing from programmingDomain.eddmod.fm and my specialization was based on parml. I did not create a new edd.fm file for the specification. I confirmed that specl, slentry, st, and sd were listed in concept.edd.fm and ditabase.edd.fm.

 

I had imported the EDDs into concept.template.fm and ditabase.template.fm.

Likes

Translate

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
Advocate ,
Nov 03, 2021 Nov 03, 2021

Copy link to clipboard

Copied

Did you also make your specialised element available in the definitions for each container element that allows the parml ? If you want you can zip the set of files you have and send them to me (jang at jang dot nl) so I can have a look and tell you where the missing link is.

Likes

Translate

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 ,
Nov 08, 2021 Nov 08, 2021

Copy link to clipboard

Copied

LATEST

Yes, I added specl to any container element that parml was also listed in. 

Likes

Translate

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