- From: Giles Hogben <giles.hogben@jrc.it>
- Date: Wed, 13 Jul 2005 18:57:04 +0200
- To: "'Lorrie Cranor'" <lorrie@cs.cmu.edu>, "'public-p3p-spec'" <public-p3p-spec@w3.org>
- Cc: "'Rigo Wenning'" <rigo@w3.org>
Removing the categories element still requires the choice element in the xsd - to say "at this point you can either have a further data element or a category but not both." This is still a major simplification - BUT now I think I've got the perfect solution! I looked at the annotation element, which I discovered contains the appinfo element, which seems like it might be just what we are looking for it's defined as follows: "The appInfo element specifies information to be used by the application. This element must go within an annotation element." It can contain XML elements: Isn't that exactly what we want? We could have something like: <xsd:element name="categoryfoo"/> .... <xsd:element name="cert"> <xsd:annotation> <xsd:appinfo> <categories xmlns="http://...p3p"> <uniqueid/> <foo/> </categories> </xsd:appinfo> <xsd:documentation> User's Identity Certificate </xsd:documentation> </xsd:annotation> <xsd:complexType> <xsd:choice> <xsd:element minOccurs="0" maxOccurs="1" ref="key"/> <xsd:element minOccurs="0" maxOccurs="1" ref="format"> </xsd:choice> </xsd:complexType> </xsd:element> Another question is if we want to allow for more compact expression of multiple types by removing the choice here so you can write: <datatype><user><online><cert><key/><format/></cert></online></user></dataty pe> >**-----Original Message----- >**From: public-p3p-spec-request@w3.org >**[mailto:public-p3p-spec-request@w3.org] On Behalf Of Lorrie Cranor >**Sent: 13 July 2005 18:11 >**To: 'public-p3p-spec' >**Cc: Rigo Wenning; Giles Hogben >**Subject: Re: Data Schema Stuff >** >** >** >**Giles, Rigo, and I discussed further on the phone. >** >**My main concern is that I would like the semantics of the base data >**schema to be carried with the base data schema, as is done in P3P1.0 >**and in the proposal in >**http://www.w3.org/TR/2005/WD-P3P11-20050701/. As >**more things get semantic webized, this will be particularly >**important. >** >**Giles wants to make sure that we can facilitate automatic syntax >**validation and that we make it easy for people to create new data >**schemas for P3P. The category information is not needed for >**validation >**and it makes the syntax messy. >** >**My view is that as long as people use editors rather than >**hand coding, >**messy syntax is not too much of a concern (within reason). I think >**switching to XML schemas is a good thing if we can do it in >**a way that >**we don't loose anything we had with the P3P1.0 syntax and we can >**maintain reasonable backwards compatibility. The transforms >**solve the >**backwards compatibility problem, and the messy XSD syntax solves the >**not losing anything problem. The downside is messy syntax. Is this >**messy syntax an improvement on the syntax in P3P1.0? >** >**We discussed whether there are any syntax alternatives that >**would allow >**us to keep the semantics in the schema file without messy >**syntax. One >**possibility is to put categories in an <xsd:documentation> element. >**Another possibility is to get rid of the CATEGORIES element and just >**keep the child category elements with ref=category. Giles is >**going to >**ponder the latter possibility and see if that might work for us. >** >**Another minor issue we discussed was that there should be 17 rather >**than 7 categories listed. Only 7 are explicitly used in the BDS, but >**the other ten are necessary for the variable-category data elements. >** >**Lorrie >** >**On Jul 13, 2005, at 9:35 AM, giles.hogben@jrc.it wrote: >** >**> >**> I don't think there is a problem with the strings as they >**would still >**> be in the XSD schema as annotations. >**> There also is no problem in distinguishing the 2 types of >**elements you >**> mention: >**> 1. Elements which belong to multiple categories are written under >**> multiple categories in the XML file which defines the >**> category-0>element association. But they do NOT appear in >**the schema. >**> 2. Variable category elements are the only ones which >**actually appear >**> in the schema under the categories and NOT directly under >**the root. >**> This means you have to instantiate them under a category >**(or more than >**> one). >**> >**> My point is that a policy writer doesn't need that >**information and so >**> it depends on APPEL being implemented to be useful. >**> Even the APPEL engine in the agent wouldn't be using it for XML >**> validation, only for knowing how to match up categories and data >**> elements so the XSD syntax is kind of redundant. >**> I did also consider your point that it's nice to have a >**one-stop file >**> for all the information needed and I agree. One option >**would be to put >**> a redundant branch of the XML schema which never gets >**instantiated by >**> P3P policies but which could be interpreted by the APPEL engine to >**> find out which categories can be used to match. I think this would >**> look a bit odd though... >**> >**> If you think it would help to discuss on the phone, send >**me your telno >**> (off the public list) and I'll call. >**> >**>> >**>> In P3P 1.0 the base data schema definition includes all >**the category >**>> information and the human-readable strings, so a user agent is >**>> able to >**>> read it one file and have all that information. It would be nice >**>> if >**>> both the categories and strings could be preserved as they are a >**>> normative part of the spec, and user agents may use them (for >**>> example >**>> Privacy Bird gets all of that information from the base data >**>> schema >**>> file). Also, if someone defines a new data schema with elements >**>> not in >**>> the base data schema, how will they indicate the categories? >**>> >**>> Another issue, how do you distinguish between elements >**that belong to >**>> multiple categories, and variable-category elements that could >**>> belong >**>> to any category depending on what is said in the policy? >**>> >**>> Lorrie >**>> >**>> >**>> On Jul 12, 2005, at 3:48 PM, giles.hogben@jrc.it wrote: >**>> >**>>> I've thought out more fully how my proposal for categories would >**>> work >**>>> using XSD, and I have a proposal for further simlification which >**>> I'd >**>>> like your thoughts on: >**>>> >**>>> First note that categories are NOT used in P3P policies except >**>> with >**>>> dynamic.miscdata and dynamic cookies elements therefore they >**>> have no >**>>> meaning in a policy schema except for these elements. However >**>> the aim >**>>> is that rules (e.g. APPEL) agents can use them to match broad >**>> groups >**>>> of data elements. So what I'm thinking now is that instead of >**>> messing >**>>> up the schema with the category assignments which are never used >**>> by >**>>> the policy, we could do as follows: >**>>> >**>>> 1. In the XSD schema, have only the categories that are used - >**>> so it >**>>> would basically look like the tree in B. below: >**>>> This would have no problems with backward compatibility >**>> whatsoever and >**>>> would achieve the desired simplification. >**>>> The elements would look like: >**>>> <navigation><dynamic><miscdata/></dynamic></navigation> >**>>> OR <user><home-info><postal><name/></postal></home-info></user> >**>>> >**>>> >**>>> 2. We add a separate categories XML file which is NOT an XSD >**>> schema >**>>> but defines which categories an APPEL like system may associate >**>> with >**>>> which data elements in a policy (**or we could even leave it up >**>> to an >**>>> APPEL spec to do this instead of us, having just a >**>> recommendation and >**>>> example in the spec**). Example of what the file would look like >**>> in A. >**>>> below >**>>> >**>>> The key point to note is that the category assignments for non- >**>> dynamic >**>>> elements are only used by APPEL so there is no need for them to >**>> be >**>>> part of the XSD. >**>>> >**>>> One further small comment is that it makes sense to rename the >**>> Name >**>>> under business to orgname because it has a different >**>> substructure. >**>>> This is the only example of where an element with the same name >**>> cannot >**>>> simply be attached by reference so it makes sense to change it. >**>>> >**>>> Let me know what you think and if you agree, I'll implement it >**>> this >**>>> way, >**>>> >**>>> Regards >**>>> >**>>> Giles >**>>> >**>>> ********************************************************** >**>>> A. Category assignment file (NOT an XSD) defines what can be >**>> written >**>>> in an APPEL like rule to match what data elements - the agent >**>> would >**>>> take the LEAF of the policy data element (<name/> in the above) >**>> and >**>>> see which categories it was included in below to see whether it >**>>> matched the rule. >**>>> >**>>> <navigation> >**>>> <dynamic/> >**>>> <miscdata/> >**>>> <cookies/> >**>>> <uri/> >**>>> <timestamp/> >**>>> <other.httpmethod/> >**>>> <other.bytes/> >**>>> <other.statuscode/> >**>>> <referrer/> >**>>> <clickstream/> >**>>> <clientevents/> >**>>> </navigation> >**>>> <uniqueid> >**>>> <business/> >**>>> <user/> >**>>> <thirdparty/> >**>>> <dynamic/> >**>>> <miscdata/> >**>>> <cookies/> >**>>> <id/> >**>>> <password/> >**>>> <key/> >**>>> <format/> >**>>> <login/> >**>>> <cert/> >**>>> </uniqueid> >**>>> <online/> >**>>> <home-info/> >**>>> <business-info/> >**>>> <contact-info/> >**>>> <computer/> >**>>> <dynamic/> >**>>> <miscdata/> >**>>> <cookies/> >**>>> <clickstream/> >**>>> <http/> >**>>> <hostname/> >**>>> <fullip/> >**>>> <useragent/> >**>>> </online> >**>>> <interactive> >**>>> <dynamic/> >**>>> <miscdata/> >**>>> <cookies/> >**>>> <searchtext/> >**>>> <interactionrecord/> >**>>> </interactive> >**>>> >**>>> Etc... >**>>> >**>>> ************************************* >**>>> B. Revised tree structure of XSD data schema >**>>> ************************************** >**>>> >**>>> datatype >**>>> | >**>>> +navigation >**>>> | +dynamic >**>>> | +miscdata >**>>> | +cookies >**>>> +uniqueid >**>>> | +dynamic >**>>> | +miscdata >**>>> | +cookies >**>>> +demographic >**>>> | +dynamic >**>>> | +miscdata >**>>> | +cookies >**>>> +physical >**>>> | +dynamic >**>>> | +miscdata >**>>> | +cookies >**>>> +online >**>>> | +dynamic >**>>> | +miscdata >**>>> | +cookies >**>>> +computer >**>>> | +dynamic >**>>> | +miscdata >**>>> | +cookies >**>>> +interactive >**>>> | +dynamic >**>>> | +miscdata >**>>> | +cookies >**>>> +dynamic >**>>> | +clickstream >**>>> | | +uri >**>>> | | | +authority >**>>> | | | +stem >**>>> | | | +querystring >**>>> | | +timestamp >**>>> | | | +ymd.year >**>>> | | | +ymd.month >**>>> | | | +ymd.day >**>>> | | | +hms.hour >**>>> | | | +hms.minute >**>>> | | | +hms.second >**>>> | | | +fractionsecond >**>>> | | | +timezone >**>>> | | +clientip >**>>> | | | +hostname >**>>> | | | +partialhostname >**>>> | | | +fullip >**>>> | | | +partialip >**>>> | | +other.httpmethod >**>>> | | +other.bytes >**>>> | | +other.statuscode >**>>> | +http >**>>> | | +referer >**>>> | | | +authority >**>>> | | | +stem >**>>> | | | +querystring >**>>> | | +useragent >**>>> | +clientevents >**>>> | +searchtext >**>>> | +interactionrecord >**>>> | >**>>> +user >**>>> | +name >**>>> | | +prefix >**>>> | | +given >**>>> | | +middle >**>>> | | +family >**>>> | | +suffix >**>>> | | +nickname >**>>> | +bdate >**>>> | | +ymd.year >**>>> | | +ymd.month >**>>> | | +ymd.day >**>>> | | +hms.hour >**>>> | | +hms.minute >**>>> | | +hms.second >**>>> | | +fractionsecond >**>>> | | +timezone >**>>> | +login >**>>> | | +id >**>>> | | +password >**>>> | +cert >**>>> | | +key >**>>> | | +format >**>>> | +gender >**>>> | +jobtitle >**>>> | +home-info >**>>> | | +postal >**>>> | | | +name >**>>> | | | | +prefix >**>>> | | | | +given >**>>> | | | | +middle >**>>> | | | | +family >**>>> | | | | +suffix >**>>> | | | | +nickname >**>>> | | | +street >**>>> | | | +city >**>>> | | | +stateprov >**>>> | | | +postalcode >**>>> | | | +organization >**>>> | | | +country >**>>> | | +telecom >**>>> | | | +telephone >**>>> | | | | +intcode >**>>> | | | | +loccode >**>>> | | | | +number >**>>> | | | | +ext >**>>> | | | | +comment >**>>> | | | +fax >**>>> | | | | +intcode >**>>> | | | | +loccode >**>>> | | | | +number >**>>> | | | | +ext >**>>> | | | | +comment >**>>> | | | +mobile >**>>> | | | | +intcode >**>>> | | | | +loccode >**>>> | | | | +number >**>>> | | | | +ext >**>>> | | | | +comment >**>>> | | | +pager >**>>> | | | +intcode >**>>> | | | +loccode >**>>> | | | +number >**>>> | | | +ext >**>>> | | | +comment >**>>> | | +online >**>>> | | +email >**>>> | | +uri >**>>> | +business-info >**>>> | +postal >**>>> | | +name >**>>> | | | +prefix >**>>> | | | +given >**>>> | | | +middle >**>>> | | | +family >**>>> | | | +suffix >**>>> | | | +nickname >**>>> | | +street >**>>> | | +city >**>>> | | +stateprov >**>>> | | +postalcode >**>>> | | +organization >**>>> | | +country >**>>> | |telecom >**>>> | | +telephone >**>>> | | | +intcode >**>>> | | | +loccode >**>>> | | | +number >**>>> | | | +ext >**>>> | | | +comment >**>>> | | +fax >**>>> | | | +intcode >**>>> | | | +loccode >**>>> | | | +number >**>>> | | | +ext >**>>> | | | +comment >**>>> | | +mobile >**>>> | | | +intcode >**>>> | | | +loccode >**>>> | | | +number >**>>> | | | +ext >**>>> | | | +ext >**>>> | | | +ext >**>>> | | | +comment >**>>> | | +pager >**>>> | | +intcode >**>>> | | +loccode >**>>> | | +number >**>>> | | +ext >**>>> | | +comment >**>>> | |online >**>>> | | +email >**>>> | | +uri >**>>> | +employer >**>>> | +department >**>>> +thirdparty >**>>> | +name >**>>> | | +prefix >**>>> | | +given >**>>> | | +middle >**>>> | | +family >**>>> | | +suffix >**>>> | | +nickname >**>>> | +bdate >**>>> | | +ymd.year >**>>> | | +ymd.month >**>>> | | +ymd.day >**>>> | | +hms.hour >**>>> | | +hms.minute >**>>> | | +hms.second >**>>> | | +fractionsecond >**>>> | | +timezone >**>>> | +login >**>>> | | +id >**>>> | | +password >**>>> | +cert >**>>> | | +key >**>>> | | +format >**>>> | +gender >**>>> | +jobtitle >**>>> | +home-info >**>>> | | +postal >**>>> | | | +name >**>>> | | | | +prefix >**>>> | | | | +given >**>>> | | | | +middle >**>>> | | | | +family >**>>> | | | | +suffix >**>>> | | | | +nickname >**>>> | | | +street >**>>> | | | +city >**>>> | | | +stateprov >**>>> | | | +postalcode >**>>> | | | +organization >**>>> | | | +country >**>>> | | +telecom >**>>> | | | +telephone >**>>> | | | | +intcode >**>>> | | | | +loccode >**>>> | | | | +number >**>>> | | | | +ext >**>>> | | | | +comment >**>>> | | | +fax >**>>> | | | | +intcode >**>>> | | | | +loccode >**>>> | | | | +number >**>>> | | | | +ext >**>>> | | | | +comment >**>>> | | | +mobile >**>>> | | | | +intcode >**>>> | | | | +loccode >**>>> | | | | +number >**>>> | | | | +ext >**>>> | | | | +comment >**>>> | | | +pager >**>>> | | | +intcode >**>>> | | | +loccode >**>>> | | | +number >**>>> | | | +ext >**>>> | | | +comment >**>>> | | +online >**>>> | | ?email >**>>> | | +uri >**>>> | +business-info >**>>> | +postal >**>>> | | +name >**>>> | | | +prefix >**>>> | | | +given >**>>> | | | +middle >**>>> | | | +family >**>>> | | | +suffix >**>>> | | | +nickname >**>>> | | +street >**>>> | | +city >**>>> | | +stateprov >**>>> | | +postalcode >**>>> | | +organization >**>>> | | +country >**>>> | |telecom >**>>> | | +telephone >**>>> | | | +intcode >**>>> | | | +loccode >**>>> | | | +number >**>>> | | | +ext >**>>> | | | +comment >**>>> | | +fax >**>>> | | | +intcode >**>>> | | | +loccode >**>>> | | | +number >**>>> | | | +ext >**>>> | | | +comment >**>>> | | +mobile >**>>> | | | +intcode >**>>> | | | +loccode >**>>> | | | +number >**>>> | | | +ext >**>>> | | | +comment >**>>> | | +pager >**>>> | | +intcode >**>>> | | +loccode >**>>> | | +number >**>>> | | +ext >**>>> | | +comment >**>>> | +online >**>>> | | +email >**>>> | | +uri >**>>> | +employer >**>>> | +department >**>>> | >**>>> +business >**>>> +orgname >**>>> |department >**>>> +cert >**>>> | +key >**>>> | +format >**>>> +contact-info >**>>> +postal >**>>> | +orgname >**>>> | +name >**>>> | +street >**>>> | +city >**>>> | +stateprov >**>>> | +postalcode >**>>> | +organization >**>>> | +country >**>>> +telecom >**>>> +telephone >**>>> | +intcode >**>>> | +loccode >**>>> | +number >**>>> | +ext >**>>> | +comment >**>>> +fax >**>>> | +intcode >**>>> | +loccode >**>>> | +number >**>>> | +ext >**>>> | +comment >**>>> +mobile >**>>> | +intcode >**>>> | +loccode >**>>> | +number >**>>> | +ext >**>>> | +comment >**>>> +pager >**>>> | +intcode >**>>> | +loccode >**>>> | +number >**>>> | +ext >**>>> | +comment >**>>> +online >**>>> +email >**>>> +uri >**>>> >**>>> >**>>> >**>>> >**>> >**>> >**>> >**> >**> >**> >**> >** >** >**
Received on Wednesday, 13 July 2005 16:57:14 UTC