My favorites | Sign in
Project Home
READ-ONLY: This project has been archived. For more information see this post.
Search
for
  Advanced search   Search tips   Subscriptions
Issue 5: eml attributes
1 person starred this issue and may be notified of changes. Back to list
Status:  Fixed
Owner:  htobon
Closed:  Oct 2010
Cc:  daniel.amariles88, wixner@gmail.com


 
Project Member Reported by htobon, Sep 28, 2010
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
(No comment was entered for this change.)
Cc: daniel.amariles88 wixner
Sep 30, 2010
#2 mdoer...@gbif.org
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
Project Member #3 htobon
Basically there is not a big difference. Only a very little details.

Could I change them to NonEmptyStringType?
Oct 4, 2010
Project Member #4 wixner@gmail.com
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
Project Member #5 htobon
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

Powered by Google Project Hosting