Could someone show me a regular expression that would look through this document and select the href value of every href that has RELATION_ID on the end of it? Then if it does, I have to get the Id that is before the question mark (example href='dctm://ISDOFSDdev/37004e1f800021f3?DMS_OBJECT_SPEC=RELATION_ID‘)
Thanks!
<?xml version='1.0' encoding='utf-8'?> <?dctm xml_app='elearningContent'?> <!DOCTYPE OnlineContent PUBLIC '-//ISDOFSD//DTD Online Content//EN' 'file:C:/dmExport/New%20Folder%20(2)/ISDOFSDdev/elearningContent/OnlineContent.dtd'> <OnlineContent outputclass='Graphic Down' id='OnlineContent_955627C91D8743B98DCB8BD9BE379DE8'> <title>Text and Popup</title> <OnlineContentBody> <lcInstruction id='lcInstruction_770F26218C064A84BFA1813562173970'> <p>This is an example of a plain text screen with an attached popup.</p> <p> Popups are used to display additional content in a popup window. A <xref scope='local' type='topic' format='dita' href='dctm://ISDOFSDdev/37004e1f800021f3?DMS_OBJECT_SPEC=RELATION_ID'>link is provided</xref> in the main text of the screen, which may clicked on to open a popup. A screen may contain <xref scope='local' type='topic' format='dita' href='dctm://ISDOFSDdev/37004e1f800021f4?DMS_OBJECT_SPEC=RELATION_ID'>more than one popup</xref>. </p> </lcInstruction> </OnlineContentBody> <OnlinePopup id='OnlinePopup_AFE53E2CACBF4D8196E6360D4DDB6B70'> <title>A Popup</title> <OnlinePopupBody> <p>This is an example of popup content.</p> <p>A popup may contain one or more paragraphs of text. They may also contain lists, like this:</p> <ul id='ul_7812991BBBDD4995B7499A9557C4EA9C'> <li id='li_E83BDB28EC494B98BFF3DD5924AF855E'>An item in a list</li> <li id='li_270F2A3A85BA4E6EBF98CB4023344475'>Another item in a list</li> </ul> <p>A numbered list is demonstrated in the second popup.</p> </OnlinePopupBody> </OnlinePopup> <OnlinePopup id='OnlinePopup_5AE081BFB97043CE99F39A9E4A063332'> <title>Another Popup</title> <OnlinePopupBody> <p>This is the second popup on this screen, containing a numbered list.</p> <ol id='ol_EF18C080E7CC40B7998DEB75772367A6'> <li id='li_91B42F1B886B4CF887C001577C14B3F0'>An item in a list</li> <li id='li_95C4F32E093843FAB985A3F6981A7D07'>Another item in a list</li> </ol> </OnlinePopupBody> </OnlinePopup> </OnlineContent>
You can use this regex expression:
which matches the the hex number immediately before the query string.
I’d also suggest using XPath to do this over regex.