In this page, describing about hyperanchor generating flow.
Hyperanchor generating flow in this page is on the presumption that a user executed below steps with selecting any string in a web page.
Select "Bookmark here (HYPER-ANCHOR)", "Bookmark selection (HYPER-ANCHOR)", "Copy to clipboard here (HYPER-ANCHOR)" or "Copy to clipboard selection (HYPER-ANCHOR)" from right click context menu.
or
Click "" or "" on the HYPER-ANCHOR toolbar ().
Select "Bookmark here (HYPER-ANCHOR)" or "Copy to clipboard here (HYPER-ANCHOR)" from right click context menu.
or
Click "" on the HYPER-ANCHOR toolbar ().
A hyperanchor is generated along with below steps.
# | flow |
---|---|
1 | Retrieve head node information of current selection. e.g. offset, node type, node content. * In case that no character is selected, HYPER-ANCHOR does not retrieve offset and retrieve the attribute name and attribute value as node content. |
2 | If the node has "id" or "name" attribute, HYPER-ANCHOR check whether the attribute value is unique in the web page. |
3 | In case of that the attribute value is unique, set the head of anchor path // + tag name + [@ + id or name + = " + value + "]. e.g.) //DIV[@id=""] |
4 | In case of that the attribute value is not unique, scan previous siblings node that has "id" or "name" attribute and search for unique attribute value. |
5 | In case of that unique attribute value is found, add "/following-sibling::" to the hyperanchor path and proceed to #9. e.g.) //DIV[@id=""]/following-sibling:: |
6 | In case of that unique attribute value is not found, repeat #4 to #5 until previous siblings node does not exist and count up the number of the same name tag as the destination node. |
7 | Add "/ ¡Ü tag name ¡Ü [ ¡Ü count of same name tag + ]" to the head of hyperanchor path. |
8 | Repeat #2 to #7 for parent node until "id" or "name" attribute with unique value is found or "HTML" tag is found. |
9 | Add offset and node type retrieve in #1 to the hyperanchor path ( ¡Ü offset ¡Ü )( ¡Ü node type + )( ¡Ü content ¡Ü ) e.g.¡Ë /TABLE[3]/TBODY[1]/TR[1]/TD[1](0)(3)(%e3%83%aa%e3%83%b3%e3%82%af) |
10 | Process the tail node of current selection in the same manner (#1 to #9). |
11 | In case of adopt specific style, create css style strings. e.g.) padding-left:16px;background:transparent%20scroll%20no-repeat%20top%20left%20url(http:/ ¡¦¡¦¡¦ |
12 | Add hyperanchor version (e.g. #hyperanchor1.2:) to the URL of the web page, and combine head node hyperanchor path, tail node hyperanchor path and hyperanchor style with "&" after the hyperanchor version. e.g.) http://www.hyper-anchor.org/tutorial/sample.html#hyperanchor1.2: |