- From: Dave Reynolds <der@hplb.hpl.hp.com>
- Date: Wed, 27 Aug 2008 15:37:47 +0100
- To: Jos de Bruijn <debruijn@inf.unibz.it>
- CC: public-rif-wg@w3.org
Jos de Bruijn wrote: > <snip/> > >> <DaveReynolds> Stella - the "mathematical english" is normative, the >> presentation syntax and it's EBNF is non-normative, the semantics >> actually refers to the mathematical English - at least that's how I >> understand it. > > The mathematical English is the specification of the presentation > syntax. The BNF is only for illustrative purposes. Yes, that was clarified further down the chat. My error. >> Axel: Predicate that takes rdf:text and language range, matching eg all >> "en" tags. > > Why would you want a predicate for that? You can extract the language > tag and check equality. See also [1] > > [1] http://lists.w3.org/Archives/Public/public-rif-wg/2008Aug/0104.html Because lang tag matching is not the same as lang tag equality, that's why it takes 19 pages to specify the match algorithm in the RFC (RFC4647) :-) Just for illustration here's an example from the RFC: """ the extended language range "de-*-DE" (or its synonym "de-DE") matches all of the following tags: de-DE (German, as used in Germany) de-de (German, as used in Germany) de-Latn-DE (Latin script) de-Latf-DE (Fraktur variant of Latin script) de-DE-x-goethe (private-use subtag) de-Latn-DE-1996 (orthography of 1996) de-Deva-DE (Devanagari script) The same range does not match any of the following tags for the reasons shown: de (missing 'DE') de-x-DE (singleton 'x' occurs before 'DE') de-Deva ('Deva' not equal to 'DE') """ >> Dave: Fine. Alg the same, just args different. >> ... Can lang tag be empty xs:string? > > Shouldn't the language tag be a string specified by a specific RFC or > its successor? As I understand it that is the proposal except for the allowance of empty lang tags. >> Dave: Normally no need for testing non-emptiness. > > You can test string-length=0 Of course, I wasn't suggesting it is hard to test for empty strings but was surprised at the need to do so. It's like returning null in Java instead of throwing an exception - you end up with lots of extra guards in your code. I had previous thought that: pred:isText(?x) & ?l = func:lang(?x) would result in ?l being a real language tag and so would not need an additional guard. That's not the case, but I'm over my surprise now. Dave -- Hewlett-Packard Limited Registered Office: Cain Road, Bracknell, Berks RG12 1HN Registered No: 690597 England
Received on Wednesday, 27 August 2008 14:39:30 UTC