Namespaces

Each business process contains a table of the targetNamespaces for the XML Schemas. A unique namespace prefix is associated with each namespace. Prefixes take the form [sy<n>], where <n> is an incrementing integer. These prefixes are used whenever a namespace prefix is required in XPath expressions to refer to elements and attributes in content models. This includes all XPaths in rules and maps.

Unique namespace prefixes are generated and used to avoid namespace prefix collisions. For example, two different schemas within a project might be defined with different targetNamespaces but associate the same namespace prefix with their targetNamespaces. This does not cause problems within the scope of each schema, but it could cause problems in a business process in which single items of metadata, such as maps, may reference multiple schemas.

In general, XPath expressions are automatically generated, using the correct namespace prefix when it is required. However, when editing XPath expressions, it is important to know when and where a namespace prefix is required. You may need to use the sy<n> namespace prefix in XPath expressions if the associated .xsd file has a targetNamespace. Exact requirements for using the prefix is dependent on the .xsd, specifically the elementFormDefault, attributeFormDefault, and form attributes, and whether the elements and attributes are globally or locally defined.

XML document instances conforming to schemas within projects must also use the targetNamespaces of schemas appropriately. They are not required to use the auto-generated sy<n> prefix but may associate any prefix with the targetNamespace, provided that it is used consistently throughout the document.

For more information on namespaces, go to the W3C XML Schema Recommendation @ http://www.w3.org/TR/xmlschema-0/#NS.