From: Jean-Marc V. <jm...@fr...> - 2004-08-15 10:46:02
|
Hi David, your input about the XML Schema is very fine. Also don't you have some tiny application to tell us about ? David Mundie wrote: > > Thinking about this some more, it seems to me that we should use the > Dublin Core nomenclature where it corresponds to Jean-Marc's proposal. > (The only thing worse than using the Dublin Core is re-inventing it!) > > Here are the correspondences I see: > > name = dc:title > domain = dc:subject > description = dc:description > author = dc:creator > production-site = dc:identifier > dev-site = dc:relation > institution = dc:publisher > license = dc:rights > > Using the DC would have some obvious advantages in terms of > interoperability and extensibility - if someone wanted to specify the > language of an eXist database, or the date, they wouldn't have to > fumble around. Thanks for reminding me this, I totally aggree about interoperability. Provided that the intended semantic of each DC property is respected. So I had a look at the Dublin Core standard (http://dublincore.org/documents/dcmi-terms/). I had doubts about : production-site = dc:identifier dev-site = dc:relation institution = dc:publisher license = dc:rights Let's revisit them in turn. production-site = dc:identifier The standard says: Recommended best practice is to identify the resource by means of a string or number conforming to a formal identification system. Example formal identification systems include the Uniform Resource Identifier (URI) (including the Uniform Resource Locator (URL)), the Digital Object Identifier (DOI) and the International Standard Book Number (ISBN). My (JMV's) Comment: First the production-site is more than a unique identifier. It is first and above all the URL of an active Web site. Second it is not a unique identifier; there can be several production sites for the same application. Third it is not an identifier at all. The application can be an embedded eXist GUI application, thus with NO SITE AT ALL. === dev-site = dc:relation The standard says: Definition: A reference to a related resource. Comment: Recommended best practice is to reference the resource by means of a string or number conforming to a formal identification system. My (JMV's) Comment: From the point of view of the developper, the development site is not a related resource, it is the main thing. However, if the application is not open source, the developpement site, if any, is generally hiden. === institution = dc:publisher The standard says: Definition: An entity responsible for making the resource available Comment: Examples of a Publisher include a person, an organisation, or a service. Typically, the name of a Publisher should be used to indicate the entity. My (JMV's) Comment: Also the semantic is typically for the publisher of a book, this seems to fit. === license = dc:rights The standard says: Typically, a Rights element will contain a rights management statement for the resource, or reference a service providing such information. Rights information often encompasses Intellectual Property Rights (IPR), Copyright, and various Property Rights. If the Rights element is absent, no assumptions can be made about the status of these and other rights with respect to the resource. My (JMV's) Comment: Also the semantic is typically for the publisher of a book, this seems to fit. === database/@size database/@documents = dc:format Definition: The physical or digital manifestation of the resource. Comment: Typically, Format may include the media-type or dimensions of the resource. Format may be used to determine the software, hardware or other equipment needed to display or operate the resource. Examples of dimensions include size and duration. Recommended best practice is to select a value from a controlled vocabulary (for example, the list of Internet Media Types [MIME] defining computer media formats). My (JMV's) Comment: At first I was convinced. And then I realized that we are describing an application, not a database. So, if we were using dc:format, it would be the format of the application itself. Why not for this purpose. I suppose that the possibilities will be: - eXist distribution add-on (e.g. Cocoon sub-sitemap) - .jar for standalone app. - .war for J2EE web app. ====== My (JMV's) conclusion --------------------- I propose to use these DC tags to replace my originally proposed tags: - dc:title - dc:subject - dc:description - dc:creator - dc:publisher - dc:rights I propose to keep these originally proposed tags: - production-site - Cardinality : 0..* - dev-site - Cardinality : 0..1 They have a well-known semantic for an application. Generally at least one of them exists, but for an Intranet non open source application, none exists. A dc:identifier can be deduced: if a dev-site exists, it will be the dc:identifier. Otherwise, the first of the production-site will be used. Otherwise, the dc:publisher or dc:creator will be used. Here is the updated sample application element. I still have to search on http://xml.org Schema repository to see if some of the Schemas can be reused. <applications using="http://exist-db.org/" xmlns="http://exist-db.org/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:html="http://www.w3.org/1999/xhtml" > <application> <dc:creator> <html:a href="http://jmvanel.free.fr/">J.M. Vanel</html:a> </dc:creator> <dc:identifier>http://wwbota.free.fr/</dc:identifier> <dc:rights>GPL</dc:rights> <dc:title>Botanical Database</dc:title> <dc:subject>biology</dc:subject> <dc:subject>taxonomy</dc:subject> <dc:subject>botany</dc:subject> <dc:description> Search engine for Flora of China descriptions. Aims at being a computer-aided identification tool for specimens. </dc:description> <dc:publisher> Worldwide Botanical Knowledge </dc:publisher> <dc:format>eXist distribution add-on: Cocoon sub-sitemap</dc:format> <dev-site>http://wwbota.free.fr/</dev-site> <production-site>http://jmvanel.free.fr/protea.html</production-site> <feature-used>XQuery</feature-used> <feature-used>Cocoon</feature-used> <database size="30Mb" documents="1" updates="rare" security='read for all' /> <dev-notes> XSP pages, XSLT styles, java classes interpreting user input and generating XQuery </dev-notes> <submitter /> </application> </applications> |