OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

regrep message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Subject: [regrep] v3 Issue: "flat" vs "nested" XML representations



Registry TC,

It is my hope that our upcoming F2F (Oct 31 - Nov 2) will find some time to 
discuss issues that do not require an immediate solution. It would be good 
if we could get a "sense of the group" on some of these issues so that 
those thinking of writing proposals to address future functionality will 
have some feeling about the likely success of their ideas.

ISSUE

Should the XML representations in our Registry Services specification 
support "nested" XML representations of RIM classes in addition to their 
current support for "flat" XML representations of RIM classes.

DISCUSSION

In existing ebRS there is an XML Element definition for nearly every class 
defined in ebRIM. I will call these "flat" representations because they are 
mostly XML elements that have only attributes defined for them. There is 
very little use of "nested" XML elements.

Instead of nesting, our current XML definitions make extensive use of XML 
"ID" and "IDREF" capabilities to link together related XML Elements. There 
is nothing wrong with this -- but it does make it much more difficult to 
leverage XML tools that work best with nested representations. For example, 
our documents state that we intend to take future advantage of XPath and 
XQuery in Registry Services, yet both XPath and XQuery require the 
existence of an XML document (at least a virtual one!) before their 
definitions make sense. Since our XML representations are essentially 
"flat", there is no virtual "nested" XML document to apply these advanced 
XML tools against.

I see value for supporting BOTH "nested" and "flat" XML representations in 
our specifications. When submitting a new RegistryEntry instance to the 
Registry, it would be convenient if all of its Association and 
Classification instances, as well as all of its ExternalLink, 
ExternalIdentifier, and Slot instances, could be submitted as part of the 
same nested document. As things stand now, they must be submitted as 
independent instances, then linked together with somewhat artificial "ID" 
and "IDREF" declarations.

Similarly on retrieval. In our existing specifications, if a Client asks 
for all of the nodes of a specific classification scheme taxonomy, it gets 
back a set of ClassificationNode instances, each with an optional "parent" 
attribute to point to a potential parent node. This means that the Client 
software must re-construct the natural hierarchy of the taxonomy by chasing 
down all of the "parent" IDREF's and the ID's that they reference.  It 
would be helpful if the Client could request that the nodes be returned in 
a nested format, as an XML document, so that it could use its own XML tools 
to manipulate the taxonomy directly, without having to construct the 
implied document from the IDREF's. For example, it would be very helpful 
for both Input and Retrieval, if all of the nodes of a classification 
scheme taxonomy could be collected together, WITHOUT REQUIRED USE OF 
IDREF's and ID's, as an XML document that validates to the following DTD:

  <!ELEMENT ClassificationTaxonomy ( ClassificationNodeNested+ )>

  <!ELEMENT ClassificationNodeNested
    ( ClassificationNodeItem, ClassificationNodeNested* )>

  <!ELEMENT ClassificationNodeItem ( Description? )>
  <!ATTLIST ClassificationNodeItem
     name    CDATA   #IMPLIED
     code    CDATA   #REQUIRED    >

The "name" and "code" attributes of ClassificationNodeItem are the same as 
those attributes in the existing ClassificationNode element of ebRS, but 
the item element is no longer required to carry along superfluous "id" and 
"parent" attributes. Instead, those attributes are "implied" by the 
structure of the XML document.

CONCLUSION

I am NOT proposing that we replace the existing "flat" XML representations 
with "nested" ones. I see significant value in retaining the "flat" 
representations, especially for Registries that are implemented using 
relational database systems. However, I see no reason why our 
specifications can't leverage the powerful XML tools (e.g. XPath, XQuery) 
for dealing with "nested" structures by providing optional "nested" 
definitions for important ebRIM classes, especially RegistryEntry, Package, 
ClassificationScheme, etc.

-- Len

***********************************************************
Len Gallagher                             LGallagher@nist.gov
NIST                                      Work: 301-975-3251
Bldg 820  Room 562                        Home: 301-424-1928
Gaithersburg, MD 20899-8970 USA           Fax: 301-948-6213
**************************************************************



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Powered by eList eXpress LLC