Date   

Job opportunity

Dan Vint
 

Ping Identity is looking for a content tools dev ops person. You will be one of two people supporting:
- DITA publishing process using Ixiasoft CCMS with oXygen and Zoomin delivery.
- We have an API pipeline as well that is hosted on a different site and uses Postman to manage the content
- We use Coveo search engine as the enterprise search engine that ties all of our content together
- We are part of the Customer Care organization which also includes support and training. As such we work with Salesforce engineers the KBs

The specific position that is open will focus on the Coveo search function. There is a general admin console used to manage the pipelines as well as analytics. This role will be responsible to monitoring the analytics and tweaking the search process (synonyms, machine learning, promoting content).

This position will also backstop me with handing issues with the Ixiasoft/Zoomin process as well as the API content.

You will be:
- the Coveo Guru and involved at the enterprise level as different groups adopt and modify their use of Coveo
- Troubleshoot and research problems. Primary responsibility will be around Coveo issues, but you will need to get into the DITA content to help with publishing and content problems.
- You will be the helpdesk for Coveo but also support the writers with the other applications as needed.

We support a team of technical writers and editors that are located in Canada, USA, Israel and India.

The applicant must be able to get into one of these offices once things open up again. Currently the company is not expecting that to happen until summer '21. Offices are:
- Denver CO (headquarters, most of the writers are here as well as the manager)
- Austin TX (couple of writers here)
- Vancouver Canada (couple of writers here)
- Boston MA (no writers)

If you have any questions contact me at danvint@...

You can apply here https://www.pingidentity.com/en/company/careers/listings.html and you can use my name as the contact/reference (Dan Vint).


Re: Convert SVG-to-PNG in the publishing stage?

glenn emerson
 

One thing to watch with SVGs, if you notice the publication process slowing down, is font substitution on PDF transforms. When you create a PDF, to maintain the exact presentation and layout, the PDF wants to have the fonts used embedded within. 

To embed a font in a PDF is essentially copying software. The font must be licensed. Each font installed on a computer has a licensing bit indicating whether it is licensed for embedding or not. 

When the PDF generator tries to convert the XSL-FO (or whatever intermediate format you are using) to PDF, it checks the fonts. If the font is not licensed for embedding, it substitutes the font for one that is licensed on that computer. With SVGs this can cause significant delays, especially if individual characters (such as callouts) are inserted.

By default in Windows, the only fonts licensed for embedding are Arial, Times New Roman, Courier, and I think Calibri. If you wish to use other fonts, you must license them (Microsoft and other “type foundries” have online portals where you can license their fonts).

To further Some SVG editors, such as Adobe Illustrator, like to include font names in the SVG. Illustrator used to default to Adobe Type I Postscript names, instead of TrueType names (now OpenType) for instance, in Windows. So, what you get when you insert Arial in an SVG on Illustrator was a call for the Arial Postscript font, instead of a reference to arial.ttf (the TrueType version on Windows). 

