more wikis
 

Draft-fastenrath-ethics-search-protocol-00

From Scratchpad

^ Esp

Internet Engineering Task Force
Internet-Draft

Ethics Search Protocol (ESP) for Internet Search Engines
<draft-fastenrath-ethics-search-protocol-00.txt>

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.


Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 01]
INTERNET-DRAFTEthics 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/.


Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 02]
INTERNET-DRAFTEthics Search Protocol (ESP)__ January 2007

Table of Contents

Introduction> comments2
Motivation> comments2
Notational Conventions> comments2
Reference Implementation> comments2
Overview> comments4
Expected Use> comments5
Ethical Communities> comments5
Ethical Economies> comments5
Search Engines> comments5
The ESP Specification> comments6
Documents> comments6
Requests and Responses> comments6
Databases> comments6
XSD Header> comments6
Simple Types> comments7
Identifier> comments7
Path> comments7
Prefix> comments7
PrefixedPath> comments7
SynonymResolution> comments8
Acronym> comments8
Digits> comments9
Continent> comments9
TradeZone> comments9
CurrencyType> comments9
CertificationRequirement> comments10
ExtImpCategory> comments10
PolicyMatchOperator> comments11
PolicyClass> comments11
Latitude> comments11
Longitude> comments12
Revision> comments12
SignatureType> comments12
AdvertisementType> comments13
OfferType> comments13
KeywordMatchType> comments14
EntityType> comments14
RegisterType> comments14
LanguageList> comments15
RegionCode> comments15
LoCode> comments16
AreaCode> comments16
PageType> comments16
PhoneType> comments17
EmailType> comments17
EmailAddress> comments17
SecureHash> comments18
Fingerprint> comments18
CoordinateQuality> comments18
Severity> comments19
Complex Types> comments20
Meta> comments20
Link> comments20
Header> comments21
Message> comments22
Currency> comments22
PhoneNumber> comments22
WebPage> comments23
Phone> comments23
Email> comments23
Text> comments24
Area> comments24
ServiceInformation> comments25
Coordinates> comments25
Address> comments26
AddressPattern> comments27
MembershipOrganization> comments27
DateRange> comments27
TicketSystem> comments28
Identity> comments29
Contacts> comments29
Register> comments30
RegisterPattern> comments31
Certification> comments31
OrganizationalUnit> comments31
EntityPattern> comments32
Entity> comments33
AuthenticEntity> comments34
PolicyMatchGroup> comments35
PolicyReference> comments36
PolicyGroup> comments37
PolicyStatement> comments38
Signature> comments39
Community> comments39
Filter> comments40
NamespaceDocumentReference> comments40
ReferenceGroup> comments41
Reference> comments41
Category> comments42
Hit> comments43
Match> comments44
CategorizedLink> comments44
WebSearchParameters> comments45
OrganizationSearchParameters> comments46
FormEditor> comments47
Forum> comments47
AnnotationSpace> comments48
Vote> comments48
MultilingualText> comments49
Footnote> comments50
Paragraph> comments51
Chapter> comments52
Top Level Types> comments53
TicketSearchRequest> comments53
CategoryNamespace> comments54
SearchParameters> comments55
SearchProfile> comments56
SearchResult> comments57
VotingScheme> comments58
EvaluationScheme> comments59
Advertisement> comments60
Annotation> comments61
TicketList> comments62
Ticket> comments63
Receipt> comments64
RegionCodes> comments65
Imprint> comments66
SocialContract> comments67
PolicyDocument> comments68
Esp> comments69
Legal Issues> comments70
IPR Disclosure Acknowledgement> comments70
Security considerations> comments70
IANA Considerations> comments70
References> comments70
Normative References> comments70


Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 03]
INTERNET-DRAFTEthics 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.


Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 04]
INTERNET-DRAFTEthics 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.


Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 05]
INTERNET-DRAFTEthics 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">


Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 06]
INTERNET-DRAFTEthics 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>
</ST>

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>
</ST>

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>
</ST>

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>
</ST>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 07]
INTERNET-DRAFTEthics 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>
</ST>

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>
</ST>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 08]
INTERNET-DRAFTEthics 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>
</ST>

3.16 Continent

A continent name.
Used by: Area
<ST N="Continent">
<RESTRICTION base="xsd:string">
<PATTERN value="(Africa)|(America)|(Asia)|(Europe)|(Australia)"/>
</RESTRICTION>
</ST>

3.18 TradeZone

A trade zone.
Used by: Area
<ST N="TradeZone">
<RESTRICTION base="xsd:string">
<PATTERN value="(AU)|(EU)|(NAFTA)|(CSN)|(ASEAN)"/>
</RESTRICTION>
</ST>

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>
</ST>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 09]
INTERNET-DRAFTEthics 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>
</ST>

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>
</ST>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 10]
INTERNET-DRAFTEthics 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>
</ST>

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>
</ST>

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>
</ST>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 11]
INTERNET-DRAFTEthics 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>
</ST>

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>
</ST>

