XML namespace
UBL Common Aggregate Components
Every structure in a UBL document — parties, addresses, lines, tax totals. If it groups other elements rather than holding a value, it is cac:.
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"The counterpart to the basic components. cac:AccountingSupplierParty, cac:InvoiceLine, cac:TaxTotal and cac:PostalAddress are containers: they hold cbc: leaves and further cac: structures, nested several levels deep in any real invoice.
The nesting is the part that surprises people. Reaching a supplier's street name means walking cac:AccountingSupplierParty → cac:Party → cac:PostalAddress → cbc:StreetName, and that path is stable across every UBL document, which is what makes UBL machine-readable at the cost of being verbose.
A UBL invoice therefore always declares at least three namespaces — the document type, this one, and the basic components — and stripping any of them makes the document unprocessable rather than merely untidy.
- URI
urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2- Prefix
cac- Elements
AccountingSupplierPartyPartyPostalAddressInvoiceLineTaxTotal
Specification: UBL 2.1 specification
Get started
Bring order to the XML your team can't afford to ignore.
Create a free account and get a private workspace to search, validate, diff, and monitor your XML feeds, sitemaps, schemas, and vendor integrations.