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

Join main@dita-users.groups.io to automatically receive all group messages.