DTD's and namespaces

Robert.WAKELING at DG15.cec.be Robert.WAKELING at DG15.cec.be
Fri Sep 11 10:01:41 BST 1998

I am looking for ways to make it easy for people to find and understand public
tender notices (or solicitation synopses). SGML DTD's are routinely used to
format at least 150,000 of these per year. Since they can be in any of eleven
languages we also have a coded multilingual vocabulary of over 9000 product and
service definitions, as well as city names and subject headings. I thought that
XML might provide a neat way to standardise these notices across many sites and
allow selective searching, retrieval and display of these notices in any
language. But I can't find enough guidance on designing DTD's or using
namespaces to see clearly how to do this, or if it can be done.

I have two specific problems: when to use elements or attributes, and how to
make reference to external documents or language vocabularies. The namespace
debate has further confused me here. My first humble attempt looks like this:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE TenderNotice [
<!ELEMENT TenderNotice (ContractingAuthority, (ContractInformation,
ContactDetails, Reference)*) >

<!ATTLIST TenderNotice
        PublicationDate         CDATA   #REQUIRED 
        Xml:lang        NMTOKEN         #IMPLIED >

<!-- I don't understand what should be treated as elements and what as
attributes so elements are used below. -->

<!ELEMENT ContractingAuthority (OrganisationName, Address)>
<!ELEMENT OrganisationName (#PCDATA) >
<!ELEMENT Address (Addressline+, Postcode?, Country?) >
<!ELEMENT Addressline (#PCDATA) >
<!ELEMENT Postcode (#PCDATA) >
<!ELEMENT Country (#PCDATA) >

<!-- Should be an ISO3166 Code -->

<!ELEMENT ContractInformation (ObjectOfContract, EstimatedValue?, DeadlineDate?)

<!ELEMENT EstimatedValue (#PCDATA) >

<!-- will need currency attributes -->

<!ELEMENT DeadlineDate (date) >
<!ATTLIST DeadlineDate 
        DeadlineForReceiptof    (Tenders | RequestToParticipate) #REQUIRED
<!ELEMENT date (#PCDATA) >

<! --in accordance with ISO 2014-1976 (YYYYMMDD) for example. There are other
dates that may be equally or more relevant -->

<!ELEMENT ObjectOfContract (WorkDescription, CPVCode*) >
<!ELEMENT WorkDescription (#PCDATA) >

<! -- this is the code for Work descriptions with eleven corresponding language
versions so it could automatically generate the WorkDescription in a chosen
language -->

<!ELEMENT ContactDetails (CommonName, Address, (TelephoneNumber,
FacsimileNumber, EmailAddress,)? Other*) >
<!ELEMENT CommonName (Honorific?, (Initials|GivenName)?, SurName) >
<!ELEMENT Honorific (#PCDATA) >
<!ELEMENT Initials (#PCDATA) >
<!ELEMENT GivenName (#PCDATA) >
<!ELEMENT TelephoneNumber (#PCDATA) >
<!ELEMENT FacsimileNumber (#PCDATA) >
<!ELEMENT EmailAddress (#PCDATA) >

<!ELEMENT Reference (#PCDATA)>

<! -- this is where I want to provide for references to full tender documents,
standard conditions and so on either through URL's, URIs, external entity
references or some other mechanism perhaps with Processing instructions. -->


I don't know whether this is the right place to ask for answers- but can anyone
help or suggest where else could I look?

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)

More information about the Xml-dev mailing list