Hi Kevin,
Here are a few extra notes in your metaHolder proposed enhancements itself (it case we go that way):
> 1. Add a type attribute to metaHolder
> 2. Define a set of datatypes for the metaHolder
> type attribute to allow minimum processing expectations
> for extensible metadata within the metaHolder element.
> We have not finalized a definitive list, but we
> would suggest the following:
> a. Select a subset of common datatypes from the XML
> built-in-primitives datatypes list such as string, integer,
> Boolean, (etc.), with basic processing expectations defined
Sound good. I assume the default would be xs:string
> b. File: allow for reference of metadata in a separate
> file.
Wouldn't that be covered with the XSD type xs:anyURI? (http://www.w3.org/TR/xmlschema-2/#anyURI)
(Although I'm not sure you could define relative URI, which would probably be a frequent case for a file location in an XLIFF package).
> c. Regex: allow for inclusion of regular expressions
> as extensible metadata. Third party tools may include
> validation or other handling of this metadata
Could you elaborate on that one? I'm not sure what the regex would be used for? To check the value of the <meta> element? But you example looks it's not the case.
Also what Regex syntax would it use? .NET, Java, ICU, Perl5?
For interoperability we would need either to pick a single syntax, or to have another attribute that identifies the syntax.
> 3. Allow the type attribute values to be
> extended by namespace for: ...
Some other attributes in the core, inline markup or modules are likely to allow user-defined values. We probably should have some consistency on how to identify them.
Using a prefix looks as good as any other way, and better than 'x-'.
But there is (I think) no XML-related behavior that actually links the namespace declaration to the prefix in the value, is there?
In XML, the two attributes names MWL:attr1 and XYZ:attr1 below are identical:
<elem xmlns:MWL="http://www.microsoft.com/public/winloc"
MWL:attr1="abc"
</elem>
and
<elem xmlns:XYZ="http://www.microsoft.com/public/winloc"
XYZ:attr1="abc"
</elem>
But those two values are not: (from the XML processor viewpoint):
<elem xmlns:MWL="http://www.microsoft.com/public/winloc"
xmlns:XYZ="http://www.microsoft.com/public/winloc"
attr1="XYZ:abc" attr2="MWL:abc"
</elem>
Isn't it dangerous to imply some kind of namespace behavior to things that are, from a XML viewpoint, just strings?
Cheers,
-yves