radiodns / spi-transform

Transformations from RadioEPG 1.0/1.1 to the new ETSI TS 102 818 Hybrid Radio SPI (and back again)
GNU General Public License v2.0
3 stars 2 forks source link

Fix XSI namespace of genre element #5

Closed basicmaster closed 7 years ago

njh commented 7 years ago

Any reason not to accept this?

nickpiggott commented 7 years ago

None that I can see. I'll page @andybee to cross check, and merge if he's good with it.

basicmaster commented 7 years ago

Looking at this again, the example XSI doc in §8.2 of the RadioEPG v1.1 spec has the incorrect namespace for the genre element as well (besides other issues) and hence does not validate against the XSD in §9.1...

andybee commented 7 years ago

Please could you provide more information on what this pull request attempts to resolve? I'm not aware of an issue in the current XSLT with regards to the <genre> element.

<genre> in the legacy XSI spec is inherited from the legacy DAB EPG XML specification and, as a result, should exist within a namespace.

In transforming example documents with the proposed revised XSLT, this no longer occurs. Transforming an SI to XSI loses the namespace and transforming in the opposite direction leaves the text node to be adopted by the parent node from the original genre element.

nickpiggott commented 7 years ago

Hi @njh / @andybee - can I nudge this for a resolution?

Thanks

Nick

basicmaster commented 7 years ago

Sorry, I forgot about this; I will look into this in a few days and provide the requested information.

basicmaster commented 7 years ago

Sorry for the delay; I had to find the time to work into this issue again.

@andybee

<genre> in the legacy XSI spec is inherited from the legacy DAB EPG XML specification and, as a result, should exist within a namespace.

According to the XSD, only the genreType type of this element is inherited from legacy DAB EPG XML. The actual genre element is defined by the legacy XSI spec itself and hence in its namespace http://schemas.radiodns.org/epg/11.

@magicbadger

The DAB EPG XML SI XSD, epgSI_14.xsd directly imports the datatypes into its own namespace, with the directive:

<xs:import namespace="http://www.worlddab.org/schemas/epgDataTypes/14" schemaLocation="epgDataTypes_14.xsd"/>

Which means that it can directly use it in its own namespace for SI files.

xs:import allows to reference the components from the DAB EPG XML SI XSD, but does not import them into the XSI namespace (see e.g. https://msdn.microsoft.com/en-us/library/ms256480(v=vs.110).aspx). Did you possibly mean xs:include?

andybee commented 7 years ago

Based on the evidence above and the information obtained about the <xs:import/> element, I believe there to be a mismatch between the XML examples and the XSD in the legacy RadioEPG specification.

If we are to base the implementation solely on the XSD, @basicmaster pull request is a valid fix for the issue.

However due to the legacy nature of the RadioEPG specification and the prevalence of implementations that favour the approach in the example XML over the definition in the XSD, I am declining to accept this pull request as it will lead to documents that differ from the most popular approach.

Thank you all for your time in reporting, looking in to, and feeding back on this issue.

basicmaster commented 7 years ago

OK, I can understand your view on this and your decision. Thanks!