profile problems
Aaron Mehl
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
|
|
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:
The content in the task topic has the following variations:
DITA mechanisms for handling content reuse DITA has multiple mechanisms for handling content reuse:
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:
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:
In a DITA map, create the following key definitions: <keydef keys="accountType"> <keydef keys="creatingAccount"
href="creatingCheckingAccount.png" format="png"> 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:
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"
--> 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:
|
|
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:
The content in the task topic has the following variations:
DITA mechanisms for handling content reuse DITA has multiple mechanisms for handling content reuse:
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:
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:
In a DITA map, create the following key definitions: <keydef keys="accountType"> <keydef keys="creatingAccount"
href="creatingCheckingAccount.png" format="png"> 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:
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"
--> 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
|
|
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: 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:
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:
|
|
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: 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: I hope this helps. Regards, Radu Radu Coravu Oxygen XML Editor On 1/1/21 18:02, Kristen James Eberlein
wrote:
|
|
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: 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: 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: 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:
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:
The content in the task topic has the following variations:
DITA mechanisms for handling content reuse DITA has multiple mechanisms for handling content reuse:
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:
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:
In a DITA map, create the following key definitions: <keydef keys="accountType"> <keydef keys="creatingAccount"
href="creatingCheckingAccount.png" format="png"> 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:
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" --> 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
|
|
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: 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: 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: 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:
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:
The content in the task topic has the following variations:
DITA mechanisms for handling content reuse DITA has multiple mechanisms for handling content reuse:
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:
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:
In a DITA map, create the following key definitions: <keydef keys="accountType"> <keydef keys="creatingAccount"
href="creatingCheckingAccount.png" format="png"> 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:
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" --> 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
|
|
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: 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: 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: 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:
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:
The content in the task topic has the following variations:
DITA mechanisms for handling content reuse DITA has multiple mechanisms for handling content reuse:
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:
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:
In a DITA map, create the following key definitions: <keydef keys="accountType"> <keydef keys="creatingAccount"
href="creatingCheckingAccount.png" format="png"> 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:
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" --> 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
|
|
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).
toggle quoted messageShow quoted text
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
|
|
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
|
|
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
|
|
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
|
|