Можно использовать группу для включения одного и того же содержимого в различные части отчета. DOM API клонирует представителей группы, прежде чем добавлять их к другому объекту.
Этот пример показывает код ключа, который нужно включить. После описания шагов, связанных с использованием группы, этот пример включает код для полного отчета, в котором используется группа.
Определите объекты 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');