As well as providing vendor-independent means of creating, retrieving, modifying and deleting XSets, the SNIA XAM v1.0 specification also defines a query language (XAM QL), based on a subset of the SQL language, for selecting and retrieving the XUIDs of XSets based on content-defined criteria. The set of reserved words for this query language is quite small: select, where, and, or, not, like, exists, binding, readonly, typeof, length, date, TRUE, FALSE, before, after, contains, and within. By design, XAM queries look like an SQL select statement. The query language is case insensitive and uses the ASCII character set. Here is
In this post I look at what fields are mandated by the SNIA XAM v1.0 specification and write a small Java application to retrieve their default values using the XAM Reference VIM and EMC’s Centera XAM VIM. What is meant by a field in XAM? According to Section 3.1.5 of the XAM specification v1.0, Part 1, a field is a piece of uniquely identifiable data that can be attached to an XSet, an XSystem, or a XAM Library. More concretely, a field has a name, a number of attributes that describe how to interact with the object, and a value.
One of the key requirements for achieving long term data persistence is the ability to move data between archiving systems or, in the language of the SNIA XAM (eXtensible Access Method) specification, moving XSets between XSystems. The XAM v1.0 specification supports this requirement by providing support for exporting and importing Xsets. It specifies the methods used to export an XSet from an XSystem, the resultant XSet canonical data interchange format (package) and the methods used to import an Xset into an Xsystem. This post assumes that you are somewhat familiar with XAM and how to program to that specification using