Date   

Re: profile problems

Aaron Mehl
 

Hi,
I see your suggestion. Your way it seems to me, but I could be wrong, generates 1 pdf/html with checking account. Then if I want to I can generate another pdf/html with savings account?

The suggestion I was given would generate one document with two topics one for checking and one for savings.

Am I correct??
Thanks
Aaron

On Tuesday, January 5, 2021, 09:10:11 PM EST, Aaron Mehl via groups.io <mehlzaidy770@...> wrote:


Thanks,
Tomorrow I will give this a whirl,
Aaron

On Tuesday, January 5, 2021, 09:02:11 PM EST, Leigh White <lwwhite5@...> wrote:


Hi Aaron,

I would recommend doing this with keys rather than with conditional profiling. You don't have to maintain two pieces of alternating information in your topics. It's also likely that your number of conditions will grow over time and these get more and more difficult to maintain.

Using keys, you would set your keywords up like this (for example)

<title>Creating a <keyword keyref="account-type"/> Account</title>
    <shortdesc>A <keyword keyref="account-type"/> account in KMyMoney contains the same information as the same account in
        your bank.</shortdesc>

and so on. The <keyword> elements here refer to a key, or variable, that has no definition on its own. You must now define it just as you would define any variable. You must define the key in the map that references this topic. For example:

<map>
    <title>Aaron's Map</title>
    <topicref href="creating-an-account.dita"/>
    <keydef keys="account-type">
        <topicmeta>
             <keywords>

                  <keyword>Checking</keyword>

             </keywords>
       </topicmeta>
   </keydef>
</map>

When you generate a PDF or XHTML or whatever output for this map, the word "Checking" will replace all the keyword elements that refer to the "account-type" key. When you want to generate output that mentions a savings account, you simply change the "account-type" key definition in the map (not in the topic; the topic always references the same variable):

<keydef keys="account-type">
    <topicmeta>
        <keywords>
            <keyword>Savings</keyword>
        </keywords>
    </topicmeta>
</keydef>

Then generate your outputs and the word "Savings" will now replace all the keyword elements that refer to the "account-type" key.

You can create as many keys as you have need to alternate words or phrases. You can use keys to alternate between images as well. For this use case, the syntax of the keydef is different but the idea is the same.

There is a ton of documentation about keys online. Just Google "DITA keys" and you'll find plenty of examples and use cases to get you started.

Best,
Leigh


Re: profile problems

Aaron Mehl
 

Thanks,
Tomorrow I will give this a whirl,
Aaron

On Tuesday, January 5, 2021, 09:02:11 PM EST, Leigh White <lwwhite5@...> wrote:


Hi Aaron,

I would recommend doing this with keys rather than with conditional profiling. You don't have to maintain two pieces of alternating information in your topics. It's also likely that your number of conditions will grow over time and these get more and more difficult to maintain.

Using keys, you would set your keywords up like this (for example)

<title>Creating a <keyword keyref="account-type"/> Account</title>
    <shortdesc>A <keyword keyref="account-type"/> account in KMyMoney contains the same information as the same account in
        your bank.</shortdesc>

and so on. The <keyword> elements here refer to a key, or variable, that has no definition on its own. You must now define it just as you would define any variable. You must define the key in the map that references this topic. For example:

<map>
    <title>Aaron's Map</title>
    <topicref href="creating-an-account.dita"/>
    <keydef keys="account-type">
        <topicmeta>
             <keywords>

                  <keyword>Checking</keyword>

             </keywords>
       </topicmeta>
   </keydef>
</map>

When you generate a PDF or XHTML or whatever output for this map, the word "Checking" will replace all the keyword elements that refer to the "account-type" key. When you want to generate output that mentions a savings account, you simply change the "account-type" key definition in the map (not in the topic; the topic always references the same variable):

<keydef keys="account-type">
    <topicmeta>
        <keywords>
            <keyword>Savings</keyword>
        </keywords>
    </topicmeta>
</keydef>

Then generate your outputs and the word "Savings" will now replace all the keyword elements that refer to the "account-type" key.

You can create as many keys as you have need to alternate words or phrases. You can use keys to alternate between images as well. For this use case, the syntax of the keydef is different but the idea is the same.

There is a ton of documentation about keys online. Just Google "DITA keys" and you'll find plenty of examples and use cases to get you started.

Best,
Leigh


Re: profile problems

Leigh White
 

Hi Aaron,

I would recommend doing this with keys rather than with conditional profiling. You don't have to maintain two pieces of alternating information in your topics. It's also likely that your number of conditions will grow over time and these get more and more difficult to maintain.

Using keys, you would set your keywords up like this (for example)

<title>Creating a <keyword keyref="account-type"/> Account</title>
    <shortdesc>A <keyword keyref="account-type"/> account in KMyMoney contains the same information as the same account in
        your bank.</shortdesc>

and so on. The <keyword> elements here refer to a key, or variable, that has no definition on its own. You must now define it just as you would define any variable. You must define the key in the map that references this topic. For example:

<map>
    <title>Aaron's Map</title>
    <topicref href="creating-an-account.dita"/>
    <keydef keys="account-type">
        <topicmeta>
             <keywords>
                  <keyword>Checking</keyword>
             </keywords>
       </topicmeta>
   </keydef>
</map>

When you generate a PDF or XHTML or whatever output for this map, the word "Checking" will replace all the keyword elements that refer to the "account-type" key. When you want to generate output that mentions a savings account, you simply change the "account-type" key definition in the map (not in the topic; the topic always references the same variable):

<keydef keys="account-type">
    <topicmeta>
        <keywords>
            <keyword>Savings</keyword>
        </keywords>
    </topicmeta>
</keydef>

Then generate your outputs and the word "Savings" will now replace all the keyword elements that refer to the "account-type" key.

You can create as many keys as you have need to alternate words or phrases. You can use keys to alternate between images as well. For this use case, the syntax of the keydef is different but the idea is the same.

There is a ton of documentation about keys online. Just Google "DITA keys" and you'll find plenty of examples and use cases to get you started.

Best,
Leigh


Re: profile problems

ekimber@contrext.com
 

Looking quickly at your map, it looks like you've used key scopes appropriate to have the name key name (accountType) resolve to different values for different uses of the same topic (newaccountingdialog.dita).

Be sure you're specifying the "ensure unique" runtime option to Open Toolkit so that it knows that each reference to a topic should produce a new HTML file--that may be the source of what you're seeing.

I do notice, however, that you have references to newaccountingdialog.dita that are not in a keyscope and therefore do not have a local-to-the-keyscope definition of accountType (i.e., the chapter using "main_dialog.dita"). That means that either the key won't be resolved (because there's no in-scope definition of the key) or it will use the first found in the map.

So just looking at the map (and not reviewing your earlier posts because I'm lazy), it's not entirely clear what you need to achieve.

Can you focus on just that newaccountingdialog topic and describe what you need to happen in each of the places it's used, along with what the final structure of the publication should be?

Cheers,

Eliot

--
Eliot Kimber
http://contrext.com


On 1/5/21, 3:23 PM, "Aaron Mehl via groups.io" <main@dita-users.groups.io on behalf of mehlzaidy770=yahoo.com@groups.io> wrote:


Here is the output test pdf of the map. Notice double topics with the same information. I screwed up it is clear, but where I am not sure.
Aaron

On Tuesday, January 5, 2021, 04:18:22 PM EST, Aaron Mehl <mehlzaidy770@yahoo.com> wrote:




This is my first unsuccessful attempt:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE bookmap PUBLIC "-//OASIS//DTD DITA BookMap//EN" "bookmap.dtd">

<bookmap>
<booktitle>
<mainbooktitle>Quick Start</mainbooktitle>
</booktitle>
<chapter href="introduction.dita"/>
<chapter href="running_kmymoney_for_the_first_time.dita">
<keydef keys="accountType">
<topicmeta>
<linktext>checking</linktext>
</topicmeta>
</keydef>

<keydef keys="creatingAccount" href="images/accwizAccountdia.png" format="png">
<topicmeta>
<linktext>Checking Account</linktext>
</topicmeta>
</keydef>

<!-- Generate output for "Creating a checking account" -->
<topicgroup keyscope="checkingAccount">
<keydef keys="accountType">
<topicmeta>
<linktext>checking</linktext>
</topicmeta>
</keydef>
<keydef keys="creatingAccount" format="png" href="images/accwizAccountdia.png">
<topicmeta>
<linktext>Screen capture of the user interface window shown when creating a checking account</linktext>
</topicmeta>
</keydef>
<topicref href="newaccountdialog.dita"/>
</topicgroup>

<!-- Generate output for "Creating a savings account" -->
<topicgroup keyscope="savingsAccount">
<keydef keys="accountType">
<topicmeta>
<linktext>savings</linktext>
</topicmeta>
</keydef>
<keydef keys="creatingAccount" format="png" href="images/NewSavingsAccount.png">
<topicmeta>
<linktext>Screen capture of the user interface window shown when creating a savings account</linktext>
</topicmeta>
</keydef>
<topicref href="newaccountdialog.dita"/>
</topicgroup>

<topicref href="Personal_data_window.dita"/>
<topicref href="choose_currency_dialog.dita">
<topicref href="nondollar_currency.dita"/>
</topicref>
<topicref href="choose_account_dialog.dita"/>
<topicref href="account_categories_dialog.dita"/>
<topicref href="finishdialog.dita"/>
</chapter>
<chapter href="save_storage_as_dialog.dita"/>
<chapter href="save_as_dialog.dita"/>
<chapter href="main_window.dita">
<topicref href="new_institution_window.dita">
<topicref href="editing_an_institution.dita"/>
<topicref href="creatingacheckingaccount.dita"/>
<topicref href="newaccountdialog.dita"/>
<topicref href="parentaccountdialog.dita"/>
<topicref href="Finish_Dialog.dita"/>
</topicref>
<topicref href="transactions.dita">
<topicref href="schedule_transactions.dita">
<topicref href="scheduling_a_transaction.dita"/>
<topicref href="schedule_name_and_frequency.dita"/>
<topicref href="payment_information.dita"/>
<topicref href="schedule_options.dita"/>
</topicref>
<topicref href="paying_bills.dita">
<topicref href="using_the_ledger.dita"/>
<topicref href="the_ledger_account_choices.dita"/>
<topicref href="the_ledger_details.dita"/>
<topicref href="the_ledger_transaction_entry.dita"/>
<topicref href="the_ledger_paying_a_bill.dita"/>
</topicref>
</topicref>
<topicref href="importing_data_from_your_bank.dita">
<topicref href="importing_csv_files.dita">
<topicref href="importing_a_pdf_statement.dita"/>
<topicref href="cvs_importing.dita"/>
<topicref href="csv_import_separator_window.dita"/>
<topicref href="csv_data_selector_window.dita"/>
<topicref href="csv_column_selector_window.dita"/>
<topicref href="csv_format_selector_window.dita"/>
</topicref>
<topicref href="importing_quicken_files.dita"/>
<topicref href="linking_to_your_bank_account.dita"/>
</topicref>
<topicref href="cleaning_imported_data.dita"/>
</chapter>
</bookmap>
----------------------------------------------------------------------------------------

What did I do wrong?
You mentioned to In the DITA map where you create the publication navigation, you'll also define key scopes and specify the values for the key references
Is there a specific place I should be putting this?
I will send a test pdf output file in another email.
Aaron






On Monday, January 4, 2021, 08:32:23 AM EST, Aaron Mehl via groups.io <mehlzaidy770=yahoo.com@groups.io> wrote:




Thanks again,
I will work through your suggestions this week.
Lots to learn....
Aaron






On Monday, January 4, 2021, 02:01:19 AM EST, Radu Coravu <radu_coravu@sync.ro> wrote:




Hi,
Adding below some links to past webinars about using CSS to style
the WebHelp Responsive and PDF outputs obtained from DITA XML
content in Oxygen.
Creating Custom Publishing Templates for WebHelp and PDF Output:
https://www.oxygenxml.com/events/2018/webinar_creating_custom_publishing_templates_for_webhelp_and_pdf_output.html
Introducing the Oxygen Publishing Engine for DITA:

https://www.oxygenxml.com/events/2020/webinar_introducing_the_oxygen_publishing_engine_for_dita.html
Fine Tune Your DITA PDF Output Using CSS:
https://www.oxygenxml.com/events/2020/webinar_fine_tune_your_dita_pdf_outputs_using_oxygen_publishing_engine.html
I hope this helps.

Regards,
Radu
Radu Coravu
Oxygen XML Editor
On 1/1/21 18:02, Kristen James Eberlein
wrote:





Happy New Year; I'm glad that I was able to start 2021 by being
helpful!
Regarding the <keyword> element ... The element
certainly can contain PCDATA (text), but in your scenario, where
you are using key referencing, that is not necessary. If you
were using @conref or @conkeyref, then the referenced element
would contain content, for example, <keyword
id="accountType">checking</keyword>.
Oxygen is going to create an element with both a start and end
tag, if it thinks that you will insert content into the element.
The following markup has identical meanings:

<keyword keyref="accountType"/>
<keyword keyref="accountType"></keyword>
Regarding DITA training ... Comtech Services Inc has a
course on "Advanced Reuse Strategies". I think LearningDITA also
has a course on reuse.
Regarding formatting DITA-OT output to match a company
style guide ... You can specify a CSS file as a parameter to an
Oxygen transformation scenario. To handle making changes to PDF
generated using XSL-FO, you'll need to create a custom DITA-OT
plug-in. For this I recommend the following documentation:

* Eliot Kimber, DITA for Practitioners Volume 1
(useful for information about creating DITA-OT plug-ins)
* Leigh White, DITA for Print (useful for information
about creating DITA-OT plug-ins for PDF)
* DITA-OT documentation: https://www.dita-ot.org/dev/

Oxygen has ships a PDF transformation that uses CSS, BTW.
Very best of luck with learning DITA and getting a job.

Best,
Kris

Kristen James Eberlein
Chair, OASIS DITA Technical Committee
OASIS Distinguished Contributor
Principal consultant, Eberlein Consulting LLC
www.eberleinconsulting.com <http://www.eberleinconsulting.com>
+1 919 622-1501; kriseberlein (skype)



On 1/1/2021 10:15 AM, Aaron Mehl via
groups.io wrote:





Wow!
Thanks,
I see that I need to
rethink what I want to accomplish.
But I see now how profiling
works.


By formal Dita training,
what do you mean? learningdita? OR a paid course?
I am for the most part
doing OK with the basics, but the advanced issues such as
profiling and linking are causing me problems. I couldn't
find well written concise explanations for when I can, or
should do profiling. The tutorials and videos I used, listed
the different options and only showed how to do them. I need
the rationale for why and also when. Which you also touched
on.


Your analysis of what I
wanted to accomplish was right on. I understood that I could
write one topic and generate two.


One thing I didn't get till
I saw it in your example, the keyword tag is one single tag.
Oxygen made it a double tag, so I instinctively put text
between the opening and closing tag. Must I change this or
will it be changed during publishing?


If you have training
suggestions I would appreciate them.
I also need to know how to
make the output in Oxygen conform to a style guide.
I guess that involves CSS
or XSL-Fo, in docbook there was an easy way to do modify the
output for html and pdf.
I think because I am using
a gui program I am missing something here.
In docbook I just opened up
the xsl or css and made my changes there.


I am currently unemployed
and a huge amount of people told me that having Dita
knowledge and practical application will help me get
employed.


Thanks so much for
answering me.
Next week I will apply what
you taught me.
:)
Aaron