Solution:
Either license the font(s) that are included in the SVGs, OR configure the SVG creation tools to default to certain fonts that are licensed, such as arial.ttf. (You can check in your PDF/Ant House/RenderX server’s font folder to see which are licensed. 

I have seen this with RenderX XEP cut publishing time from hours to minutes on the same document. 


On Sep 30, 2020, at 9:06 AM, Yves Barbion <yves.barbion@...> wrote:

Hi group

SVGs from engineering drawings can be quite heavy in terms of file size and they tend to slow down the publication process dramatically. Therefore, I was wondering whether there are some good conversion tools around which can convert the SVGs to PNG when the DITA content is published to HTML and PDF, using the DITA-OT?

We want to keep using SVG in the DITA source files for the obvious reasons: editable vectors, editable and translatable text...

Kind regards

Yves

______________________________
Glenn Emerson
585-732-6984






Convert SVG-to-PNG in the publishing stage?

Yves Barbion
 

Hi group

SVGs from engineering drawings can be quite heavy in terms of file size and they tend to slow down the publication process dramatically. Therefore, I was wondering whether there are some good conversion tools around which can convert the SVGs to PNG when the DITA content is published to HTML and PDF, using the DITA-OT?

We want to keep using SVG in the DITA source files for the obvious reasons: editable vectors, editable and translatable text...

Kind regards

Yves


Re: Unable to locate AXF, set property axf.path or axf.cmd

Toshihiko Makita
 

Hi Nick,
If you are using PDF2 transform, don't you forget setting pdf.formatter property?

dita-ot-3.5/plugins/org.dita.pdf2/build.xml

    <!-- configure FO engines -->
    <!-- default is FOP.  Can be changed here, or with pdf.formatter property. -->
    <property name="pdf.formatter" value="fop"/>

This property should be set as pdf.formatter="ah", if you want to invoke AH Formatter in PDF2.

Regards,

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


Re: Unable to locate AXF, set property axf.path or axf.cmd

Bill Burns
 

I've always found it helpful to add AntennaHouse to my environmental variables. Same with the OT, whatever JDK or JVM I need, and any other utilities like Ant that I'm using regularly.

  --
Bill Burns
512-646-2100
--
We are [A] 



On Mon, Sep 28, 2020 at 9:22 AM Westley W. <wamsley@...> wrote:

This issue with Antenna House has plagued us as well.  Setting the local.properties seemed to resolve the issue for myself but has been hit or miss with our other users. 

Looking at what you have, I would try using double backward slashes as that is how ours are set. Like so.

axf.path=\\AH\\AHFormatterV66_64
axf.cmd=\\AH\\AHFormatterV66_64\\bin\\AHFCmd




Re: Unable to locate AXF, set property axf.path or axf.cmd

Westley W.
 

This issue with Antenna House has plagued us as well.  Setting the local.properties seemed to resolve the issue for myself but has been hit or miss with our other users. 

Looking at what you have, I would try using double backward slashes as that is how ours are set. Like so.

axf.path=\\AH\\AHFormatterV66_64
axf.cmd=\\AH\\AHFormatterV66_64\\bin\\AHFCmd


CHM Index customization

dawn.stevens@...
 

We need to customize the HHK file of a CHM output so that the file names are determined by the contents of <resourceid> rather than just using the file name. If no <resourceid> exists, the html file saves according to the name of the DITA file, but if a <resourceid> exists it specifies the required name of the file. This was necessary due to a migration of content from another system; the software is looking for a specific file name that was generated out of the old system, but we don't want to keep the non-human readable file names in the new system. So existing topics use the <resourceid> to specify the old file name to use when outputting to the CHM used for context sensitive help. We successfully have all links and the ToC working correctly, but are unable to figure out how to write the correct file names to the HHK file for the index.


Unable to locate AXF, set property axf.path or axf.cmd

Nicholas Mucks
 

Hello!
We have a docker image with OT3.5. The PDF output works fine in FOP but if we use AH in the image, then we get a "Unable to locate AXF, set property axf.path or axf.cmd" error. AH is installed on the image but I'm not sure how to set up the rest.

Do we add a local.properties file to the root of the OT? If so, a local.properties file like this doesn't seem to work:
axf.path=/AH/AHFormatterV66_64
axf.cmd=/AH/AHFormatterV66_64/bin/AHFCmd

I tried to set these values in the PDF plugin as well, but that didn't work either.

   <property name="axf.cmd" location="/AH/AHFormatterV*/run.sh"/>

    <property name="axf.path" location="/AH/AHFormatterV*/"/>

    

Any ideas?

Thanks!
Nick


[ANN] Release of XMLmind XML Editor v9.4.1

Hussein Shafie
 

Release of XMLmind XML Editor v9.4.1. Highlights:

- Any configuration (DITA, DocBook, XHTML, etc): added a handy "Change case" toolbar button to the "Convert Text" frame.

- Added a "Highlight all" option to the "Search" tool.

- New "JSON document format" add-on, installed by default. This add-on lets you use XMLmind XML Editor to edit a JSON file as if it were an XML file.

- Upgraded the XMLmind XSL-FO Converter (XFC for short) plug-in to version 6.3.

- Upgraded the "Word To XML" add-on to XMLmind Word To XML version 1.8.2 which may be used to convert DOCX to DocBook 5.1 assembly.

More information in https://www.xmlmind.com/xmleditor/changes.html

------------------------------------------------------------------------------
What is XMLmind XML Editor?

Home page: https://www.xmlmind.com/xmleditor/

Personal Edition is free to use by many persons and organizations. Download:

https://www.xmlmind.com/xmleditor/download.shtml
------------------------------------------------------------------------------


[ann][webinar] Improving the Oxygen Authoring Experience Through Custom Actions #Oxygen

alin_belu@...
 

Hello, 
 
A brand-new series of webinars is about to begin! Every Wednesday, Oxygen XML will host weekly live events where you can learn great insights from some of the most experienced people in the Tech Comm industry. 
 
The series will start next week, on September 30, 2020, with a webinar presented by Alex Jitianu, development lead and product evangelist at Syncro Soft / Oxygen XML Editor, titled “Improving the Oxygen Authoring Experience Through Custom Actions”. 
Most custom actions are very easy to create, as they are based on nothing more than a configuration file and ready-to-use built-in operations. Throughout this webinar, you will get familiar with custom actions, learn how to create your own, and you will see various use cases where they can be used. 
 
In the end, you will know how to: 
* Create actions that make use of XLST, XQuery, or JavaScript to perform changes on a document. 
* Embed author actions directly within a document. This allows you to present only the relevant actions in a specific context, thus improving the authoring experience for users and increase productivity. 
* Store the actions to external files so that they can be easily reused for other document types. 
 
This is a free event and you can register at http://www.oxygenxml.com/evs2020-10.html 
 
Check the full list of the upcoming webinars and follow the links to see more details and register for free: 
 
Best regards, 
Alin

--
Alin Belu
Oxygen XML Editor


[ann][webinar] Docs as Code: Documentation Management Inspired by Software Development #Oxygen

alin_belu@...
 

Hello, 
 
Tomorrow (September 16), we are inviting you to join Alex Jitianu, lead developer at Syncro Soft, for an amazing free live webinar focused on showing you how the tools and techniques used in software development can also be applied for documentation management, such as: 
 
  • Storage and issue management using GitHub 
  • Automated quality checks and continuous publishing using Netlify 
  • Editing and collaboration support 
  • Release strategies  
 
During this webinar, Alex will analyze a working Docs as Code setup that will be freely available on GitHub afterward so attendees will be able to fork it, work with it, gain a deeper understanding and apply these concepts into their documentation projects. Although any text-based document format works, for this webinar, a mixed DITA and Markdown project will be used in the demo setup. 
 
This is a free event and you can register at http://www.oxygenxml.com/evs2020-9.html
 
Stay tuned for our upcoming weekly series of live webinars!

Best regards,
Alin

--
Alin Belu
Oxygen XML Editor


[ann][webinar] Relevance + #Accessibility = Value with Rebekka Andersen #Room42 Sept 16th @ 15:30 UTC

Liz Fraley
 

Title: Relevance + #Accessibility = Value

When: Wednesday, Sept 16th @ (8:30 LAX | 11:30 NYC | 16:30 LON | 20:00 BLR)

Register: 
http://bit.ly/room42-2020-andersen

Description:

Rebekka Andersen will be In The Room!

Room 42 is where practitioners and academics meet to share knowledge about breaking research. In this episode, Rebekka Andersen, University of California Davis explains how practitioners can extract value from academic research and increase the relevance of research in their own professional work.

Learn how academics can increase the value, relevance, and accessibility of their research for non-academic readers. And, find out how practitioners can get more benefit from academic research.

Rebekka Andersen has a Ph.D. in Professional Writing and is an Associate Professor in the University Writing Program at the University of California, Davis. She teaches courses in professional and technical communication and serves as the Associate Director for Professional Writing. Her research focuses on implications of content management practices for education and research in technical communication, as well as on strategies for building stronger connections between academia and industry. She serves on the Advisory Council for the Center for Information-Development Management, is a member of the editorial or reviewer boards of several journals in the field of professional and technical communication, and is the Associate Editor for case studies for IEEE Transactions on Professional Communication.


-:-

The Room 42 is brought to you by Single-Sourcing Solutions. Learn more: http://room42.single-sourcing.com


Register: 
http://bit.ly/room42-2020-andersen


Re: Strings and Variables - which are used where? #DITA-OT #PDF #HTML

vicmortelmans@...
 

Note to self: custom texts can have parametrized parts, e.g.:

<variable id="Body odd footer"><param ref-name="documentnumber"/>&#xA0;<param ref-name="buildlanguage"/>&#xA0;<param ref-name="builddate"/></variable>

You fill them in when calling "getVariable" by providing "params", like this:

                <xsl:call-template name="getVariable">
                    <xsl:with-param name="id" select="'Body odd footer'"/>
                    <xsl:with-param name="params">
                      <documentnumber>
                        <fo:inline>documentnumber
                          <xsl:value-of select="//*[contains(@class, ' topic/othermeta ') and @name='documentnumber']/@content"/>
                        </fo:inline>
                      </documentnumber>
                      <buildlanguage>
                        <fo:inline>buildlanguage
                          <xsl:value-of select="$buildParameterLanguage"/>
                        </fo:inline>
                      </buildlanguage>
                      <builddate>builddate
                        <fo:inline>
                          <xsl:value-of select="document($revisedDate)/reviseddate/@modified"/>
                        </fo:inline>
                      </builddate>
                    </xsl:with-param>
                </xsl:call-template>

This does however NOT work, when the custom text is defined as a <str> element, e.g.:

    <str name="Body even footer"><param ref-name="documentnumber"/>&#xA0;<param ref-name="buildlanguage"/>&#xA0;<param ref-name="builddate"/></str>

Here the parametrized fields will be left out, whatever you provide as "params" when calling "getVariable".

I've found no documentation on this so far. Maybe someone more knowledgeable can confirm that these assumptions (based on experience) are true?

Best regards,
Vic


Table ronde "DITA Molière" - groupe francophone

nkerzreho
 

Bonjour,

Je souhaite présenter une initiative francophone autour de DITA, notamment autour des bonnes pratiques, mais pas seulement !
Pour mieux piloter les activités du groupe, nous aimerions connaître *vos* attentes par rapport au l'initiative DITA Molière.
Faites-nous part de vos envies via l'enquête https://lnkd.in/e2FBG5h.

Si vous êtes utilisateur·trice francophone de DITA, nous vous invitons à participer à notre table ronde, pour rencontrer vos pairs et choisir nos premières initiatives.
La francophonie DITA est importante, DITA Molière peut faciliter la collaboration et accroître notre visibilité auprès de la communauté mondiale.
Inscrivez-vous ici à la table ronde 👉 https://bit.ly/2F1gBBz. fixée au 23 septembre à 13h30 CET.


Vous pouvez également nous rejoindre sur le groupe LinkedIN https://www.linkedin.com/groups/12447149/

A très bientôt,
- Nolwenn

 
 


DITA Molière

Lionel Moizeau
 

Bonjour DITA user!

We are looking to rally all french speaking DITA users around a group called DITA Molière.

To launch this new community we are hosting a round-table event at ConVEX September 23rd: https://bit.ly/2F1gBBz.

To prepare the event we are collecting feedback with this survey https://forms.gle/V68z2jJheDD9nDTF9.

Rejoignez-nous sur LinkedIn: https://www.linkedin.com/groups/12447149/ !
Lionel Moizeau


Declarative Amsterdam conference

 

Declarative Amsterdam 2020 will be happening on Thursday/Friday October 8 and 9 2020.


  • Thursday is a tutorial day, where three hands-on tutorials will be offered. It is a “bring your own device” event and you may be expected to have pre-loaded some materials before attending.

  • Friday is the symposium.


There have been many great submissions, with presentations and tutorials by the following:

Adam Retter, Alan Guedes, Charaf Eddine Cheraa, Eduard Drenth, Hans-Jürgen Rennau, Liam Quin, Nico Verwer, Pieter Masereeuw, Steven Pemberton, and Tom Hillman


Full program: https://declarative.amsterdam/list?model=da-program 


The conference is still being planned as a real face-to-face conference, at the Science Park in Amsterdam. However, recognizing the problems with quarantine and international travel, there will also be a live-streamed option for attendance. Please pre-register here: https://declarative.amsterdam/submit?model=da-mailinglist

 


Re: ditavalref ditaval file not recognized and excluded during processing

Radu Coravu
 

Hi Eric,

There is an issue reported here about filtering not working on some branches when using keyrefs:

https://github.com/dita-ot/dita-ot/issues/3551

It may be related to what you are experiencing.

Regards,
Radu
Radu Coravu
Oxygen XML Editor
On 9/10/20 4:20 PM, Eric Sirois wrote:

So the main issue was that there was a key defined for the ditaval, but it didn’t have @format set on the keyref so the OT was interpreting it as a DITA topic, this the errors regarding the missing class attributes.

So I removed all the keydef, keyref and replaced everything with href.  The issue now is that the filtering only works for 2 of the 3 branches. I’m going to look at it a bit more this afternoon.  I was able to replicate the issue with 3.4.1 and 3.5.1.

Eric


Sent from Rogers Yahoo Mail for iPhone

On Wednesday, September 9, 2020, 5:58 PM, Dan Vint <dvint@...> wrote:

Hmm, didn't get any guidance from editor on that one. I switched all of those to hers and got the same results and same messages.



Sent from my Verizon, Samsung Galaxy smartphone


-------- Original message --------
Date: 9/9/20 2:28 PM (GMT-08:00)
Subject: Re: [dita-users] ditavalref ditaval file not recognized and excluded during processing

You should not be able to use key references on ditavalref--the DTD for your map should not allow @keyref on <ditavalref>, so the fact that you have it there suggests something is not right with the DTD (or else the document is not actually valid).

From the DITA 1.3 spec:

2.4.4.5 Branch filtering: Implications of processing order

Because the branch filtering process can result in new or renamed keys, key scopes, or URIs, the full effects of
the branch filtering process MUST be calculated by processors before they construct the effective map and key
scope structure.

Note: The @keyref attribute and related attributes are explicitly disallowed on <ditavalref>. This prevents
any confusion resulting from a @keyref that resolves to additional key- or resource-renaming metadata.

So your map structure is not correct per the spec--you'll need to make direct URI references to your ditaval files.

Cheers,

E.
--
Eliot Kimber
http://contrext.com


On 9/9/20, 4:13 PM, "Dan Vint" <main@dita-users.groups.io on behalf of dvint@...> wrote:

    I'm not sure what is going on. I'm trying to setup a map that will have
    different sections that have the same content but will be filtered with
    with ditvals for different results. My main map references several other
    maps for those sections and each section/submap uses a different
    ditaval.

    The setup and content of these objects are correct and validate. But
    when I run them through the DITA-OT version = 3.4.1 OT, it looks like
    the dtaval files are not being recognized as ditaval files and they are
    being stripped out. End result is that my content is not being filtered.
    Here are the OT messages

    gen-list:
      [gen-list] Using Xerces grammar pool for DTD and schema caching.
      [gen-list] Processing
    file:/Users/danvint/Desktop/_multi-ditaval/_fkn1599574223928.ditamap
      [gen-list] Processing
    file:/Users/danvint/Desktop/_multi-ditaval/dyr1599584459162.ditaval
      [gen-list] [DOTJ030I][INFO] No 'class' attribute for was found for
    element '<val>'. The element will be processed as an unknown or non-DITA
    element.
      [gen-list] [DOTJ030I][INFO] No 'class' attribute for was found for
    element '<prop>'. The element will be processed as an unknown or
    non-DITA element.
      [gen-list] [DOTJ030I][INFO] No 'class' attribute for was found for
    element '<prop>'. The element will be processed as an unknown or
    non-DITA element.
      [gen-list] [DOTJ030I][INFO] No 'class' attribute for was found for
    element '<prop>'. The element will be processed as an unknown or
    non-DITA element.
      [gen-list] [DOTJ030I][INFO] No 'class' attribute for was found for
    element '<prop>'. The element will be processed as an unknown or
    non-DITA element.
      [gen-list] [DOTJ030I][INFO] No 'class' attribute for was found for
    element '<prop>'. The element will be processed as an unknown or
    non-DITA element.
      [gen-list] [DOTJ021E][ERROR] File
    'file:/Users/danvint/Desktop/_multi-ditaval/dyr1599584459162.ditaval'
    will not generate output because because all content has been filtered
    out by DITAVAL "exclude" conditions, or because the file is not valid
    DITA.

    That ditaval file looks like this

    <?xml version="1.0" encoding="UTF-8"?>
    <val>
    <prop action="include"/>
    <prop action="include" att="platform"/>
    <prop action="include" att="audience"/>
    <prop action="include" att="rev"/>
    <prop action="include" att="otherprops"/>
    <prop action="include" att="deliveryTarget"/>
    <prop action="include" att="product"/>
    <prop action="exclude" att="product" val="prod_b"/>
    <prop action="include" att="product" val="prod_a"/>
    </val>


    My root map has this

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE map PUBLIC "-//PINGIDENTITY//DTD DITA Map//EN"
    "PingIdentityMap.dtd">
    <map id="fkn1599574223928" xml:lang="en-us">
    <title>FORMAT: multiditaval - ditavalref testing</title>
    <topicmeta> </topicmeta>


    <keydef href="dyr1599584459162.ditaval" keys="dyr1599584459162"
    xtrc="ixiasoft.drm.remove"/>
    <keydef href="msz1599584786347.ditaval" keys="msz1599584786347"
    xtrc="ixiasoft.drm.remove"/>
    <keydef href="kgo1599578351118.ditamap" keys="kgo1599578351118"
    xtrc="ixiasoft.drm.remove"/>
    <keydef href="vva1599578551353.dita" keys="vva1599578551353"
    xtrc="ixiasoft.drm.remove"/>
    <keydef href="sfq1599578470970.dita" keys="sfq1599578470970"
    xtrc="ixiasoft.drm.remove"/>
    <keydef href="wkc1599578503581.dita" keys="wkc1599578503581"
    xtrc="ixiasoft.drm.remove"/>
    <keydef href="cjq1599588363521.ditamap" keys="cjq1599588363521"
    xtrc="ixiasoft.drm.remove"/>
    <keydef href="tur1599578307311.ditamap" keys="tur1599578307311"
    xtrc="ixiasoft.drm.remove"/>
    <keydef href="vln1599578426163.dita" keys="vln1599578426163"
    xtrc="ixiasoft.drm.remove"/>
    <keydef href="fjg1599584933747.ditaval" keys="fjg1599584933747"
    xtrc="ixiasoft.drm.remove"/>
    <keydef href="liz1599578247043.ditamap" keys="liz1599578247043"
    xtrc="ixiasoft.drm.remove"/>
    <topichead navtitle="All content no filters">
    <mapref format="ditamap" keyref="cjq1599588363521"/>
    </topichead>

    <topichead navtitle="Common Content only - Exclude A and B ">
    <mapref format="ditamap" keyref="liz1599578247043"/>
    </topichead>

    <topichead navtitle="Product A - Exclude B">
    <mapref format="ditamap" keyref="tur1599578307311"/>
    </topichead>
    <topichead navtitle="Product B - Exclude A">
    <mapref format="ditamap" keyref="kgo1599578351118"/>
    </topichead>


    </map>

    The map using that particular ditaval is structured this way

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE map PUBLIC "-//PINGIDENTITY//DTD DITA Map//EN"
    "PingIdentityMap.dtd">
    <map id="tur1599578307311" xml:lang="en-us">
    <title>FORMAT: Product A content only</title>
    <topicmeta> </topicmeta>

    <ditavalref keyref="dyr1599584459162" processing-role="resource-only"/>
    <topicref keyref="vln1599578426163"/> <!-- topic with ditavals -->
    <topicref keyref="sfq1599578470970"/> <!-- topic product A -->
    <topicref keyref="wkc1599578503581"/> <!-- topic product B -->
    <topicref keyref="vva1599578551353"/> <!-- topic all -->

    </map>

    I've attached a zipfile of the complete fileset.

    I looked to see if there was any other setup required. I thought maybe a
    processing-role was required, but I see that ditavalref defaults to
    resource only.

    ..dan










  


Re: ditavalref ditaval file not recognized and excluded during processing

Eric Sirois
 

So the main issue was that there was a key defined for the ditaval, but it didn’t have @format set on the keyref so the OT was interpreting it as a DITA topic, this the errors regarding the missing class attributes.

So I removed all the keydef, keyref and replaced everything with href.  The issue now is that the filtering only works for 2 of the 3 branches. I’m going to look at it a bit more this afternoon.  I was able to replicate the issue with 3.4.1 and 3.5.1.

On Wednesday, September 9, 2020, 5:58 PM, Dan Vint <dvint@...> wrote:

Hmm, didn't get any guidance from editor on that one. I switched all of those to hers and got the same results and same messages.



Sent from my Verizon, Samsung Galaxy smartphone


-------- Original message --------
From: ekimber@...
Date: 9/9/20 2:28 PM (GMT-08:00)
To: main@dita-users.groups.io, dita-users@groups.io
Subject: Re: [dita-users] ditavalref ditaval file not recognized and excluded during processing

You should not be able to use key references on ditavalref--the DTD for your map should not allow @keyref on <ditavalref>, so the fact that you have it there suggests something is not right with the DTD (or else the document is not actually valid).

From the DITA 1.3 spec:

2.4.4.5 Branch filtering: Implications of processing order

Because the branch filtering process can result in new or renamed keys, key scopes, or URIs, the full effects of
the branch filtering process MUST be calculated by processors before they construct the effective map and key
scope structure.

Note: The @keyref attribute and related attributes are explicitly disallowed on <ditavalref>. This prevents
any confusion resulting from a @keyref that resolves to additional key- or resource-renaming metadata.

So your map structure is not correct per the spec--you'll need to make direct URI references to your ditaval files.

Cheers,

E.
--
Eliot Kimber
http://contrext.com


On 9/9/20, 4:13 PM, "Dan Vint" <main@dita-users.groups.io on behalf of dvint@...> wrote:

    I'm not sure what is going on. I'm trying to setup a map that will have
    different sections that have the same content but will be filtered with
    with ditvals for different results. My main map references several other
    maps for those sections and each section/submap uses a different
    ditaval.

    The setup and content of these objects are correct and validate. But
    when I run them through the DITA-OT version = 3.4.1 OT, it looks like
    the dtaval files are not being recognized as ditaval files and they are
    being stripped out. End result is that my content is not being filtered.
    Here are the OT messages

    gen-list:
      [gen-list] Using Xerces grammar pool for DTD and schema caching.
      [gen-list] Processing
    file:/Users/danvint/Desktop/_multi-ditaval/_fkn1599574223928.ditamap
      [gen-list] Processing
    file:/Users/danvint/Desktop/_multi-ditaval/dyr1599584459162.ditaval
      [gen-list] [DOTJ030I][INFO] No 'class' attribute for was found for
    element '<val>'. The element will be processed as an unknown or non-DITA
    element.
      [gen-list] [DOTJ030I][INFO] No 'class' attribute for was found for
    element '<prop>'. The element will be processed as an unknown or
    non-DITA element.
      [gen-list] [DOTJ030I][INFO] No 'class' attribute for was found for
    element '<prop>'. The element will be processed as an unknown or
    non-DITA element.
      [gen-list] [DOTJ030I][INFO] No 'class' attribute for was found for
    element '<prop>'. The element will be processed as an unknown or
    non-DITA element.
      [gen-list] [DOTJ030I][INFO] No 'class' attribute for was found for
    element '<prop>'. The element will be processed as an unknown or
    non-DITA element.
      [gen-list] [DOTJ030I][INFO] No 'class' attribute for was found for
    element '<prop>'. The element will be processed as an unknown or
    non-DITA element.
      [gen-list] [DOTJ021E][ERROR] File
    'file:/Users/danvint/Desktop/_multi-ditaval/dyr1599584459162.ditaval'
    will not generate output because because all content has been filtered
    out by DITAVAL "exclude" conditions, or because the file is not valid
    DITA.

    That ditaval file looks like this

    <?xml version="1.0" encoding="UTF-8"?>
    <val>
    <prop action="include"/>
    <prop action="include" att="platform"/>
    <prop action="include" att="audience"/>
    <prop action="include" att="rev"/>
    <prop action="include" att="otherprops"/>
    <prop action="include" att="deliveryTarget"/>
    <prop action="include" att="product"/>
    <prop action="exclude" att="product" val="prod_b"/>
    <prop action="include" att="product" val="prod_a"/>
    </val>


    My root map has this

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE map PUBLIC "-//PINGIDENTITY//DTD DITA Map//EN"
    "PingIdentityMap.dtd">
    <map id="fkn1599574223928" xml:lang="en-us">
    <title>FORMAT: multiditaval - ditavalref testing</title>
    <topicmeta> </topicmeta>


    <keydef href="dyr1599584459162.ditaval" keys="dyr1599584459162"
    xtrc="ixiasoft.drm.remove"/>
    <keydef href="msz1599584786347.ditaval" keys="msz1599584786347"
    xtrc="ixiasoft.drm.remove"/>
    <keydef href="kgo1599578351118.ditamap" keys="kgo1599578351118"
    xtrc="ixiasoft.drm.remove"/>
    <keydef href="vva1599578551353.dita" keys="vva1599578551353"
    xtrc="ixiasoft.drm.remove"/>
    <keydef href="sfq1599578470970.dita" keys="sfq1599578470970"
    xtrc="ixiasoft.drm.remove"/>
    <keydef href="wkc1599578503581.dita" keys="wkc1599578503581"
    xtrc="ixiasoft.drm.remove"/>
    <keydef href="cjq1599588363521.ditamap" keys="cjq1599588363521"
    xtrc="ixiasoft.drm.remove"/>
    <keydef href="tur1599578307311.ditamap" keys="tur1599578307311"
    xtrc="ixiasoft.drm.remove"/>
    <keydef href="vln1599578426163.dita" keys="vln1599578426163"
    xtrc="ixiasoft.drm.remove"/>
    <keydef href="fjg1599584933747.ditaval" keys="fjg1599584933747"
    xtrc="ixiasoft.drm.remove"/>
    <keydef href="liz1599578247043.ditamap" keys="liz1599578247043"
    xtrc="ixiasoft.drm.remove"/>
    <topichead navtitle="All content no filters">
    <mapref format="ditamap" keyref="cjq1599588363521"/>
    </topichead>

    <topichead navtitle="Common Content only - Exclude A and B ">
    <mapref format="ditamap" keyref="liz1599578247043"/>
    </topichead>

    <topichead navtitle="Product A - Exclude B">
    <mapref format="ditamap" keyref="tur1599578307311"/>
    </topichead>
    <topichead navtitle="Product B - Exclude A">
    <mapref format="ditamap" keyref="kgo1599578351118"/>
    </topichead>


    </map>

    The map using that particular ditaval is structured this way

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE map PUBLIC "-//PINGIDENTITY//DTD DITA Map//EN"
    "PingIdentityMap.dtd">
    <map id="tur1599578307311" xml:lang="en-us">
    <title>FORMAT: Product A content only</title>
    <topicmeta> </topicmeta>

    <ditavalref keyref="dyr1599584459162" processing-role="resource-only"/>
    <topicref keyref="vln1599578426163"/> <!-- topic with ditavals -->
    <topicref keyref="sfq1599578470970"/> <!-- topic product A -->
    <topicref keyref="wkc1599578503581"/> <!-- topic product B -->
    <topicref keyref="vva1599578551353"/> <!-- topic all -->

    </map>

    I've attached a zipfile of the complete fileset.

    I looked to see if there was any other setup required. I thought maybe a
    processing-role was required, but I see that ditavalref defaults to
    resource only.

    ..dan









Re: ditavalref ditaval file not recognized and excluded during processing

Dan Vint
 

Hmm, didn't get any guidance from editor on that one. I switched all of those to hers and got the same results and same messages.



Sent from my Verizon, Samsung Galaxy smartphone


-------- Original message --------
From: ekimber@...
Date: 9/9/20 2:28 PM (GMT-08:00)
To: main@dita-users.groups.io, dita-users@groups.io
Subject: Re: [dita-users] ditavalref ditaval file not recognized and excluded during processing

You should not be able to use key references on ditavalref--the DTD for your map should not allow @keyref on <ditavalref>, so the fact that you have it there suggests something is not right with the DTD (or else the document is not actually valid).

From the DITA 1.3 spec:

2.4.4.5 Branch filtering: Implications of processing order

Because the branch filtering process can result in new or renamed keys, key scopes, or URIs, the full effects of
the branch filtering process MUST be calculated by processors before they construct the effective map and key
scope structure.

Note: The @keyref attribute and related attributes are explicitly disallowed on <ditavalref>. This prevents
any confusion resulting from a @keyref that resolves to additional key- or resource-renaming metadata.

So your map structure is not correct per the spec--you'll need to make direct URI references to your ditaval files.

Cheers,

E.
--
Eliot Kimber
http://contrext.com


On 9/9/20, 4:13 PM, "Dan Vint" <main@dita-users.groups.io on behalf of dvint@...> wrote:

    I'm not sure what is going on. I'm trying to setup a map that will have
    different sections that have the same content but will be filtered with
    with ditvals for different results. My main map references several other
    maps for those sections and each section/submap uses a different
    ditaval.

    The setup and content of these objects are correct and validate. But
    when I run them through the DITA-OT version = 3.4.1 OT, it looks like
    the dtaval files are not being recognized as ditaval files and they are
    being stripped out. End result is that my content is not being filtered.
    Here are the OT messages

    gen-list:
      [gen-list] Using Xerces grammar pool for DTD and schema caching.
      [gen-list] Processing
    file:/Users/danvint/Desktop/_multi-ditaval/_fkn1599574223928.ditamap
      [gen-list] Processing
    file:/Users/danvint/Desktop/_multi-ditaval/dyr1599584459162.ditaval
      [gen-list] [DOTJ030I][INFO] No 'class' attribute for was found for
    element '<val>'. The element will be processed as an unknown or non-DITA
    element.
      [gen-list] [DOTJ030I][INFO] No 'class' attribute for was found for
    element '<prop>'. The element will be processed as an unknown or
    non-DITA element.
      [gen-list] [DOTJ030I][INFO] No 'class' attribute for was found for
    element '<prop>'. The element will be processed as an unknown or
    non-DITA element.
      [gen-list] [DOTJ030I][INFO] No 'class' attribute for was found for
    element '<prop>'. The element will be processed as an unknown or
    non-DITA element.
      [gen-list] [DOTJ030I][INFO] No 'class' attribute for was found for
    element '<prop>'. The element will be processed as an unknown or
    non-DITA element.
      [gen-list] [DOTJ030I][INFO] No 'class' attribute for was found for
    element '<prop>'. The element will be processed as an unknown or
    non-DITA element.
      [gen-list] [DOTJ021E][ERROR] File
    'file:/Users/danvint/Desktop/_multi-ditaval/dyr1599584459162.ditaval'
    will not generate output because because all content has been filtered
    out by DITAVAL "exclude" conditions, or because the file is not valid
    DITA.

    That ditaval file looks like this

    <?xml version="1.0" encoding="UTF-8"?>
    <val>
    <prop action="include"/>
    <prop action="include" att="platform"/>
    <prop action="include" att="audience"/>
    <prop action="include" att="rev"/>
    <prop action="include" att="otherprops"/>
    <prop action="include" att="deliveryTarget"/>
    <prop action="include" att="product"/>
    <prop action="exclude" att="product" val="prod_b"/>
    <prop action="include" att="product" val="prod_a"/>
    </val>


    My root map has this

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE map PUBLIC "-//PINGIDENTITY//DTD DITA Map//EN"
    "PingIdentityMap.dtd">
    <map id="fkn1599574223928" xml:lang="en-us">
    <title>FORMAT: multiditaval - ditavalref testing</title>
    <topicmeta> </topicmeta>


    <keydef href="dyr1599584459162.ditaval" keys="dyr1599584459162"
    xtrc="ixiasoft.drm.remove"/>
    <keydef href="msz1599584786347.ditaval" keys="msz1599584786347"
    xtrc="ixiasoft.drm.remove"/>
    <keydef href="kgo1599578351118.ditamap" keys="kgo1599578351118"
    xtrc="ixiasoft.drm.remove"/>
    <keydef href="vva1599578551353.dita" keys="vva1599578551353"
    xtrc="ixiasoft.drm.remove"/>
    <keydef href="sfq1599578470970.dita" keys="sfq1599578470970"
    xtrc="ixiasoft.drm.remove"/>
    <keydef href="wkc1599578503581.dita" keys="wkc1599578503581"
    xtrc="ixiasoft.drm.remove"/>
    <keydef href="cjq1599588363521.ditamap" keys="cjq1599588363521"
    xtrc="ixiasoft.drm.remove"/>
    <keydef href="tur1599578307311.ditamap" keys="tur1599578307311"
    xtrc="ixiasoft.drm.remove"/>
    <keydef href="vln1599578426163.dita" keys="vln1599578426163"
    xtrc="ixiasoft.drm.remove"/>
    <keydef href="fjg1599584933747.ditaval" keys="fjg1599584933747"
    xtrc="ixiasoft.drm.remove"/>
    <keydef href="liz1599578247043.ditamap" keys="liz1599578247043"
    xtrc="ixiasoft.drm.remove"/>
    <topichead navtitle="All content no filters">
    <mapref format="ditamap" keyref="cjq1599588363521"/>
    </topichead>

    <topichead navtitle="Common Content only - Exclude A and B ">
    <mapref format="ditamap" keyref="liz1599578247043"/>
    </topichead>

    <topichead navtitle="Product A - Exclude B">
    <mapref format="ditamap" keyref="tur1599578307311"/>
    </topichead>
    <topichead navtitle="Product B - Exclude A">
    <mapref format="ditamap" keyref="kgo1599578351118"/>
    </topichead>


    </map>

    The map using that particular ditaval is structured this way

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE map PUBLIC "-//PINGIDENTITY//DTD DITA Map//EN"
    "PingIdentityMap.dtd">
    <map id="tur1599578307311" xml:lang="en-us">
    <title>FORMAT: Product A content only</title>
    <topicmeta> </topicmeta>

    <ditavalref keyref="dyr1599584459162" processing-role="resource-only"/>
    <topicref keyref="vln1599578426163"/> <!-- topic with ditavals -->
    <topicref keyref="sfq1599578470970"/> <!-- topic product A -->
    <topicref keyref="wkc1599578503581"/> <!-- topic product B -->
    <topicref keyref="vva1599578551353"/> <!-- topic all -->

    </map>

    I've attached a zipfile of the complete fileset.

    I looked to see if there was any other setup required. I thought maybe a
    processing-role was required, but I see that ditavalref defaults to
    resource only.

    ..dan









Re: ditavalref ditaval file not recognized and excluded during processing

Eric Sirois
 

Hi Dan,

Contact me offline and I can help you with this.  

@Eliot - Inside our cms everything is keyref except for keyref. When you run a job to process the content through our output generator we convert all this system keyref back to href as part of the export. 

On Wednesday, September 9, 2020, 5:28 PM, ekimber@... <ekimber@...> wrote:

You should not be able to use key references on ditavalref--the DTD for your map should not allow @keyref on <ditavalref>, so the fact that you have it there suggests something is not right with the DTD (or else the document is not actually valid).

From the DITA 1.3 spec:

2.4.4.5 Branch filtering: Implications of processing order

Because the branch filtering process can result in new or renamed keys, key scopes, or URIs, the full effects of
the branch filtering process MUST be calculated by processors before they construct the effective map and key
scope structure.

Note: The @keyref attribute and related attributes are explicitly disallowed on <ditavalref>. This prevents
any confusion resulting from a @keyref that resolves to additional key- or resource-renaming metadata.

So your map structure is not correct per the spec--you'll need to make direct URI references to your ditaval files.

Cheers,

E.
--
Eliot Kimber
http://contrext.com


On 9/9/20, 4:13 PM, "Dan Vint" <main@dita-users.groups.io on behalf of dvint@...> wrote:

    I'm not sure what is going on. I'm trying to setup a map that will have
    different sections that have the same content but will be filtered with
    with ditvals for different results. My main map references several other
    maps for those sections and each section/submap uses a different
    ditaval.

    The setup and content of these objects are correct and validate. But
    when I run them through the DITA-OT version = 3.4.1 OT, it looks like
    the dtaval files are not being recognized as ditaval files and they are
    being stripped out. End result is that my content is not being filtered.
    Here are the OT messages

    gen-list:
      [gen-list] Using Xerces grammar pool for DTD and schema caching.
      [gen-list] Processing
    file:/Users/danvint/Desktop/_multi-ditaval/_fkn1599574223928.ditamap
      [gen-list] Processing
    file:/Users/danvint/Desktop/_multi-ditaval/dyr1599584459162.ditaval
      [gen-list] [DOTJ030I][INFO] No 'class' attribute for was found for
    element '<val>'. The element will be processed as an unknown or non-DITA
    element.
      [gen-list] [DOTJ030I][INFO] No 'class' attribute for was found for
    element '<prop>'. The element will be processed as an unknown or
    non-DITA element.
      [gen-list] [DOTJ030I][INFO] No 'class' attribute for was found for
    element '<prop>'. The element will be processed as an unknown or
    non-DITA element.
      [gen-list] [DOTJ030I][INFO] No 'class' attribute for was found for
    element '<prop>'. The element will be processed as an unknown or
    non-DITA element.
      [gen-list] [DOTJ030I][INFO] No 'class' attribute for was found for
    element '<prop>'. The element will be processed as an unknown or
    non-DITA element.
      [gen-list] [DOTJ030I][INFO] No 'class' attribute for was found for
    element '<prop>'. The element will be processed as an unknown or
    non-DITA element.
      [gen-list] [DOTJ021E][ERROR] File
    'file:/Users/danvint/Desktop/_multi-ditaval/dyr1599584459162.ditaval'
    will not generate output because because all content has been filtered
    out by DITAVAL "exclude" conditions, or because the file is not valid
    DITA.

    That ditaval file looks like this

    <?xml version="1.0" encoding="UTF-8"?>
    <val>
        <prop action="include"/>
        <prop action="include" att="platform"/>
        <prop action="include" att="audience"/>
        <prop action="include" att="rev"/>
        <prop action="include" att="otherprops"/>
        <prop action="include" att="deliveryTarget"/>
        <prop action="include" att="product"/>
        <prop action="exclude" att="product" val="prod_b"/>
        <prop action="include" att="product" val="prod_a"/>
    </val>


    My root map has this

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE map PUBLIC "-//PINGIDENTITY//DTD DITA Map//EN"
    "PingIdentityMap.dtd">
    <map id="fkn1599574223928" xml:lang="en-us">
        <title>FORMAT: multiditaval - ditavalref testing</title>
        <topicmeta> </topicmeta>


        <keydef href="dyr1599584459162.ditaval" keys="dyr1599584459162"
    xtrc="ixiasoft.drm.remove"/>
        <keydef href="msz1599584786347.ditaval" keys="msz1599584786347"
    xtrc="ixiasoft.drm.remove"/>
        <keydef href="kgo1599578351118.ditamap" keys="kgo1599578351118"
    xtrc="ixiasoft.drm.remove"/>
        <keydef href="vva1599578551353.dita" keys="vva1599578551353"
    xtrc="ixiasoft.drm.remove"/>
        <keydef href="sfq1599578470970.dita" keys="sfq1599578470970"
    xtrc="ixiasoft.drm.remove"/>
        <keydef href="wkc1599578503581.dita" keys="wkc1599578503581"
    xtrc="ixiasoft.drm.remove"/>
        <keydef href="cjq1599588363521.ditamap" keys="cjq1599588363521"
    xtrc="ixiasoft.drm.remove"/>
        <keydef href="tur1599578307311.ditamap" keys="tur1599578307311"
    xtrc="ixiasoft.drm.remove"/>
        <keydef href="vln1599578426163.dita" keys="vln1599578426163"
    xtrc="ixiasoft.drm.remove"/>
        <keydef href="fjg1599584933747.ditaval" keys="fjg1599584933747"
    xtrc="ixiasoft.drm.remove"/>
        <keydef href="liz1599578247043.ditamap" keys="liz1599578247043"
    xtrc="ixiasoft.drm.remove"/>
        <topichead navtitle="All content no filters">
            <mapref format="ditamap" keyref="cjq1599588363521"/>
        </topichead>

        <topichead navtitle="Common Content only - Exclude A and B ">
            <mapref format="ditamap" keyref="liz1599578247043"/>
        </topichead>

        <topichead navtitle="Product A - Exclude B">
            <mapref format="ditamap" keyref="tur1599578307311"/>
        </topichead>
        <topichead navtitle="Product B - Exclude A">
            <mapref format="ditamap" keyref="kgo1599578351118"/>
        </topichead>


    </map>

    The map using that particular ditaval is structured this way

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE map PUBLIC "-//PINGIDENTITY//DTD DITA Map//EN"
    "PingIdentityMap.dtd">
    <map id="tur1599578307311" xml:lang="en-us">
        <title>FORMAT: Product A content only</title>
        <topicmeta> </topicmeta>

        <ditavalref keyref="dyr1599584459162" processing-role="resource-only"/>
        <topicref keyref="vln1599578426163"/> <!-- topic with ditavals -->
        <topicref keyref="sfq1599578470970"/> <!-- topic product A -->
        <topicref keyref="wkc1599578503581"/> <!-- topic product B -->
        <topicref keyref="vva1599578551353"/> <!-- topic all -->

    </map>

    I've attached a zipfile of the complete fileset.

    I looked to see if there was any other setup required. I thought maybe a
    processing-role was required, but I see that ditavalref defaults to
    resource only.

    ..dan