Способ и система для модификации текста в документе

1. Способ (300) модификации представления текста в документе (400), выполняемый на сервере (120) и включающий:
получение (310) дерева (510) объектной модели документа (DOM - Document Object Model), связанного с разметкой (500) документа (400);
поиск (320) в множестве узлов (1010-1250) дерева (510) DOM целевой текстовой строки (520), при этом поиск в дочернем узле проводится после поиска в соответствующем родительском узле;
определение (330) целевого текстового узла (530) дерева (510) DOM, содержащего целевую текстовую строку (520) целиком и не содержащего дочернего узла, содержащего целевую текстовую строку (520) целиком; и
модификацию (340) при определении целевого текстового узла (530) разметки (500) по меньше мере в одном из:
целевого текстового узла (530); и
дочернего узла целевого текстового узла (530), содержащего часть целевой текстовой строки (520),
при этом разметка (500) модифицируется для модифицированного представления целевой текстовой строки (520) в документе (400).
2. Способ (300) по п. 1, в котором поиск (320) в множестве узлов (1010-1250) дерева (510) DOM целевой текстовой строки включает поиск в дочернем узле при наличии в соответствующем родительском узле целевой текстовой строки (520) целиком.
3. Способ (300) по п. 1, в котором:
целевой текстовый узел (530) обладает первым дочерним узлом, включающим первую часть целевой текстовой строки (520), и вторым дочерним узлом, включающим вторую часть целевой текстовой строки (520), причем ни один из первого дочернего узла и второго дочернего узла не включают целиком целевую текстовую строку; а
указанная модификация (340) разметки (500) включает в себя модификацию первого и второго дочерних узлов.
4. Способ (300) по любому из пп. 1-3, в котором определение (330) целевого текстового узла (530), включает:
поиск в первом узле из множества узлов (1010-1250) дерева (510) DOM для определения наличия в них целевой текстовой строки (520) целиком; и
в ответ на то, что первый узел включает в себя целевую текстовую строку (520) целиком:
поиск в каждом дочернем узле первого узла для определения наличия в них целевой текстовой строки (520) целиком; и
назначение первого узла целевым текстовым узлом (530) в ответ на одно из: первый узел не обладает дочерними узлами; и первый узел обладает по меньшей мере одним дочерним узлом, и ни один из этого по меньшей мере одного дочернего узла первого узла не включает в себя целевую текстовую строку (520) целиком.
5. Способ (300) по п. 4, в котором
в ответ на то, что целевой текстовый узел (530) не обладает дочерними узлами, модифицируют целевой текстовый узел (530); и
в ответ на то, что целевой текстовый узел (530) обладает по меньшей мере одним дочерним узлом, модифицируют по меньшей мере один из по меньшей мере одного дочернего узла целевого текстового узла (530), включающий часть целевой текстовой строки (520), являющейся одной из множества частей целевой текстовой строки (520).
6. Способ (300) по п. 5, в котором:
каждый из по меньшей мере одного дочернего узла целевого текстового узла (530), обладающий любой одной из множества частей целевой текстовой строки (520), модифицируют в ответ на то, что целевой текстовый узел (520) обладает по меньшей мере одним дочерним узлом.
7. Способ (300) по п. 4, в котором
в ответ на то, что целевая текстовая строка (520) целиком не присутствует в первом узле:
осуществляют поиск по второму узлу дерева (510) DOM для определения наличия в нем целевой текстовой строки целиком (520), при том что соответствующий родительский узел второго узла включает в себя текстовую строку (520) целиком; и
в ответ на то, что второй узел включает в себя целевую текстовую строку (520) целиком:
осуществляют поиск в каждом дочернем узле второго узла для определения наличия в них целевой текстовой строки (520) целиком; и
назначают второй узел целевым текстовым узлом в ответ на одно из: второй узел не обладает дочерними узлами; и
второй узел обладает по меньшей мере одним дочерним узлом, и ни один из этого по меньшей мере одного дочернего узла второго узла не включает в себя целевую текстовую строку (520) целиком.
8. Способ (300) по п. 7, в котором первый узел и второй узел являются сестринскими узлами.
9. Способ (300) по п. 1, в котором целевой текстовый узел (530) является первым целевым текстовым узлом, соответствующим первому появлению целевой текстовой строки (520) в документе (400), включающем в себя второе появление целевой текстовой строки (520), при этом разметку (500) модифицируют для модифицированного представления первого появления целевой текстовой строки (520) в документе (400).
10. Способ (300) по п. 9, в котором
определяют второй целевой текстовый узел (530), соответствующий второму появлению целевой текстовой строки (520) в документе (400), при этом второй целевой текстовый узел (530) включает в себя целевую текстовую строку (520) целиком и не обладает дочерними узлами, включающими в себя целевую текстовую строку (520) целиком; и
осуществляют модификацию разметки (500) в одном из: втором целевом текстовом узле (530); и
дочернем узле второго целевого текстового узла (530), включающем в себя часть целевой текстовой строки (520),
при этом разметку (500) модифицируют для модифицированного представления второго появления целевой текстовой строки (520) в документе (400).
11. Способ (300) по п. 1, в котором:
целевой текстовый узел (520) является первым целевым текстовым узлом, соответствующим первой целевой текстовой строке (520) в документе (400), при этом разметку (500) модифицируют для модифицированного представления первой целевой текстовой строки (520) в документе (400), при этом
определяют второй целевой текстовый узел (530), соответствующий второй целевой текстовой строке (520) в документе (400), причем второй целевой текстовый узел (530) включает в себя вторую целевую текстовую строку (520) целиком и не обладает дочерними узлами, включающими в себя вторую целевую текстовую строку (520) целиком; и
модифицируют разметку (500) в одном из:
втором целевом текстовом узле (530); и
дочернем узле второго целевого текстового узла (530), включающем в себя часть второй целевой текстовой строки (520),
при этом разметку (500) модифицируют для модифицированного представления второй целевой текстовой строки (520) в документе (400).
12. Способ (300) по п. 1, в котором осуществляют обработку документа (400) для определения целевой текстовой строки (520).
13. Способ (300) по п. 12, в котором обработка документа (400) включает в себя получение текстовой версии документа (400).
14. Способ (300) по п. 12, в котором целевую текстовую строку (520) определяют на основе заранее определенного критерия.
15. Способ (300) по любому из пп. 12-14, в котором целевую текстовую строку (520) определяют с помощью базы данных.
16. Способ (300) по п. 1, в котором разметку (510) выполняют в HTML.
17. Способ (300) по п. 1, в котором модифицирование разметки (510) для модифицированного представления целевой текстовой строки (520) включает в себя связывание гиперссылки с целевой текстовой строкой (520).
18. Система (200) для модификации представления текста в документе (400), включающая:
процессор (240); и
интерфейс (230) связи, оперативно соединенный с процессором и выполненный с возможностью получения документа (400),
при этом процессор (240) выполнен с возможностью выполнения способа по любому из пп. 1-17.