Dear Dr. Riazanov,
Thank you for pointing this out to us.
We now added the following in PRD, BLD (hence Core), and FLD:
The xml:lang attribute, as defined by 2.12 Language Identification of XML 1.0 or its successor specifications in the W3C recommendation track, is optionally used to identify the language for the presentation of the Const to the user. It is allowed only in association with constants of the type rdf:plainLiteral. A compliant implementation MUST ignore the xml:lang attribute if the type of the Const is not rdf:plainLiteral.
-The RIF WG
I have a simple question about FLD syntax and semantics.
The XMLSchema says:
<xs:element name="Const"> <xs:complexType mixed="true"> <xs:sequence> <xs:group ref="IRIMETA" minOccurs="0" maxOccurs="1"/> </xs:sequence> <xs:attribute name="type" type="xs:anyURI" use="required"/> <xs:attribute ref="xml:lang"/> </xs:complexType> </xs:element>
This means that syntactically there may be an "xml:lang" with any value of the attribute "type". I wonder if the use of a non-empty value in "xml:lang" with any "type" rather than rdf:PlainLiteral (http://www.w3.org/1999/02/22-rdf-syntax-ns#text) should be considered a semantic error?
My guess is that it should not, but I want to be sure.
If it is not an error, then do we have to completely ignore the language tags in non-PlainLiteral constants? If we do, then the following objects must be considered logically identical:
<Const type="mytype" lang="en"> abra kadabra </Const>
<Const type="mytype" lang="de"> abra kadabra </Const>
because they only differ in the value of "lang". This is not nice, so I guess we should distinguish them, but I would like to be sure.
A quick answer would be appreciated, even if preliminary or just a reference to a place in the proposals where this stuff is defined.