3.36 SignatureType

The available signature types, currently only OpenPGP.
Used by: Signature
<ST N="SignatureType">
<RESTRICTION base="xsd:string">
<PATTERN value="(OpenPGP)"/>
</RESTRICTION>
</ST>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 12]
INTERNET-DRAFTEthics 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>
</ST>

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>
</ST>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 13]
INTERNET-DRAFTEthics 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>
</ST>

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>
</ST>

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>
</ST>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 14]
INTERNET-DRAFTEthics 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>
</ST>

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>
</ST>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 15]
INTERNET-DRAFTEthics 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>
</ST>

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>
</ST>

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>
</ST>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 16]
INTERNET-DRAFTEthics 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>
</ST>

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>
</ST>

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>
</ST>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 17]
INTERNET-DRAFTEthics 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>
</ST>

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>
</ST>

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>
</ST>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 18]
INTERNET-DRAFTEthics 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>
</ST>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 19]
INTERNET-DRAFTEthics 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>

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>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 20]
INTERNET-DRAFTEthics 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>
</CT>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 21]
INTERNET-DRAFTEthics 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>

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>

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>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 22]
INTERNET-DRAFTEthics Search Protocol (ESP)__ January 2007

4.14 WebPage

A web page with name, url and type.
Used by: Address
<CT N="WebPage">
<A N="type" T="PageType" use="required"/>
<A N="name" T="xsd:string"/>
<A N="url" T="xsd:anyURI" use="required"/>
</CT>

4.16 Phone

A phone contact with type, name, number and an email address
to negotiate calls or to avoid calls to this number.
Used by: Contacts, Address
<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"/>
</CT>

4.18 Email

An email address with type, name and the actual email address.
Used by: Contacts, 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>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 23]
INTERNET-DRAFTEthics 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>

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"/>
</CT>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 24]
INTERNET-DRAFTEthics 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>
</CT>

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>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 25]
INTERNET-DRAFTEthics 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"/>
</CT>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 26]
INTERNET-DRAFTEthics 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"/>
</CT>

4.32 MembershipOrganization

A membership organisation.
Used by: SocialContract
<CT N="MembershipOrganization">
<SEQ>
<E N="name" T="xsd:string" MIN="1" MAX="1"/>
<E N="address" T="Address" MIN="1" MAX="unbounded"/>
<E N="id" T="Identity" MIN="1" MAX="1"/>
</SEQ>
<A N="url" T="xsd:anyURI" use="required"/>
<A N="memberSince" T="xsd:date" use="required"/>
<A N="lastChanged" T="xsd:date" use="required"/>
</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>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 27]
INTERNET-DRAFTEthics 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>
</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>
</E>
<E N="editor" T="FormEditor" MIN="0" MAX="1"/>
</SEQ>
</CT>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 28]
INTERNET-DRAFTEthics Search Protocol (ESP)__ January 2007

4.38 Identity

