Builder Examples
Practical examples of builder usage patterns.
HTML Generation
Simple Page
Data Table
Markdown Generation
README Template
API Documentation
Custom Builder
Configuration Builder
Form Builder
XML Schema Generation
Invoice Builder
from genro_builders import BuilderBag
from genro_builders.contrib.xsd import XsdBuilder
# Create from XSD schema
invoice = BuilderBag(builder=XsdBuilder, builder_xsd_source='invoice.xsd')
doc = invoice.Invoice()
header = doc.Header()
header.InvoiceNumber(value='INV-2025-001')
header.Date(value='2025-01-15')
header.DueDate(value='2025-02-15')
seller = doc.Seller()
seller.Name(value='Acme Corp')
seller.Address(value='123 Main St')
buyer = doc.Buyer()
buyer.Name(value='Customer Inc')
buyer.Address(value='456 Oak Ave')
items = doc.Items()
item = items.Item()
item.Description(value='Widget')
item.Quantity(value='10')
item.UnitPrice(value='9.99')
item.Total(value='99.90')
xml = invoice.to_xml(pretty=True)
Builder Composition
Reusable Components
Using @component for Reusable Cards
The previous example uses a function. With @component, you can make it part of the builder: