Пакет: mlreportgen.dom
Скопируйте объект абзаца
clonedPara = clone(sourcePara) копии (клоны) заданный абзац. Получившийся клонированный абзац включает дочерние элементы исходного абзаца, но не родительский элемент.clonedPara = clone(sourcePara)
Используйте метод clone, чтобы добавить то же содержимое абзаца несколько раз в документе.
Когда вы клонируете абзац, DOM копирует все дочерние объекты исходного абзаца, но не родительский элемент абзаца.
Клонированный абзац включает форматы, которые вы устанавливаете в исходном абзаце. Клонированные форматы абзаца используют те же объекты формата в качестве исходного абзаца. Если вы изменяете параметр формата в разделяемом объекте формата, источник и клонированные абзацы отражают то изменение.
Если вы изменяете параметр формата в клонированном абзаце, то DOM создает новый объект формата для клонированного абзаца, с помощью нового параметра формата. Для того формата источник и клонированный абзац больше не совместно используют тот же объект формата.
Этот пример показывает отношение между форматами для источника и клонированных абзацев.
Создайте абзац, который использует стиль, который устанавливает Bold и форматы Italic к true.
import mlreportgen.dom.*; myReport = Document('myDoc','html'); p = Paragraph('This is a paragraph'); append(myReport,p); MyStyle = {Bold,Italic}; p.Style = MyStyle; p.Bold
ans =
1p.Italic
ans =
1Клонируйте абзац. Bold и форматы Italic совпадают с теми из исходного абзаца.
pClone = clone(p); pClone.Bold
ans =
1p.Italic
ans =
1Для клонированного абзаца изменение выключает полужирный текст. Изменение в формате Bold в клонированном абзаце не влияет на текст для исходного абзаца. Исходный текст абзаца все еще полужирен.
pClone.Bold = false; p.Bold
ans =
1В объекте стиля (MyStyle) для исходного абзаца выключите курсив. Теперь клонированный абзац не использует курсив, потому что он совместно использует установку MyStyle для формата Italics.
MyStyle(2).Value = false pClone.Italic
ans =
0mlreportgen.dom.Document | mlreportgen.dom.Paragraph | mlreportgen.dom.Paragraph.append