- From: Kazuhiro Kitagawa <kaz@w3.org>
- Date: Wed, 04 Apr 2001 02:00:36 +0900
- To: www-mobile@w3.org
I am commenting on Composite Capability/Preference Profiles (CC/PP): Structure and Vocabularies Working Draft 15 March 2001 http://www.w3.org/TR/2001/WD-CCPP-struct-vocab-20010315/ from an RDF implementors point of view - RDF model and syntax details, not the CC/PP application itself. Firstly I'd like to second Dan Connolly's comments in http://lists.w3.org/Archives/Public/www-mobile/2001Mar/0006.html http://lists.w3.org/Archives/Public/www-mobile/2001Mar/0007.html - rdf:Property not rdfs:Property - the subclassing for ccpp:Value is the wrong way round - think about using XML schema definitions of some terms I tried parsing http://www.w3.org/2000/07/04-ccpp.rdf with 6 different RDF/XML parsers and that worked OK giving the same answers. I tried the example just at the end of section 1 and it failed on a few parsers because the first element <RDF..> element should have been <rdf:RDF> Correct that caused most of them to work but the stanford one failed - http://www-db.stanford.edu/~melnik/rdf/api.html => Don't assume that if it works with SiRPAC (W3C), it is correct :-) Figure 2-1b: CC/PP profile components in XML Inconsistent use of rdf:about / about Get different answers here from different parsers (3 statements, 0 statements, crash), but I suspect a conformance issue not anything else. Figure 2-2b: Complete CC/PP profile example in XML No default namespace defined, but it is used for <display> etc. elements. RDF parsing rules mean the entire content can be ignored so I suspect you need to add another xmlns: The parsers accept this and generate illegal RDF statements with properties of the XML element names. 2.1.3 Defaults Figure with no label, visually looks OK but examples 2-3 contain no default xmlns so display etc. elements are not guaranteed to generated RDF statements. Figure 2-4b: Overriding a default value in XML Ditto default xmlns in both examples In 'Note' just at end; relative URIs can be used in RDF but not recommended for namespaces - the latter is my opinion. Section 2.2 Fragment: ---------------------------------------------------------------------- <?xml version="1.0"?> <RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ccpp="http://www.w3.org/2000/07/04-ccpp#" xmlns:uaprof="http://www.wapforum.org/UAPROF/ccppschema-20000405#"> ---------------------------------------------------------------------- Why are there two references to the RDF namespace? This is strange in the following sections since all rdf concepts are used and there is no use of elements in the default namespace. Maybe note that the namespace prefixes will change as the document changes, and shouldn't be used in products blah blah like boilerplate at the top. 2.3.1 Basic RDF Model In definition of Resources it says "plus optional anchor ids" wheras the box above uses #fragement-ID - make this consistent and change any references to it. Properties defn. section has reference [4] that isn't a hyperlink, change that and references to Sections such as under defn. Statements to be links. Figure 2-9a: XML fragment containing RDF resource description It may be a fragment but shouldn't those be <rdf:Description> blocks like used all the previous examples? Figure 2-10: RDF serialization Has a different RDF header again, not like previous ones but similar to the fragment in an earlier section. Again use <Description> here (and <type>) with default namespace versus <rdf:Description> in previous examples 2.3.3 RDF schema Can you add a link to the RDF schema document here since this is the first discussion of it. 3.1.3 Defaults In examples here using no rdf: prefixes on Description, type elements or about, resource attributes. So why declare xmlns:rdf ? One note after an un-numbered figure says: [[NOTE: A default document uses a <Description> element as its root node. The <Description> is named using an about= attribute whose value is a URI. This URI MUST correspond to the value in the rdf:resource= attribute ...]] however you don't use rdf:resource attribute in the example! This kind of thing is used to label bare URIs: <http://www.w3.org/2000/07/04-ccpp-proxy#> and although this is recommended by the URI spec, I suggest you add a note somewhere early on explaining what this encoding means. 3.2.1 Capability chaining examples back to rdf: everywhere agin 3.2.2.1 Example: XHTML to WML transcoding has example with line <rdf:li>http://example.org/example/XHTML-1.0</rdf:li> probably should be: <rdf:li rdf:resource="http://example.org/example/XHTML-1.0"/> unless you wanted it as a string? Appendixes Can you add the URIs of all schema, attribute vocabulary documents into the spec. near where they are textually included examples so that it is clear what the included document is. ---------- Overall, need I say use consistent rdf: or not throughout? I suggest using rdf: everywhere and removing default namespace. I this makes the results too verbose, and it might, choose the other alternative - no rdf: prefix and set it as the default namespace throughout. I've been over this before in: http://www.redland.opensource.ac.uk/notes/concepts.html which provides a ready reference for them. Also, try a couple of RDF/XML parsers, you can do that at my demo which I've been using here to try things out: http://www.redland.opensource.ac.uk/demo or try some of the other online demos. Maybe automate checking the fragments and examples standalone and then build the document from the bits? (after encoding in XHTML). Add more links around document, make sure all figures and examples have <a name> and captions/labels/numbers so they can be cited and linked to in potential CC/PP validators. Dave
Received on Tuesday, 3 April 2001 13:00:14 UTC