Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mcc:URI can have no content #229

Open
smrgeoinfo opened this issue Jul 18, 2023 · 4 comments
Open

mcc:URI can have no content #229

smrgeoinfo opened this issue Jul 18, 2023 · 4 comments

Comments

@smrgeoinfo
Copy link
Contributor

the mcc:URI element can have no content according to the xml schema, the only way to put a URI in is in the uuid attribute defined on gco:AbstractObject. What is the logic for this, or is it an error?

from https://schemas.isotc211.org/19115/-3/mcc/1.0/commonClasses.xsd

<element name="URI" substitutionGroup="gco:AbstractObject" type="mcc:URI_Type">
    <annotation>
      <documentation>Uniform Resource Identifier (URI), is a compact string of characters used to identify or name a resource</documentation>
    </annotation>
  </element>
  <complexType name="URI_Type">
    <complexContent>
      <extension base="gco:AbstractObject_Type">
        <sequence/>
      </extension>
    </complexContent>
  </complexType>

so in a data instance it looks like this

<mri:conceptIdentifier>
       <mcc:URI uuid="https://example.org/test"/>
</mri:conceptIdentifier>
@ejbleys
Copy link
Contributor

ejbleys commented Jul 18, 2023 via email

@PeterParslow
Copy link

The rule against not populating both an element & an attribute - where such rule logically exists - can't be enforced in XSD. It has to be in something like Schematron.

In ISO 19139, these "co-constraints" were listed in Table A.1. There wasn't one that matches this particular instance, because ISO 19139 encoded the "logical" URI type specifically as an attribute of type xs:anyURI. I'm pretty sure there weren't any elements that semantically "required" a URI.

@PeterParslow
Copy link

In ISO 19115-1:2014, only conceptIdentifier uses the "commonly used" class URI

I'm not sure why ISO 19115-3 didn't include a "co-constraint" requirement on the anyURI type to say that the URI should be in the attribute, or only in one of the attribute & the element.

@smrgeoinfo
Copy link
Contributor Author

I guess I'm to blame on this one... slipped through the cracks somehow.

possible fixes...

for <complexType name="URI_Type">

URI as string value in mcc:URI

<extension base="gco:AbstractObject_Type">
        <sequence>
          <element name="uri" type="gco:CharacterString_PropertyType"/>
        </sequence>
      </extension>

OR uri attribute on mcc:URI

      <extension base="gco:AbstractObject_Type">
        <sequence/>     
        <attribute name="uri" type="xs:anyURI"/>
      </extension>

....

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants