| Issue 5: | eml attributes | |
| 1 person starred this issue and may be notified of changes. | Back to list |
In the GBIF EML Scheme, the data type of three attributes of the element named "eml" differs from the Official EML Scheme. In the GBIF EML Schema: <xs:element name="eml"> ... ... <xs:attribute name="packageId" use="required"/> <xs:attribute name="scope" use="required" type="xs:NCName"/> <xs:attribute name="system" use="required" type="xs:NCName"/> ... </xs:element> In the Official EML Schema: <xs:element name="eml"> ... ... <xs:attribute name="packageId" use="required" type="xs:string"/> <xs:attribute name="system" use="required" type="res:SystemType"/> <xs:attribute name="scope" use="required" type="res:ScopeType"/> ... </xs:element>
Sep 30, 2010
Project Member
#1
htobon
Cc:
daniel.amariles88 wixner
Sep 30, 2010
but what is the actual difference, how are the types defined? It doesnt matter if res:SystemType in turn is xs:NCName. But is it?
Sep 30, 2010
Basically there is not a big difference. Only a very little details. Could I change them to NonEmptyStringType?
Oct 4, 2010
1 - packageId can stay as xs:string
2 - scope can only be "system" or "document" and is said to be fixed to "system" only! So its always a single, fixed value: <xs:attribute name="scope" type="res:ScopeType" fixed="system">
Please make it simply <xs:attribute name="scope" type="xs:string" fixed="system"/> which is effectively the same as the ScopeType
3 - system uses a string list type. For validation this effectively is the same as our xs:string, but I think we should still reuse their original type. The easiest is to use it unnamed inside the attribute like this:
<xs:attribute name="system" use="required">
<xs:simpleType name="SystemType">
<xs:list itemType="xs:string"/>
</xs:simpleType>
</xs:attribute>
For list type see: http://www.w3schools.com/schema/el_list.asp
Status:
Accepted
Labels: -Priority-Low Priority-High
Oct 4, 2010
In the 3rd option:
If we put a name to the simpleType element ("SystemType"), there is going to exist a syntax error.
so, I fixed like this:
<xs:attribute name="system" use="required">
<xs:simpleType>
<xs:list itemType="xs:string"/>
</xs:simpleType>
</xs:attribute>
Fixed in r150.
Status:
Fixed
|