Using JavaScript, is there a way to get the version of the document being edited when you have a topic open in Create? We have code that requires the topic version.
Using JavaScript, is there a way to get the version of the document being edited when you have a topic open in Create? We have code that requires the topic version.
Yes, this should be possible. The document contains a processing-instruction with this information. You can retrieve this for example in the following way:
function getVersion(doc) {
if (!doc) return false;
var ish = doc.selectSingleNode("processing-instruction('ish')");
if (!ish) return false;
var result = ish.getTextContent().match("version=\"(.*?)\"");
if (!result || result.length < 2) return false;
return result[1];
}
getVersion(Editor.getActiveDocument());
Yeah, the sample code you sent returns false and the raw xml returned by getXML() shows that the doctype deceleration is immediately followed by the concept tag. I would expect to see the ish PI between them. Im on Create 5.2.4 and Architect 11.0.2929.3.
Ok, that explains it, above snippet only works in 5.3/12.0.
Then still it should be possible, but using a different approach:
var activeDocument = SDL.Models.getItem(window.location.hash.substring(1)); SDL.Utils.Xml.getInnerText(activeDocument.getWrappedObject().getXmlDocument(), "/data/item/@version");
This still works in 2016, however it looks like the case of the attribute names on the data tag was switched from camel case to all lowercase.