On Friday, January 1, 2021, 07:11:21 AM EST, Kristen
James Eberlein <kris@eberleinconsulting.com> <mailto:kris@eberleinconsulting.com>
wrote:







Hi, Aaron.
If I understand correctly, your requirements are as
follows:
Requirements
You want to author a single DITA task topic that
you can use to generate two versions of output:

* Creating a checking account
* Creating a savings account

The content in the task topic has the following
variations:

* Type of account (checking versus savings)
* Wording in the user interface, leading to
different screen captures

DITA mechanisms for handling
content reuse
DITA has multiple mechanisms for handling content
reuse:

* Content referencing (@conref)

* Conditional processing using a DITAVAL file
* Key referencing (@keyref)
* Content key referencing (@conkeyref)
* Key scopes

* Branch filtering (using the DITAVALref domain)

Branch filtering and key scopes were designed to
address the use case of using DITA topics multiple
times within a single publication, with different
content in the generated output of the topics. (You
don't mention this, but I suspect this is what you
want to do.)
Information architecture choices
Getting ROI from DITA always requires sound
information design and architecture. Here, I would
ask the following questions:

* Do you really need two generated topics? Could
this be handled with a single topic ("Creating an
account") which could cover both scenarios?
* Do you need a DITA topic for each scenario? This
might be the case if you have elaborate metadata
requirements or other business requirements.
* Will you be localizing (translating) the DITA
source? Remember that inflection in non-English
languages can cause differences in articles


For the purpose of this exercise, we will assume
that you want to author a single DITA topic that can
be used to generate two versions of output (and you
are not worried about localization). For this goal,
you could use either key referencing or conditional
processing; I'll show how this can be done using key
references.

Reuse using key referencing
Author the content using the following markup
for keywords and images:

* <keyword keyref="accountType"/>
* <image keyref="creatingAccount"/>

In a DITA map, create the following key
definitions:
<keydef keys="accountType">
<topicmeta>
<linktext>checking</linktext>
</topicmeta>
</keydef>
<keydef keys="creatingAccount"
href="creatingCheckingAccount.png" format="png">
<topicmeta>
<linktext>Alternate text for the image
goes here</linktext>
</topicmeta>
</keydef>
Obviously, you'd need to modify the key definitions
when you process to generate the "Creating a savings
account" output.
Reuse using key references and
key scopes
If you want both versions of the topics
("Creating a checking account" and "Creating a
savings account" in the same publication,
you'll need to use key scopes.
Author the content using the (same as above) markup
for keywords and images:

* <keyword keyref="accountType"/>
* <image keyref="creatingAccount"/>

In the DITA map where you create the publication
navigation, you'll also define key scopes and
specify the values for the key references:
<!-- Generate output for "Creating a
checking account" -->
<topicgroup keyscope="checkingAccount">
<keydef keys="accountType">
<topicmeta>

<linktext>checking</linktext>
</topicmeta>
</keydef>
<keydef keys="creatingAccount"
format="png" href="creatingCheckingAccount.png">
<topicmeta>
<linktext>Screen capture
of the user interface window shown when creating a
checking account</linktext>
</topicmeta>
</keydef>
<topicref
href="creatingAccount.dita"/>
</topicgroup>

<!-- Generate output for "Creating a
savings account" -->
<topicgroup keyscope="savingsAccount">
<keydef keys="accountType">
<topicmeta>

<linktext>savings</linktext>
</topicmeta>
</keydef>
<keydef keys="creatingAccount"
format="png" href="creatingSavingAccount.png">
<topicmeta>
<linktext>Screen capture
of the user interface window shown when creating a
savings account</linktext>
</topicmeta>
</keydef>
<topicref
href="creatingAccount.dita"/>
</topicgroup>

I hope that this helps. I'd suggest that getting
some formal DITA training might be of benefit.

Best,
Kris

Kristen James Eberlein
Chair, OASIS DITA Technical Committee
OASIS Distinguished Contributor
Principal consultant, Eberlein Consulting LLC
www.eberleinconsulting.com <http://www.eberleinconsulting.com>
+1 919 622-1501; kriseberlein (skype)




On
12/27/2020 5:26 PM, Aaron Mehl via groups.io
wrote:









Hi all,
I am new to the group, and Dita.
I am documenting KMyMoney and have
two similar tasks.
One is creating a checking account
and the other is creating a savings account.
The text is nearly the same. I need
to make the words checking and savings
conditional.
I need a way to also make the
screen captures conditional.
That said, and I hope done, I need
to know how to generate the two task when
publishing/transforming the xml to xhtml and
pdf.


I have seen docs provided by my
editor (Oxygen) and some videos, but I still
can't seem to make heads or tails out of
profiling.
This is a draft the Dita task file.




<?xml version="1.0"
encoding="UTF-8"?>
<!DOCTYPE task PUBLIC "-//OASIS//DTD
DITA Task//EN" "task.dtd">
<task
id="creatingacheckingaccount">
<title>Creating a
<keyword>Checking</keyword>
Account</title>
<shortdesc>A
<keyword>Checking</keyword>
account in KMyMoney contains the same
information as the same account in
your bank. </shortdesc>
<taskbody>
<context>You just created
an institution.<p>To create a
<keyword>checking</keyword>
account in the

instituion:</p></context>
<steps>
<step>
<cmd>Choose
<uicontrol>Accounts</uicontrol>
in the <uicontrol>View

Selector</uicontrol>pane</cmd>
<stepresult>The
institution you created is listed in the
<uicontrol>Account

View</uicontrol>pane.</stepresult>
</step>
<step>
<cmd>Click on the
<uicontrol>New
Account</uicontrol>icon on the

<uicontrol>toolbar</uicontrol>.</cmd>
<stepresult>The
<uicontrol>New Account
</uicontrol>wizard
appears.</stepresult>
</step>
<step>
<cmd>Choose your
instituiton from the dropdown
list.</cmd>
</step>
<step>
<cmd>Enter your
account number.</cmd>
</step>
<step>
<cmd>Click
<uicontrol>Next</uicontrol>.</cmd>
<stepresult>The
Account window appears.</stepresult>
</step>
</steps>
</taskbody>
</task>





Thanks
Aaron


Re: profile problems

Aaron Mehl
 

Here is the output test pdf of the map. Notice  double topics with the same information. I screwed up it is clear, but where I am not sure.
Aaron

On Tuesday, January 5, 2021, 04:18:22 PM EST, Aaron Mehl <mehlzaidy770@...> wrote:


This is my first unsuccessful attempt:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE bookmap PUBLIC "-//OASIS//DTD DITA BookMap//EN" "bookmap.dtd">

<bookmap>
    <booktitle>
        <mainbooktitle>Quick Start</mainbooktitle>
    </booktitle>
    <chapter href="introduction.dita"/>
    <chapter href="running_kmymoney_for_the_first_time.dita">
        <keydef keys="accountType">
            <topicmeta>
                <linktext>checking</linktext>
            </topicmeta>
        </keydef>
        
        <keydef keys="creatingAccount" href="images/accwizAccountdia.png" format="png">
            <topicmeta>
                <linktext>Checking Account</linktext>
            </topicmeta>
        </keydef>
        
        <!-- Generate output for "Creating a checking account" --> 
        <topicgroup keyscope="checkingAccount">
            <keydef keys="accountType">
                <topicmeta>
                    <linktext>checking</linktext>
                </topicmeta>
            </keydef>
            <keydef keys="creatingAccount" format="png" href="images/accwizAccountdia.png">
                <topicmeta>
                    <linktext>Screen capture of the user interface window shown when creating a checking account</linktext>
                </topicmeta>
            </keydef>
            <topicref href="newaccountdialog.dita"/>
        </topicgroup>
        
        <!-- Generate output for "Creating a savings account" --> 
        <topicgroup keyscope="savingsAccount">
            <keydef keys="accountType">
                <topicmeta>
                    <linktext>savings</linktext>
                </topicmeta>
            </keydef>
            <keydef keys="creatingAccount" format="png" href="images/NewSavingsAccount.png">
                <topicmeta>
                    <linktext>Screen capture of the user interface window shown when creating a savings account</linktext>
                </topicmeta>
            </keydef>
            <topicref href="newaccountdialog.dita"/>
        </topicgroup>
        
        <topicref href="Personal_data_window.dita"/>
        <topicref href="choose_currency_dialog.dita">
            <topicref href="nondollar_currency.dita"/>
        </topicref>
        <topicref href="choose_account_dialog.dita"/>
        <topicref href="account_categories_dialog.dita"/>
        <topicref href="finishdialog.dita"/>
    </chapter>
    <chapter href="save_storage_as_dialog.dita"/>
    <chapter href="save_as_dialog.dita"/>
    <chapter href="main_window.dita">
        <topicref href="new_institution_window.dita">
            <topicref href="editing_an_institution.dita"/>
            <topicref href="creatingacheckingaccount.dita"/>
            <topicref href="newaccountdialog.dita"/>
            <topicref href="parentaccountdialog.dita"/>
            <topicref href="Finish_Dialog.dita"/>
        </topicref>
        <topicref href="transactions.dita">
            <topicref href="schedule_transactions.dita">
                <topicref href="scheduling_a_transaction.dita"/>
                <topicref href="schedule_name_and_frequency.dita"/>
                <topicref href="payment_information.dita"/>
                <topicref href="schedule_options.dita"/>
            </topicref>
            <topicref href="paying_bills.dita">
                <topicref href="using_the_ledger.dita"/>
                <topicref href="the_ledger_account_choices.dita"/>
                <topicref href="the_ledger_details.dita"/>
                <topicref href="the_ledger_transaction_entry.dita"/>
                <topicref href="the_ledger_paying_a_bill.dita"/>
            </topicref>
        </topicref>
        <topicref href="importing_data_from_your_bank.dita">
            <topicref href="importing_csv_files.dita">
                <topicref href="importing_a_pdf_statement.dita"/>
                <topicref href="cvs_importing.dita"/>
                <topicref href="csv_import_separator_window.dita"/>
                <topicref href="csv_data_selector_window.dita"/>
                <topicref href="csv_column_selector_window.dita"/>
                <topicref href="csv_format_selector_window.dita"/>
            </topicref>
            <topicref href="importing_quicken_files.dita"/>
            <topicref href="linking_to_your_bank_account.dita"/>
        </topicref>
        <topicref href="cleaning_imported_data.dita"/>
    </chapter>
</bookmap>
----------------------------------------------------------------------------------------
What did I do wrong?
You mentioned to In the DITA map where you create the publication navigation, you'll also define key scopes and specify the values for the key references
Is there a specific place I should be putting this?
I will send a test pdf output file in another email.
Aaron

On Monday, January 4, 2021, 08:32:23 AM EST, Aaron Mehl via groups.io <mehlzaidy770@...> wrote:


Thanks again,
I will work through your suggestions this week.
Lots to learn....
Aaron

On Monday, January 4, 2021, 02:01:19 AM EST, Radu Coravu <radu_coravu@...> wrote:


Hi,

Adding below some links to past webinars about using CSS to style the WebHelp Responsive and PDF outputs obtained from DITA XML content in Oxygen.

Creating Custom Publishing Templates for WebHelp and PDF Output:

https://www.oxygenxml.com/events/2018/webinar_creating_custom_publishing_templates_for_webhelp_and_pdf_output.html

Introducing the Oxygen Publishing Engine for DITA:

https://www.oxygenxml.com/events/2020/webinar_introducing_the_oxygen_publishing_engine_for_dita.html

Fine Tune Your DITA PDF Output Using CSS:

https://www.oxygenxml.com/events/2020/webinar_fine_tune_your_dita_pdf_outputs_using_oxygen_publishing_engine.html

I hope this helps.

Regards,

Radu

Radu Coravu
Oxygen XML Editor
On 1/1/21 18:02, Kristen James Eberlein wrote:

Happy New Year; I'm glad that I was able to start 2021 by being helpful!

Regarding the <keyword> element ... The element certainly can contain PCDATA (text), but in your scenario, where you are using key referencing, that is not necessary. If you were using @conref or @conkeyref, then the referenced element would contain content, for example, <keyword id="accountType">checking</keyword>.

Oxygen is going to create an element with both a start and end tag, if it thinks that you will insert content into the element. The following markup has identical meanings:

<keyword keyref="accountType"/>
<keyword keyref="accountType"></keyword>

Regarding DITA training ... Comtech Services Inc has a course on "Advanced Reuse Strategies". I think LearningDITA also has a course on reuse.

Regarding formatting DITA-OT output to match a company style guide ... You can specify a CSS file as a parameter to an Oxygen transformation scenario. To handle making changes to PDF generated using XSL-FO, you'll need to create a custom DITA-OT plug-in. For this I recommend the following documentation:

  • Eliot Kimber, DITA for Practitioners Volume 1 (useful for information about creating DITA-OT plug-ins)
  • Leigh White, DITA for Print (useful for information about creating DITA-OT plug-ins for PDF)
  • DITA-OT documentation: https://www.dita-ot.org/dev/

Oxygen has ships a PDF transformation that uses CSS, BTW.

Very best of luck with learning DITA and getting a job.

Best,
Kris

Kristen James Eberlein
Chair, OASIS DITA Technical Committee
OASIS Distinguished Contributor
Principal consultant, Eberlein Consulting LLC
www.eberleinconsulting.com
+1 919 622-1501; kriseberlein (skype)


On 1/1/2021 10:15 AM, Aaron Mehl via groups.io wrote:
Wow!
Thanks,
I  see that I  need to rethink what I want to accomplish.
But I see now how profiling works.

By formal Dita training, what do you mean? learningdita? OR a paid course?
I am for the most part  doing OK with the basics, but the advanced issues such as profiling and linking are causing me problems. I couldn't find well written concise explanations for when I can, or should do profiling. The tutorials and videos I used, listed the different options and only showed how to do them. I need the rationale for why and also when. Which you also touched on.

Your analysis of what I wanted to accomplish was right on. I understood that I could write one topic and generate two.

One thing I didn't get till I saw it in your example, the keyword tag is one single tag. Oxygen made it a double tag, so I instinctively put text between the opening and closing tag. Must I change this or will it be changed during publishing?

If you have training suggestions I would appreciate them.
I also need to know how to make the output in Oxygen conform to a style guide.
I guess that involves CSS or XSL-Fo, in docbook there was an easy way to do modify the output for html and pdf. 
I think because I am using a gui program I am missing something here.
In docbook I just opened up the xsl or css and made my changes there.

I am currently unemployed and a huge amount of people told me that having Dita knowledge and practical application will help me get employed.

Thanks so much for answering me.
Next week I will apply what you taught me.
:)
Aaron


 

On Friday, January 1, 2021, 07:11:21 AM EST, Kristen James Eberlein <kris@...> wrote:


Hi, Aaron.

If I understand correctly, your requirements are as follows:

Requirements

You want to author a single DITA task topic that you can use to generate two versions of output:

  • Creating a checking account
  • Creating a savings account

The content in the task topic has the following variations:

  • Type of account (checking versus savings)
  • Wording in the user interface, leading to different screen captures

DITA mechanisms for handling content reuse

DITA has multiple mechanisms for handling content reuse:

  • Content referencing (@conref)
  • Conditional processing using a DITAVAL file
  • Key referencing (@keyref)
  • Content key referencing (@conkeyref)
  • Key scopes
  • Branch filtering (using the DITAVALref domain)

Branch filtering and key scopes were designed to address the use case of using DITA topics multiple times within a single publication, with different content in the generated output of the topics. (You don't mention this, but I suspect this is what you want to do.)

Information architecture choices

Getting ROI from DITA always requires sound information design and architecture. Here, I would ask the following questions:

  • Do you really need two generated topics? Could this be handled with a single topic ("Creating an account") which could cover both scenarios?
  • Do you need a DITA topic for each scenario? This might be the case if you have elaborate metadata requirements or other business requirements.
  • Will you be localizing (translating) the DITA source? Remember that inflection in non-English languages can cause differences in articles

For the purpose of this exercise, we will assume that you want to author a single DITA topic that can be used to generate two versions of output (and you are not worried about localization). For this goal, you could use either key referencing or conditional processing; I'll show how this can be done using key references.

Reuse using key referencing

Author the content using the following markup for keywords and images:

  • <keyword keyref="accountType"/>
  • <image keyref="creatingAccount"/>

In a DITA map, create the following key definitions:

<keydef keys="accountType">
  <topicmeta>
    <linktext>checking</linktext>
  </topicmeta>
</keydef>

<keydef keys="creatingAccount" href="creatingCheckingAccount.png" format="png">
  <topicmeta>
    <linktext>Alternate text for the image goes here</linktext>
  </topicmeta>
</keydef>

Obviously, you'd need to modify the key definitions when you process to generate the "Creating a savings account" output.

Reuse using key references and key scopes

If you want both versions of the topics ("Creating a checking account" and "Creating a savings account" in the same publication, you'll need to use key scopes.

Author the content using the (same as above) markup for keywords and images:

  • <keyword keyref="accountType"/>
  • <image keyref="creatingAccount"/>

In the DITA map where you create the publication navigation, you'll also define key scopes and specify the values for the key references:

      <!-- Generate output for "Creating a checking account" --> 
      <topicgroup keyscope="checkingAccount">
            <keydef keys="accountType">
                <topicmeta>
                    <linktext>checking</linktext>
                </topicmeta>
            </keydef>
            <keydef keys="creatingAccount" format="png" href="creatingCheckingAccount.png">
                <topicmeta>
                    <linktext>Screen capture of the user interface window shown when creating a checking account</linktext>
                </topicmeta>
            </keydef>
            <topicref href="creatingAccount.dita"/>
        </topicgroup>

      <!-- Generate output for "Creating a savings account" --> 
      <topicgroup keyscope="savingsAccount">
            <keydef keys="accountType">
                <topicmeta>
                    <linktext>savings</linktext>
                </topicmeta>
            </keydef>
            <keydef keys="creatingAccount" format="png" href="creatingSavingAccount.png">
                <topicmeta>
                    <linktext>Screen capture of the user interface window shown when creating a savings account</linktext>
                </topicmeta>
            </keydef>
            <topicref href="creatingAccount.dita"/>
        </topicgroup>


I hope that this helps. I'd suggest that getting some formal DITA training might be of benefit.

Best,
Kris

Kristen James Eberlein
Chair, OASIS DITA Technical Committee
OASIS Distinguished Contributor
Principal consultant, Eberlein Consulting LLC
www.eberleinconsulting.com
+1 919 622-1501; kriseberlein (skype)


On 12/27/2020 5:26 PM, Aaron Mehl via groups.io wrote:
Hi all, 
I am new to the group, and Dita.
I am documenting KMyMoney and have two similar tasks.
One is creating a checking account and the other is creating a savings account.
The text is nearly the same. I need to make the words checking and savings conditional.
I need a way to also make the screen captures conditional.
That said, and I hope done, I need to know how to generate the two task when publishing/transforming the xml to xhtml and pdf.

I have seen docs provided by my editor (Oxygen) and some videos, but I still can't seem to make heads or tails out of profiling.
This is a draft the Dita task file.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE task PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
<task id="creatingacheckingaccount">
    <title>Creating a <keyword>Checking</keyword> Account</title>
    <shortdesc>A <keyword>Checking</keyword> account in KMyMoney contains the same information as the same account in
        your bank. </shortdesc>
    <taskbody>
        <context>You just created an institution.<p>To create a <keyword>checking</keyword> account in the
                instituion:</p></context>
        <steps>
            <step>
                <cmd>Choose <uicontrol>Accounts</uicontrol> in the <uicontrol>View
                        Selector</uicontrol>pane</cmd>
                <stepresult>The institution you created is listed in the <uicontrol>Account
                        View</uicontrol>pane.</stepresult>
            </step>
            <step>
                <cmd>Click on the <uicontrol>New Account</uicontrol>icon on the
                        <uicontrol>toolbar</uicontrol>.</cmd>
                <stepresult>The <uicontrol>New Account </uicontrol>wizard appears.</stepresult>
            </step>
            <step>
                <cmd>Choose your instituiton from the dropdown list.</cmd>
            </step>
            <step>
                <cmd>Enter your account number.</cmd>
            </step>
            <step>
                <cmd>Click <uicontrol>Next</uicontrol>.</cmd>
                <stepresult>The Account window appears.</stepresult>
            </step>
        </steps>
    </taskbody>
</task>


Thanks
Aaron


  


Re: profile problems

Aaron Mehl
 

This is my first unsuccessful attempt:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE bookmap PUBLIC "-//OASIS//DTD DITA BookMap//EN" "bookmap.dtd">

<bookmap>
    <booktitle>
        <mainbooktitle>Quick Start</mainbooktitle>
    </booktitle>
    <chapter href="introduction.dita"/>
    <chapter href="running_kmymoney_for_the_first_time.dita">
        <keydef keys="accountType">
            <topicmeta>
                <linktext>checking</linktext>
            </topicmeta>
        </keydef>
        
        <keydef keys="creatingAccount" href="images/accwizAccountdia.png" format="png">
            <topicmeta>
                <linktext>Checking Account</linktext>
            </topicmeta>
        </keydef>
        
        <!-- Generate output for "Creating a checking account" --> 
        <topicgroup keyscope="checkingAccount">
            <keydef keys="accountType">
                <topicmeta>
                    <linktext>checking</linktext>
                </topicmeta>
            </keydef>
            <keydef keys="creatingAccount" format="png" href="images/accwizAccountdia.png">
                <topicmeta>
                    <linktext>Screen capture of the user interface window shown when creating a checking account</linktext>
                </topicmeta>
            </keydef>
            <topicref href="newaccountdialog.dita"/>
        </topicgroup>
        
        <!-- Generate output for "Creating a savings account" --> 
        <topicgroup keyscope="savingsAccount">
            <keydef keys="accountType">
                <topicmeta>
                    <linktext>savings</linktext>
                </topicmeta>
            </keydef>
            <keydef keys="creatingAccount" format="png" href="images/NewSavingsAccount.png">
                <topicmeta>
                    <linktext>Screen capture of the user interface window shown when creating a savings account</linktext>
                </topicmeta>
            </keydef>
            <topicref href="newaccountdialog.dita"/>
        </topicgroup>
        
        <topicref href="Personal_data_window.dita"/>
        <topicref href="choose_currency_dialog.dita">
            <topicref href="nondollar_currency.dita"/>
        </topicref>
        <topicref href="choose_account_dialog.dita"/>
        <topicref href="account_categories_dialog.dita"/>
        <topicref href="finishdialog.dita"/>
    </chapter>
    <chapter href="save_storage_as_dialog.dita"/>
    <chapter href="save_as_dialog.dita"/>
    <chapter href="main_window.dita">
        <topicref href="new_institution_window.dita">
            <topicref href="editing_an_institution.dita"/>
            <topicref href="creatingacheckingaccount.dita"/>
            <topicref href="newaccountdialog.dita"/>
            <topicref href="parentaccountdialog.dita"/>
            <topicref href="Finish_Dialog.dita"/>
        </topicref>
        <topicref href="transactions.dita">
            <topicref href="schedule_transactions.dita">
                <topicref href="scheduling_a_transaction.dita"/>
                <topicref href="schedule_name_and_frequency.dita"/>
                <topicref href="payment_information.dita"/>
                <topicref href="schedule_options.dita"/>
            </topicref>
            <topicref href="paying_bills.dita">
                <topicref href="using_the_ledger.dita"/>
                <topicref href="the_ledger_account_choices.dita"/>
                <topicref href="the_ledger_details.dita"/>
                <topicref href="the_ledger_transaction_entry.dita"/>
                <topicref href="the_ledger_paying_a_bill.dita"/>
            </topicref>
        </topicref>
        <topicref href="importing_data_from_your_bank.dita">
            <topicref href="importing_csv_files.dita">
                <topicref href="importing_a_pdf_statement.dita"/>
                <topicref href="cvs_importing.dita"/>
                <topicref href="csv_import_separator_window.dita"/>
                <topicref href="csv_data_selector_window.dita"/>
                <topicref href="csv_column_selector_window.dita"/>
                <topicref href="csv_format_selector_window.dita"/>
            </topicref>
            <topicref href="importing_quicken_files.dita"/>
            <topicref href="linking_to_your_bank_account.dita"/>
        </topicref>
        <topicref href="cleaning_imported_data.dita"/>
    </chapter>
</bookmap>
----------------------------------------------------------------------------------------
What did I do wrong?
You mentioned to In the DITA map where you create the publication navigation, you'll also define key scopes and specify the values for the key references
Is there a specific place I should be putting this?
I will send a test pdf output file in another email.
Aaron

On Monday, January 4, 2021, 08:32:23 AM EST, Aaron Mehl via groups.io <mehlzaidy770@...> wrote:


Thanks again,
I will work through your suggestions this week.
Lots to learn....
Aaron

On Monday, January 4, 2021, 02:01:19 AM EST, Radu Coravu <radu_coravu@...> wrote:


Hi,

Adding below some links to past webinars about using CSS to style the WebHelp Responsive and PDF outputs obtained from DITA XML content in Oxygen.

Creating Custom Publishing Templates for WebHelp and PDF Output:

https://www.oxygenxml.com/events/2018/webinar_creating_custom_publishing_templates_for_webhelp_and_pdf_output.html

Introducing the Oxygen Publishing Engine for DITA:

https://www.oxygenxml.com/events/2020/webinar_introducing_the_oxygen_publishing_engine_for_dita.html

Fine Tune Your DITA PDF Output Using CSS:

https://www.oxygenxml.com/events/2020/webinar_fine_tune_your_dita_pdf_outputs_using_oxygen_publishing_engine.html

I hope this helps.

Regards,

Radu

Radu Coravu
Oxygen XML Editor
On 1/1/21 18:02, Kristen James Eberlein wrote:

Happy New Year; I'm glad that I was able to start 2021 by being helpful!

Regarding the <keyword> element ... The element certainly can contain PCDATA (text), but in your scenario, where you are using key referencing, that is not necessary. If you were using @conref or @conkeyref, then the referenced element would contain content, for example, <keyword id="accountType">checking</keyword>.

Oxygen is going to create an element with both a start and end tag, if it thinks that you will insert content into the element. The following markup has identical meanings:

<keyword keyref="accountType"/>
<keyword keyref="accountType"></keyword>

Regarding DITA training ... Comtech Services Inc has a course on "Advanced Reuse Strategies". I think LearningDITA also has a course on reuse.

Regarding formatting DITA-OT output to match a company style guide ... You can specify a CSS file as a parameter to an Oxygen transformation scenario. To handle making changes to PDF generated using XSL-FO, you'll need to create a custom DITA-OT plug-in. For this I recommend the following documentation:

  • Eliot Kimber, DITA for Practitioners Volume 1 (useful for information about creating DITA-OT plug-ins)
  • Leigh White, DITA for Print (useful for information about creating DITA-OT plug-ins for PDF)
  • DITA-OT documentation: https://www.dita-ot.org/dev/

Oxygen has ships a PDF transformation that uses CSS, BTW.

Very best of luck with learning DITA and getting a job.

Best,
Kris

Kristen James Eberlein
Chair, OASIS DITA Technical Committee
OASIS Distinguished Contributor
Principal consultant, Eberlein Consulting LLC
www.eberleinconsulting.com
+1 919 622-1501; kriseberlein (skype)


On 1/1/2021 10:15 AM, Aaron Mehl via groups.io wrote:
Wow!
Thanks,
I  see that I  need to rethink what I want to accomplish.
But I see now how profiling works.

By formal Dita training, what do you mean? learningdita? OR a paid course?
I am for the most part  doing OK with the basics, but the advanced issues such as profiling and linking are causing me problems. I couldn't find well written concise explanations for when I can, or should do profiling. The tutorials and videos I used, listed the different options and only showed how to do them. I need the rationale for why and also when. Which you also touched on.

Your analysis of what I wanted to accomplish was right on. I understood that I could write one topic and generate two.

One thing I didn't get till I saw it in your example, the keyword tag is one single tag. Oxygen made it a double tag, so I instinctively put text between the opening and closing tag. Must I change this or will it be changed during publishing?

If you have training suggestions I would appreciate them.
I also need to know how to make the output in Oxygen conform to a style guide.
I guess that involves CSS or XSL-Fo, in docbook there was an easy way to do modify the output for html and pdf. 
I think because I am using a gui program I am missing something here.
In docbook I just opened up the xsl or css and made my changes there.

I am currently unemployed and a huge amount of people told me that having Dita knowledge and practical application will help me get employed.

Thanks so much for answering me.
Next week I will apply what you taught me.
:)
Aaron


 

On Friday, January 1, 2021, 07:11:21 AM EST, Kristen James Eberlein <kris@...> wrote:


Hi, Aaron.

If I understand correctly, your requirements are as follows:

Requirements

You want to author a single DITA task topic that you can use to generate two versions of output:

  • Creating a checking account
  • Creating a savings account

The content in the task topic has the following variations:

  • Type of account (checking versus savings)
  • Wording in the user interface, leading to different screen captures

DITA mechanisms for handling content reuse

DITA has multiple mechanisms for handling content reuse:

  • Content referencing (@conref)
  • Conditional processing using a DITAVAL file
  • Key referencing (@keyref)
  • Content key referencing (@conkeyref)
  • Key scopes
  • Branch filtering (using the DITAVALref domain)

Branch filtering and key scopes were designed to address the use case of using DITA topics multiple times within a single publication, with different content in the generated output of the topics. (You don't mention this, but I suspect this is what you want to do.)

Information architecture choices

Getting ROI from DITA always requires sound information design and architecture. Here, I would ask the following questions:

  • Do you really need two generated topics? Could this be handled with a single topic ("Creating an account") which could cover both scenarios?
  • Do you need a DITA topic for each scenario? This might be the case if you have elaborate metadata requirements or other business requirements.
  • Will you be localizing (translating) the DITA source? Remember that inflection in non-English languages can cause differences in articles

For the purpose of this exercise, we will assume that you want to author a single DITA topic that can be used to generate two versions of output (and you are not worried about localization). For this goal, you could use either key referencing or conditional processing; I'll show how this can be done using key references.

Reuse using key referencing

Author the content using the following markup for keywords and images:

  • <keyword keyref="accountType"/>
  • <image keyref="creatingAccount"/>

In a DITA map, create the following key definitions:

<keydef keys="accountType">
  <topicmeta>
    <linktext>checking</linktext>
  </topicmeta>
</keydef>

<keydef keys="creatingAccount" href="creatingCheckingAccount.png" format="png">
  <topicmeta>
    <linktext>Alternate text for the image goes here</linktext>
  </topicmeta>
</keydef>

Obviously, you'd need to modify the key definitions when you process to generate the "Creating a savings account" output.

Reuse using key references and key scopes

If you want both versions of the topics ("Creating a checking account" and "Creating a savings account" in the same publication, you'll need to use key scopes.

Author the content using the (same as above) markup for keywords and images:

  • <keyword keyref="accountType"/>
  • <image keyref="creatingAccount"/>

In the DITA map where you create the publication navigation, you'll also define key scopes and specify the values for the key references:

      <!-- Generate output for "Creating a checking account" --> 
      <topicgroup keyscope="checkingAccount">
            <keydef keys="accountType">
                <topicmeta>
                    <linktext>checking</linktext>
                </topicmeta>
            </keydef>
            <keydef keys="creatingAccount" format="png" href="creatingCheckingAccount.png">
                <topicmeta>
                    <linktext>Screen capture of the user interface window shown when creating a checking account</linktext>
                </topicmeta>
            </keydef>
            <topicref href="creatingAccount.dita"/>
        </topicgroup>

      <!-- Generate output for "Creating a savings account" --> 
      <topicgroup keyscope="savingsAccount">
            <keydef keys="accountType">
                <topicmeta>
                    <linktext>savings</linktext>
                </topicmeta>
            </keydef>
            <keydef keys="creatingAccount" format="png" href="creatingSavingAccount.png">
                <topicmeta>
                    <linktext>Screen capture of the user interface window shown when creating a savings account</linktext>
                </topicmeta>
            </keydef>
            <topicref href="creatingAccount.dita"/>
        </topicgroup>


I hope that this helps. I'd suggest that getting some formal DITA training might be of benefit.

Best,
Kris

Kristen James Eberlein
Chair, OASIS DITA Technical Committee
OASIS Distinguished Contributor
Principal consultant, Eberlein Consulting LLC
www.eberleinconsulting.com
+1 919 622-1501; kriseberlein (skype)


On 12/27/2020 5:26 PM, Aaron Mehl via groups.io wrote:
Hi all, 
I am new to the group, and Dita.
I am documenting KMyMoney and have two similar tasks.
One is creating a checking account and the other is creating a savings account.
The text is nearly the same. I need to make the words checking and savings conditional.
I need a way to also make the screen captures conditional.
That said, and I hope done, I need to know how to generate the two task when publishing/transforming the xml to xhtml and pdf.

I have seen docs provided by my editor (Oxygen) and some videos, but I still can't seem to make heads or tails out of profiling.
This is a draft the Dita task file.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE task PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
<task id="creatingacheckingaccount">
    <title>Creating a <keyword>Checking</keyword> Account</title>
    <shortdesc>A <keyword>Checking</keyword> account in KMyMoney contains the same information as the same account in
        your bank. </shortdesc>
    <taskbody>
        <context>You just created an institution.<p>To create a <keyword>checking</keyword> account in the
                instituion:</p></context>
        <steps>
            <step>
                <cmd>Choose <uicontrol>Accounts</uicontrol> in the <uicontrol>View
                        Selector</uicontrol>pane</cmd>
                <stepresult>The institution you created is listed in the <uicontrol>Account
                        View</uicontrol>pane.</stepresult>
            </step>
            <step>
                <cmd>Click on the <uicontrol>New Account</uicontrol>icon on the
                        <uicontrol>toolbar</uicontrol>.</cmd>
                <stepresult>The <uicontrol>New Account </uicontrol>wizard appears.</stepresult>
            </step>
            <step>
                <cmd>Choose your instituiton from the dropdown list.</cmd>
            </step>
            <step>
                <cmd>Enter your account number.</cmd>
            </step>
            <step>
                <cmd>Click <uicontrol>Next</uicontrol>.</cmd>
                <stepresult>The Account window appears.</stepresult>
            </step>
        </steps>
    </taskbody>
</task>


Thanks
Aaron


  


Job opportunity #jobhunting

Nicolas Delobel
 

Amplexor is currently looking for a XML Technical Expert.

We are the « digital transformation » branch of the AMPLEXOR International Group in France, organized as a start-up.  We offer a friendly, collaborative, and dynamic way of working in a cutting-edge technological environment. We provide complete solutions for multi-format, multimedia, multilingual and multi-audience content management, in sectors of activity as diverse as industry, aerospace, defense and transport, life sciences, financial institutions and the public sector.

Job description:
As an XML Technical Expert, you will work together with your AMPLEXOR colleagues to deliver high quality projects that enhance the digital strategy of our clients.

Responsibilities:
•    Technical design: definition of the functional and technical architecture, facilitation of workshops, creating the technical framework, reports ...
•    Writing general and detailed technical specifications
•    Technical pre-sales (pricing, proposing solutions, etc.)
•    Development (sharing technical expertise, supervision, configuration, etc.)

Requirements:
•    You are an expert in DITA, XML technologies (XPATH, XSLT, XSD, XQUERY, XProc) and technical design of complex projects
•    Knowledge of the following technologies would be a real asset:
      o    J2EE (Spring, Hibernate, Maven)
      o    Databases (XML, NoSql databases), Ideally Marklogic
•    You are familiar with the Agile (SCRUM) methodology
•    You adapt quickly and are interested in complex technical and business contexts
•    You are a strong communicator
•    You are detail oriented and have strong writing skills
•    You speak and write fluently in English

Benefits:
Location: Europe
Contract: CDI / permanent contract
•    Possibility to work remotely
•    You will work on state-of-the-art projects
•    Training and coaching are priorities for us, investing in your strengths is what we do best
•    Opportunity to grow. Bring your ideas and we will listen to you and help you to create your own opportunities
•    Early bird or evening owl? If you get the work done, you are flexible to do the work when and where you do it best. Work-life balance is key.
•    A very attractive salary package
•    An amazing group of colleagues that make the best of every workday!

If you are interested or know of someone who might be, you can contact me directly on nicolas.delobel@...

Regards,

Nicolas


Re: profile problems

Aaron Mehl
 

Thanks again,
I will work through your suggestions this week.
Lots to learn....
Aaron

On Monday, January 4, 2021, 02:01:19 AM EST, Radu Coravu <radu_coravu@...> wrote:


Hi,

Adding below some links to past webinars about using CSS to style the WebHelp Responsive and PDF outputs obtained from DITA XML content in Oxygen.

Creating Custom Publishing Templates for WebHelp and PDF Output:

https://www.oxygenxml.com/events/2018/webinar_creating_custom_publishing_templates_for_webhelp_and_pdf_output.html

Introducing the Oxygen Publishing Engine for DITA:

https://www.oxygenxml.com/events/2020/webinar_introducing_the_oxygen_publishing_engine_for_dita.html

Fine Tune Your DITA PDF Output Using CSS:

https://www.oxygenxml.com/events/2020/webinar_fine_tune_your_dita_pdf_outputs_using_oxygen_publishing_engine.html

I hope this helps.

Regards,

Radu

Radu Coravu
Oxygen XML Editor
On 1/1/21 18:02, Kristen James Eberlein wrote:

Happy New Year; I'm glad that I was able to start 2021 by being helpful!

Regarding the <keyword> element ... The element certainly can contain PCDATA (text), but in your scenario, where you are using key referencing, that is not necessary. If you were using @conref or @conkeyref, then the referenced element would contain content, for example, <keyword id="accountType">checking</keyword>.

Oxygen is going to create an element with both a start and end tag, if it thinks that you will insert content into the element. The following markup has identical meanings:

<keyword keyref="accountType"/>
<keyword keyref="accountType"></keyword>

Regarding DITA training ... Comtech Services Inc has a course on "Advanced Reuse Strategies". I think LearningDITA also has a course on reuse.

Regarding formatting DITA-OT output to match a company style guide ... You can specify a CSS file as a parameter to an Oxygen transformation scenario. To handle making changes to PDF generated using XSL-FO, you'll need to create a custom DITA-OT plug-in. For this I recommend the following documentation:

  • Eliot Kimber, DITA for Practitioners Volume 1 (useful for information about creating DITA-OT plug-ins)
  • Leigh White, DITA for Print (useful for information about creating DITA-OT plug-ins for PDF)
  • DITA-OT documentation: https://www.dita-ot.org/dev/

Oxygen has ships a PDF transformation that uses CSS, BTW.

Very best of luck with learning DITA and getting a job.

Best,
Kris

Kristen James Eberlein
Chair, OASIS DITA Technical Committee
OASIS Distinguished Contributor
Principal consultant, Eberlein Consulting LLC
www.eberleinconsulting.com
+1 919 622-1501; kriseberlein (skype)


On 1/1/2021 10:15 AM, Aaron Mehl via groups.io wrote:
Wow!
Thanks,
I  see that I  need to rethink what I want to accomplish.
But I see now how profiling works.

By formal Dita training, what do you mean? learningdita? OR a paid course?
I am for the most part  doing OK with the basics, but the advanced issues such as profiling and linking are causing me problems. I couldn't find well written concise explanations for when I can, or should do profiling. The tutorials and videos I used, listed the different options and only showed how to do them. I need the rationale for why and also when. Which you also touched on.

Your analysis of what I wanted to accomplish was right on. I understood that I could write one topic and generate two.

One thing I didn't get till I saw it in your example, the keyword tag is one single tag. Oxygen made it a double tag, so I instinctively put text between the opening and closing tag. Must I change this or will it be changed during publishing?

If you have training suggestions I would appreciate them.
I also need to know how to make the output in Oxygen conform to a style guide.
I guess that involves CSS or XSL-Fo, in docbook there was an easy way to do modify the output for html and pdf. 
I think because I am using a gui program I am missing something here.
In docbook I just opened up the xsl or css and made my changes there.

I am currently unemployed and a huge amount of people told me that having Dita knowledge and practical application will help me get employed.

Thanks so much for answering me.
Next week I will apply what you taught me.
:)
Aaron


 

On Friday, January 1, 2021, 07:11:21 AM EST, Kristen James Eberlein <kris@...> wrote:


Hi, Aaron.

If I understand correctly, your requirements are as follows:

Requirements

You want to author a single DITA task topic that you can use to generate two versions of output:

  • Creating a checking account
  • Creating a savings account

The content in the task topic has the following variations:

  • Type of account (checking versus savings)
  • Wording in the user interface, leading to different screen captures

DITA mechanisms for handling content reuse

DITA has multiple mechanisms for handling content reuse:

  • Content referencing (@conref)
  • Conditional processing using a DITAVAL file
  • Key referencing (@keyref)
  • Content key referencing (@conkeyref)
  • Key scopes
  • Branch filtering (using the DITAVALref domain)

Branch filtering and key scopes were designed to address the use case of using DITA topics multiple times within a single publication, with different content in the generated output of the topics. (You don't mention this, but I suspect this is what you want to do.)

Information architecture choices

Getting ROI from DITA always requires sound information design and architecture. Here, I would ask the following questions:

  • Do you really need two generated topics? Could this be handled with a single topic ("Creating an account") which could cover both scenarios?
  • Do you need a DITA topic for each scenario? This might be the case if you have elaborate metadata requirements or other business requirements.
  • Will you be localizing (translating) the DITA source? Remember that inflection in non-English languages can cause differences in articles

For the purpose of this exercise, we will assume that you want to author a single DITA topic that can be used to generate two versions of output (and you are not worried about localization). For this goal, you could use either key referencing or conditional processing; I'll show how this can be done using key references.

Reuse using key referencing

Author the content using the following markup for keywords and images:

  • <keyword keyref="accountType"/>
  • <image keyref="creatingAccount"/>

In a DITA map, create the following key definitions:

<keydef keys="accountType">
  <topicmeta>
    <linktext>checking</linktext>
  </topicmeta>
</keydef>

<keydef keys="creatingAccount" href="creatingCheckingAccount.png" format="png">
  <topicmeta>
    <linktext>Alternate text for the image goes here</linktext>
  </topicmeta>
</keydef>

Obviously, you'd need to modify the key definitions when you process to generate the "Creating a savings account" output.

Reuse using key references and key scopes

If you want both versions of the topics ("Creating a checking account" and "Creating a savings account" in the same publication, you'll need to use key scopes.

Author the content using the (same as above) markup for keywords and images:

  • <keyword keyref="accountType"/>
  • <image keyref="creatingAccount"/>

In the DITA map where you create the publication navigation, you'll also define key scopes and specify the values for the key references:

      <!-- Generate output for "Creating a checking account" --> 
      <topicgroup keyscope="checkingAccount">
            <keydef keys="accountType">
                <topicmeta>
                    <linktext>checking</linktext>
                </topicmeta>
            </keydef>
            <keydef keys="creatingAccount" format="png" href="creatingCheckingAccount.png">
                <topicmeta>
                    <linktext>Screen capture of the user interface window shown when creating a checking account</linktext>
                </topicmeta>
            </keydef>
            <topicref href="creatingAccount.dita"/>
        </topicgroup>

      <!-- Generate output for "Creating a savings account" --> 
      <topicgroup keyscope="savingsAccount">
            <keydef keys="accountType">
                <topicmeta>
                    <linktext>savings</linktext>
                </topicmeta>
            </keydef>
            <keydef keys="creatingAccount" format="png" href="creatingSavingAccount.png">
                <topicmeta>
                    <linktext>Screen capture of the user interface window shown when creating a savings account</linktext>
                </topicmeta>
            </keydef>
            <topicref href="creatingAccount.dita"/>
        </topicgroup>


I hope that this helps. I'd suggest that getting some formal DITA training might be of benefit.

Best,
Kris

Kristen James Eberlein
Chair, OASIS DITA Technical Committee
OASIS Distinguished Contributor
Principal consultant, Eberlein Consulting LLC
www.eberleinconsulting.com
+1 919 622-1501; kriseberlein (skype)


On 12/27/2020 5:26 PM, Aaron Mehl via groups.io wrote:
Hi all, 
I am new to the group, and Dita.
I am documenting KMyMoney and have two similar tasks.
One is creating a checking account and the other is creating a savings account.
The text is nearly the same. I need to make the words checking and savings conditional.
I need a way to also make the screen captures conditional.
That said, and I hope done, I need to know how to generate the two task when publishing/transforming the xml to xhtml and pdf.

I have seen docs provided by my editor (Oxygen) and some videos, but I still can't seem to make heads or tails out of profiling.
This is a draft the Dita task file.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE task PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
<task id="creatingacheckingaccount">
    <title>Creating a <keyword>Checking</keyword> Account</title>
    <shortdesc>A <keyword>Checking</keyword> account in KMyMoney contains the same information as the same account in
        your bank. </shortdesc>
    <taskbody>
        <context>You just created an institution.<p>To create a <keyword>checking</keyword> account in the
                instituion:</p></context>
        <steps>
            <step>
                <cmd>Choose <uicontrol>Accounts</uicontrol> in the <uicontrol>View
                        Selector</uicontrol>pane</cmd>
                <stepresult>The institution you created is listed in the <uicontrol>Account
                        View</uicontrol>pane.</stepresult>
            </step>
            <step>
                <cmd>Click on the <uicontrol>New Account</uicontrol>icon on the
                        <uicontrol>toolbar</uicontrol>.</cmd>
                <stepresult>The <uicontrol>New Account </uicontrol>wizard appears.</stepresult>
            </step>
            <step>
                <cmd>Choose your instituiton from the dropdown list.</cmd>
            </step>
            <step>
                <cmd>Enter your account number.</cmd>
            </step>
            <step>
                <cmd>Click <uicontrol>Next</uicontrol>.</cmd>
                <stepresult>The Account window appears.</stepresult>
            </step>
        </steps>
    </taskbody>
</task>


Thanks
Aaron


  


Re: Using DITA with contextual help #CCMS #mixed-content

despopoulos_chriss
 

Hi John...

There are two parts to this transform.  First is the part that generates the JSON array.  This is very much tied to the topic structure...  For these topics we have two sections.  The first section is always for the overview -- We supply it with metadata to open the proper GUI URL, and then we give the content for the first balloon in the walk-through tour. So that is always the first item in the JSON array.  The second section contains the OL that has the procedure steps.  For each step in that OL, we create a subsequent array item, with the GUI mapping, and with the LI content.  The first pgf in the LI becomes the balloon title, and the rest of the LI content becomes straight HTML for the balloon content.

The second part of the transform produces the balloon content.  In principle, this can be anything that can live inside of a LI element.  But...  Since we don't need it, we don't transform everything.  Currently we support ul, ol, p, codeblock, codeph, b, i, and text.  I suppose we could do tables (for example), but they don't make sense in a skinny balloon. 

We don't support graphics -- I'm not sure how the paths to graphics would work in these walk-throughs, and anyway, images don't make total sense in a walk-through context.  The balloon points at the GUI, and that makes the GUI visuals supreme. 

We're a small team (started out as a team of one), and so we were really lazy about specialization (as in, we don't do it).  We only use TOPIC, and we just "know" what is allowed in a given context.  We started using DITA maybe 6 or 7 years ago.  I specifically asked this group if only using topic was bad, and if one had to support all of DITA.  None other than Michael Priestly said not to worry, and that in fact he was thinking along those lines for LwDITA (if I understood him correctly).  We had to get started before LwDITA got solid, so we have what we have.  We don't support everything in DITA anyway, and indeed, for our walk-throughs we support even less.  But it works.

I'll note that we do other micro-content in popups, and that contains anything that we support overall...  Including conrefs, xrefs, and so forth.


Re: profile problems

Radu Coravu
 

Hi,

Adding below some links to past webinars about using CSS to style the WebHelp Responsive and PDF outputs obtained from DITA XML content in Oxygen.

Creating Custom Publishing Templates for WebHelp and PDF Output:

https://www.oxygenxml.com/events/2018/webinar_creating_custom_publishing_templates_for_webhelp_and_pdf_output.html

Introducing the Oxygen Publishing Engine for DITA:

https://www.oxygenxml.com/events/2020/webinar_introducing_the_oxygen_publishing_engine_for_dita.html

Fine Tune Your DITA PDF Output Using CSS:

https://www.oxygenxml.com/events/2020/webinar_fine_tune_your_dita_pdf_outputs_using_oxygen_publishing_engine.html

I hope this helps.

Regards,

Radu

Radu Coravu
Oxygen XML Editor
On 1/1/21 18:02, Kristen James Eberlein wrote:

Happy New Year; I'm glad that I was able to start 2021 by being helpful!

Regarding the <keyword> element ... The element certainly can contain PCDATA (text), but in your scenario, where you are using key referencing, that is not necessary. If you were using @conref or @conkeyref, then the referenced element would contain content, for example, <keyword id="accountType">checking</keyword>.

Oxygen is going to create an element with both a start and end tag, if it thinks that you will insert content into the element. The following markup has identical meanings:

<keyword keyref="accountType"/>
<keyword keyref="accountType"></keyword>

Regarding DITA training ... Comtech Services Inc has a course on "Advanced Reuse Strategies". I think LearningDITA also has a course on reuse.

Regarding formatting DITA-OT output to match a company style guide ... You can specify a CSS file as a parameter to an Oxygen transformation scenario. To handle making changes to PDF generated using XSL-FO, you'll need to create a custom DITA-OT plug-in. For this I recommend the following documentation:

  • Eliot Kimber, DITA for Practitioners Volume 1 (useful for information about creating DITA-OT plug-ins)
  • Leigh White, DITA for Print (useful for information about creating DITA-OT plug-ins for PDF)
  • DITA-OT documentation: https://www.dita-ot.org/dev/

Oxygen has ships a PDF transformation that uses CSS, BTW.

Very best of luck with learning DITA and getting a job.

Best,
Kris

Kristen James Eberlein
Chair, OASIS DITA Technical Committee
OASIS Distinguished Contributor
Principal consultant, Eberlein Consulting LLC
www.eberleinconsulting.com
+1 919 622-1501; kriseberlein (skype)


On 1/1/2021 10:15 AM, Aaron Mehl via groups.io wrote:
Wow!
Thanks,
I  see that I  need to rethink what I want to accomplish.
But I see now how profiling works.

By formal Dita training, what do you mean? learningdita? OR a paid course?
I am for the most part  doing OK with the basics, but the advanced issues such as profiling and linking are causing me problems. I couldn't find well written concise explanations for when I can, or should do profiling. The tutorials and videos I used, listed the different options and only showed how to do them. I need the rationale for why and also when. Which you also touched on.

Your analysis of what I wanted to accomplish was right on. I understood that I could write one topic and generate two.

One thing I didn't get till I saw it in your example, the keyword tag is one single tag. Oxygen made it a double tag, so I instinctively put text between the opening and closing tag. Must I change this or will it be changed during publishing?

If you have training suggestions I would appreciate them.
I also need to know how to make the output in Oxygen conform to a style guide.
I guess that involves CSS or XSL-Fo, in docbook there was an easy way to do modify the output for html and pdf. 
I think because I am using a gui program I am missing something here.
In docbook I just opened up the xsl or css and made my changes there.

I am currently unemployed and a huge amount of people told me that having Dita knowledge and practical application will help me get employed.

Thanks so much for answering me.
Next week I will apply what you taught me.
:)
Aaron


 

On Friday, January 1, 2021, 07:11:21 AM EST, Kristen James Eberlein <kris@...> wrote:


Hi, Aaron.

If I understand correctly, your requirements are as follows:

Requirements

You want to author a single DITA task topic that you can use to generate two versions of output:

  • Creating a checking account
  • Creating a savings account

The content in the task topic has the following variations:

  • Type of account (checking versus savings)
  • Wording in the user interface, leading to different screen captures

DITA mechanisms for handling content reuse

DITA has multiple mechanisms for handling content reuse:

  • Content referencing (@conref)
  • Conditional processing using a DITAVAL file
  • Key referencing (@keyref)
  • Content key referencing (@conkeyref)
  • Key scopes
  • Branch filtering (using the DITAVALref domain)

Branch filtering and key scopes were designed to address the use case of using DITA topics multiple times within a single publication, with different content in the generated output of the topics. (You don't mention this, but I suspect this is what you want to do.)

Information architecture choices

Getting ROI from DITA always requires sound information design and architecture. Here, I would ask the following questions:

  • Do you really need two generated topics? Could this be handled with a single topic ("Creating an account") which could cover both scenarios?
  • Do you need a DITA topic for each scenario? This might be the case if you have elaborate metadata requirements or other business requirements.
  • Will you be localizing (translating) the DITA source? Remember that inflection in non-English languages can cause differences in articles

For the purpose of this exercise, we will assume that you want to author a single DITA topic that can be used to generate two versions of output (and you are not worried about localization). For this goal, you could use either key referencing or conditional processing; I'll show how this can be done using key references.

Reuse using key referencing

Author the content using the following markup for keywords and images:

  • <keyword keyref="accountType"/>
  • <image keyref="creatingAccount"/>

In a DITA map, create the following key definitions:

<keydef keys="accountType">
  <topicmeta>
    <linktext>checking</linktext>
  </topicmeta>
</keydef>

<keydef keys="creatingAccount" href="creatingCheckingAccount.png" format="png">
  <topicmeta>
    <linktext>Alternate text for the image goes here</linktext>
  </topicmeta>
</keydef>

Obviously, you'd need to modify the key definitions when you process to generate the "Creating a savings account" output.

Reuse using key references and key scopes

If you want both versions of the topics ("Creating a checking account" and "Creating a savings account" in the same publication, you'll need to use key scopes.

Author the content using the (same as above) markup for keywords and images:

  • <keyword keyref="accountType"/>
  • <image keyref="creatingAccount"/>

In the DITA map where you create the publication navigation, you'll also define key scopes and specify the values for the key references:

      <!-- Generate output for "Creating a checking account" --> 
      <topicgroup keyscope="checkingAccount">
            <keydef keys="accountType">
                <topicmeta>
                    <linktext>checking</linktext>
                </topicmeta>
            </keydef>
            <keydef keys="creatingAccount" format="png" href="creatingCheckingAccount.png">
                <topicmeta>
                    <linktext>Screen capture of the user interface window shown when creating a checking account</linktext>
                </topicmeta>
            </keydef>
            <topicref href="creatingAccount.dita"/>
        </topicgroup>

      <!-- Generate output for "Creating a savings account" --> 
      <topicgroup keyscope="savingsAccount">
            <keydef keys="accountType">
                <topicmeta>
                    <linktext>savings</linktext>
                </topicmeta>
            </keydef>
            <keydef keys="creatingAccount" format="png" href="creatingSavingAccount.png">
                <topicmeta>
                    <linktext>Screen capture of the user interface window shown when creating a savings account</linktext>
                </topicmeta>
            </keydef>
            <topicref href="creatingAccount.dita"/>
        </topicgroup>


I hope that this helps. I'd suggest that getting some formal DITA training might be of benefit.

Best,
Kris

Kristen James Eberlein
Chair, OASIS DITA Technical Committee
OASIS Distinguished Contributor
Principal consultant, Eberlein Consulting LLC
www.eberleinconsulting.com
+1 919 622-1501; kriseberlein (skype)


On 12/27/2020 5:26 PM, Aaron Mehl via groups.io wrote:
Hi all, 
I am new to the group, and Dita.
I am documenting KMyMoney and have two similar tasks.
One is creating a checking account and the other is creating a savings account.
The text is nearly the same. I need to make the words checking and savings conditional.
I need a way to also make the screen captures conditional.
That said, and I hope done, I need to know how to generate the two task when publishing/transforming the xml to xhtml and pdf.

I have seen docs provided by my editor (Oxygen) and some videos, but I still can't seem to make heads or tails out of profiling.
This is a draft the Dita task file.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE task PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
<task id="creatingacheckingaccount">
    <title>Creating a <keyword>Checking</keyword> Account</title>
    <shortdesc>A <keyword>Checking</keyword> account in KMyMoney contains the same information as the same account in
        your bank. </shortdesc>
    <taskbody>
        <context>You just created an institution.<p>To create a <keyword>checking</keyword> account in the
                instituion:</p></context>
        <steps>
            <step>
                <cmd>Choose <uicontrol>Accounts</uicontrol> in the <uicontrol>View
                        Selector</uicontrol>pane</cmd>
                <stepresult>The institution you created is listed in the <uicontrol>Account
                        View</uicontrol>pane.</stepresult>
            </step>
            <step>
                <cmd>Click on the <uicontrol>New Account</uicontrol>icon on the
                        <uicontrol>toolbar</uicontrol>.</cmd>
                <stepresult>The <uicontrol>New Account </uicontrol>wizard appears.</stepresult>
            </step>
            <step>
                <cmd>Choose your instituiton from the dropdown list.</cmd>
            </step>
            <step>
                <cmd>Enter your account number.</cmd>
            </step>
            <step>
                <cmd>Click <uicontrol>Next</uicontrol>.</cmd>
                <stepresult>The Account window appears.</stepresult>
            </step>
        </steps>
    </taskbody>
</task>


Thanks
Aaron


  


Re: AntTask: Error Rendering Fo File Error when Generating PDF for Bookmap #bookmap #PDF #DITA-OT

bvigneshwaran21@...
 

Dear Leigh,
Thank you so much for taking time to analyze my results and providing your valuable insights. I shall try as per your suggestion.


Re: AntTask: Error Rendering Fo File Error when Generating PDF for Bookmap #bookmap #PDF #DITA-OT

Leigh White
 

Without seeing the whole plugin, it's difficult to say exactly where to look. You say that you're following the instructions in DITA For Print 1.8 (thank you, by the way) but you seem to be using the 2.0 version of the DITA OT. This could be one issue. There are significant differences between the 1.8 version of the org.dita.pdf2 plugin and the 2.x version, so be careful there.

Both the 1.8.5 and 2.5.4 versions of the PDF plugin transform booktitle alt into an fo:block by default (in front-matter.xsl):

<xsl:template match="*[contains(@class, ' bookmap/booktitlealt ')]" priority="2">
    <fo:block xsl:use-attribute-sets="__frontmatter__subtitle">
        <xsl:apply-templates/>
    </fo:block>
</xsl:template>

It looks like you changed that fo:block to fo:inline, perhaps to keep it inline with the main title? If so, you'll need to go about it another way. You can change this template to fo:inline, but then you'll need to apply that template within the mainbooktitle fo:block (assuming that's what you're doing) so that the booktitlealt becomes part of the mainbooktitle block.

For troubleshooting, when you just don't have a clue, there is always the sledgehammer method, where you comment out everything you think *could* be the problem and uncomment each thing one by one until the problem reoccurs. Be careful doing this because sometimes you can't comment out just one thing because other things depend on it, so you might have to comment out a group of things together. But in your case, I would bet the problem is in front-matter.xsl.

Good luck,
Leigh


Re: Using DITA with contextual help #CCMS #mixed-content

john.kirkilis@...
 

Hi Chris,

What is the subset of DITA elements you allow to be in a piece of such micro-content? Bold, italic, lists, images, or just straight text? We also have a requirement to generate JSON output that can be consumed by a web app and rendered by the app itself, using either Metadata seqrch or a brute force unique id mapping for each item in the app UI for which micro-content should be shown.

John


Re: AntTask: Error Rendering Fo File Error when Generating PDF for Bookmap #bookmap #PDF #DITA-OT

bvigneshwaran21@...
 

Dear All,

Thank you so much for your expert suggestions. With your help I found the tag causing the problem, which I have posted below. When I deleted this element from the bookmap, the output is generated. However, I am trying to understand why this element is causing an issue in my plugin.
<booktitlealt>Tasks and what they can do</booktitlealt>

The following is an excerpt from topic.fo file generated by org.dita.pdf2 plugin
<fo:block-container text-align="center"><fo:block font-size="22pt" font-weight="bold" line-height="140%" space-before="80mm" space-before.conditionality="retain" line-height-shift-adjustment="disregard-shifts" font-family="Helvetica, Arial Unicode MS">
<fo:block><fo:inline border-left-width="0pt" border-right-width="0pt">Retro Tools</fo:inline></fo:block>
<fo:block><fo:inline border-left-width="0pt" border-right-width="0pt">Product tasks</fo:inline></fo:block></fo:block>
<fo:block font-size="18pt" font-weight="bold" line-height="140%" line-height-shift-adjustment="disregard-shifts" font-family="Helvetica, Arial Unicode MS">Tasks and what they can do</fo:block>
<fo:block font-size="11pt" font-weight="bold" line-height="normal" space-before="36pt" line-height-shift-adjustment="disregard-shifts" font-family="Helvetica, Arial Unicode MS"/></fo:block-container>

The following is an excerpt of topic.fo file generated by my plugin:
<fo:block-container text-align="center"><fo:block font-size="22pt" font-weight="bold" line-height="140%" space-before="80mm" space-before.conditionality="retain" line-height-shift-adjustment="disregard-shifts" font-family="Cambria">
<fo:block><fo:inline border-left-width="0pt" border-right-width="0pt">Retro Tools</fo:inline></fo:block>
<fo:block><fo:inline border-left-width="0pt" border-right-width="0pt">Product tasks</fo:inline></fo:block></fo:block>
<fo:inline border-left-width="0pt" border-right-width="0pt">Tasks and what they can do</fo:inline>
<fo:block font-size="11pt" font-weight="bold" line-height="normal" space-before="36pt" line-height-shift-adjustment="disregard-shifts" font-family="Trebuchet MS, Helvetica, Arial Unicode MS"/></fo:block-container>

When i compare both, I see that the <fo:block> element is not wrapped around the text in my plugin.
Now my question is how do I debug (where to see) and troubleshoot this issue. I tried looking in to front-matter.attr.xsl and front-matter.xsl. But I am unable to find the cause. Could you please suggest as to where I need to look and what i need to look for. There are certain xsl files attached for your kind reference. Your suggestions are much appreciated and will aid me in my learning.

Thank you.


Re: AntTask: Error Rendering Fo File Error when Generating PDF for Bookmap #bookmap #PDF #DITA-OT

Toshihiko Makita
 

You are generating fo:inline as the child of fo:block-container in the following portion of topic.fo.

      <fo:block-container text-align="center">
        <fo:block font-size="22pt" font-weight="bold" line-height="140%" space-before="80mm"
          space-before.conditionality="retain" line-height-shift-adjustment="disregard-shifts"
          font-family="Cambria">
          <fo:block>
            <fo:inline border-left-width="0pt" border-right-width="0pt">Retro Tools</fo:inline>
          </fo:block>
          <fo:block>
            <fo:inline border-left-width="0pt" border-right-width="0pt">Product tasks</fo:inline>
          </fo:block>
        </fo:block>
        <fo:inline border-left-width="0pt" border-right-width="0pt">Tasks and what they can
          do</fo:inline>
        <fo:block font-size="11pt" font-weight="bold" line-height="normal" space-before="36pt"
          line-height-shift-adjustment="disregard-shifts"
          font-family="Trebuchet MS, Helvetica, Arial Unicode MS"/>
      </fo:block-container>

The content model of fo:block-container is "(%block)+". You should not fo:inline as the child of fo:block-container.

https://www.w3.org/TR/xsl11/#fo_block-container

If generating fo:block-container is the right coding, change generating fo:inline to generate fo:block instead.

Hope this helps.

Regards,
-- 
/*----------------------------------------------------------------------- 
 Toshihiko Makita
 Development Group. Antenna House, Inc. Ina Branch
 Web site:
 http://www.antenna.co.jp/
 http://www.antennahouse.com/
 ------------------------------------------------------------------------*/ 


 


Re: AntTask: Error Rendering Fo File Error when Generating PDF for Bookmap #bookmap #PDF #DITA-OT

Nicholas Mucks
 

We had a similar issue in our DITA-OT 2.3.3 PDF customization plugin. It related to the template for minitoc on chapter pages not having a correct parent in some circumstances. 

I’d perform a global search for “fo:inline” or “fo:block-container” in your plugin to make sure they’re all correct. You might not see a syntax error if you’re applying the inline block in a different template than the block container. You probably just need a block element in between them. 

Take care,
- Nick

Sent from mobile

On Jan 1, 2021, at 7:12 AM, Radu Coravu <radu_coravu@...> wrote:



Hi,

I see that the XSL-FO file contains an fo:inline element inside an fo:block-container element:

<fo:block-container text-align="center">...<fo:inline border-left-width="0pt" border-right-width="0pt">Tasks and what they can do</fo:inline>....</fo:block-container>

It's hard to tell what the problem is without seeing your custom plugin but maybe one of your XSLT customizations which overrides the book title generation outputs that inline element instead of wrapping it in an fo:block element.


Regards,

Radu

Radu Coravu
Oxygen XML Editor
On 1/1/21 14:29, bvigneshwaran21@... wrote:
Dear All,

  • I have created a plugin by referring to the book (Dita for Print v1.8). I had installed Dita v2.0 Full and Easy Install Version.
  • I did not face any issues in customizing the plugin and generating PDF for normal maps.
  • However, when I try generating output for bookmap, I get an error "AntTask: Error Rendering Fo File, fo:inline is not a valid child of fo:block container." All my attempts to find the cause of the error have been futile.
Infact when I tried generating pdf for bookmap using the default pdf plugin (org.dita.pdf2) the PDF is generated. But only in the case of the customized plugin this issue occurs.
Could anyone please help me understand my mistake. Please help me. I am unable to proceed further with my learning because of this. I have attached two files:
  1. Error message screenshot
  2. Topic.fo file
If any further information is required, please let me know. 








Re: profile problems

Kristen James Eberlein
 

Happy New Year; I'm glad that I was able to start 2021 by being helpful!

Regarding the <keyword> element ... The element certainly can contain PCDATA (text), but in your scenario, where you are using key referencing, that is not necessary. If you were using @conref or @conkeyref, then the referenced element would contain content, for example, <keyword id="accountType">checking</keyword>.

Oxygen is going to create an element with both a start and end tag, if it thinks that you will insert content into the element. The following markup has identical meanings:

<keyword keyref="accountType"/>
<keyword keyref="accountType"></keyword>

Regarding DITA training ... Comtech Services Inc has a course on "Advanced Reuse Strategies". I think LearningDITA also has a course on reuse.

Regarding formatting DITA-OT output to match a company style guide ... You can specify a CSS file as a parameter to an Oxygen transformation scenario. To handle making changes to PDF generated using XSL-FO, you'll need to create a custom DITA-OT plug-in. For this I recommend the following documentation:

  • Eliot Kimber, DITA for Practitioners Volume 1 (useful for information about creating DITA-OT plug-ins)
  • Leigh White, DITA for Print (useful for information about creating DITA-OT plug-ins for PDF)
  • DITA-OT documentation: https://www.dita-ot.org/dev/

Oxygen has ships a PDF transformation that uses CSS, BTW.

Very best of luck with learning DITA and getting a job.

Best,
Kris

Kristen James Eberlein
Chair, OASIS DITA Technical Committee
OASIS Distinguished Contributor
Principal consultant, Eberlein Consulting LLC
www.eberleinconsulting.com
+1 919 622-1501; kriseberlein (skype)


On 1/1/2021 10:15 AM, Aaron Mehl via groups.io wrote:
Wow!
Thanks,
I  see that I  need to rethink what I want to accomplish.
But I see now how profiling works.

By formal Dita training, what do you mean? learningdita? OR a paid course?
I am for the most part  doing OK with the basics, but the advanced issues such as profiling and linking are causing me problems. I couldn't find well written concise explanations for when I can, or should do profiling. The tutorials and videos I used, listed the different options and only showed how to do them. I need the rationale for why and also when. Which you also touched on.

Your analysis of what I wanted to accomplish was right on. I understood that I could write one topic and generate two.

One thing I didn't get till I saw it in your example, the keyword tag is one single tag. Oxygen made it a double tag, so I instinctively put text between the opening and closing tag. Must I change this or will it be changed during publishing?

If you have training suggestions I would appreciate them.
I also need to know how to make the output in Oxygen conform to a style guide.
I guess that involves CSS or XSL-Fo, in docbook there was an easy way to do modify the output for html and pdf. 
I think because I am using a gui program I am missing something here.
In docbook I just opened up the xsl or css and made my changes there.

I am currently unemployed and a huge amount of people told me that having Dita knowledge and practical application will help me get employed.

Thanks so much for answering me.
Next week I will apply what you taught me.
:)
Aaron


 

On Friday, January 1, 2021, 07:11:21 AM EST, Kristen James Eberlein <kris@...> wrote:


Hi, Aaron.

If I understand correctly, your requirements are as follows:

Requirements

You want to author a single DITA task topic that you can use to generate two versions of output:

  • Creating a checking account
  • Creating a savings account

The content in the task topic has the following variations:

  • Type of account (checking versus savings)
  • Wording in the user interface, leading to different screen captures

DITA mechanisms for handling content reuse

DITA has multiple mechanisms for handling content reuse:

  • Content referencing (@conref)
  • Conditional processing using a DITAVAL file
  • Key referencing (@keyref)
  • Content key referencing (@conkeyref)
  • Key scopes
  • Branch filtering (using the DITAVALref domain)

Branch filtering and key scopes were designed to address the use case of using DITA topics multiple times within a single publication, with different content in the generated output of the topics. (You don't mention this, but I suspect this is what you want to do.)

Information architecture choices

Getting ROI from DITA always requires sound information design and architecture. Here, I would ask the following questions:

  • Do you really need two generated topics? Could this be handled with a single topic ("Creating an account") which could cover both scenarios?
  • Do you need a DITA topic for each scenario? This might be the case if you have elaborate metadata requirements or other business requirements.
  • Will you be localizing (translating) the DITA source? Remember that inflection in non-English languages can cause differences in articles

For the purpose of this exercise, we will assume that you want to author a single DITA topic that can be used to generate two versions of output (and you are not worried about localization). For this goal, you could use either key referencing or conditional processing; I'll show how this can be done using key references.

Reuse using key referencing

Author the content using the following markup for keywords and images:

  • <keyword keyref="accountType"/>
  • <image keyref="creatingAccount"/>

In a DITA map, create the following key definitions:

<keydef keys="accountType">
  <topicmeta>
    <linktext>checking</linktext>
  </topicmeta>
</keydef>

<keydef keys="creatingAccount" href="creatingCheckingAccount.png" format="png">
  <topicmeta>
    <linktext>Alternate text for the image goes here</linktext>
  </topicmeta>
</keydef>

Obviously, you'd need to modify the key definitions when you process to generate the "Creating a savings account" output.

Reuse using key references and key scopes

If you want both versions of the topics ("Creating a checking account" and "Creating a savings account" in the same publication, you'll need to use key scopes.

Author the content using the (same as above) markup for keywords and images:

  • <keyword keyref="accountType"/>
  • <image keyref="creatingAccount"/>

In the DITA map where you create the publication navigation, you'll also define key scopes and specify the values for the key references:

      <!-- Generate output for "Creating a checking account" --> 
      <topicgroup keyscope="checkingAccount">
            <keydef keys="accountType">
                <topicmeta>
                    <linktext>checking</linktext>
                </topicmeta>
            </keydef>
            <keydef keys="creatingAccount" format="png" href="creatingCheckingAccount.png">
                <topicmeta>
                    <linktext>Screen capture of the user interface window shown when creating a checking account</linktext>
                </topicmeta>
            </keydef>
            <topicref href="creatingAccount.dita"/>
        </topicgroup>

      <!-- Generate output for "Creating a savings account" --> 
      <topicgroup keyscope="savingsAccount">
            <keydef keys="accountType">
                <topicmeta>
                    <linktext>savings</linktext>
                </topicmeta>
            </keydef>
            <keydef keys="creatingAccount" format="png" href="creatingSavingAccount.png">
                <topicmeta>
                    <linktext>Screen capture of the user interface window shown when creating a savings account</linktext>
                </topicmeta>
            </keydef>
            <topicref href="creatingAccount.dita"/>
        </topicgroup>


I hope that this helps. I'd suggest that getting some formal DITA training might be of benefit.

Best,
Kris

Kristen James Eberlein
Chair, OASIS DITA Technical Committee
OASIS Distinguished Contributor
Principal consultant, Eberlein Consulting LLC
www.eberleinconsulting.com
+1 919 622-1501; kriseberlein (skype)


On 12/27/2020 5:26 PM, Aaron Mehl via groups.io wrote:
Hi all, 
I am new to the group, and Dita.
I am documenting KMyMoney and have two similar tasks.
One is creating a checking account and the other is creating a savings account.
The text is nearly the same. I need to make the words checking and savings conditional.
I need a way to also make the screen captures conditional.
That said, and I hope done, I need to know how to generate the two task when publishing/transforming the xml to xhtml and pdf.

I have seen docs provided by my editor (Oxygen) and some videos, but I still can't seem to make heads or tails out of profiling.
This is a draft the Dita task file.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE task PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
<task id="creatingacheckingaccount">
    <title>Creating a <keyword>Checking</keyword> Account</title>
    <shortdesc>A <keyword>Checking</keyword> account in KMyMoney contains the same information as the same account in
        your bank. </shortdesc>
    <taskbody>
        <context>You just created an institution.<p>To create a <keyword>checking</keyword> account in the
                instituion:</p></context>
        <steps>
            <step>
                <cmd>Choose <uicontrol>Accounts</uicontrol> in the <uicontrol>View
                        Selector</uicontrol>pane</cmd>
                <stepresult>The institution you created is listed in the <uicontrol>Account
                        View</uicontrol>pane.</stepresult>
            </step>
            <step>
                <cmd>Click on the <uicontrol>New Account</uicontrol>icon on the
                        <uicontrol>toolbar</uicontrol>.</cmd>
                <stepresult>The <uicontrol>New Account </uicontrol>wizard appears.</stepresult>
            </step>
            <step>
                <cmd>Choose your instituiton from the dropdown list.</cmd>
            </step>
            <step>
                <cmd>Enter your account number.</cmd>
            </step>
            <step>
                <cmd>Click <uicontrol>Next</uicontrol>.</cmd>
                <stepresult>The Account window appears.</stepresult>
            </step>
        </steps>
    </taskbody>
</task>


Thanks
Aaron


Re: profile problems

Aaron Mehl
 

Wow!
Thanks,
I  see that I  need to rethink what I want to accomplish.
But I see now how profiling works.

By formal Dita training, what do you mean? learningdita? OR a paid course?
I am for the most part  doing OK with the basics, but the advanced issues such as profiling and linking are causing me problems. I couldn't find well written concise explanations for when I can, or should do profiling. The tutorials and videos I used, listed the different options and only showed how to do them. I need the rationale for why and also when. Which you also touched on.

Your analysis of what I wanted to accomplish was right on. I understood that I could write one topic and generate two.

One thing I didn't get till I saw it in your example, the keyword tag is one single tag. Oxygen made it a double tag, so I instinctively put text between the opening and closing tag. Must I change this or will it be changed during publishing?

If you have training suggestions I would appreciate them.
I also need to know how to make the output in Oxygen conform to a style guide.
I guess that involves CSS or XSL-Fo, in docbook there was an easy way to do modify the output for html and pdf. 
I think because I am using a gui program I am missing something here.
In docbook I just opened up the xsl or css and made my changes there.

I am currently unemployed and a huge amount of people told me that having Dita knowledge and practical application will help me get employed.

Thanks so much for answering me.
Next week I will apply what you taught me.
:)
Aaron


 

On Friday, January 1, 2021, 07:11:21 AM EST, Kristen James Eberlein <kris@...> wrote:


Hi, Aaron.

If I understand correctly, your requirements are as follows:

Requirements

You want to author a single DITA task topic that you can use to generate two versions of output:

  • Creating a checking account
  • Creating a savings account

The content in the task topic has the following variations:

  • Type of account (checking versus savings)
  • Wording in the user interface, leading to different screen captures

DITA mechanisms for handling content reuse

DITA has multiple mechanisms for handling content reuse:

  • Content referencing (@conref)
  • Conditional processing using a DITAVAL file
  • Key referencing (@keyref)
  • Content key referencing (@conkeyref)
  • Key scopes
  • Branch filtering (using the DITAVALref domain)

Branch filtering and key scopes were designed to address the use case of using DITA topics multiple times within a single publication, with different content in the generated output of the topics. (You don't mention this, but I suspect this is what you want to do.)

Information architecture choices

Getting ROI from DITA always requires sound information design and architecture. Here, I would ask the following questions:

  • Do you really need two generated topics? Could this be handled with a single topic ("Creating an account") which could cover both scenarios?
  • Do you need a DITA topic for each scenario? This might be the case if you have elaborate metadata requirements or other business requirements.
  • Will you be localizing (translating) the DITA source? Remember that inflection in non-English languages can cause differences in articles

For the purpose of this exercise, we will assume that you want to author a single DITA topic that can be used to generate two versions of output (and you are not worried about localization). For this goal, you could use either key referencing or conditional processing; I'll show how this can be done using key references.

Reuse using key referencing

Author the content using the following markup for keywords and images:

  • <keyword keyref="accountType"/>
  • <image keyref="creatingAccount"/>

In a DITA map, create the following key definitions:

<keydef keys="accountType">
  <topicmeta>
    <linktext>checking</linktext>
  </topicmeta>
</keydef>

<keydef keys="creatingAccount" href="creatingCheckingAccount.png" format="png">
  <topicmeta>
    <linktext>Alternate text for the image goes here</linktext>
  </topicmeta>
</keydef>

Obviously, you'd need to modify the key definitions when you process to generate the "Creating a savings account" output.

Reuse using key references and key scopes

If you want both versions of the topics ("Creating a checking account" and "Creating a savings account" in the same publication, you'll need to use key scopes.

Author the content using the (same as above) markup for keywords and images:

  • <keyword keyref="accountType"/>
  • <image keyref="creatingAccount"/>

In the DITA map where you create the publication navigation, you'll also define key scopes and specify the values for the key references:

      <!-- Generate output for "Creating a checking account" --> 
      <topicgroup keyscope="checkingAccount">
            <keydef keys="accountType">
                <topicmeta>
                    <linktext>checking</linktext>
                </topicmeta>
            </keydef>
            <keydef keys="creatingAccount" format="png" href="creatingCheckingAccount.png">
                <topicmeta>
                    <linktext>Screen capture of the user interface window shown when creating a checking account</linktext>
                </topicmeta>
            </keydef>
            <topicref href="creatingAccount.dita"/>
        </topicgroup>

      <!-- Generate output for "Creating a savings account" --> 
      <topicgroup keyscope="savingsAccount">
            <keydef keys="accountType">
                <topicmeta>
                    <linktext>savings</linktext>
                </topicmeta>
            </keydef>
            <keydef keys="creatingAccount" format="png" href="creatingSavingAccount.png">
                <topicmeta>
                    <linktext>Screen capture of the user interface window shown when creating a savings account</linktext>
                </topicmeta>
            </keydef>
            <topicref href="creatingAccount.dita"/>
        </topicgroup>


I hope that this helps. I'd suggest that getting some formal DITA training might be of benefit.

Best,
Kris

Kristen James Eberlein
Chair, OASIS DITA Technical Committee
OASIS Distinguished Contributor
Principal consultant, Eberlein Consulting LLC
www.eberleinconsulting.com
+1 919 622-1501; kriseberlein (skype)


On 12/27/2020 5:26 PM, Aaron Mehl via groups.io wrote:
Hi all, 
I am new to the group, and Dita.
I am documenting KMyMoney and have two similar tasks.
One is creating a checking account and the other is creating a savings account.
The text is nearly the same. I need to make the words checking and savings conditional.
I need a way to also make the screen captures conditional.
That said, and I hope done, I need to know how to generate the two task when publishing/transforming the xml to xhtml and pdf.

I have seen docs provided by my editor (Oxygen) and some videos, but I still can't seem to make heads or tails out of profiling.
This is a draft the Dita task file.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE task PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd">
<task id="creatingacheckingaccount">
    <title>Creating a <keyword>Checking</keyword> Account</title>
    <shortdesc>A <keyword>Checking</keyword> account in KMyMoney contains the same information as the same account in
        your bank. </shortdesc>
    <taskbody>
        <context>You just created an institution.<p>To create a <keyword>checking</keyword> account in the
                instituion:</p></context>
        <steps>
            <step>
                <cmd>Choose <uicontrol>Accounts</uicontrol> in the <uicontrol>View
                        Selector</uicontrol>pane</cmd>
                <stepresult>The institution you created is listed in the <uicontrol>Account
                        View</uicontrol>pane.</stepresult>
            </step>
            <step>
                <cmd>Click on the <uicontrol>New Account</uicontrol>icon on the
                        <uicontrol>toolbar</uicontrol>.</cmd>
                <stepresult>The <uicontrol>New Account </uicontrol>wizard appears.</stepresult>
            </step>
            <step>
                <cmd>Choose your instituiton from the dropdown list.</cmd>
            </step>
            <step>
                <cmd>Enter your account number.</cmd>
            </step>
            <step>
                <cmd>Click <uicontrol>Next</uicontrol>.</cmd>
                <stepresult>The Account window appears.</stepresult>
            </step>
        </steps>
    </taskbody>
</task>


Thanks
Aaron


Re: AntTask: Error Rendering Fo File Error when Generating PDF for Bookmap #bookmap #PDF #DITA-OT

Radu Coravu
 

Hi,

I see that the XSL-FO file contains an fo:inline element inside an fo:block-container element:

<fo:block-container text-align="center">...<fo:inline border-left-width="0pt" border-right-width="0pt">Tasks and what they can do</fo:inline>....</fo:block-container>

It's hard to tell what the problem is without seeing your custom plugin but maybe one of your XSLT customizations which overrides the book title generation outputs that inline element instead of wrapping it in an fo:block element.


Regards,

Radu

Radu Coravu
Oxygen XML Editor
On 1/1/21 14:29, bvigneshwaran21@... wrote:
Dear All,

  • I have created a plugin by referring to the book (Dita for Print v1.8). I had installed Dita v2.0 Full and Easy Install Version.
  • I did not face any issues in customizing the plugin and generating PDF for normal maps.
  • However, when I try generating output for bookmap, I get an error "AntTask: Error Rendering Fo File, fo:inline is not a valid child of fo:block container." All my attempts to find the cause of the error have been futile.
Infact when I tried generating pdf for bookmap using the default pdf plugin (org.dita.pdf2) the PDF is generated. But only in the case of the customized plugin this issue occurs.
Could anyone please help me understand my mistake. Please help me. I am unable to proceed further with my learning because of this. I have attached two files:
  1. Error message screenshot
  2. Topic.fo file
If any further information is required, please let me know. 

  


AntTask: Error Rendering Fo File Error when Generating PDF for Bookmap #bookmap #PDF #DITA-OT

bvigneshwaran21@...
 

Dear All,

  • I have created a plugin by referring to the book (Dita for Print v1.8). I had installed Dita v2.0 Full and Easy Install Version.
  • I did not face any issues in customizing the plugin and generating PDF for normal maps.
  • However, when I try generating output for bookmap, I get an error "AntTask: Error Rendering Fo File, fo:inline is not a valid child of fo:block container." All my attempts to find the cause of the error have been futile.
Infact when I tried generating pdf for bookmap using the default pdf plugin (org.dita.pdf2) the PDF is generated. But only in the case of the customized plugin this issue occurs.
Could anyone please help me understand my mistake. Please help me. I am unable to proceed further with my learning because of this. I have attached two files:
  1. Error message screenshot
  2. Topic.fo file
If any further information is required, please let me know. 

301 - 320 of 46224