A digital identity. Currently the only type of identity supported
is an OpenPGP fingerprint.
Used by: TicketSearchRequest, Entity, MembershipOrganization, AuthenticEntity, EntityPattern
<CT N="Identity">
<A N="name" T="xsd:string"/>
<A N="fingerprint" T="Fingerprint" use="required"/>
</CT>

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"/>
</CT>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 29]
INTERNET-DRAFTEthics 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"/>
</CT>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 30]
INTERNET-DRAFTEthics 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"/>
</CT>

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"/>
</CT>

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"/>
</CT>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 31]
INTERNET-DRAFTEthics 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.
Used by: OrganizationSearchParameters, TicketSearchRequest, RegisterPattern, EntityPattern
<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"/>
</CT>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 32]
INTERNET-DRAFTEthics 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"/>
</CT>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 33]
INTERNET-DRAFTEthics 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"/>
</CT>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 34]
INTERNET-DRAFTEthics 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"/>
</CT>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 35]
INTERNET-DRAFTEthics 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"/>
</CT>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 36]
INTERNET-DRAFTEthics 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"/>
</CT>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 37]
INTERNET-DRAFTEthics 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"/>
</CT>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 38]
INTERNET-DRAFTEthics 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"/>
</CT>

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"/>
</CT>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 39]
INTERNET-DRAFTEthics 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"/>
</CT>

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>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 40]
INTERNET-DRAFTEthics 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>
</E>
</SEQ>
<A N="name" T="xsd:string"/>
</CT>

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
<CT N="Reference">
<A N="ns" T="xsd:anyURI" use="required"/>
<A N="ref" T="Path" use="required"/>
</CT>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 41]
INTERNET-DRAFTEthics 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>
</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"/>
</CT>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 42]
INTERNET-DRAFTEthics 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"/>
</CT>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 43]
INTERNET-DRAFTEthics 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>
</CT>

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">
<E N="productGroup" T="Reference" MIN="0" MAX="1"/>
<E N="serviceType" T="Reference" MIN="0" MAX="1"/>
<E N="lodgingCategory" T="Reference" 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"/>
</CT>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 44]
INTERNET-DRAFTEthics 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>
</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>
</E>
</SEQ>
</CT>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 45]
INTERNET-DRAFTEthics 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>
</E>
<E N="entityEstablished" MIN="0" MAX="1">
<CT>
<A N="before" T="xsd:date"/>
</CT>
</E>
<E N="lastChange" MIN="0" MAX="1">
<CT>
<A N="after" T="xsd:date"/>
</CT>
</E>
</SEQ>
</CT>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 46]
INTERNET-DRAFTEthics 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>

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"/>
</CT>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 47]
INTERNET-DRAFTEthics 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"/>
</CT>

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>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 48]
INTERNET-DRAFTEthics 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>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 49]
INTERNET-DRAFTEthics 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>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 50]
INTERNET-DRAFTEthics 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.
Used by: Paragraph, Chapter
<CT N="Paragraph" mixed="true">
<SEQ>
<E N="abstract" T="xsd:string" MIN="0" MAX="1"/>
<E N="footnote" T="Footnote" MIN="0" MAX="unbounded"/>
<E N="paragraph" T="Paragraph" MIN="0" MAX="unbounded"/>
</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>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 51]
INTERNET-DRAFTEthics 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"/>
</CT>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 52]
INTERNET-DRAFTEthics 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"/>
</CT>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 53]
INTERNET-DRAFTEthics 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"/>
</CT>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 54]
INTERNET-DRAFTEthics 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>
</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"/>
</CT>
</E>
</SEQ>
<A N="modified" T="xsd:dateTime"/>
</CT>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 55]
INTERNET-DRAFTEthics 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"/>
</CT>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 56]
INTERNET-DRAFTEthics 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"/>
</CT>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 57]
INTERNET-DRAFTEthics 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"/>
</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"/>
</CT>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 58]
INTERNET-DRAFTEthics 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"/>
</CT>
</E>
</SEQ>
<A N="name" T="xsd:string" use="required"/>
<A N="info" T="xsd:anyURI"/>
<A N="expire" T="xsd:dateTime"/>
</CT>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 59]
INTERNET-DRAFTEthics 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>
<E N="header" T="Header" MIN="0" MAX="1"/>
<E N="from" T="Entity" MIN="1" MAX="1"/>
<E N="vote" T="Vote" MIN="0" MAX="unbounded"/>
<E N="message" T="Message" MIN="1" MAX="1"/>
<CHOICE MIN="1" MAX="1">
<E N="productGroup" T="Reference" MIN="0" MAX="1"/>
<E N="serviceType" T="Reference" MIN="0" MAX="1"/>
<E N="lodgingCategory" T="Reference" MIN="0" MAX="1"/>
</CHOICE>
<E N="currency" T="Currency" MIN="0" MAX="unbounded"/>
</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>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 60]
INTERNET-DRAFTEthics 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">
<E N="productGroup" T="Reference" MIN="0" MAX="1"/>
<E N="serviceType" T="Reference" MIN="0" MAX="1"/>
<E N="lodgingCategory" T="Reference" 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"/>
</CT>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 61]
INTERNET-DRAFTEthics 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"/>
</CT>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 62]
INTERNET-DRAFTEthics 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>
</E>
<E N="history" MIN="0" MAX="1">
<CT>
<SEQ>
<E N="change" MIN="1" MAX="unbounded">
<CT>
<SEQ>
<E N="sender" T="Entity" MIN="1" MAX="1"/>
<E N="comment" T="xsd:string" MIN="0" MAX="1"/>
<E N="status" T="Reference" MIN="1" MAX="1"/>
</SEQ>
<A N="date" T="xsd:date"/>
<A N="from" T="EmailAddress"/>
<A N="severity" T="Severity"/>
</CT>
</E>
</SEQ>
</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"/>
</CT>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 63]
INTERNET-DRAFTEthics 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"/>
</CT>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 64]
INTERNET-DRAFTEthics 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>
</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"/>
</CT>
</E>
</SEQ>
<A N="code" T="Acronym"/>
</CT>
</E>
</SEQ>
<A N="lastChanged" T="xsd:date" use="required"/>
<A N="revision" T="Revision" use="required"/>
</CT>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 65]
INTERNET-DRAFTEthics 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"/>
</CT>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 66]
INTERNET-DRAFTEthics 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"/>
</CT>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 67]
INTERNET-DRAFTEthics 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>
</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"/>
</CT>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 68]
INTERNET-DRAFTEthics 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"/>
</SEQ>
</CT>
Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 69]
INTERNET-DRAFTEthics 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/


Fastenrathdraft-fastenrath-ethics-search-protocol-00[Page 70]
INTERNET-DRAFTEthics Search Protocol (ESP)__ January 2007


Author's Address

Bernhard Fastenrath
Laurenz-Kiesgen-Str.35
51105 Koeln
Germany
Web: http://savannah.gnu.org/users/fasten

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.