Schema Working Session Jonathan Rosenberg Cisco Systems Schema
Schema Working Session Jonathan Rosenberg Cisco Systems
Schema Design Issues http: //www. xfront. com/Best. Practices. Homepage. html
Namespaces • There are way too many • Namespace value is – Avoid collisions – Show user which namespace an element is in • Not needed as a policy input • We won’t have a single root presence schema and namespace – Need to select extensions independently
Proposed Structure • Each spec has its own namespace, except for “abstract” specs (common policy, xcap-patch) • Within a spec, use chameleon namespace design for breaking it into pieces • Everything underneath pidf-status – – – – data-model: urn: ietf: params: xml: ns: pidf: status: data-model rpid: urn: ietf: params: xml: ns: pidf: status: rpid-status prescaps: urn: ietf: params: xml: ns: pidf: status: servcaps future-status: urn: ietf: params: xml: ns: pidf: status: timed-status cipid: urn: ietf: params: xml: ns: pidf: status: cipid pres-rules: urn: ietf: params: xml: ns: pres-rules geopriv-rules: urn: ietf: params: xml: ns: geopriv-policy
Default Namespace in Schema Docs • Target or Schema? • Proposal: target – Most are that way
Type Definitions or Not? • Use a type definition if – The type is more complex than a renaming of an existing defined type • Type definitions global • Element definitions global – Use references to include when you need them – Allows elements to be reused elsewhere
Dynamic Content Containers • For content that is to be defined in other specifications – Use <any> target-namespace other • For content defined in this specification – Substitution groups • Implication: common policy goes to <any>
Extensibility • Each document needs to talk about how extensibility is handled • Make sure you leave hooks via <any> elements and attributes in the right places
must. Understand • Defined in RFC 3863 as a global attribute – Indicates whether an element in the presence document needs to be understood • We haven’t been using it at all! • Proposal: add it across pidf extensions
- Slides: 9