{
  "id": "UBL-DT-07",
  "country": "EU",
  "syntax": "ubl",
  "group": "datatype",
  "severity": "fatal",
  "severity_note": "fatal, from the Flag column of the Peppol BIS Billing 3.0 UBL rules index retrieved 2026-10-18.",
  "spec": "Peppol BIS Billing 3.0, May 2026 release, EN 16931 model bound to UBL",
  "statement": "Binary object elements shall contain the file name attribute",
  "statement_lang": "en",
  "context": "//*[ends-with(name(), 'BinaryObject')]",
  "test": "(@filename)",
  "meaning": "A binary object element shall contain the file name attribute. The statement has no period and says shall. It is 60 characters. The flag is fatal. The context is the same string as UBL-DT-06. The published test is (@filename). The attribute name is all lowercase. It does not call count and it does not use <=. The statement says file name as two words.",
  "fix": "Add the filename attribute to each binary object element.",
  "example_fail": "A binary object element has no filename attribute.",
  "example_pass": "A binary object element has a filename attribute.",
  "example_note": "Illustration of the condition in the official statement. Not an example published by the source.",
  "source_url": "https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/UBL-DT-07/",
  "source_retrieved": "2026-10-18",
  "last_verified": "2026-10-18"
}
