Copy link to clipboard
Copied
We converted from RH7 to RH10 earlier this year, and our application uses the XML files in whxdata to connect help buttons to topics. It seems that RH10 is not creating these XML files, which is breaking this functionality.
Some searching indicates that these files should be created when the primary WebHelp layout is being built. I can't find any settings anywhere that indicates whether or not they should be created.
Is this a consequence of the conversion, or does RH10 not create these files anymore?
Copy link to clipboard
Copied
Hi there
First off, it always helps to check the basics. Are you certain you are looking at the correct location?
Assuming you are, look at the properties for the single source layout. Specifically, the Navigation section on the left side and the "Optimize Speed for" option on the right side.
Click the image below for a larger and clearer view
As far as I'm aware, this is the specific setting that determines whether your navigational elements are broken into smaller chunks.
Lastly, I'm a bit confused. To my knowledge, only the navigational elements (TOC, Index, Glossary and Search) are affected and XML data created for these. I'm rather surprised to hear that your development team is somehow using the XML files created for these in order to establish context sensitive help.
Cheers... Rick
Copy link to clipboard
Copied
I'm not sure what practice established using the XML files, but I know that they could not connect the help topics if there was not an index entry for the topic.
I have checked all of these settings, and they do not change the output.
I should clarify, though, that there are files being generated, just not the ones that we would prefer. See the screenshot below.
Copy link to clipboard
Copied
Ahhh forgot about that. Yep, the dev team renamed them all from .XML to the .JS. Not sure why.
You might consider submitting a bug report as this affects you.
Cheers... Rick
Copy link to clipboard
Copied
Hi MAHorniak,
Yes, for better output experience RoboHelp is creating JS instead of XML. If you still need XML compatible with older RH version, we can provide you a script which can convert index JS file back to XML format. You can download the VBScript file from https://workspaces.acrobat.com/?d=kSpoteg40Fi*Z3*f0QNTxg
How to use:
Result: File named whidata0.xml will be created at <MyDocuments>\RoboHelp_xml.
The generated XML file is ready for your workflows
Thanks and Regards,
Mohd Sameer.
Adobe RH team
Copy link to clipboard
Copied
Since workspaces.acrobat.com is retiring soon, placing the (above) refered file here itself:
---------------------------------------------------------
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set wshshell = CreateObject("WScript.Shell")
Documents = wshShell.SpecialFolders("MyDocuments")
startWriting=false
sCurPath = Documents+"\RoboHelp_XML"
if not objFSO.folderexists(sCurPath) then
objFSO.CreateFolder(sCurPath)
end if
xmlfilePath=sCurPath+"\whidata0.xml"
bThrowUI=1
strMyXML=""
message="Provide full path of whidata0_xml.js file"+vbcr+"eg. C:\output\whidata0_xml.js"
title="Index JS to XML convertor"
if WScript.Arguments.count=1 then
jsFilePath= WScript.Arguments(0)
bThrowUI=0
end if
if bThrowUI=1 then
jsFilePath = InputBox(message, title, new_build,6000 ,5000)
end if
if jsFilePath="" then
msgbox "Action cancelled"
Wscript.quit
else
if not objFSO.fileexists(xmlfilePath) then
objFSO.CreateTextfile(xmlfilePath)
end if
if not objFSO.FileExists(jsFilePath) then
msgbox("Specified JS file could not be found")
Wscript.quit
end if
Set objFile = objFSO.OpenTextFile(jsFilePath, 1)
set writefile=objFSO.OpenTextFile(xmlfilePath,2)
Do Until objFile.AtEndOfStream
strCharacters = objFile.Read(1)
bSkip=false
if strcomp(strCharacters,"<")=0 then
startWriting=true
end if
if startWriting=true then
if strcomp(strCharacters,"\")=0 then
bSkip=true
end if
if strcomp(strCharacters,">")=0 and NOT bSkip then
strMyXML=strMyXML+strCharacters+vbcrlf
end if
if not strcomp(strCharacters,">")=0 and NOT bSkip then
'writefile.strCharacters
strMyXML=strMyXML+strCharacters
end if
end if
Loop
length=len(strMyXML)
writefile.Writeline Left(strMyXML,length-2)
writefile.close
if bThrowUI=1 then
msgbox "Required xml file successfully created at "+sCurPath
end if
end if
---------------------------------------------------------
~Amit Agarwal
Copy link to clipboard
Copied
Hi,
We have updated the script to recursively convert all RH10/11 js inside whxdata and resource folder in to XML format. The steps to use the script is as follows:
2) - Double click on the script.
3) - Provide path of whxdata folder of RH10/11 output. All the js files will be converted to XML and will be placed in My Document\RoboHelp_XML. Now copy all the XML thus created and place it inside whxdata folder of RH10/11 output. If any message to override file is thrown then select not to override. Also, Keep all original js files intact.
4) - Provide path of resource folder of RH10/11 output. Resource js will be converted to XML and will be placed in My Document\RoboHelp_XML. Copy this XML and place it inside resource folder of RH11 output. If any message to override file is thrown then select not to override. Keep all original js files intact.
--------------------------------------------------------------------------------------------------- Script starts---------------------------------------------------------------------------------------------------------------------------------------
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set wshshell = CreateObject("WScript.Shell")
Documents = wshShell.SpecialFolders("MyDocuments")
startWriting=false
sCurPath = Documents+"\RoboHelp_XML"
if not objFSO.folderexists(sCurPath) then
objFSO.CreateFolder(sCurPath)
end if
set objsCurPath=objFSO.GetFolder(sCurPath)
for each oldFilePath in objsCurPath.Files
objFSO.DeleteFile(oldFilePath)
next
bThrowUI=1
strMyXML=""
message="Provide full folder path where js files are present"+vbcr+"eg. C:\output\whxdata"
title="Robohelp output JS to XML convertor"
if WScript.Arguments.count=1 then
jsFilePath= WScript.Arguments(0)
bThrowUI=0
end if
if bThrowUI=1 then
jsFolderPath = InputBox(message, title, new_build,6000 ,5000)
end if
if jsFolderPath="" then
msgbox "Action cancelled"
Wscript.quit
else
if not objFSO.FolderExists(jsFolderPath) then
msgbox("Specified JS folder could not be found")
Wscript.quit
end if
set jsFolder=objFSO.GetFolder(jsFolderPath)
for each jsFilePath in jsFolder.Files
strMyXML=""
startWriting=false
if lcase(objFSO.getExtensionName(jsFilePath.path))="js" then
xmlfilePath=sCurPath+"\"+Left(jsFilePath.name,Len(jsFilePath.name)-7)+".xml"
if not objFSO.fileexists(xmlfilePath) then
objFSO.CreateTextfile(xmlfilePath)
end if
Set objFile = objFSO.OpenTextFile(jsFilePath, 1)
set writefile=objFSO.OpenTextFile(xmlfilePath,2)
Do Until objFile.AtEndOfStream
strCharacters = objFile.Read(1)
bSkip=false
if strcomp(strCharacters,"<")=0 then
startWriting=true
end if
if startWriting=true then
if strcomp(strCharacters,"\")=0 then
bSkip=true
end if
if strcomp(strCharacters,">")=0 and NOT bSkip then
strMyXML=strMyXML+strCharacters+vbcrlf
end if
if not strcomp(strCharacters,">")=0 and NOT bSkip then
'writefile.strCharacters
strMyXML=strMyXML+strCharacters
end if
end if
Loop
length=len(strMyXML)
writefile.Writeline Left(strMyXML,length-2)
writefile.close
end if
next
end if
if bThrowUI=1 then
msgbox "Required xml file successfully created at "+sCurPath
end if
--------------------------------------------------------------------------------------------------- Script ends---------------------------------------------------------------------------------------------------------------------------------------
Thanks and Regards,
Mohd Sameer.
Adobe RH team