Draft-fastenrath-ethics-search-protocol-00
From Scratchpad
^ Esp
Internet Engineering Task Force
Internet-Draft
|
Ethics Search Protocol (ESP) for Internet Search Engines |
Status of this Memo
- This memo defines an experimental protocol for the Internet
- community. This memo does not specify an Internet standard of
- any kind. Discussion and suggestions for improvement are
- requested. Distribution of this memo is unlimited.
-
A public mailing list is available at - http://savannah.nongnu.org/projects/esp/
- Internet-Drafts are working documents of the Internet Engineering
- Task Force (IETF), its areas, and its working groups. Note that
- other groups may also distribute working documents as
- Internet-Drafts.
- Internet-Drafts are draft documents valid for a maximum of six
- months and may be updated, replaced, or obsoleted by other
- documents at any time. It is inappropriate to use Internet-Drafts
- as reference material or to cite them other than as "work in
- progress."
- The list of current Internet-Drafts can be accessed at
- http://www.ietf.org/1id-abstracts.html
- The list of Internet-Draft Shadow Directories can be accessed at
- http://www.ietf.org/shadow.html
Copyright Notice
- Public Domain
Abstract
- This document contains a specification for imprints, ethical
- policies and social contracts, the annotation of these, as well
- as the annotation of arbitrary content that can be referenced
- by fully qualified URIs, the submission of digitally signed tickets
- concerning imprints, ethical policies, social contracts or
- annotations and a search interface for internet search engines.
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 01] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
1. Introduction
- The Ethics Search Protocol (ESP) is an application-level protocol for
- the retrieval and search of web resources using HTTP [RFC2616] and
- XML 1.0 [W3C.REC-xml-20040204]. The protocol specifies the format
- of static objects, queries and responses as XML schemata
- [W3C.REC-xmlschema-0-20041028]. The specification of more compact
- alternative formats is beyond the scope of this memo.
- The specification of imprints, ethical policies and social contracts
- derived from ethical policies is the main purpose of the ESP
- protocol. The protocol allows to annotate these objects and to
- post tickets referring to these objects in standard formats.
- In addition annotations and tickets can refer to any other content
- that can be referenced by an URI (e.g. EAN-numbered products).
1.1 Motivation
- Many consumers are today surrounded by offers of unknown ethical
- quality. The verification of production standards is often
- impossible and where governmental or third party standards exist
- there is a strong tendency to undermine these standards by discount
- outlets. One problem is that consumers seldom get the chance to
- communicate ethical requirements because the proper communication
- channels do not exist and many producers prefer to measure consumer
- preferences with a one dimensional scale, the sales.
- The purpose of this memo is to offer a specification for that
- missing communication channel.
1.2 Notational Conventions
- The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
- "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
- document are to be interpreted as described in [RFC2119].
- The "implementation" of a policy refers to the use of a policy in a
- social contract and the "extension" of a policy refers to creating
- a derivative policy from both another policy or from a policy scheme,
- which is a template for the structure of a policy.
- The more often used XSD schema keywords have been abbreviated.
- The abbreviations are CT for "xsd:ComplexType", ST for
- "xsd:simpleType", SEQ for "xsd:sequence", CHOICE for "xsd:choice",
- A for "xsd:attribute", E for "xsd:element", RESTRICTION for
- "xsd:restriction", PATTERN for "xsd:pattern", N for "name", T for
- "type", MIN for "minOccurs" and MAX for "maxOccurs".
1.3 Reference Implementation
- A reference implementation is being developed as open source
- and will be released under the GNU General Public License.
- The homepage of the project is http://esp.nongnu.org/.
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 02] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
Table of Contents
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 03] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
1.4 Overview
- The protocol specified by this document tries to allow search engine
- supported search for ethical policies and requirements. As the
- ethical policies themselves will have to be written in human language
- and not in a computer language, and it seems desireable to keep it
- this way, possible requirements and policies need to be categorized
- and are made navigable as inheritance trees of derived policies or
- derived requirements. The ESP document types PolicyDocument, Imprint
- and SocialContract are the core of specifying ethical policies and
- can be stored as signed documents on web servers of organizations
- that offer an ethical standard and want to advertise it according to
- this specification.
- A search engine crawler can gather these documents and construct a
- database that contains knowledge of all additional criteria the
- search parameter specification of ESP requires in addition to web
- site indices. This includes but is not limited to the trade register
- or association register numbers of entities, their digital signatures
- and their address and contact information. This set of information
- becomes known about any organization that advertises an ethical
- policy, a social contract, that certifies policies or contracts,
- that allows other organizations to extend their policies or policy
- schemes or that acts as a trade register, association register or
- other registry. In the case of registries the digital signature or
- register number may not be available as ESP does not assume that
- such information have to be available about government operated
- registries. The protocol does not specify how these documents are
- gathered as the operation of web crawlers is sufficiently
- established. This draft includes the specification of search
- parameter types and response types, of annotation and ticket
- submission and reponse types and of service and product
- namespace databases.
- Advertisable services are specified independently from this draft as
- the services available in a given area may vary widely and depend on
- cultural and technological parameters that are beyond the scope of
- this draft. Region codes used by ESP can be ISO 3166-2 codes, UN
- location codes or native ESP region codes. The exclusive use of
- ISO 3166-2 was considered insufficient because ISO 3166-2 is not
- freely available.
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 04] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
1.5 Expected Use
- An organization that wants to be found by its social contract will
- have to write and publish a social contract in XML format. The social
- contract consists of a collection of policy references, each
- referring to a specific policy document. Each of the policies
- implemented and their individual levels of implementation can be
- independent search parameters in an ESP search profile.
- Policies written for public use can be made available to be used
- without further modifications in the social contracts of
- organizations that implement those policies (implementors).
- Implementors are otherwise free to write their own policies,
- extending policies or policy schemes that are available to be
- extended. Extending a policy may require certification by the
- policy author, authoring group or third party certification agents.
- Organisations will usually be interested to cooperate with other
- organisations with similar or matching policies to make the common
- subset of their policies an extendable policy or policy scheme
- further down the inheritance tree, so that their policies can become
- more widely known and can be demanded by a broader audience.
- Government or non-government organisations that have recommendations
- for other organisations can offer their recommendations as extendable
- policies or policy schemes and advertise the existance of their
- policies to implementors and potential customers, in order to make a
- certain ethical policy interesting to implement for organizations
- which are open to ethical suggestions by third parties.
1.5.1 Ethical Communities
- Individual search engine users are expected to define their own
- search profiles and include whatever policies or policy scheme they
- deem necessary. An extension to this is the use of predefined
- ethics published by communities that try to uphold certain ethical
- standards. The ethical requirements of a community are effectively
- included into the search profile of an individual user by referring
- to a specific community. The community profile may either be applied
- ahead of any further requirements of the user or it may be used to
- define ethical requirements by name which can then be referred to
- by the same names in the search profil of the user. It is conceivable
- that the definition of search profiles and the verification of company
- policies could become an interesting addition to curricula. [1]
1.5.2 Ethical Economies
- Closed economic systems or partially closed economic systems that
- adhere to common ethical policies can be modelled with ESP. Examples
- for this are regional economies using local currencies (e.g. WIR)
- or charge card systems that advocate ethical policies and require
- adherence to these policies by all points of acceptance. While both
- are possible without ESP the system might encourage adoption.
1.5.3 Search Engines
- Search engines are expected to gather information about ethical
- requirements from user profiles. This is an important information
- channel that delivers information about ethics that are requested
- by potential customers and customers. Users do not have to
- identify themselves when submitting search profiles so the identity
- of a search engine user is not necessarily attached to his or her
- search request.
- It is recommended to sign profiles, to give more emphasis to the
- ethical demands one tries to uphold.
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 05] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
2. The ESP Specification
2.1 Documents
- Static documents required by the ESP protocol are social contracts,
- policies, imprints and annotations. Social contracts and policies
- SHOULD be named after their revision numbers. Imprints SHOULD be
- named imprint.xml and be placed in the top level directory of a web
- site they apply to.
- A policy document SHOULD either be placed in the top level directory
- of an organization that offers only a single type of policy or be
- placed in a directory corresponding to the policy in question. The
- name of the policy file SHOULD be it's revision number with four
- digits for the year, a dot and a single digit for the revision number
- within the given year.
- An annotation SHOULD be placed in an AnnotationSpace, which can be
- a web forum, NNTP server or dedicated database. It is possible to
- publish an annotation by publishing an XML file that contains an
- Annotation type to any web site that is not a dedicated annotation
- space. A web crawler discovering an annotation that is not part of
- an annotation space SHOULD treat the annotation like any other
- annotation. The mime type of annotations SHOULD be
- "application/x-esp-annotation" and the extension SHOULD be ".xan"
- A crawler discovering an annotation outside a dedicated annotation
- space may not recognize it as an annotation if the mime type
- or extension are not as expected.
2.2 Requests and Responses
- The request types are SearchProfile, Ticket and TicketSearchRequest.
- The reponses to these requests are SearchResult, Receipt and
- TicketList. Requests and reponses SHOULD be transported as HTTP
- content but tickets may also be submitted by SMTP or NNTP.
- If a ticket system accepts posting by SMTP or NNTP the receipt
- SHOULD be sent to the originator of the ticket as specified by
- the ticket, even if the ticket does not request a reply or asks
- to avoid a reply, as the receipt should be processed automatically
- by the originator's system; a receipt is not considered a reply.
- Receipts can be identified by their mime type
- "application/x-esp-receipt" and can be filtered conveniently
- by the mail user agent of the recipient.
2.3 Databases
- The ESP specification knows two database types, ServiceNamespace and
- RegionCodes. The RegionCodes database is unique and defines the
- native region codes to be used by the ESP protocol.
- The CategoryNamespace is a database of category names.
- A CategoryNamespace can categorize services, product groups,
- policies, tickets and other complex types in ESP whose categorization
- may be better kept outside the main specification to allow dynamic
- extensions by the user community.
- When something is categorized by a CategoryNamespace a reference to
- that namespace is usually found as an attribute of the element in
- question or of an enclosing element. The most common uses are
- Reference and ReferenceGroup.
- Examples for CategoryNamespaces that categorize services
- could be the North American Industry Classification System (NAICS),
- the United Kingdom Standard Industrial Classification of Economic
- Activities (UKSIC), the International Standard Industrial
- Classification (ISIC) of the United Nations and the Nomenclature
- generale des activites economiques (NACE) of the European Union.
- Every service offered by an organisation MUST lie inside a service
- category namespace but not all services must lie inside the same
- service category namespace.
- Search engines or information providers may translate between well
- known service category namespaces, if the same service description
- can be found in several namespaces.
2.4 XSD Header
- This is the header for the following XSD Schema. Together with all
- chunks of the XSD Schema found in this document the full XSD Schema
- for ESP can be extracted from this draft. This draft was generated
- from the following source file: http://esp.nongnu.org/esp.xsd.gz
<?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://esp.nongnu.org/2005.1" targetNamespace="http://esp.nongnu.org/2005.1" elementFormDefault="qualified" attributeFormDefault="unqualified">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 06] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
3. Simple Types
3.2 Identifier
- An identifier for implementation levels, labels and signs.
- Used by: Paragraph, TicketSearchRequest, PolicyDocument, Chapter, Ticket, Annotation, Category, PolicyReference, PolicyStatement, Receipt
- <ST N="Identifier">
- <RESTRICTION base="xsd:string">
- <PATTERN value="[a-z0-9\.\-_, ]+"/>
- </RESTRICTION>
- <RESTRICTION base="xsd:string">
- </ST>
- <ST N="Identifier">
3.4 Path
- A path of identifiers, separated by slashes.
- Used by: Category, CategoryNamespace, Reference
- <ST N="Path">
- <RESTRICTION base="xsd:string">
- <PATTERN value="[a-z0-9\.\-_, /]+"/>
- </RESTRICTION>
- <RESTRICTION base="xsd:string">
- </ST>
- <ST N="Path">
3.6 Prefix
- A prefix for a path, usually a namespace selector.
- Used by: Community, NamespaceDocumentReference
- <ST N="Prefix">
- <RESTRICTION base="xsd:string">
- <PATTERN value="([a-z][a-z0-9]*)?"/>
- </RESTRICTION>
- <RESTRICTION base="xsd:string">
- </ST>
- <ST N="Prefix">
3.8 PrefixedPath
- A path of identifiers, separated by slashes, with a prefix, separated
- by a colon.
- Used by: Paragraph, ReferenceGroup, Chapter, Match, Category, PolicyReference, PolicyStatement, TicketSystem
- <ST N="PrefixedPath">
- <RESTRICTION base="xsd:string">
- <PATTERN value="([a-z][a-z0-9]*)?:[a-z0-9\.\-_, /]+"/>
- </RESTRICTION>
- <RESTRICTION base="xsd:string">
- </ST>
- <ST N="PrefixedPath">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 07] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
3.10 SynonymResolution
- Possible strategies for synonym resolution:
- "outgoing only" means synonyms can point into other namespaces but
- synonyms from other namespaces cannot point into the this one.
- "listed namespaces only" means synonyms from other namespaces
- can point into this namespaces only if they are referred to by
- this namespaces (with the element "synonym-ns" to
- CategoryNamespace)
- "intransitiv" means other namespaces can point into this
- namespace but the synonyms of entries of other namespaces are not
- automatically assumed to be synonyms to entries of this namespace.
- "no amalgamation" means other namespaces can point into this
- namespace as long as that does not lead to amalgamation of entries
- in this namespace.
- "unrestricted" means other namespaces can point into this namespace
- without restrictions.
- The result of synonym resolution for other namespaces is that a
- search for something categorized as B from namespace NS2 may be
- resolved to something categorized as A from namespace NS1 when
- A refers to B as a synonym and synonym resolution rules allow it to
- be resolved; searching for objects categorized as A will always
- find objects categorized as B because that reference is explicit
- and synonym resolution only applies to implicit references, e.g.
- backward resolution and indirect resolution.
- Used by: CategoryNamespace
- <ST N="SynonymResolution">
- <RESTRICTION base="xsd:string">
- <PATTERN value="(outgoing only)|(listed namespaces only)|(intransitiv)|(no amalgamation)|(unrestricted)"/>
- </RESTRICTION>
- <RESTRICTION base="xsd:string">
- </ST>
- <ST N="SynonymResolution">
3.12 Acronym
- A two or three letter acronym used for ISO 3166-1 country codes.
- Used by: SearchParameters, RegionCodes, Area
- <ST N="Acronym">
- <RESTRICTION base="xsd:string">
- <PATTERN value="[a-z]{1,3}"/>
- </RESTRICTION>
- <RESTRICTION base="xsd:string">
- </ST>
- <ST N="Acronym">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 08] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
3.14 Digits
- A non-zero number of digits.
- Used by: PhoneNumber
- <ST N="Digits">
- <RESTRICTION base="xsd:string">
- <PATTERN value="[0-9]+"/>
- </RESTRICTION>
- <RESTRICTION base="xsd:string">
- </ST>
- <ST N="Digits">
3.16 Continent
- A continent name.
- Used by: Area
- <ST N="Continent">
- <RESTRICTION base="xsd:string">
- <PATTERN value="(Africa)|(America)|(Asia)|(Europe)|(Australia)"/>
- </RESTRICTION>
- <RESTRICTION base="xsd:string">
- </ST>
- <ST N="Continent">
3.18 TradeZone
- A trade zone.
- Used by: Area
- <ST N="TradeZone">
- <RESTRICTION base="xsd:string">
- <PATTERN value="(AU)|(EU)|(NAFTA)|(CSN)|(ASEAN)"/>
- </RESTRICTION>
- <RESTRICTION base="xsd:string">
- </ST>
- <ST N="TradeZone">
3.20 CurrencyType
- A currency type.
- Used by: Currency
- <ST N="CurrencyType">
- <RESTRICTION base="xsd:string">
- <PATTERN value="(national currency)|(timebank)|(LET)|(regional currency)|(sectoral currency)"/>
- </RESTRICTION>
- <RESTRICTION base="xsd:string">
- </ST>
- <ST N="CurrencyType">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 09] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
3.22 CertificationRequirement
- The certification requirement level of different implementation
- levels of a policy can be "none", "available" or "required", which
- means no certification is available, certification is available and
- certification is required at the corresponding implementation level.
- Used by: PolicyDocument
- <ST N="CertificationRequirement">
- <RESTRICTION base="xsd:string">
- <PATTERN value="(none)|(available)|(required)"/>
- </RESTRICTION>
- <RESTRICTION base="xsd:string">
- </ST>
- <ST N="CertificationRequirement">
3.24 ExtImpCategory
- Possible extension or implementation categories are "free",
- "revocable", "on request", "certification available",
- "certification depends on implementation level",
- "certification required" and "private".
- "free" means the policy can be extended without pior consent.
- "revocable" indicates a policy may be freely extended or
- implemented but is revocable by the authoring group and,
- possibly, third parties.
- "on request" means the policy can only be properly implemented
- with the consent of the authoring group. A certification may
- not be required.
- "certification available" means a certification is possible but
- not required.
- "certification depends on implementation level" means that the
- policy has implementation levels that require certification.
- "certification required" means certification is generally required.
- "private" indicates policies that are not for public re-use.
- Used by: PolicyDocument
- <ST N="ExtImpCategory">
- <RESTRICTION base="xsd:string">
- <PATTERN value="(free)|(revocable)|(on request)|(certification available)|(certification depends on implementation level)|(certification required)|(private)"/>
- </RESTRICTION>
- <RESTRICTION base="xsd:string">
- </ST>
- <ST N="ExtImpCategory">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 10] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
3.26 PolicyMatchOperator
- The operator of a PolicyMatchGroup, either "all" (AND) or "one" (OR).
- This is equivalent to the common choice "with all of the words" or
- "with at least one of the words" in search engines' input masks
- but concerning policies here.
- Used by: PolicyMatchGroup
- <ST N="PolicyMatchOperator">
- <RESTRICTION base="xsd:string">
- <PATTERN value="(all)|(one)"/>
- </RESTRICTION>
- <RESTRICTION base="xsd:string">
- </ST>
- <ST N="PolicyMatchOperator">
3.28 PolicyClass
- Possible policy categories are "policy scheme", "extendable policy"
- and "final policy". Policies can extend policy schemes and
- policies can extend other policies.
- Final policies cannot be extended.
- Used by: PolicyDocument
- <ST N="PolicyClass">
- <RESTRICTION base="xsd:string">
- <PATTERN value="(policy scheme)|(extendable policy)|(final policy)"/>
- </RESTRICTION>
- <RESTRICTION base="xsd:string">
- </ST>
- <ST N="PolicyClass">
3.30 Latitude
- The geographical latitude of a geographical coordinate
- (Lat. N + > 0, Lat. S - < 0).
- Used by: Coordinates
- <ST N="Latitude">
- <RESTRICTION base="xsd:string">
- <PATTERN value="N|S|0 [-]?[0-9]{2}(:[0-9]{2}){1,2}"/>
- </RESTRICTION>
- <RESTRICTION base="xsd:string">
- </ST>
- <ST N="Latitude">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 11] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
3.32 Longitude
- The geographical longitude of a geographical coordinate
- (E + > 0, Long. W - < 0).
- Used by: Coordinates
- <ST N="Longitude">
- <RESTRICTION base="xsd:string">
- <PATTERN value="E|W|0 [-]?[0-9]{3}(:[0-9]{2}){1,2}"/>
- </RESTRICTION>
- <RESTRICTION base="xsd:string">
- </ST>
- <ST N="Longitude">
3.34 Revision
- A revision number of the form "(year).(revision)"
- Used by: Imprint, PolicyDocument, RegionCodes, SocialContract, CategoryNamespace
- <ST N="Revision">
- <RESTRICTION base="xsd:string">
- <PATTERN value="20[0-9]{2}\.[0-9]+"/>
- </RESTRICTION>
- <RESTRICTION base="xsd:string">
- </ST>
- <ST N="Revision">
3.36 SignatureType
- The available signature types, currently only OpenPGP.
- Used by: Signature
- <ST N="SignatureType">
- <RESTRICTION base="xsd:string">
- <PATTERN value="(OpenPGP)"/>
- </RESTRICTION>
- <RESTRICTION base="xsd:string">
- </ST>
- <ST N="SignatureType">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 12] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
3.38 AdvertisementType
- The type of advertisement: "sale", "sharing pool",
- "service", "lodging", "auction", "short-term resale",
- "medium-term resale", "long-term resale"
- "sale" indicates a first hand sale.
- "sharing pool" indicates a pool of objects available for lending.
- "service" indicates a service being advertised.
- "lodging" indicates the availability of a lodging opportunity.
- "auction" indicates an object will be auctioned.
- "short-term resale" indicates intend of resale within 1 month.
- "medium-term resale" indicates intend of resale within 6 month.
- "long-term resale" indicates intend of resale after 6 month.
- "long-term resale" may also be used to indicate that an object
- has been newly acquired with the intend to sell it before its
- expiration.
- Used by: Advertisement
- <ST N="AdvertisementType">
- <RESTRICTION base="xsd:string">
- <PATTERN value="(sale)|(sharing pool)|(service)|(lodging)|(auction)|(short-term resale)|(medium-term resale)|(long-term resale)"/>
- </RESTRICTION>
- <RESTRICTION base="xsd:string">
- </ST>
- <ST N="AdvertisementType">
3.40 OfferType
- The offer can be "private", "commercial", "community".
- "private" indicates an offer by an individual.
- "commercial" indicates an offer by a commercial entity.
- "community" indicates an offer inside a community that
- may not be available outside the community.
- Used by: Advertisement
- <ST N="OfferType">
- <RESTRICTION base="xsd:string">
- <PATTERN value="(private)|(commercial)|(community)"/>
- </RESTRICTION>
- <RESTRICTION base="xsd:string">
- </ST>
- <ST N="OfferType">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 13] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
3.42 KeywordMatchType
- The type of keyword match: "all", "exact", "any", "without".
- This is equivalent to the common choice "with all of the words" or
- "with at least one of the words" in search engines' input masks.
- see also: PolicyMatchOperator
- Used by: WebSearchParameters
- <ST N="KeywordMatchType">
- <RESTRICTION base="xsd:string">
- <PATTERN value="(all)|(exact)|(any)|(without)"/>
- </RESTRICTION>
- <RESTRICTION base="xsd:string">
- </ST>
- <ST N="KeywordMatchType">
3.44 EntityType
- A general classification for the type of organization, one of
- "coop", "NGO", "LLC", "company", "association", "government agency",
- "statutory corporation", "working committee", "individual"
- or "other".
- Used by: Entity, AuthenticEntity, EntityPattern
- <ST N="EntityType">
- <RESTRICTION base="xsd:string">
- <PATTERN value="(coop)|(NGO)|(LLC)|(company)|(association)|(government agency)|(statutory corporation)|(working committee)|(individual)|(other)"/>
- </RESTRICTION>
- <RESTRICTION base="xsd:string">
- </ST>
- <ST N="EntityType">
3.46 RegisterType
- A classification for the type of trade register or association
- register, one of "gov. trade register",
- "gov. association register", "private registrar",
- "NGO registry", "chamber of commerce", "chamber of crafts",
- "tax and revenue office", "membership register", "social security",
- "health insurance" and "passport registration office"
- The last three are only applicable for individuals.
- Used by: Register, RegisterPattern
- <ST N="RegisterType">
- <RESTRICTION base="xsd:string">
- <PATTERN value="(gov\. trade register)|(gov\. association register)|(private registrar)|(NGO registry)|(chamber of commerce)|(chamber of crafts)|(tax and revenue office)|(membership register)|(social security)|(health insurance)|(passport registration office)"/>
- </RESTRICTION>
- <RESTRICTION base="xsd:string">
- </ST>
- <ST N="RegisterType">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 14] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
3.48 LanguageList
- A list of 2 or 3 letter ISO 639 language codes, e.g.:
- "br,en,ban,fr,ja,nl,pt,sa,zh"
- (see http://en.wikipedia.org/wiki/ISO_639)
- Used by: FormEditor, SearchParameters, AnnotationSpace, Text, CategoryNamespace, Forum
- <ST N="LanguageList">
- <RESTRICTION base="xsd:string">
- <PATTERN value="(,?[a-z]{2,3}(-[A-Z]{2,3})?)+"/>
- </RESTRICTION>
- <RESTRICTION base="xsd:string">
- </ST>
- <ST N="LanguageList">
3.50 RegionCode
- An ISO 3166-2 region code, an esp native region code or an UN
- location code. The ISO 3166-2 region code cannot be recommended here,
- as it is not freely available. An UN location code may be used to
- specify a location within a region as a reference to that region.
- (see http://www.unece.org/cefact/locode/).
- Specifying an ISO 3166-2 code requires the prefix "iso:", so an
- actual code would be "iso:us-ca". An UN location code requires the
- prefix "locode:", so an actual code would be "locode:de-cgn". A list
- of valid esp native region codes is available at
- http://esp.nongnu.org/xml/regions.xml.txt.gz
- There is no prefix required, e.g.: "de-nrw", "lu-*" or "us-ca".
- The reason for the presence of region codes in this draft is that
- the use of mandatory region codes makes address information more
- redundant and region codes allow more fine grained regional
- searches than the use of country codes.
- Used by: SearchParameters, Contacts, AddressPattern, Address, Area
- <ST N="RegionCode">
- <RESTRICTION base="xsd:string">
- <PATTERN value="((iso:)|(locode:))?[a-z]{2}-(\*|[a-z0-9]{1,3})"/>
- </RESTRICTION>
- <RESTRICTION base="xsd:string">
- </ST>
- <ST N="RegionCode">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 15] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
3.52 LoCode
- An UN location code may be used to specify a location or
- the closest location that does have an UN location code.
- (see http://www.unece.org/cefact/locode/)
- Used by: Coordinates
- <ST N="LoCode">
- <RESTRICTION base="xsd:string">
- <PATTERN value="[a-z]{2}-[a-z0-9]{1,3}"/>
- </RESTRICTION>
- <RESTRICTION base="xsd:string">
- </ST>
- <ST N="LoCode">
3.54 AreaCode
- A telephone area code in the format: +49-221.
- Phone numbers within an element that contains an area code attribute
- may omit the area code, otherwise every phone number has to include
- an areaCode attribute.
- This is always required for mobile phones, 0800 numbers and other
- numbers that do not have an area code prefix.
- Used by: Contacts, AddressPattern, PhoneNumber, Address
- <ST N="AreaCode">
- <RESTRICTION base="xsd:string">
- <PATTERN value="\+[0-9]{1,3}(\-[0-9]{1,6})?"/>
- </RESTRICTION>
- <RESTRICTION base="xsd:string">
- </ST>
- <ST N="AreaCode">
3.56 PageType
- A general classification for a web page:
- "homepage", "sitemap", "press releases", "history/profile"
- "rss news feed", "information retrieval", "imprint", "forum"
- or "3rd party information"
- This could become a CategoryNamespace in future.
- Used by: WebPage
- <ST N="PageType">
- <RESTRICTION base="xsd:string">
- <PATTERN value="(homepage)|(sitemap)|(press releases)|(history/profile)|(rss news feed)|(information retrieval)|(imprint)|(forum)|(3rd party information)"/>
- </RESTRICTION>
- <RESTRICTION base="xsd:string">
- </ST>
- <ST N="PageType">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 16] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
3.58 PhoneType
- A general classification for a phone number: "reception", "office",
- "hotline", "service", "mobile", "fax", "private" or "other".
- Used by: Phone
- <ST N="PhoneType">
- <RESTRICTION base="xsd:string">
- <PATTERN value="(reception)|(office)|(hotline)|(service)|(mobile)|(fax)|(private)|(other)"/>
- </RESTRICTION>
- <RESTRICTION base="xsd:string">
- </ST>
- <ST N="PhoneType">
3.60 EmailType
- A general classification for an email address:
- "general", "customer service", "webmaster", "press contact",
- "legal department", "complaint", "office", "editorial department",
- "private", "other".
- This could become a CategoryNamespace in future.
- Used by: Email
- <ST N="EmailType">
- <RESTRICTION base="xsd:string">
- <PATTERN value="(general)|(customer service)|(webmaster)|(press contact)|(legal department)|(complaint)|(office)|(editorial department)|(private)|(other)"/>
- </RESTRICTION>
- <RESTRICTION base="xsd:string">
- </ST>
- <ST N="EmailType">
3.62 EmailAddress
- A restricted type that matches only email addresses.
- Used by: Email, PhoneNumber, Ticket, Phone
- <ST N="EmailAddress">
- <RESTRICTION base="xsd:string">
- <PATTERN value="[^@]*@[^@]*\.[a-z]*"/>
- </RESTRICTION>
- <RESTRICTION base="xsd:string">
- </ST>
- <ST N="EmailAddress">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 17] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
3.64 SecureHash
- A base64 encoded secure hash code. Currently only SHA1 is allowed.
- This is not security relevant, it is supposed to promote immutability
- of policies. A policy should be considered immutable once published
- and a successor should receive a different name.
- Used by: PolicyReference, PolicyStatement
- <ST N="SecureHash">
- <RESTRICTION base="xsd:string">
- <PATTERN value="sha1:[A-Za-z0-9\+/=]*"/>
- </RESTRICTION>
- <RESTRICTION base="xsd:string">
- </ST>
- <ST N="SecureHash">
3.66 Fingerprint
- An OpenPGP fingerprint.
- Used by: Identity
- <ST N="Fingerprint">
- <RESTRICTION base="xsd:string">
- <PATTERN value="pgp:([A-F0-9]{4}\p{Zs}+){9}[A-F0-9]{4}"/>
- </RESTRICTION>
- <RESTRICTION base="xsd:string">
- </ST>
- <ST N="Fingerprint">
3.68 CoordinateQuality
- The quality of a geographic coordinate, either one of
- "exact", "block", "house number approximation", "street",
- "postal code", "district", "city", "region", "country"
- or "+-10^[1-9]m".
- Used by: Coordinates
- <ST N="CoordinateQuality">
- <RESTRICTION base="xsd:string">
- <PATTERN value="(\+\-10\^[1-9]m)|(exact)|(block)|(house number approximation)|(street)|(postal code)|(district)|(city)|(region)|(country)"/>
- </RESTRICTION>
- <RESTRICTION base="xsd:string">
- </ST>
- <ST N="CoordinateQuality">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 18] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
3.70 Severity
- A severity rating for a problem or incident: "critical", "severe",
- "serious", "noteworthy", "intermediate", "harmless",
- "insignificant".
- A similar rating scheme for product quality has been omitted
- because it is to weak to be of any use as a product rating.
- The problem to be solved lacks generally accepted units of
- measurement and is not one-dimensional. The type VotingScheme
- addresses the problem instead.
- Used by: TicketSearchRequest, Ticket, Annotation
- <ST N="Severity">
- <RESTRICTION base="xsd:string">
- <PATTERN value="(critical)|(severe)|(serious)|(noteworthy)|(intermediate)|(harmless)|(insignificant)"/>
- </RESTRICTION>
- <RESTRICTION base="xsd:string">
- </ST>
- <ST N="Severity">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 19] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
4. Complex Types
4.2 Meta
- A source element for HTML meta data. The meta data can be inserted
- into statically and dynamically generated HTML pages generated
- from a document based on this schema.
- Used by: WebSearchParameters, Header
- <CT N="Meta">
- <A N="name" T="xsd:string" use="required"/>
- <A N="content" T="xsd:string" use="required"/>
- </CT>
- <CT N="Meta">
4.4 Link
- A source element for HTML meta data.
- Used by: Header
- <CT N="Link">
- <A N="rel" T="xsd:string"/>
- <A N="rev" T="xsd:string"/>
- <A N="href" T="xsd:string"/>
- <A N="title" T="xsd:anyURI"/>
- </CT>
- <CT N="Link">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 20] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
4.6 Header
- A header for document meta data and categorization. Categories can
- be transformed to HTML meta data but the preferred format to specify
- categories in ESP is to use the "categories" element. Categories
- encountered in the "meta" attributes SHOULD be ignored and be
- replaced with properly specified categories.
- The following META tag names are recommended:
- "author", "description", "keywords"
- The following tags SHOULD be generated:
- "expires", "rfcNNNN.cat"
- Categories SHOULD be converted to HTML meta data by converting
- namespaces to LINK tags and category references to META tags:
- <link rel="rfcNNNN.ns" id="<prefix>" href="<namespace url>">
- <meta name="rfcNNNN.cat" content="<prefix>:<path>">
- This may be modified for Dublin Core compatibility in future.
- The namespaces used for META tags SHOULD be categorized as
- either "information/content" or "information/meta", according to the
- category namespace "http://esp.nongnu.org/ns/category/2005.1".
- Used by: Imprint, VotingScheme, PolicyDocument, SocialContract, Ticket, Annotation, EvaluationScheme, Advertisement
- <CT N="Header">
- <SEQ>
- <E N="meta" T="Meta" MIN="0" MAX="unbounded"/>
- <E N="link" T="Link" MIN="0" MAX="unbounded"/>
- <E N="categories" T="ReferenceGroup" MIN="0" MAX="1"/>
- </SEQ>
- <SEQ>
- </CT>
- <CT N="Header">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 21] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
4.8 Message
- A complex type that can contain plain text, HTML formatted text or
- elements following another XSD schema, that is outside the scope of
- this draft to define.
- The "schema" attribute MUST refer to an XSD schema if the content of
- the message is in XML format. The targetNamespace of the schema
- referred to by the "schema" attribute may be useful to select
- applicable xslt stylesheets from local system or user preferences.
- The "xsltStyleSheet" attribute MAY refer to a recommended stylesheet
- that can be used to format the content of the message to HTML.
- The "mimeType" attribute MUST specify the mime type of the content.
- Used by: Ticket, Annotation, Advertisement
- <CT N="Message" mixed="true">
- <A N="mimeType" T="xsd:string" use="required"/>
- <A N="schema" T="xsd:anyURI"/>
- <A N="xsltStyleSheet" T="xsd:anyURI"/>
- </CT>
- <CT N="Message" mixed="true">
4.10 Currency
- A type of currency that is accepted. The "url" attribute may refer to
- the web page of a community currency, timebank, LET, barter exchange
- or other medium of exchange.
- Used by: Advertisement
- <CT N="Currency">
- <A N="type" T="CurrencyType"/>
- <A N="url" T="xsd:anyURI"/>
- </CT>
- <CT N="Currency">
4.12 PhoneNumber
- A telephone number with a separate area code or an
- internet telephone contact.
- Used by: Phone
- <CT N="PhoneNumber">
- <A N="areaCode" T="AreaCode"/>
- <A N="local" T="Digits"/>
- <A N="ext" T="Digits"/>
- <A N="url" T="xsd:anyURI"/>
- <A N="sip" T="EmailAddress"/>
- </CT>
- <CT N="PhoneNumber">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 22] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
4.14 WebPage
- A web page with name, url and type.
- Used by: Address
4.16 Phone
- A phone contact with type, name, number and an email address
- to negotiate calls or to avoid calls to this number.
- <CT N="Phone">
- <SEQ>
- <E N="number" T="PhoneNumber" MIN="1" MAX="1"/>
- </SEQ>
- <A N="type" T="PhoneType" use="required"/>
- <A N="name" T="xsd:string"/>
- <A N="email" T="EmailAddress"/>
- <SEQ>
- </CT>
- <CT N="Phone">
4.18 Email
- An email address with type, name and the actual email address.
- <CT N="Email">
- <A N="type" T="EmailType" use="required"/>
- <A N="name" T="xsd:string"/>
- <A N="address" T="EmailAddress" use="required"/>
- </CT>
- <CT N="Email">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 23] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
4.20 Text
- A reference to translations of the containing document. The URL of a
- translation is the concatenation of the "baseUrl" attribute and a
- language code mentioned by the "translations" list.
- Used by: PolicyDocument, SocialContract
- <CT N="Text">
- <A N="translations" T="LanguageList"/>
- <A N="baseUrl" T="xsd:anyURI"/>
- </CT>
- <CT N="Text">
4.22 Area
- An area can be described as a polygon of coordinates (specified by
- "point" elements) or it can be described by "region",
- "country", "continent" or "tradeZone" elements.
- The "radius" attribute specifies the radius in kilometers
- around given points that is part of the area, with the perimeters
- between points shifted outwards by the radius length parallel to the
- corresponding connecting lines at radius zero.
- Specifying points and regions (or countries) restricts the area
- described as a polygon to the given regions (or countries).
- Specifying either "continent" or "tradeZone" makes the area
- exactly the area of the specified continent or trade zone.
- Used by: ServiceInformation
- <CT N="Area">
- <SEQ>
- <E N="point" T="Coordinates" MIN="0" MAX="unbounded"/>
- <E N="region" T="RegionCode" MIN="0" MAX="unbounded"/>
- <E N="country" T="Acronym" MIN="0" MAX="unbounded"/>
- <E N="continent" T="Continent" MIN="0" MAX="5"/>
- <E N="tradeZone" T="TradeZone" MIN="0" MAX="5"/>
- </SEQ>
- <A N="radius" T="xsd:int"/>
- <SEQ>
- </CT>
- <CT N="Area">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 24] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
4.24 ServiceInformation
- A set of service information. The "area" element describes the area
- of service. The "group" element describes the services offered.
- The ReferenceGroup MUST refer to category namespaces of type
- "offering/service", according to category namespace
- "http://esp.nongnu.org/ns/category/2005.1".
- Used by: SocialContract
- <CT N="ServiceInformation">
- <SEQ>
- <E N="area" T="Area" MIN="0" MAX="unbounded"/>
- <E N="group" T="ReferenceGroup" MIN="1" MAX="unbounded"/>
- </SEQ>
- <SEQ>
- </CT>
- <CT N="ServiceInformation">
4.26 Coordinates
- Geographic coordinates.
- Used by: SearchParameters, Address, Area
- <CT N="Coordinates">
- <A N="quality" T="CoordinateQuality"/>
- <A N="loCode" T="LoCode"/>
- <A N="latitude" T="Latitude"/>
- <A N="longitude" T="Longitude"/>
- </CT>
- <CT N="Coordinates">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 25] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
4.28 Address
- An address with optional contact information and coordinates.
- The element "supplement" can be used to specify any type of
- the address that does not fit the standardized fields.
- The "since" attribute can be used to specify since when the
- address is valid or will become valid. The "until" attribute
- can be used to specify when the address becomes invalid or
- has become invalid.
- Used by: Entity, MembershipOrganization, AuthenticEntity
- <CT N="Address">
- <SEQ>
- <E N="supplement" T="xsd:string" MIN="0" MAX="unbounded"/>
- <E N="phone" T="Phone" MIN="0" MAX="unbounded"/>
- <E N="email" T="Email" MIN="0" MAX="unbounded"/>
- <E N="web" T="WebPage" MIN="0" MAX="unbounded"/>
- <E N="coordinates" T="Coordinates" MIN="0" MAX="1"/>
- </SEQ>
- <A N="regionCode" T="RegionCode" use="required"/>
- <A N="areaCode" T="AreaCode" use="required"/>
- <A N="street" T="xsd:string" use="required"/>
- <A N="houseNumber" T="xsd:string" use="required"/>
- <A N="postalCode" T="xsd:string" use="required"/>
- <A N="postOfficeBox" T="xsd:string"/>
- <A N="city" T="xsd:string" use="required"/>
- <A N="since" T="xsd:date"/>
- <A N="until" T="xsd:date"/>
- <SEQ>
- </CT>
- <CT N="Address">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 26] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
4.30 AddressPattern
- An address pattern. All attributes and elements that are present
- correspond to attributes and elements of the same name in the Address
- type but no attribute or element is mandatory.
- Used by: EntityPattern
- <CT N="AddressPattern">
- <SEQ>
- <E N="phone" T="xsd:string" MIN="0" MAX="1"/>
- <E N="email" T="xsd:string" MIN="0" MAX="1"/>
- <E N="web" T="xsd:string" MIN="0" MAX="1"/>
- </SEQ>
- <A N="regionCode" T="RegionCode"/>
- <A N="areaCode" T="AreaCode"/>
- <A N="street" T="xsd:string"/>
- <A N="postalCode" T="xsd:string"/>
- <A N="postOfficeBox" T="xsd:string"/>
- <A N="city" T="xsd:string"/>
- <SEQ>
- </CT>
- <CT N="AddressPattern">
4.32 MembershipOrganization
- A membership organisation.
- Used by: SocialContract
- <CT N="MembershipOrganization">
- </CT>
4.34 DateRange
- A range of dates.
- Used by: TicketSearchRequest
- <CT N="DateRange">
- <A N="from" T="xsd:date" use="required"/>
- <A N="to" T="xsd:date" use="required"/>
- </CT>
- <CT N="DateRange">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 27] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
4.36 TicketSystem
- A ticket submission interface. The URL given as the "url" attribute
- to the "ticket" element MUST react to HTTP GET requests by displaying
- human readable content and MUST be able to receive HTTP POST requests
- that deliver a properly XML formatted Ticket and MUST respond with an
- XML formatted Receipt. If more than one "login" element is given all
- ticket URLs MUST be able to accept any choice of login.
- The URL given as the "view" attribute MUST react to HTTP GET requests
- by displaying human readable content and MUST be able to receive HTTP
- POST requests that deliver an XML formatted TicketSearchRequest and
- respond with a XML formatted TicketList. If ticket systems share
- logins a single identity provider can allow to log in to all sites
- using the same provider. This is only intended to prevent abuse of
- the ticket system, not necessarily to be very secure. Ticket
- submission MAY also require a prior login at the url given as the
- identityProvider attribute of the login element. A login MAY require
- the use of HTTP cookies. A ticket system MAY offer NNTP access by
- specifying an additional "nntp" attribute.
- The "type" attribute MUST be a reference to a CategoryNamespace of
- type "ticket/type", according to the category namespace
- "http://esp.nongnu.org/ns/category/2005.1".
- If posting to the ticket system requires a special editor to fill
- in the required elements of an XSD schema conveniently the "editor"
- attribute MUST refer to this editor.
- Used by: Contacts, PolicyDocument
- <CT N="TicketSystem">
- <SEQ>
- <E N="ns" T="NamespaceDocumentReference" MIN="0" MAX="unbounded"/>
- <E N="login" MIN="0" MAX="unbounded">
- <CT>
- <A N="identityProvider" T="xsd:anyURI" use="required"/>
- </CT>
- <CT>
- </E>
- <E N="ticket" MIN="1" MAX="unbounded">
- <CT>
- <A N="name" T="xsd:string"/>
- <A N="type" T="PrefixedPath" use="required"/>
- <A N="url" T="xsd:anyURI" use="required"/>
- <A N="view" T="xsd:anyURI" use="required"/>
- <A N="nntp" T="xsd:anyURI"/>
- </CT>
- <CT>
- </E>
- <E N="editor" T="FormEditor" MIN="0" MAX="1"/>
- </SEQ>
- <SEQ>
- </CT>
- <CT N="TicketSystem">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 28] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
4.38 Identity
- A digital identity. Currently the only type of identity supported
- is an OpenPGP fingerprint.
- <CT N="Identity">
- <A N="name" T="xsd:string"/>
- <A N="fingerprint" T="Fingerprint" use="required"/>
- </CT>
- <CT N="Identity">
4.40 Contacts
- Contacts grouped by region. To specify contacts in more than one
- region one Contacts element per region MUST be specified.
- Used by: Imprint
- <CT N="Contacts">
- <SEQ>
- <E N="ticket" T="TicketSystem" MIN="0" MAX="unbounded"/>
- <E N="phone" T="Phone" MIN="0" MAX="unbounded"/>
- <E N="email" T="Email" MIN="0" MAX="unbounded"/>
- </SEQ>
- <A N="name" T="xsd:string"/>
- <A N="regionCode" T="RegionCode" use="required"/>
- <A N="areaCode" T="AreaCode" use="required"/>
- <SEQ>
- </CT>
- <CT N="Contacts">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 29] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
4.42 Register
- A register, e.g. a trade register.
- Individuals may specify the registry type "passport registration
- office" and use their passport number as the registration number.
- Some registrars, for example health insurance companies in Germany,
- have an assigned number that is required as a namespace in which
- the assigned number is unique.
- (see http://de.wikipedia.org/wiki/Institutionskennzeichen)
- This number can be specified as the "registrarIdentityNumber"
- attribute. Sometimes registry numbers include a registry identity
- number; this number SHOULD be dublicated as the
- "registrarIdentityNumber" attribute, without removing it from the
- number attribute.
- The registrar identity number is usually assigned by a government
- agency, which SHOULD be specified as a registrar to this registrar,
- if known.
- The "search" attribute, if present, MUST contain an url that
- accepts HTTP POST requests containing SearchParameters and
- responds with SearchResults. The scope of the search MAY be
- limited to entities registered with that registry.
- Used by: Entity, AuthenticEntity
- <CT N="Register">
- <SEQ>
- <E N="entity" T="Entity" MIN="1" MAX="1"/>
- </SEQ>
- <A N="type" T="RegisterType" use="required"/>
- <A N="registrarIdentityNumber" T="xsd:string"/>
- <A N="number" T="xsd:string" use="required"/>
- <A N="search" T="xsd:anyURI"/>
- <A N="since" T="xsd:date"/>
- <A N="until" T="xsd:date"/>
- <SEQ>
- </CT>
- <CT N="Register">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 30] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
4.44 RegisterPattern
- A search pattern for a register, e.g. a trade register.
- Used by: EntityPattern
- <CT N="RegisterPattern">
- <SEQ>
- <E N="entity" T="EntityPattern" MIN="1" MAX="1"/>
- </SEQ>
- <A N="type" T="RegisterType"/>
- <A N="registrarIdentityNumber" T="xsd:string"/>
- <A N="number" T="xsd:string"/>
- <A N="since" T="xsd:date"/>
- <A N="until" T="xsd:date"/>
- <SEQ>
- </CT>
- <CT N="RegisterPattern">
4.46 Certification
- A certification URL. The URL is expected to refer to a human readable
- web page or an XML formatted annotation of the type "certificate".
- Used by: Entity, PolicyStatement, AuthenticEntity
- <CT N="Certification">
- <SEQ>
- <E N="certifyingEntity" T="AuthenticEntity" MIN="1" MAX="1"/>
- </SEQ>
- <A N="certificateUrl" T="xsd:anyURI" use="required"/>
- <SEQ>
- </CT>
- <CT N="Certification">
4.48 OrganizationalUnit
- An organizational unit. OrganizationalUnits may form hierarchies with
- the innermost OrganizationalUnit being the organizational unit
- referred to, e.g.: ( abbr=UN ( ou=ECOSOC ( ou=UNESCO ))).
- Used by: OrganizationalUnit
- <CT N="OrganizationalUnit">
- <SEQ>
- <E N="orgUnit" T="OrganizationalUnit" MIN="0" MAX="1"/>
- </SEQ>
- <A N="name" T="xsd:string" use="required"/>
- <A N="ou" T="xsd:string" use="required"/>
- <SEQ>
- </CT>
- <CT N="OrganizationalUnit">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 31] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
4.50 EntityPattern
- An organizational entity search pattern. All attributes and elements
- that are present correspond to attributes and elements of the same
- name in the Entity and AuthenticEntity types but no attribute
- or element is mandatory.
- When no organization exists an individual can publish an imprint
- with the register type "passport registration office". Further
- register types for individuals may be added as required.
- <CT N="EntityPattern">
- <SEQ>
- <E N="orgUnit" T="xsd:string" MIN="0" MAX="1"/>
- <E N="address" T="AddressPattern" MIN="0" MAX="unbounded"/>
- <E N="id" T="Identity" MIN="0" MAX="1"/>
- <E N="register" T="RegisterPattern" MIN="0" MAX="1"/>
- <E N="certification" T="EntityPattern" MIN="0" MAX="unbounded"/>
- </SEQ>
- <A N="type" T="EntityType"/>
- <A N="since" T="xsd:date"/>
- <A N="birthday" T="xsd:date"/>
- <A N="name" T="xsd:string"/>
- <A N="abbr" T="xsd:string"/>
- <SEQ>
- </CT>
- <CT N="EntityPattern">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 32] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
4.52 Entity
- An organizational entity with a name, address, any number of service
- namespaces and certifications. This entity may not have an identity
- or register number, for example if the entity is a trade register
- that does not have a register number itself. The "since" attribute
- and the "birthday" attribute are synonyms. The "imprint" attribute,
- if present, MUST refer to an imprint following the ESP scheme.
- Used by: Register, VotingScheme, Match, Ticket, Annotation, EvaluationScheme, Receipt, Advertisement
- <CT N="Entity">
- <SEQ>
- <E N="orgUnit" T="xsd:string" MIN="0" MAX="1"/>
- <E N="address" T="Address" MIN="1" MAX="unbounded"/>
- <E N="id" T="Identity" MIN="0" MAX="1"/>
- <E N="register" T="Register" MIN="0" MAX="unbounded"/>
- <E N="certification" T="Certification" MIN="0" MAX="unbounded"/>
- </SEQ>
- <A N="type" T="EntityType" use="required"/>
- <A N="since" T="xsd:date"/>
- <A N="birthday" T="xsd:date"/>
- <A N="name" T="xsd:string" use="required"/>
- <A N="abbr" T="xsd:string"/>
- <A N="imprint" T="xsd:anyURI"/>
- <SEQ>
- </CT>
- <CT N="Entity">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 33] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
4.54 AuthenticEntity
- An organizational entity with a name, address, register number, any
- number of service namespaces and certifications. This entity MUST
- have a register number and an identity. The "since" attribute
- and the "birthday" attribute are synonyms. The "imprint" attribute
- MUST refer to an imprint following the ESP scheme.
- Used by: Imprint, Community, Certification
- <CT N="AuthenticEntity">
- <SEQ>
- <E N="orgUnit" T="xsd:string" MIN="0" MAX="1"/>
- <E N="address" T="Address" MIN="1" MAX="unbounded"/>
- <E N="id" T="Identity" MIN="1" MAX="1"/>
- <E N="register" T="Register" MIN="1" MAX="unbounded"/>
- <E N="certification" T="Certification" MIN="0" MAX="unbounded"/>
- </SEQ>
- <A N="type" T="EntityType" use="required"/>
- <A N="since" T="xsd:date"/>
- <A N="birthday" T="xsd:date"/>
- <A N="name" T="xsd:string" use="required"/>
- <A N="abbr" T="xsd:string"/>
- <A N="imprint" T="xsd:anyURI" use="required"/>
- <SEQ>
- </CT>
- <CT N="AuthenticEntity">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 34] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
4.56 PolicyMatchGroup
- A PolicyMatchGroup is a collection of PolicyReferences and further
- PolicyMatchGroups. Every group can require that all its elements
- match ("all") or that one of its elements matches ("one").
- A group that has a name can be referred to in further groups only
- by that name, omitting the operator, policies and groups.
- PolicyMatchGroups specified in a community's SearchProfile may be
- used by name in a personal SearchProfile, as the Community
- SearchProfiles referred to are effectively included at the
- beginning of the personal search profile. This allows a community
- to specify search criteria for users of the community's profile
- without making them requirements for all members of the community.
- Used by: Filter, PolicyMatchGroup, SearchProfile
- <CT N="PolicyMatchGroup">
- <SEQ>
- <E N="policy" T="PolicyReference" MIN="0" MAX="unbounded"/>
- <E N="group" T="PolicyMatchGroup" MIN="0" MAX="unbounded"/>
- </SEQ>
- <A N="operator" T="PolicyMatchOperator"/>
- <A N="name" T="xsd:string"/>
- <SEQ>
- </CT>
- <CT N="PolicyMatchGroup">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 35] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
4.58 PolicyReference
- A PolicyReference is a reference to a policy, given by the "url"
- attribute. The content of the URL MUST be a PolicyDocument.
- The "level" attribute is an implementation level of the
- PolicyDocument the URL refers to. Specifying a URL that does not
- refer to a PolicyDocument or a level that is not an implementation
- level of that PolicyDocument is an error.
- The "info" and "comment" elements allow to annotate a reference
- to a policy.
- The "type" attribute MUST be a reference into a CategoryNamespace,
- which SHOULD be the default namespace for policy categories.
- The namespace MUST be categorized as "policy/type" according to the
- category namespace "http://esp.nongnu.org/ns/category/2005.1".
- Used by: PolicyMatchGroup
- <CT N="PolicyReference">
- <SEQ>
- <E N="info" T="xsd:anyURI" MIN="0" MAX="1"/>
- <E N="comment" T="xsd:string" MIN="0" MAX="1"/>
- </SEQ>
- <A N="type" T="PrefixedPath" use="required"/>
- <A N="hash" T="SecureHash" use="required"/>
- <A N="url" T="xsd:anyURI" use="required"/>
- <A N="level" T="Identifier"/>
- <SEQ>
- </CT>
- <CT N="PolicyReference">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 36] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
4.60 PolicyGroup
- A policy group is a collection of policy statements that have a
- common topic. The grouping allows to display policies as directory
- trees and serves only the purpose of navigation by the end user.
- Used by: SocialContract, PolicyGroup
- <CT N="PolicyGroup">
- <SEQ>
- <E N="policy" T="PolicyStatement" MIN="0" MAX="unbounded"/>
- <E N="policyGroup" T="PolicyGroup" MIN="0" MAX="unbounded"/>
- </SEQ>
- <A N="name" T="xsd:string"/>
- <A N="lastChanged" T="xsd:date" use="required"/>
- <SEQ>
- </CT>
- <CT N="PolicyGroup">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 37] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
4.62 PolicyStatement
- A policy statement is a reference to a policy, given by the "url"
- attribute. The content of the URL MUST be a PolicyDocument.
- The "level" attribute is an implementation level of the
- PolicyDocument the URL refers to. Specifying a URL that does not
- refer to a PolicyDocument or a level that is not an implementation
- level of that PolicyDocument is an error.
- The "Certification" element, if present, refers to a certificate
- that documents adherance to the specified policy.
- The "type" attribute of a policy statement together with the "type"
- attribute of the enclosing policy group must match the type of the
- policy it refers to. This is redundant and allows to verify the
- type safety and integrity of the reference.
- The "info" and "comment" elements allow to annotate a reference
- to a policy.
- The "type" attribute MUST be a reference into a CategoryNamespace,
- which SHOULD be the default namespace for policy categories.
- The namespace MUST be categorized as "policy/type" according to the
- category namespace "http://esp.nongnu.org/ns/category/2005.1".
- Used by: PolicyGroup
- <CT N="PolicyStatement">
- <SEQ>
- <E N="info" T="xsd:anyURI" MIN="0" MAX="1"/>
- <E N="comment" T="xsd:string" MIN="0" MAX="1"/>
- <E N="certification" T="Certification" MIN="0" MAX="1"/>
- </SEQ>
- <A N="type" T="PrefixedPath" use="required"/>
- <A N="hash" T="SecureHash" use="required"/>
- <A N="lastChanged" T="xsd:date"/>
- <A N="url" T="xsd:anyURI" use="required"/>
- <A N="level" T="Identifier"/>
- <SEQ>
- </CT>
- <CT N="PolicyStatement">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 38] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
4.64 Signature
- A digital signature. The type of signature MUST be OpenPGP.
- The signature signs the previous non-signature XML element, starting
- with the opening angular bracket and ending with the closing angular
- bracket.
- Used by: Esp
- <CT N="Signature">
- <SEQ>
- <E N="base64" T="xsd:base64Binary" MIN="1" MAX="1"/>
- </SEQ>
- <A N="type" T="SignatureType" use="required"/>
- <A N="version" T="xsd:string" use="required"/>
- <SEQ>
- </CT>
- <CT N="Signature">
4.66 Community
- An online or offline community that may recommend certain ethical
- standards. The "profile" element refers to a search profile
- specifying ethical requirements of the community. A community may
- have more than one profile.
- "profile" elements in a Community may refer to further profiles
- offered by a community. These profiles are for documentation only
- and are not applied unless referred to by a SearchProfile.
- The "prefix" attribute specifies a prefix that may be used to prefix
- any references to PolicyMatchGroups imported from this profile.
- A prefix is prepended to a name with a separating colon in between:
- <prefix>:<name>.
- The "categories" element, if present, specifies a categorization
- for the community. The default namespace with the empty prefix (":")
- refers to "http://esp.nongnu.org/ns/community/2005.1".
- The ReferenceGroup MUST refer to category namespaces of type
- "community", according to category namespace
- "http://esp.nongnu.org/ns/category/2005.1".
- Used by: Imprint, SearchProfile
- <CT N="Community">
- <SEQ>
- <E N="categories" T="ReferenceGroup" MIN="0" MAX="1"/>
- <E N="profile" T="xsd:anyURI" MIN="1" MAX="unbounded"/>
- <E N="entity" T="AuthenticEntity" MIN="1" MAX="1"/>
- <E N="forum" T="Forum" MIN="0" MAX="unbounded"/>
- <E N="annotationSpace" T="AnnotationSpace" MIN="0" MAX="unbounded"/>
- </SEQ>
- <A N="prefix" T="Prefix"/>
- <SEQ>
- </CT>
- <CT N="Community">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 39] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
4.68 Filter
- Filters can be applied by the search engine or by the user
- application to reduce search results.
- Filtering continues until the search result is reduced below the
- number of desired maximum matches. Filtering is terminated with
- the result of the last filter processed as the end result when
- less than the desired number of minimum matches remains.
- Used by: SearchProfile
- <CT N="Filter">
- <SEQ>
- <E N="policyMatch" T="PolicyMatchGroup" MIN="0" MAX="unbounded"/>
- </SEQ>
- <A N="apply" T="xsd:boolean"/>
- <SEQ>
- </CT>
- <CT N="Filter">
4.70 NamespaceDocumentReference
- A reference to a namespace document. The "prefix" attribute is a
- prefix to be assigned to the namespace referenced by the "ns"
- attribute.
- A prefix of length zero is valid and allows a path, that is
- abbreviated with this prefix, to begin with a colon.
- The "name" attribute is an arbitrary name that may explain
- the purpose or context in which the namespace is referred to.
- Used by: ReferenceGroup, PolicyDocument, SocialContract, CategoryNamespace, SearchResult, TicketSystem
- <CT N="NamespaceDocumentReference">
- <A N="url" T="xsd:anyURI" use="required"/>
- <A N="name" T="xsd:string"/>
- <A N="prefix" T="Prefix"/>
- </CT>
- <CT N="NamespaceDocumentReference">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 40] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
4.72 ReferenceGroup
- A group of references into a namespace. The "ns" element is a URL to
- a namespace document (containing a CategoryNamespace)
- and the "path" attribute of the "ref" element is a prefixed path
- within a document, each Identifier corresponding to
- a product group, service group or other directory entry.
- The optional "url" attribute may be used when the context requires a
- reference to further information, e.g. a reference to a
- human readable web page inside the ServiceInformation type, further
- describing a service offered.
- The "name" attribute is an arbitrary name that may explain
- the purpose or context in which the group is used.
- Used by: CategorizedLink, OrganizationSearchParameters, PolicyDocument, ServiceInformation, Community, Header
- <CT N="ReferenceGroup">
- <SEQ>
- <E N="ns" T="NamespaceDocumentReference" MIN="0" MAX="unbounded"/>
- <E N="ref" MIN="0" MAX="unbounded">
- <CT>
- <A N="path" T="PrefixedPath" use="required"/>
- <A N="url" T="xsd:anyURI"/>
- </CT>
- <CT>
- </E>
- </SEQ>
- <A N="name" T="xsd:string"/>
- <SEQ>
- </CT>
- <CT N="ReferenceGroup">
4.74 Reference
- A reference into a namespace. The "ns" attribute is a URL to a
- namespace document (containing a CategoryNamespace)
- and the "ref" attribute is a slash separated path of Identifiers
- within that document, each Identifier corresponding to
- a product group, service group or other directory entry.
- Used by: CategorizedLink, TicketSearchRequest, Ticket, Annotation, Advertisement
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 41] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
4.76 Category
- A category is an element of a CategoryNamespace that can be
- referred to by a PrefixedPath.
- The namespace prefix is separated with a colon (":") and
- category labels use the slash ("/") as the separator character.
- Path examples could be
- "<ns>:MyServiceNS:craft/carpentry" for a service category or
- "<ns>:MyProductNS:power source/solar power/solar cells" for a product
- category.
- The "label" attribute specifies the label of the category which
- forms a path together with the labels of enclosing categories.
- The "url" attribute may point to a more elaborate description
- of the category.
- The "redirect" attribute in connection with a "deprecated" attribute
- means the category has been moved or replaced by another category.
- The "redirect" attribute alone means the category is intended
- as a reference to another category.
- The "include" element refers to another CategoryNamespace of the
- same type that is included as a subtree under the Category
- the include appears in.
- The "synonym" references refer to categories in other namespaces,
- given by the "synonym-ns" element of the enclosing CategoryNamespace.
- Used by: Category, CategoryNamespace
- <CT N="Category">
- <SEQ>
- <E N="name" T="MultilingualText" MIN="0" MAX="1"/>
- <E N="description" T="MultilingualText" MIN="0" MAX="1"/>
- <E N="include" T="xsd:anyURI" MIN="0" MAX="unbounded"/>
- <E N="synonym" MIN="0" MAX="unbounded">
- <CT>
- <A N="ref" T="PrefixedPath"/>
- </CT>
- <CT>
- </E>
- <E N="category" T="Category" MIN="0" MAX="unbounded"/>
- </SEQ>
- <A N="label" T="Identifier" use="required"/>
- <A N="since" T="xsd:date"/>
- <A N="until" T="xsd:date"/>
- <A N="deprecated" T="xsd:date"/>
- <A N="redirect" T="Path"/>
- <A N="url" T="xsd:anyURI"/>
- <SEQ>
- </CT>
- <CT N="Category">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 42] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
4.78 Hit
- A matching URL. The quality is a relative rating that can be defined
- by the search engine operator. The links attribute gives the number
- of pages that link to this page.
- The about attribute gives the number of pages that are about this
- page, referring to it with a (link rel="about" href="URL") tag in the
- HTML header.
- Search engines MAY evaluate the meta tag "(prefix):about/digest/sha1"
- (see "Header") and expire links that no longer refer to the original
- content.
- The annotations attribute gives the number of annotations for this
- URL. Annotations in this context are only XML formatted objects that
- follow this XSD Schema and contain an Annotation type.
- Used by: Match
- <CT N="Hit">
- <SEQ>
- <E N="abstract" T="xsd:string" MIN="0" MAX="1"/>
- <E N="metaData" T="xsd:string" MIN="0" MAX="1"/>
- <E N="snippet" T="xsd:string" MIN="0" MAX="unbounded"/>
- </SEQ>
- <A N="name" T="xsd:string" use="required"/>
- <A N="url" T="xsd:anyURI" use="required"/>
- <A N="quality" T="xsd:int"/>
- <A N="lastChanged" T="xsd:date"/>
- <A N="lastChecked" T="xsd:date"/>
- <A N="links" T="xsd:int"/>
- <A N="about" T="xsd:int"/>
- <A N="annotations" T="xsd:int"/>
- <SEQ>
- </CT>
- <CT N="Hit">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 43] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
4.80 Match
- A match contains the matching entity and a service description.
- Service types are contained in service type namespaces, which are to
- be specified by service type namespace providers, e.g. a chamber of
- commerce or a yellow pages service. It may also contain any number of
- urls that match further search criteria, e.g. textual search criteria
- or service description criteria.
- Used by: SearchResult
- <CT N="Match">
- <SEQ>
- <E N="entity" T="Entity" MIN="0" MAX="unbounded"/>
- <E N="page" T="Hit" MIN="0" MAX="unbounded"/>
- <E N="service" T="PrefixedPath" MIN="0" MAX="unbounded"/>
- </SEQ>
- <SEQ>
- </CT>
- <CT N="Match">
4.82 CategorizedLink
- A link to a categorized piece of information or offering.
- The "uri" attribute contains the url of a web page that a link or
- annotation refers to.
- The "productGroup", "serviceType" or "lodgingCategory" attributes
- indicate that a matching object must be an Avertisement of
- corresponding type, in which case the "uri" attribute is ignored.
- The "categories" element specifies further required categories of
- the object that is being referred to.
- The "votingScheme" attribute restricts results to Annotations or
- Advertisements referring to the given VotingScheme.
- Used by: WebSearchParameters
- <CT N="CategorizedLink">
- <SEQ>
- <CHOICE MIN="0" MAX="1">
- </CHOICE>
- <E N="categories" T="ReferenceGroup" MIN="0" MAX="1"/>
- </SEQ>
- <A N="votingScheme" T="xsd:anyURI"/>
- <A N="uri" T="xsd:anyURI"/>
- <SEQ>
- </CT>
- <CT N="CategorizedLink">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 44] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
4.84 WebSearchParameters
- A collection of common web search parameters. All elements that are
- specified add cumulative restrictions. The search for meta tags
- is supposed to allow searching for information categories from
- namespaces of type "information/content" and "information/meta",
- and searching for pages that specify
- <link rel="about" href="URL">, <link rel="copyright" href="URL">
- (e.g. for http://creativecommons.org/)
- The elements linksTo and annotates allows to search for pages
- that link conventionally to the given URL or that annotate the
- given URL with an ESP Annotation.
- The element advertisement allows to search for Advertisements.
- Used by: SearchParameters
- <CT N="WebSearchParameters">
- <SEQ>
- <E N="text" MIN="0" MAX="unbounded">
- <CT>
- <A N="keywords" T="xsd:string"/>
- <A N="type" T="KeywordMatchType"/>
- </CT>
- <CT>
- </E>
- <E N="meta" T="Meta" MIN="0" MAX="unbounded"/>
- <E N="linksTo" T="CategorizedLink" MIN="0" MAX="unbounded"/>
- <E N="annotates" T="CategorizedLink" MIN="0" MAX="unbounded"/>
- <E N="advertisement" T="CategorizedLink" MIN="0" MAX="unbounded"/>
- <E N="lastChange" MIN="0" MAX="1">
- <CT>
- <A N="after" T="xsd:date"/>
- </CT>
- <CT>
- </E>
- <E N="text" MIN="0" MAX="unbounded">
- </SEQ>
- <SEQ>
- </CT>
- <CT N="WebSearchParameters">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 45] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
4.86 OrganizationSearchParameters
- A collection of common organization and service search parameters.
- All elements that are specified add cumulative restrictions.
- From each "service" element specified at least one service must
- match a service offered by an entity in the search result.
- The "services" ReferenceGroup MUST refer to category namespaces of
- type "offering/service", according to category namespace
- "http://esp.nongnu.org/ns/category/2005.1".
- Used by: SearchParameters
- <CT N="OrganizationSearchParameters">
- <SEQ>
- <E N="entity" T="EntityPattern" MIN="0" MAX="unbounded"/>
- <E N="service" T="ReferenceGroup" MIN="0" MAX="unbounded"/>
- <E N="serviceAvailableSince" MIN="0" MAX="1">
- <CT>
- <A N="before" T="xsd:date"/>
- </CT>
- <CT>
- </E>
- <E N="entityEstablished" MIN="0" MAX="1">
- <CT>
- <A N="before" T="xsd:date"/>
- </CT>
- <CT>
- </E>
- <E N="lastChange" MIN="0" MAX="1">
- <CT>
- <A N="after" T="xsd:date"/>
- </CT>
- <CT>
- </E>
- </SEQ>
- <SEQ>
- </CT>
- <CT N="OrganizationSearchParameters">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 46] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
4.88 FormEditor
- If posting to a Forum or AnnotationSpace requires a special editor to
- fill in the required elements of an XSD schema conveniently this
- type MUST refer to an editor implemented as a Java Applet, Java
- WebStart or similar application. The editor MUST NOT require a remote
- service to function. The editor MAY interact with services exposed by
- the web browser, as, for example, the NNTP reader and NNTP posting.
- Specifying the interface for service exposure is beyond this draft
- to specify.
- Used by: AnnotationSpace, Forum, TicketSystem
- <CT N="FormEditor">
- <A N="url" T="xsd:anyURI" use="required"/>
- <A N="languages" T="LanguageList" use="required"/>
- </CT>
- <CT N="FormEditor">
4.90 Forum
- An internet forum. A forum may share an NNTP server with a
- TicketSystem and/or AnnotationSpace. A suggested hierarchy for the
- NNTP server is "(lang.)(name.)ticket.*", "(lang.)(name.)forum.*" and
- "(lang.)(name.)annotations.*". The "url" attribute refers to a web
- page that allows to access the forum as a web forum. If posting to
- the forum requires a special editor to fill in the required elements
- of an XSD schema conveniently the "editor" attribute MUST refer to
- this editor.
- Used by: Community
- <CT N="Forum">
- <SEQ>
- <E N="editor" T="FormEditor" MIN="0" MAX="1"/>
- </SEQ>
- <A N="name" T="xsd:string" use="required"/>
- <A N="url" T="xsd:anyURI" use="required"/>
- <A N="nntp" T="xsd:anyURI"/>
- <A N="languages" T="LanguageList" use="required"/>
- <SEQ>
- </CT>
- <CT N="Forum">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 47] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
4.92 AnnotationSpace
- A storage space for Annotations. Annotations can be stored as web
- pages on a web server, as NNTP messages in an NNTP server or in a
- dedicated database.
- The "url" attribute specifies a login web page for visitors of the
- annotation space. The "nntp" attribute specifies an NNTP server, if
- available. The "index" attribute specifies an index suitable for
- search engine crawlers, e.g. a web page of daily indices containing
- new additions.
- If posting to the annotationSpace requires a special editor to fill
- in the required elements of an XSD schema conveniently the "editor"
- attribute MUST refer to this editor.
- An AnnotationSpace SHOULD be able to store Advertisements.
- Used by: Community
- <CT N="AnnotationSpace">
- <SEQ>
- <E N="editor" T="FormEditor" MIN="0" MAX="1"/>
- </SEQ>
- <A N="name" T="xsd:string" use="required"/>
- <A N="url" T="xsd:anyURI" use="required"/>
- <A N="nntp" T="xsd:anyURI"/>
- <A N="index" T="xsd:anyURI"/>
- <A N="languages" T="LanguageList" use="required"/>
- <SEQ>
- </CT>
- <CT N="AnnotationSpace">
4.94 Vote
- A single vote.
- Used by: Annotation, Advertisement
- <CT N="Vote">
- <SEQ/>
- <A N="name" T="xsd:string" use="required"/>
- <A N="choice" T="xsd:string" use="required"/>
- </CT>
- <CT N="Vote">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 48] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
4.96 MultilingualText
- A multilingual text with common ISO 639 language codes as attributes,
- each attribute refering to the translation of its language.
- An exception is the "trs" code for pinyin transcription of
- chinese text or other transcriptions.
- Used by: VotingScheme, RegionCodes, Category, EvaluationScheme
- <CT N="MultilingualText">
- <A N="ar" T="xsd:string"/>
- <A N="br" T="xsd:string"/>
- <A N="cs" T="xsd:string"/>
- <A N="da" T="xsd:string"/>
- <A N="de" T="xsd:string"/>
- <A N="el" T="xsd:string"/>
- <A N="en" T="xsd:string"/>
- <A N="es" T="xsd:string"/>
- <A N="et" T="xsd:string"/>
- <A N="fr" T="xsd:string"/>
- <A N="fi" T="xsd:string"/>
- <A N="hi" T="xsd:string"/>
- <A N="hu" T="xsd:string"/>
- <A N="it" T="xsd:string"/>
- <A N="ja" T="xsd:string"/>
- <A N="lv" T="xsd:string"/>
- <A N="lt" T="xsd:string"/>
- <A N="mt" T="xsd:string"/>
- <A N="nl" T="xsd:string"/>
- <A N="pl" T="xsd:string"/>
- <A N="pt" T="xsd:string"/>
- <A N="ru" T="xsd:string"/>
- <A N="sk" T="xsd:string"/>
- <A N="sl" T="xsd:string"/>
- <A N="sv" T="xsd:string"/>
- <A N="tr" T="xsd:string"/>
- <A N="zh" T="xsd:string"/>
- <A N="trs" T="xsd:string"/>
- </CT>
- <CT N="MultilingualText">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 49] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
4.98 Footnote
- A footnote for text contained in a paragraph.
- "abbr" is the abbreviated literature reference, e.g. "LIT-172".
- "ref" is a reference to an online version of the paper, if available.
- "title" is the title of the paper.
- "publisher" is the name of the publisher.
- "published" is the publishing date.
- "author" is a comma separated list of the authors.
- "urn" is a urn for the paper, if available, e.g.
- "urn:isbn:0123456789" for ISBN numbers.
- "page" is the page number of the reference in the printed version.
- Used by: Paragraph
- <CT N="Footnote">
- <A N="abbr" T="xsd:string"/>
- <A N="ref" T="xsd:anyURI"/>
- <A N="title" T="xsd:string"/>
- <A N="publisher" T="xsd:string"/>
- <A N="published" T="xsd:date"/>
- <A N="author" T="xsd:string"/>
- <A N="urn" T="xsd:anyURI"/>
- <A N="page" T="xsd:string"/>
- </CT>
- <CT N="Footnote">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 50] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
4.100 Paragraph
- The "level" attribute refers to the implementation level(s) that
- require(s) adherance to this paragraph. The "label" attribute is to
- be reproduced as an HTML label in HTML formatted versions of the
- enclosing document.
- If the "title" attribute is omitted the label can be used as a title.
- The "type" attribute(s), if present, MUST refer to a categorization
- of the content of the paragraph,
- e.g.: ":liabilities/legal measures/dissuasion/authorized parties".
- The default namespace with the empty prefix (":")
- refers to "http://esp.nongnu.org/ns/policy_structure/2005.1".
- A paragraph with the "final" attribute set to true may not be
- modified in policies extending this policy.
- <CT N="Paragraph" mixed="true">
- <SEQ>
- </SEQ>
- <A N="lastChanged" T="xsd:date" use="required"/>
- <A N="level" T="Identifier"/>
- <A N="title" T="xsd:string"/>
- <A N="label" T="xsd:string" use="required"/>
- <A N="type" T="PrefixedPath"/>
- <A N="final" T="xsd:boolean"/>
- </CT>
- <CT N="Paragraph" mixed="true">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 51] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
4.102 Chapter
- The "level" attribute refers to the implementation level(s) that
- require(s) adherance to this paragraph. The "label" attribute is to
- be reproduced as an HTML label.
- in HTML formatted versions of the enclosing document.
- The "type" attribute MUST refer to a categorization of the content
- of the chapter,
- e.g.: ":liabilities/legal measures/dissuasion/authorized parties".
- A chapter SHOULD have only one "type" attribute, possibly leaving
- further distinction to the paragraphs within the chapter.
- The default namespace with the empty prefix (":")
- refers to "http://esp.nongnu.org/ns/policy_structure/2005.1".
- Used by: PolicyDocument
- <CT N="Chapter">
- <SEQ>
- <E N="abstract" T="xsd:string" MIN="0" MAX="1"/>
- <E N="paragraph" T="Paragraph" MIN="1" MAX="unbounded"/>
- </SEQ>
- <A N="lastChanged" T="xsd:date" use="required"/>
- <A N="level" T="Identifier"/>
- <A N="title" T="xsd:string" use="required"/>
- <A N="label" T="xsd:string" use="required"/>
- <A N="type" T="PrefixedPath"/>
- <SEQ>
- </CT>
- <CT N="Chapter">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 52] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
5. Top Level Types
5.2 TicketSearchRequest
- A ticket search request that may be sent with a HTTP POST request to
- the URL given as the "view" attribute of a ticket system.
- All attributes that may be specified more than once match a ticket
- when one of the specified values matches a given ticket.
- The "refersTo" element is a list of URIs to be matched against the
- "uri" elements in a Ticket.
- Used by: Esp
- <CT N="TicketSearchRequest">
- <SEQ>
- <E N="originator" T="EntityPattern" MIN="0" MAX="unbounded"/>
- <E N="about" T="EntityPattern" MIN="0" MAX="unbounded"/>
- <E N="submission" T="DateRange" MIN="0" MAX="1"/>
- <E N="modification" T="DateRange" MIN="0" MAX="1"/>
- <E N="type" T="Reference" MIN="0" MAX="unbounded"/>
- <E N="status" T="Reference" MIN="0" MAX="unbounded"/>
- <E N="severity" T="Severity" MIN="0" MAX="unbounded"/>
- <E N="signedBy" T="Identity" MIN="0" MAX="unbounded"/>
- <E N="refersTo" T="xsd:anyURI" MIN="0" MAX="unbounded"/>
- </SEQ>
- <A N="submittersSign" T="Identifier"/>
- <A N="ourSign" T="Identifier"/>
- <SEQ>
- </CT>
- <CT N="TicketSearchRequest">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 53] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
5.4 CategoryNamespace
- A namespace document specifying categories.
- A namespace provider can be an open service, like dmoz.org, or any
- other entity that maintains a list of categories. In the case of
- product group categories these might be standardization organi -
- zations or consumer protection groups. In the case of service
- categories these might be yellow pages services, chambers of commerce
- or trade registers.
- The last part of the URL of a CategoryNamespace document SHOULD
- be it's revision number.
- The revision number of a category namespace SHOULD be changed when
- structure is removed from the namespace. The revision number of a
- category namespace SHOULD NOT be changed when structure is added
- to the namespaces, this includes "deprecated" and "redirect"
- attributes of categories.
- The reason for this is that removing structure can invalidate
- references into the namespace while adding structure cannot.
- When structure is removed it is beneficial that older references
- keep referring to the old structure.
- The "include" element refers to another CategoryNamespace of the
- same type that is included as a subtree under the root.
- The "synonym-ns" elements refer to other namespaces that are
- used to define synonyms for categories (see Category).
- Used by: Esp
- <CT N="CategoryNamespace">
- <SEQ>
- <E N="synonym-ns" T="NamespaceDocumentReference" MIN="0" MAX="unbounded"/>
- <E N="category" T="Category" MIN="1" MAX="unbounded"/>
- <E N="include" T="xsd:anyURI" MIN="0" MAX="unbounded"/>
- </SEQ>
- <A N="ns" T="xsd:anyURI" use="required"/>
- <A N="type" T="Path" use="required"/>
- <A N="languages" T="LanguageList" use="required"/>
- <A N="lastChanged" T="xsd:date" use="required"/>
- <A N="revision" T="Revision" use="required"/>
- <A N="superceded-by" T="xsd:anyURI"/>
- <A N="synonym-resolution" T="SynonymResolution"/>
- <SEQ>
- </CT>
- <CT N="CategoryNamespace">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 54] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
5.6 SearchParameters
- A set of standard search parameters. The "result" and "restrictions"
- attributes can specify constraints, like the mininum and maximum
- numbers of hits, and the regions, countries, languages and sites
- to be considered. A request to store the result for future retrieval
- until a given date can be specified by the "keepResultUntil"
- attribute.
- If a "destination" attribute is specified either the "searchRadius"
- attribute MUST by present and specify the search radius in kilometers
- or the "serviceArea" attribute MUST indicate that only services
- with a defined service area that contains the destination should be
- returned. It is allowed to specify both attributes, in which case
- the searchRadius is a filter for the maximum distance between the
- service's point of origin and the destination.
- Specifying web search parameters and organization search
- parameters restricts the search to web pages of organizations who
- match the given organization search parameters while organization
- search parameters alone SHOULD only return the explicitly listed
- web site addresses of those organizations.
- The "profile" element allows to specify a search profile.
- Any search profile retrieved from a URL MAY be cached by the search
- engine for as long as HTTP expiration rules indicate.
- The "modified" attribute can be used to indicate that a profile may
- have been modified within that period.
- Used by: Esp
- <CT N="SearchParameters">
- <SEQ>
- <E N="profile" T="SearchProfile" MIN="0" MAX="1"/>
- <E N="web" T="WebSearchParameters" MIN="0" MAX="1"/>
- <E N="org" T="OrganizationSearchParameters" MIN="0" MAX="1"/>
- <E N="result" MIN="1" MAX="1">
- <CT>
- <A N="maximumHits" T="xsd:int"/>
- <A N="minimumHits" T="xsd:int"/>
- <A N="keepResultUntil" T="xsd:dateTime"/>
- </CT>
- <CT>
- </E>
- <E N="restrictions" MIN="0" MAX="1">
- <CT>
- <SEQ>
- <E N="destination" T="Coordinates" MIN="1" MAX="1"/>
- <E N="country" T="Acronym" MIN="0" MAX="unbounded"/>
- <E N="region" T="RegionCode" MIN="0" MAX="unbounded"/>
- <E N="site" T="xsd:string" MIN="0" MAX="unbounded"/>
- </SEQ>
- <A N="languages" T="LanguageList"/>
- <A N="serviceArea" T="xsd:boolean"/>
- <A N="searchRadius" T="xsd:int"/>
- <SEQ>
- </CT>
- <CT>
- </E>
- </SEQ>
- <A N="modified" T="xsd:dateTime"/>
- <SEQ>
- </CT>
- <CT N="SearchParameters">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 55] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
5.8 SearchProfile
- A profile that can be specified as an additional search criterion
- for search engines that support searching based on esp. The search
- profile can refer to policy schemes instead of policies, in which
- case all derived policies will be matched.
- The "include" element allows to include any number of further
- profiles into the specified profile. The included profiles MUST be
- retrieved and SHOULD be cached by a search engine.
- A SearchProfile that specifies a Community SHOULD only be considered
- a profile of that community if signed by the community, otherwise the
- profile SHOULD be considered an anonymous search request.
- The "url" of a profile SHOULD specify the original URL of the
- profile, if the profile is publicly available.
- The "apply" attribute decides wether the criteria specified in the
- search profile are actually applied or only evaluated to define
- named PolicyMatchGroups that can be reused by other search profiles.
- The mime type for esp profiles is application/x-esp-profile.
- Used by: Esp, SearchParameters
- <CT N="SearchProfile">
- <SEQ>
- <E N="criteria" T="PolicyMatchGroup" MIN="0" MAX="unbounded"/>
- <E N="community" T="Community" MIN="0" MAX="unbounded"/>
- <E N="filter" T="Filter" MIN="0" MAX="unbounded"/>
- <E N="include" T="xsd:anyURI" MIN="0" MAX="unbounded"/>
- </SEQ>
- <A N="apply" T="xsd:boolean"/>
- <A N="url" T="xsd:anyURI"/>
- <SEQ>
- </CT>
- <CT N="SearchProfile">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 56] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
5.10 SearchResult
- The standard result format for searches based on esp. The number of
- results is the total number of matches for the given criteria and
- community, no filters applied. The result may be stored for retrieval
- by third parties under the URL specified by the attribute "url" and
- until the date given in the "until" attribute.
- When an error attribute is present an error occured and the error
- attribute specifies the error in detail.
- The "ns" element MUST be used to abbreviate service names in the
- following match elements.
- Used by: Esp
- <CT N="SearchResult">
- <SEQ>
- <E N="ns" T="NamespaceDocumentReference" MIN="0" MAX="unbounded"/>
- <E N="match" T="Match" MIN="0" MAX="unbounded"/>
- </SEQ>
- <A N="results" T="xsd:int" use="required"/>
- <A N="url" T="xsd:anyURI"/>
- <A N="until" T="xsd:date"/>
- <A N="more" T="xsd:anyURI"/>
- <A N="errorNumber" T="xsd:int"/>
- <A N="error" T="xsd:string"/>
- <SEQ>
- </CT>
- <CT N="SearchResult">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 57] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
5.12 VotingScheme
- A voting scheme is a list of votes and possible choices for each
- vote. If an "until" attribute is given a voting is considered closed
- at the given date and time.
- The "info" and "results" pages MAY refer to human readable web pages.
- If the URL of a voting scheme is changed this creates a new voting.
- Used by: Esp
- <CT N="VotingScheme">
- <SEQ>
- <E N="header" T="Header" MIN="0" MAX="1"/>
- <E N="originator" T="Entity" MIN="1" MAX="1"/>
- <E N="vote" MIN="1" MAX="unbounded">
- <CT>
- <SEQ>
- <E N="description" T="MultilingualText" MIN="0" MAX="1"/>
- <E N="choice" T="xsd:string" MIN="0" MAX="unbounded"/>
- </SEQ>
- <A N="name" T="xsd:string" use="required"/>
- <SEQ>
- </CT>
- <CT>
- </E>
- </SEQ>
- <A N="name" T="xsd:string" use="required"/>
- <A N="until" T="xsd:dateTime"/>
- <A N="info" T="xsd:anyURI"/>
- <A N="results" T="xsd:anyURI"/>
- <SEQ>
- </CT>
- <CT N="VotingScheme">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 58] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
5.14 EvaluationScheme
- The type evaluation scheme has the same elements and attributes
- as the type VotingScheme but some attributes have been removed.
- The different purposes made it seem likely that future additions
- would further separate both types. The "expire" attribute has
- been removed from VotingScheme.
- An evaluation scheme remains valid until its expiration date,
- given by the "expire" attribute. Annotations referring to an
- evaluation scheme MUST expire before the
- evaluation scheme or on the same day as the evaluation scheme.
- Used by: Esp
- <CT N="EvaluationScheme">
- <SEQ>
- <E N="header" T="Header" MIN="0" MAX="1"/>
- <E N="originator" T="Entity" MIN="1" MAX="1"/>
- <E N="vote" MIN="1" MAX="unbounded">
- <CT>
- <SEQ>
- <E N="description" T="MultilingualText" MIN="0" MAX="1"/>
- <E N="choice" T="xsd:string" MIN="0" MAX="unbounded"/>
- </SEQ>
- <A N="name" T="xsd:string" use="required"/>
- <SEQ>
- </CT>
- <CT>
- </E>
- </SEQ>
- <A N="name" T="xsd:string" use="required"/>
- <A N="info" T="xsd:anyURI"/>
- <A N="expire" T="xsd:dateTime"/>
- <SEQ>
- </CT>
- <CT N="EvaluationScheme">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 59] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
5.16 Advertisement
- The mime type for esp advertisements is
- application/x-esp-advertisement. The "evaluationScheme" attribute,
- if given, MUST refer to a EvaluationScheme suitable for product
- evaluation.
- Used by: Esp
- <CT N="Advertisement">
- <SEQ>
- </SEQ>
- <A N="evaluationScheme" T="xsd:anyURI"/>
- <A N="subject" T="xsd:string"/>
- <A N="type" T="AdvertisementType"/>
- <A N="offer" T="OfferType"/>
- <A N="created" T="xsd:date" use="required"/>
- <A N="lastChanged" T="xsd:date" use="required"/>
- <A N="expire" T="xsd:date" use="required"/>
- <A N="url" T="xsd:anyURI"/>
- </CT>
- <CT N="Advertisement">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 60] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
5.18 Annotation
- The "url" attribute is the URL of this annotation. An annotation
- that has already been posted to another annotation space SHOULD
- be posted with the url of its initial posting, an annotation that
- has not yet been posted MUST be posted without a "url" attribute.
- The annotated element is a list of URIs of what is annotated, which
- may be annotations again. The format of the message is outside the
- scope of this draft but XSD schemata for product reviews or other
- specific annotations might be a good idea.
- The "uri" element(s) contain(s) a group of URLs and/or URNs. An
- annotation or ticket may contain both URLs and URNs if, for example,
- a product or product group has one or more product description pages
- of the vendor and one or more
- URN references (e.g. "URN:EAN:(ean number)").
- When the annotation type is "vote" an annotation MUST contain votes
- according to the voting scheme given by the "votingScheme" attribute,
- otherwise it MAY have a voting scheme. A product review, for example,
- may evaluate a product according to a voting scheme. Product reviews
- MUST have a "productGroup" element and it MUST be a reference into
- a category namespace of type "offering/product", according to
- category namespace "http://esp.nongnu.org/ns/category/2005.1".
- The "type" element MUST be a reference into a category namespace of
- type "annotation", according to the same super category namespace.
- The mime type for esp annotations is application/x-esp-annotation.
- Used by: Esp
- <CT N="Annotation">
- <SEQ>
- <E N="header" T="Header" MIN="0" MAX="1"/>
- <E N="type" T="Reference" MIN="1" MAX="1"/>
- <E N="uri" T="xsd:anyURI" MIN="0" MAX="unbounded"/>
- <E N="from" T="Entity" MIN="1" MAX="1"/>
- <E N="about" T="Entity" MIN="0" MAX="1"/>
- <E N="vote" T="Vote" MIN="0" MAX="unbounded"/>
- <E N="message" T="Message" MIN="1" MAX="1"/>
- <CHOICE MIN="0" MAX="1">
- </CHOICE>
- </SEQ>
- <A N="ourSign" T="Identifier" use="required"/>
- <A N="url" T="xsd:anyURI"/>
- <A N="votingScheme" T="xsd:anyURI"/>
- <A N="evaluationScheme" T="xsd:anyURI"/>
- <A N="subject" T="xsd:string"/>
- <A N="severity" T="Severity"/>
- <A N="created" T="xsd:date" use="required"/>
- <A N="lastChanged" T="xsd:date" use="required"/>
- <A N="expire" T="xsd:date" use="required"/>
- <SEQ>
- </CT>
- <CT N="Annotation">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 61] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
5.20 TicketList
- A list of tickets. The tickets in a list SHOULD NOT contain message
- bodies but all other attributes and elements may be supplied.
- Tickets in a TicketList MUST contain the attributes "ourSign", "url"
- "sent", "type", "status", "severity" and "subject".
- When an error attribute is present an error occured and the error
- attribute specifies the error in detail.
- Used by: Esp
- <CT N="TicketList">
- <SEQ>
- <E N="ticket" T="Ticket" MIN="0" MAX="unbounded"/>
- </SEQ>
- <A N="errorNumber" T="xsd:int"/>
- <A N="error" T="xsd:string"/>
- <SEQ>
- </CT>
- <CT N="TicketList">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 62] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
5.22 Ticket
- A standard ticket format that can be submitted to all ticket queues
- specified in esp based imprints. The advantage of posting a ticket
- over sending an email is that the ticket is digitally signed, a
- receipt is returned for the ticket and the ticket format allows to
- add esp related information in their corresponding xml representation
- in a way that will be human readable for the recipient of the ticket
- and can be used for further automatic processing at the same time.
- The format of the message is outside the scope of this draft but the
- specification of XSD schemata for specific messages seems adequate.
- The attribute "annotation" is to be used when the ticket refers to an
- annotation. Annotations can also be forwarded as tickets in which
- case the "annotated" element is used instead. The url attribute is
- the url of the ticket, this is decided by the receiving ticket system
- and MUST NOT be specified when submitting a ticket. The sent and
- status attributes SHOULD be decided by the receiving ticket system.
- A history MAY be specified when submitting tickets to indicate that a
- ticket has already passed another ticket system.
- A ticket that has been externally forwarded and has the status
- "ext. forwarded" or "reply pending" SHOULD contain a "forwarded" URL,
- pointing to the instance of the ticket in the destination
- ticket system.
- A ticket that is being forwarded to another ticket system and changed
- to state "reply pending" MUST contain a "reply" element with the
- "pleaseReply" attribute set to "true" and the "url" attribute set to
- a URL of the transfering ticket system where the ticket can be posted
- to with a HTTP POST request and will be recognized as the returning
- ticket.
- The "avoidReply", if set to true, is the request to avoid a reply,
- if possible.
- The "uri" element(s) contain(s) a group of URLs and/or URNs. An
- annotation or ticket may contain both URLs and URNs if, for example,
- a product or product group has one or more product description pages
- of the vendor and one or more
- URN references (e.g. "URN:EAN:(ean number)").
- The "ourSign" and "yourSign" attributes of a ticket MUST always be
- relative to the sender and receiver of a ticket. A ticket that has
- been externally forwarded will consequently need more than one
- "yourSign" attribute in the internal data structure of a
- ticket system.
- The "status" attribute MUST be a reference into a category namespace
- of type "ticket/status" and the "type" attribute MUST be a reference
- into a category namespace of type "ticket/type", according to the
- category namespace "http://esp.nongnu.org/ns/category/2005.1".
- The mime type for esp tickets is application/x-esp-ticket.
- Used by: Esp, TicketList
- <CT N="Ticket">
- <SEQ>
- <E N="header" T="Header" MIN="0" MAX="1"/>
- <E N="uri" T="xsd:anyURI" MIN="0" MAX="unbounded"/>
- <E N="from" T="Entity" MIN="1" MAX="1"/>
- <E N="about" T="Entity" MIN="1" MAX="1"/>
- <E N="status" T="Reference" MIN="1" MAX="1"/>
- <E N="type" T="Reference" MIN="1" MAX="1"/>
- <E N="reply" MIN="1" MAX="1">
- <CT>
- <A N="statusChangeNotification" T="xsd:boolean"/>
- <A N="pleaseReply" T="xsd:boolean"/>
- <A N="avoidReply" T="xsd:boolean"/>
- <A N="to" T="EmailAddress"/>
- <A N="url" T="xsd:anyURI"/>
- </CT>
- <CT>
- </E>
- <E N="history" MIN="0" MAX="1">
- <CT>
- <SEQ>
- <E N="change" MIN="1" MAX="unbounded">
- <CT>
- <SEQ>
- </SEQ>
- <A N="date" T="xsd:date"/>
- <A N="from" T="EmailAddress"/>
- <A N="severity" T="Severity"/>
- </CT>
- <CT>
- </E>
- <E N="change" MIN="1" MAX="unbounded">
- </SEQ>
- <SEQ>
- </CT>
- <CT>
- </E>
- <E N="message" T="Message" MIN="0" MAX="1"/>
- </SEQ>
- <A N="ourSign" T="Identifier" use="required"/>
- <A N="yourSign" T="Identifier"/>
- <A N="url" T="xsd:anyURI"/>
- <A N="annotation" T="xsd:anyURI"/>
- <A N="forwarded" T="xsd:anyURI"/>
- <A N="subject" T="xsd:string"/>
- <A N="severity" T="Severity"/>
- <A N="sent" T="xsd:date"/>
- <SEQ>
- </CT>
- <CT N="Ticket">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 63] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
5.24 Receipt
- A receipt is a standard reply for a submitted ticket. A receipt is
- usually returned as a reply to the HTTP request that created a
- ticket. If a ticket is submitted by email an automatic reply to that
- ticket may also contain a receipt. The url is the url of the open
- ticket in the ticket system the ticket was submitted to.
- A standard format for the XML or XHTML forms of such a ticket system
- is (currently) not part of this draft. When an error attribute is
- present the ticket was not created and the error attribute specifies
- the error in detail.
- The mime type for esp receipts is application/x-esp-receipt.
- Used by: Esp
- <CT N="Receipt">
- <SEQ>
- <E N="recipient" T="Entity" MIN="0" MAX="1"/>
- </SEQ>
- <A N="ourSign" T="Identifier" use="required"/>
- <A N="yourSign" T="Identifier" use="required"/>
- <A N="url" T="xsd:anyURI" use="required"/>
- <A N="errorNumber" T="xsd:int"/>
- <A N="error" T="xsd:string"/>
- <SEQ>
- </CT>
- <CT N="Receipt">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 64] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
5.26 RegionCodes
- A database of country and region codes including names and, in a
- future release, neighborhood references for all neighboring regions.
- Used by: Esp
- <CT N="RegionCodes">
- <SEQ>
- <E N="version" T="xsd:string" MIN="1" MAX="1"/>
- <E N="license" MIN="1" MAX="1">
- <CT mixed="true">
- <A N="url" T="xsd:anyURI"/>
- </CT>
- <CT mixed="true">
- </E>
- <E N="country" MIN="1" MAX="unbounded">
- <CT>
- <SEQ>
- <E N="name" T="MultilingualText" MIN="1" MAX="1"/>
- <E N="region" MIN="0" MAX="unbounded">
- <CT>
- <SEQ>
- <E N="name" T="MultilingualText" MIN="1" MAX="1"/>
- </SEQ>
- <A N="code" T="Acronym"/>
- <SEQ>
- </CT>
- <CT>
- </E>
- </SEQ>
- <A N="code" T="Acronym"/>
- <SEQ>
- </CT>
- <CT>
- </E>
- </SEQ>
- <A N="lastChanged" T="xsd:date" use="required"/>
- <A N="revision" T="Revision" use="required"/>
- <SEQ>
- </CT>
- <CT N="RegionCodes">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 65] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
5.28 Imprint
- An imprint is a description of a legal person that operates a web
- site or offers any other kind of service and has a trade or
- association register number or a similar unique reference number
- from a well known registry. A PGP fingerprint to uniquely identify an
- entity is also required. The standard file name of an imprint SHOULD
- be "imprint.xml" and it SHOULD be placed in the top level directory
- of a web site, e.g. http://mysite.org/imprint.xml.
- The "previous" attribute SHOULD be used to refer to the previous
- version of the imprint, if one exists. This will allow search engines
- to recognize changes in imprints that might otherwise be seen as a
- change of ownership of a web site.
- The "socialContract" attribute SHOULD be used to refer to the
- social contract of the organization the imprint refers to.
- Used by: Esp
- <CT N="Imprint">
- <SEQ>
- <E N="header" T="Header" MIN="0" MAX="1"/>
- <E N="contacts" T="Contacts" MIN="0" MAX="unbounded"/>
- <CHOICE MIN="1" MAX="1">
- <E N="entity" T="AuthenticEntity" MIN="1" MAX="1"/>
- <E N="community" T="Community" MIN="0" MAX="unbounded"/>
- </CHOICE>
- </SEQ>
- <A N="lang" T="xsd:language" use="required"/>
- <A N="lastChanged" T="xsd:date" use="required"/>
- <A N="revision" T="Revision" use="required"/>
- <A N="socialContract" T="xsd:anyURI"/>
- <A N="previous" T="xsd:anyURI"/>
- <SEQ>
- </CT>
- <CT N="Imprint">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 66] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
5.30 SocialContract
- A social contract is a document that specifies the services offered
- by an entity and the policies it claims to adhere to. The social
- contract may also list membership organisations that the entity
- is a member of.
- The standard file name of a social contract SHOULD be it's revision
- number and it SHOULD be placed in a directory named "socialcontract".
- e.g. http://mysite.org/socialcontract/2005.1
- Once a social contract is published it SHOULD be considered
- immutable. A significantly modified version MUST be published under a
- different revision number.
- Search engines SHOULD enforce this policy by not accepting changes
- to the policies a social contract implements once it has been
- published with the signature of the organisation it refers to and
- instead to annotate the contract with a warning and/or send a ticket
- to the publisher.
- This is recommended as a possible compliance test for search engines.
- The "policyNamespace" element, if present, specifies one or more
- namespaces that are used for policy categorization inside
- PolicyStatements. Policies are categorized by their authors, the
- category references in a social contract have to conform with that
- categorization.
- The default namespace with the empty prefix (":")
- refers to "http://esp.nongnu.org/ns/policy_category/2005.1".
- The "previous" attribute SHOULD be used to refer to the previous
- version of this social contract.
- Used by: Esp
- <CT N="SocialContract">
- <SEQ>
- <E N="header" T="Header" MIN="0" MAX="1"/>
- <E N="text" T="Text" MIN="1" MAX="1"/>
- <E N="policyNamespace" T="NamespaceDocumentReference" MIN="0" MAX="unbounded"/>
- <E N="service" T="ServiceInformation" MIN="1" MAX="1"/>
- <E N="policies" T="PolicyGroup" MIN="1" MAX="unbounded"/>
- <E N="membership" T="MembershipOrganization" MIN="0" MAX="unbounded"/>
- </SEQ>
- <A N="lang" T="xsd:language" use="required"/>
- <A N="lastChanged" T="xsd:date" use="required"/>
- <A N="revision" T="Revision" use="required"/>
- <A N="previous" T="xsd:anyURI"/>
- <SEQ>
- </CT>
- <CT N="SocialContract">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 67] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
5.32 PolicyDocument
- The implementation elements contain a collection of possible levels
- of implementations. The "chapter" elements contain the actual policy
- in human readable text. The "type" element is a reference into a
- CategoryNamespace of type "policy/type", according to the
- category namespace "http://esp.nongnu.org/ns/category/2005.1".
- The "issues" element contains a reference to a ticket system,
- which may require a prior login.
- The name of a policy document should be its revision number,
- e.g. "2005.1". Once a policy document is published it SHOULD be
- considered immutable. A policy document SHALL NOT be accepted
- without a valid signature from an entity that has published an
- imprint. Translations of policy documents SHOULD carry the language
- code as a suffix, e.g. "2005.1-fr".
- Used by: Esp
- <CT N="PolicyDocument">
- <SEQ>
- <E N="header" T="Header" MIN="0" MAX="1"/>
- <E N="text" T="Text" MIN="1" MAX="1"/>
- <E N="policyContentNamespace" T="NamespaceDocumentReference" MIN="0" MAX="unbounded"/>
- <E N="implementation" MIN="0" MAX="unbounded">
- <CT mixed="true">
- <A N="level" T="Identifier" use="required"/>
- <A N="certification" T="CertificationRequirement"/>
- </CT>
- <CT mixed="true">
- </E>
- <E N="type" T="ReferenceGroup" MIN="1" MAX="1"/>
- <E N="chapter" T="Chapter" MIN="1" MAX="unbounded"/>
- <E N="issues" T="TicketSystem" MIN="1" MAX="unbounded"/>
- </SEQ>
- <A N="class" T="PolicyClass" use="required"/>
- <A N="extension" T="ExtImpCategory" use="required"/>
- <A N="implementation" T="ExtImpCategory" use="required"/>
- <A N="lang" T="xsd:language" use="required"/>
- <A N="lastChanged" T="xsd:date" use="required"/>
- <A N="revision" T="Revision" use="required"/>
- <A N="extends" T="xsd:anyURI"/>
- <SEQ>
- </CT>
- <CT N="PolicyDocument">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 68] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
5.34 Esp
- Imprints, PolicyDocuments, SocialContracts, Tickets and Namespaces
- MUST be signed. If a document is unsigned or the key of the signature
- for a document is not the key of or signed by the entity given as the
- originator of a document the authenticity of the document MUST be
- considered unknown and it should be treated as if it was unsigned.
- Consequently keys that are used to represent organizations should
- only be used to sign keys of members of these organisations that may
- act as representatives.
- Enclosing an esp element inside an esp element allows to add further
- signatures and timestamps that confirm the validity of earlier
- signatures and timestamps, which may have become invalid or insecure.
- <CT N="Esp">
- <SEQ>
- <CHOICE MIN="1" MAX="1">
- <E N="socialContract" T="SocialContract"/>
- <E N="policyDocument" T="PolicyDocument"/>
- <E N="imprint" T="Imprint"/>
- <E N="search" T="SearchParameters"/>
- <E N="searchProfile" T="SearchProfile"/>
- <E N="searchResult" T="SearchResult"/>
- <E N="ticket" T="Ticket"/>
- <E N="receipt" T="Receipt"/>
- <E N="categoryNamespace" T="CategoryNamespace"/>
- <E N="regionCodes" T="RegionCodes"/>
- <E N="ticketSearchRequest" T="TicketSearchRequest"/>
- <E N="ticketList" T="TicketList"/>
- <E N="annotation" T="Annotation"/>
- <E N="advertisement" T="Advertisement"/>
- <E N="votingScheme" T="VotingScheme"/>
- <E N="evaluationScheme" T="EvaluationScheme"/>
- <E N="esp" T="Esp"/>
- </CHOICE>
- <E N="signature" T="Signature" MIN="0" MAX="unbounded"/>
- <E N="timestamp" T="Signature" MIN="0" MAX="unbounded"/>
- <CHOICE MIN="1" MAX="1">
- </SEQ>
- <SEQ>
- </CT>
- <CT N="Esp">
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 69] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
6. Legal Issues
6.1 IPR Disclosure Acknowledgement
- By submitting this Internet-Draft, each author represents that
- any applicable patent or other IPR claims of which he or she is
- aware have been or will be disclosed, and any of which he or she
- becomes aware will be disclosed, in accordance with Section 6 of
- BCP 79.
7. Security considerations
- The specification relies on the security of OpenPGP [RFC2440]
- but has no security issues on its own.
8. IANA Considerations
- This document has no actions for IANA.
9. References
9.1 Normative References
- [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
- Requirement Level", BCP 14, RFC 2119, March 1997.
- [RFC2440] J. Callas, L. Donnerhacke, H. Finney, R. Thayer,
- "OpenPGP Message Format", RFC 2440, November 1998
- [RFC2611] L. Daigle, D. van Gulik, R. Iannella, P. Faltstrom
- "URN Namespace Definition Mechanisms", BCP 33, June 1999
- [RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H.,
- Masinter, L., Leach, P. and T. Berners-Lee,
- "Hypertext Transfer Protocol -- HTTP/1.1",
- RFC 2616, June 1999.
- [W3C.REC-xml-20040204]
- Yergeau, F., Paoli, J., Sperberg-McQueen, C., Bray, T. and
- E. Maler, "Extensible Markup Language (XML) 1.0 (Third
- Edition)", W3C REC REC-xml-20040204, February 2004.
- [W3C.REC-xmlschema-0-20041028]
- David C. Fallside, Priscilla Walmsley,
- "XML Schema Part 0: Primer Second Edition", October 2004,
- http://www.w3.org/TR/2004/REC-xmlschema-0-20041028/
| Fastenrath | draft-fastenrath-ethics-search-protocol-00 | [Page 70] |
| INTERNET-DRAFT | Ethics Search Protocol (ESP) | __ January 2007 |
Author's Address
- Bernhard Fastenrath
- Laurenz-Kiesgen-Str.35
- 51105 Koeln
- Germany
Full Copyright Statement
- Public Domain
- This document is subject to the rights, licenses and restrictions
- contained in BCP 78, and except as set forth therein, the authors
- retain all their rights.
- This document and the information contained herein are provided on
- an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE
- REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE
- INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
- THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
- WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
