How to Add Custom HTML Content in WebHelp Classic OutputEdit online
You can add custom HTML content in the WebHelp Classic output by inserting it in a well-formed XML file that will be referenced in the transformation. This content may include references to additional JavaScript, CSS, and other types of resources, or such resources can be inserted inline within the HTML content that is inserted in the XML file.
Using Oxygen XML Editor/Author
- Insert the HTML content in a well-formed XML file considering the following notes:
- Well-Formedness - If the file is not a Well-formed XML document (or fragments are not well-formed), the transformation will fail.
A common use case is if you want to include several
scriptorlinkelements. In this case, the XML fragment has multiple root elements and to make it well-formed, you can wrap it in anhtmlelement. This element tag will be filtered out and only its children will be copied to the output documents. Similarly, you can wrap your content inhead,body,html/head, orhtml/bodyelements. - Referencing Resources in the XML File - You can include references to local
resources (such as JavaScript or CSS files) by using the built-in
${oxygen-webhelp-output-dir}macro to specify their paths relative to the output directory:<html> <script type="text/javascript" src="${oxygen-webhelp-output-dir}/js/test.js"/> <link rel="stylesheet" type="text/css" href="${oxygen-webhelp-output-dir}/css/test.css" /> </html>
To copy the referenced resources to the output directory, follow the procedure in: How to Copy Additional Resources to Output Directory. - Inline JavaScript or CSS
Content:
JavaScript:
<script type="text/javascript"> /* Include JavaScript code here. */ function myFunction() { return true; } </script>
CSS:
<style> /* Include CSS style rules here. */ *{ color:red } </style>Note: If you have special characters (&,<, etc.) that breaks the well-formedness of the XML fragment, it is important to place this content inside an XML comment:<script type="text/javascript"> <!-- /* Include JavaScript code here. */ function myFunction() { return true; } --/> </script>
- Well-Formedness - If the file is not a Well-formed XML document (or fragments are not well-formed), the transformation will fail.
- Edit the WebHelp Classic transformation scenario.
- Go to the Parameters tab.
- Edit the value of the
webhelp.head.scriptparameter and set it to reference the URL of the XML file created in step 1. Your additional content will be included at the end of theheadelement of your output document.Note: If you want to include the content in thebodyelement, use thewebhelp.body.scriptparameter instead. - Click OK to save the changes and run the transformation scenario.
Using a Script Outside of Oxygen XML Editor/Author
- You must have a valid license for the Oxygen XML WebHelp Plugin (https://www.oxygenxml.com/buy_webhelp.html).
- The Oxygen XML WebHelp Plugin must be installed and integrated for the DITA Open Toolkit or a DocBook XSL Distribution.
- Insert the HTML content in a well-formed XML file considering the following notes:
- Well-Formedness - If the file is not a Well-formed XML document (or fragments are not well-formed), the transformation will fail.
A common use case is if you want to include several
scriptorlinkelements. In this case, the XML fragment has multiple root elements and to make it well-formed, you can wrap it in anhtmlelement. This element tag will be filtered out and only its children will be copied to the output documents. Similarly, you can wrap your content inhead,body,html/head, orhtml/bodyelements. - Referencing Resources in the XML File - You can include references to local
resources (such as JavaScript or CSS files) by using the built-in
${oxygen-webhelp-output-dir}macro to specify their paths relative to the output directory:<html> <script type="text/javascript" src="${oxygen-webhelp-output-dir}/js/test.js"/> <link rel="stylesheet" type="text/css" href="${oxygen-webhelp-output-dir}/css/test.css" /> </html>
To copy the referenced resources to the output directory, follow the procedure in: How to Copy Additional Resources to Output Directory. - Inline JavaScript or CSS
Content:
JavaScript:
<script type="text/javascript"> /* Include JavaScript code here. */ function myFunction() { return true; } </script>
CSS:
<style> /* Include CSS style rules here. */ *{ color:red } </style>Note: If you have special characters (&,<, etc.) that breaks the well-formedness of the XML fragment, it is important to place this content inside an XML comment:<script type="text/javascript"> <!-- /* Include JavaScript code here. */ function myFunction() { return true; } --/> </script>
- Well-Formedness - If the file is not a Well-formed XML document (or fragments are not well-formed), the transformation will fail.
- Use the
webhelp.head.scriptparameter in your transformation script and set its value to reference the URL of the XML file created in step 1. Your additional content will be included at the end of theheadelement of your output document.Note: If you want to include the content in thebodyelement, use thewebhelp.body.scriptparameter instead. - Execute the transformation script.
- Windows:
dita.bat -i c:\mySample.ditamap -f webhelp -Dwebhelp.head.script=c:\myFile.xml - Mac OS X/ Linux:
dita -i /mySample.ditamap -f webhelp -Dwebhelp.head.script=/myFile.xml