Группу можно использовать для включения одного и того же содержимого в различные части отчета. API DOM выполняет клонирование членов группы перед их присоединением к другому объекту.
В этом примере показан код ключа для включения. После описания шагов, связанных с использованием группы, этот пример содержит код для полного отчета, в котором используется группа.
Определите объекты DOM, которые необходимо повторно включить в отчет.
disclaimerHead = Heading(2,'Results May Vary'); disclaimerIntro = Paragraph('The following results assume:'); disclaimerList = UnorderedList(... {'Temperature between 30 and 70 degrees F',... 'Wind less than 20 MPH','Dry road conditions'});
Определение Group объект, включающий объекты DOM для группы. Например:
disclaimer = Group(); append(disclaimer,disclaimerHead); append(disclaimer,disclaimerIntro); append(disclaimer,disclaimerList);
Добавить Group объект в том месте отчета, где требуется повторить содержимое. Например, если объектом документа является doc:
append(doc,disclaimer);
Этот код создает отчет на основе этого подхода.
import mlreportgen.dom.*; doc = Document('groupReport','html'); disclaimerHead = Heading(2,'Results May Vary'); disclaimerIntro = Paragraph('The following results assume:'); disclaimerList = UnorderedList(... {'Temperature between 30 and 70 degrees F',... 'Wind less than 20 MPH','Dry road conditions'}); disclaimer = Group(); append(disclaimer,disclaimerHead); append(disclaimer,disclaimerIntro); append(disclaimer,disclaimerList); append(doc,disclaimer); p1 = Paragraph('First set of results...'); p1.Bold = true; p2 = Paragraph('more report content...'); p2.Bold = true; append(doc,p1); append(doc,p2); append(doc,disclaimer); close(doc); rptview('groupReport','html');