Topic RSS
3:35 pm
September 9, 2011
OfflineDear All,
I am trying to upload the version 2.1 SDMX-ML structure samples from SDMX.org (section 3a part VII) to the FusionRegistry. I do get errors on all files but the first 'common.xml' from this example document. I've listed a few examples of typical error messages below. I've also tried to upload SDMX ML files from Eurostat to the registry which also resulted in similar error messages. I would very much appreciate if someone would contact me to brief me on the issues identified and on how to proceed.
Best,
Rob Grim
+31 13 466 2619
Tilburg University/Open Data Foundation
Example error messages i.e. for the ESMS.XML are:
no protocol: demography.xml
Could not create attribute 'structureURL' with value 'demography.xml'
Error with maintainable artefact of type 'Data Structure Defintition' and identifiers 'ESTAT:DEMOGRAPHY(1.0)'
Or from a file within the Query directory
MESSAGE_TYPE.parseString unknown message type : DataStructureQuery
no protocol: ../common/exr_common.xml
Could not create attribute 'structureURL' with value '../common/exr_common.xml'
Error with maintainable artefact of type 'Codelist' and identifiers 'SDMX:CL_DECIMALS(1.0)'
11:17 am
March 29, 2011
OfflineHi Rob,
In SDMX it is possible to provide a structureURL attribute to a maintainable artefact, such as a Codelist/DSD etc. The structureURL essentially says, this is where the structure is located. In this way a registry can know about the existence of a structure such as a codelist, which is maintained externally – however the registry must be able to get a handle on the structure, so that if a user queries the registry for this structure, then it will resolve the reference and put the full structure into the query response.
An example would be:
<structure:Codelist id=”CL_OBS_STATUS” agencyID=”BIS” version=”1.0″ isExternalReference=”true” structureURL=”http://sdmx.org/docs/2_0/StructureSample.xml”>
<structure:Name>Any Name</structure:Name>
</structure:Codelist>
The Error:
“Could not create attribute structureURL with value demography.xml”
Is due to the registry enforcing that the structureURL is indeed a valid URL (which in your case it isn't). The registry will then validate that the structure exists in the location specified by that URL. So if you are to upload a codelist, in my example above, where the reference is external (and valid) – and then query the registry for this codelist, you will find that you get the full codelist with all the codes. The registry has only stored the ‘stub’ but it has brokered this query to the URL where the codelist resides – if you were to remove some codes from this external codelist, and re-query the registry, you will see the the response includes your modifications.
In the schema samples, you will see tags with attributes like the following:
isExternal=”true” structureURL=”../common/common.xml”
The registry will throw this type of message out, as there is no way it can resolve this reference to validate that the structure exists (and it is not a valid URL as there is no protocol, such as ** you don’t have permission to see this link **). The reference in this example is a relative reference to a document on your own computer – so unresolvable from a web application’s perspective. To fix this in the schema samples, you could just replace all the external codelists & concepts in demography.xml with the actual ones in the common.xml file – and then load the document. Or load the common.xml document, and completely remove the externaly ones in the demography.xml.
The second error:
Error with maintainable artefact of type Data Structure Defintition and identifiers ESTAT:DEMOGRAPHY(1.0)
I would need more information about the contents of this file, or is there any more error messages provided for this?
The Error:
unknown message type : DataStructureQuery
Is because the registry only supports the version 2.0 structure query – supplied in the RegistryInterfaceDocument. There is version 2.1 support for the Registration query, but this must be provided in a RegistryInterfaceDocument. An easier way to query the registry is to use the REST interface to provide an HTTP GET, for example:
** you don’t have permission to see this link **
Would be the equivalent query to the one in query_demo_stub.xml – which is far easier to construct then authoring an XML document.
There will be support for 2.1 Strucutre queries by submitting SDMX-ML documents in a future release.
Let me know if I have left anything unanswered. Thanks.

Log In
Register
Home



