Archetype.xsd uses xs:anyURI in CONSTRAINT_BINDING_ITEM value, which is too strict to support AM specification

Description

Archetype Object Model Ontology Package specifies the ARCHETYPE_ONTOLOGY class with the function:
constraint_binding (a_terminology_id, a_code: String): String

However, the Archetype.xsd specifies the CONSTRAINT_BINDING_ITEM complexType with a value element of type xs:anyURI.

When an XML document is validated against the schema using a candidate terminology URI scheme of the form:
terminology:terminology-id(version)
a validation error is raised in some XML development toolkits.

The anyURI is intended to follow RFC2396 as amended by RFC2732 (as stated by http://www.w3.org/TR/xmlschema-2/#anyURI) but this does not to be implemented consistently in all tools.

The type of the CONSTRAINT_BINDING_ITEM value element should be modified to use xs:string as per the Archetype Object Model specification, or a restriction using the following regular expression derived from the RFC2396 BNF if it is still intended that a URI approach for constraint bindings to be used.

^(([a-zA-Z][0-9a-zA-Z+-\.]?/{0,2}[0-9a-zA-Z;/?:@&=+$\.-_!~'()%])?(#[0-9a-zA-Z;/?:@&=$\.-_!~*'()%]+)?$

Environment

None

Reporter

Heath Frankel

Labels

None

Components

Affects versions

Priority

Minor
Configure