Discussion List Archives

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ddlm-group] import and loops in ddlm

  • To: Group finalising DDLm and associated dictionaries <ddlm-group@iucr.org>
  • Subject: [ddlm-group] import and loops in ddlm
  • From: David Brown <idbrown@mcmaster.ca>
  • Date: Wed, 21 Jul 2010 11:34:12 -0400
I will try again to start a discussion on the DDLm dictionary as opposed to CIF3.

The two items below indicate my interpretation of the way DDLm will deal with a couple of items where the practice may change from CIF1 or we need to agree on how a new feature is used.  I don't believe these to be controversial, but I would like to receive some feedback, even it you think my interpretation is correct.  I have other more contentious questions to raise later.

1. Are loops required to be present explicitly even when they contain only one set of items?
Checking the DDLm dictionary and the proof-of-concept CIF dictionary prepared by Syd, it seems that the answer is 'yes'.  Therefore I intend to include explicit loops for all dictionary items where a category key is defined.  Whether this rule can be enforced in data files at the CIF level is something we might discuss.  In DDL1 such loops have been optional, but that need not deter us from requiring them in CIFm data files.  However, in the dictionaries, over which we have some control, there is no reason why the rule should not be enforced.

2. Use of the IMPORT statement
Since the _import statement is used to expand a CIFm dictionary by inserting the same piece of text in different places, _import must be executed before the dictionary can be used.  Therefore the _import dataname has a different function from all the other datanames.  During expansion, the dictionary is read as text with the reading routine only acting when it encounters an _import data item which it replaces with the designated text.  '_import' can appear anywhere in the unexpanded dictionary, including in a loop even though it belongs to a different category since '_import' will never be encountered when the loop is executed.  It can also appear in delimited text or as part of a list, even in a comment (though this would not normally make much sense).  I can see no reason why import statements may not be nested though I have not yet come across a situation where this might be useful.

Comments please.


fn:I.David Brown
org:McMaster University;Brockhouse Institute for Materials Research
adr:;;King St. W;Hamilton;Ontario;L8S 4M1;Canada
title:Professor Emeritus
tel;work:+905 525 9140 x 24710
tel;fax:+905 521 2773

ddlm-group mailing list

Reply to: [list | sender only]
International Union of Crystallography

Scientific Union Member of the International Science Council (admitted 1947). Member of CODATA, the ISC Committee on Data. Partner with UNESCO, the United Nations Educational, Scientific and Cultural Organization in the International Year of Crystallography 2014.

International Science Council Scientific Freedom Policy

The IUCr observes the basic policy of non-discrimination and affirms the right and freedom of scientists to associate in international scientific activity without regard to such factors as ethnic origin, religion, citizenship, language, political stance, gender, sex or age, in accordance with the Statutes of the International Council for Science.