On 01/13/2017 04:23 PM, Schild Martin wrote:



In my DITA-file, I have a xref-element, which is linking to an external
file.

The value of the href-attribute: Beispiele/DEMO-STRINGSPLIT.FF

The value of the type-element: text/plain

Unlike what happens in HTML, the type attribute of an xref element does not specify the MIME type of the link target. Something like type="text/plain" is thus simply ignored. See http://docs.oasis-open.org/dita/dita/v1.3/errata01/os/complete/part2-tech-content/langRef/attributes/thetypeattribute.html

Instead please specify attribute format="txt". See http://docs.oasis-open.org/dita/dita/v1.3/errata01/os/complete/part2-tech-content/langRef/attributes/theformatattribute.html






In the generated WebHelp-file (html) the link looks like this: <a
class="xref" href="Beispiele/DEMO-STRINGSPLIT.FF"
target="_blank">Direktlink auf F-Script</a>

This link works, but on some machines I got an error (not found) because
the type is missing.



I think, the link should look like this: <a class="xref"
href="Beispiele/DEMO-STRINGSPLIT.FF" type="text/plain"
target="_blank">Direktlink auf F-Script</a>

If I edit the generated html-file in this way, the link works on all
machines. But I think, this is not a practicable solution ;-)



Which attributes have I to set, to got a link with the type="text/plain"?


For now, <xref format="txt"> is not converted to <a type="text/plain">. This is probably a bug that we'll fix in the next release of XMLmind DITA Converter.

If you want to fix this bug yourself, please modify

<xsl:template name="scopeAttribute">

found in:

<XXE_install_dir>/addon/config/dita/xsl/xhtml/xhtmlUtil.xsl

Replacing stock template:

---
  <xsl:template name="scopeAttribute">
    <!-- No need to lookup for @scope: the preprocessor has cascaded
         this attribute in the related-links section. -->
    <xsl:if test="@scope eq 'external' and $xhtmlVersion ne '1.1'">
      <xsl:attribute name="target">_blank</xsl:attribute>
    </xsl:if>
  </xsl:template>
---

by:

---
  <xsl:template name="scopeAttribute">
    <!-- No need to lookup for @scope: the preprocessor has cascaded
         this attribute in the related-links section. -->
    <xsl:if test="@scope eq 'external' and $xhtmlVersion ne '1.1'">
      <xsl:attribute name="target">_blank</xsl:attribute>
    </xsl:if>

    <xsl:if test="@format eq 'txt'">
      <xsl:attribute name="type">text/plain</xsl:attribute>
    </xsl:if>
  </xsl:template>
---

should be considered as being a quick and dirty fix. I've not tested this change but it should work OK.







--
XMLmind XML Editor Support List
xmleditor-support@xmlmind.com
http://www.xmlmind.com/mailman/listinfo/xmleditor-support

Reply via email to