{
  "id": "UBL-DT-25",
  "country": "EU",
  "syntax": "ubl",
  "group": "datatype",
  "severity": "warning",
  "severity_note": "warning, 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": "CharacterSetCode attribute should not be present",
  "statement_lang": "en",
  "context": "/ubl:Invoice | /cn:CreditNote",
  "test": "not(//@characterSetCode)",
  "meaning": "A CharacterSetCode attribute should not be present. The statement has no period and says should not. It does not say shall. It is 48 characters. The statement spells CharacterSetCode as one word. The flag is warning. The context is the same string as BR-CO-18. The published test is not(//@characterSetCode). The attribute name starts with a lowercase letter. It does not call count and it does not call exists.",
  "fix": "Leave the characterSetCode attribute off the document.",
  "example_fail": "The document includes a characterSetCode attribute.",
  "example_pass": "The document includes no characterSetCode 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-25/",
  "source_retrieved": "2026-10-18",
  "last_verified": "2026-10-18"
}
