PropertyExchangeFormat — the XML schema #
The XML schema defines the DNA of the structured data in Prexfo. It is designed for longevity, flexibility and clarity — not for completeness at any cost.
Key facts #
| Property | Value |
|---|---|
| Namespace | https://prexfo.org/schema/v1 |
| Version | 1.0.0 |
| Encoding | UTF-8 |
| Validation | XSD 1.0 |
| License | Apache 2.0 |
Structure #
The core schema prexfo-core.xsd references reusable base types and entity
schemas:
schemas/
├── prexfo-core.xsd # main schema
├── types/
│ ├── common-types.xsd # address, contact, money, date …
│ └── identifiers.xsd # ID and anchor formats
└── entities/
├── person.xsd
├── company.xsd
├── property.xsd
├── building.xsd
└── unit.xsd
Design principles #
- Naming conventions —
UpperCamelCasefor elements and attributes; type definitions carry the suffixType(e.g.AddressType) so they are clearly distinguishable from elements. - Reusability — common structures such as address, bank details or contract
terms are defined once as a
complexTypeand included everywhere. This reduces redundancy and increases consistency. - Namespaces — each schema has a unique
targetNamespacemarking the origin of its elements and ruling out name clashes.
Versioning #
A clear versioning strategy is crucial for the stability of a standard. Prexfo draws a clean line:
Non-breaking changes #
New optional elements or attributes do not invalidate existing documents. The
version number in the version attribute increases (e.g. 1.2 → 1.3); the
targetNamespace stays the same. Smooth evolution.
Breaking changes #
Renamings or changed data types violate backward compatibility. Then the
targetNamespace must change (e.g. …/v2/schema). This unmistakably signals
to every system that new processing logic is required — and prevents silent
errors.
Extensibility #
Prexfo supports the gradual structuring of data. At strategic points, the schema allows via
<xs:any namespace="##other" processContents="lax"/>
the embedding of custom, not-yet-standardized fields — inside an otherwise fully valid Prexfo document. This lets users store information that is not (yet) part of the official standard, without leaving the standard.
Pragmatism over perfection. Better to cover 80% of daily requirements with 100% data control than 100% of all conceivable cases with a highly complex, monolithic model. Extension points keep the door open for the rest.