ETSI's Bug Tracker - Part 09: Using XML with TTCN-3
View Issue Details

ID | Project | Category | View Status | Date Submitted | Last Update
0003308 | Part 09: Using XML with TTCN-3 | Technical | public | 06-05-2008 13:07 | 10-12-2008 15:39

Reporter | user363 |
Assigned To | Gyorgy Rethy |
Priority | normal | Severity | major | Reproducibility | N/A
Status | closed | Resolution | fixed |
Platform |  | OS |  | OS Version |
Product Version |  |
Target Version | v4.1.1 (published 2009-06) | Fixed in Version | v4.1.1 (published 2009-06) |
Clause Reference(s) | 5.1
For STF discussion |
Source (company - Author) |

Summary | 0003308: Module Names

Description

The mapping of XSD files and name spaces to TTCN-3 modules shall be handled analog to part 8 of the standard (IDL). I. e. in particular that the XSD file names shall have no influence on the mapping; the XSD namespaces shall be mapped (after some necessary name mangling) to TTCN-3 module names.
Proposed text:
"Every namespace used in an XSD Schema is mapped to a separate TTCN-3 module, containing the entities defined in the particular namespace. (The namespace URIs are mangled to syntactically correct TTCN-3 module names as described in clause 5.2.) This means that XSD import-statements (which allow the use of entities of another namespace) imply the generation of another module for the imported entities; XSD include-statements (which include entities, defined in another namespace, into the same namespace the include-statement appears in) lead to the generation of the included entities in the current module.
No maintenance effort shall result from changes of the internal structure of an XSD Schema which does not change its outside appearance (interface)."
Reasoning:
(A) This approach has already been proven suitable in the IDL-to-TTCN-3 mapping (part 8 of the standard). Handling analog things differently is not intuitive for the user.
(B) The XSD file names are part of the internal structure of a Schema; changes within this internal structure should not result in changes of the interface (e. g. TTCN-3 module names) of the generated TTCN-3 code as this would result in maintenance efforts for users of the generated code each time the internal structure of the Schema changes.

Steps To Reproduce |
Additional Information |
Tags | No tags attached.
Relationships |

Attached Files

CR3308_3310_analysis_2008-07.ppt (62,464) 18-07-2008 09:23
http://oldforge.etsi.org/mantis/file_download.php?file_id=1556&type=bug
CR3308_3310-module names.doc (125,440) 27-11-2008 18:43
http://oldforge.etsi.org/mantis/file_download.php?file_id=1825&type=bug
CR3308_3310-module names v3.doc (130,560) 28-11-2008 14:28
http://oldforge.etsi.org/mantis/file_download.php?file_id=1837&type=bug
CR3308_3310-module names v7.doc (289,280) 10-12-2008 09:05
http://oldforge.etsi.org/mantis/file_download.php?file_id=1878&type=bug

Issue History
Date Modified | Username | Field | Change
06-05-2008 13:07 | user363 | New Issue |
06-05-2008 13:07 | user363 | Clause Reference(s) | => 5.1
06-05-2008 13:07 | user363 | Source (company - Author) | =>
09-05-2008 11:13 | Ina Schieferdecker | Assigned To | => Gyorgy Rethy
09-05-2008 11:13 | Ina Schieferdecker | Status | new => assigned
09-05-2008 11:15 | Ina Schieferdecker | Project | TTCN-3 Change Requests => Part 09: Using XML with TTCN-3
09-05-2008 11:16 | Ina Schieferdecker | Target Version | => Edition 4.1.1 (not yet published)
18-07-2008 09:23 | Gyorgy Rethy | File Added: CR3308_3310_analysis_2008-07.ppt |
18-07-2008 09:30 | Gyorgy Rethy | Note Added: 0006321 |
27-11-2008 18:43 | Gyorgy Rethy | File Added: CR3308_3310-module names.doc |
27-11-2008 18:43 | Gyorgy Rethy | Assigned To | Gyorgy Rethy => Thomas DeiÃŸ
28-11-2008 08:39 | Thomas DeiÃŸ | Note Added: 0007492 |
28-11-2008 08:40 | Thomas DeiÃŸ | Assigned To | Thomas DeiÃŸ => Gyorgy Rethy
28-11-2008 13:59 | Gyorgy Rethy | Note Added: 0007506 |
28-11-2008 14:03 | Gyorgy Rethy | Note Edited: 0007506 |
28-11-2008 14:28 | Gyorgy Rethy | Note Edited: 0007506 |
28-11-2008 14:28 | Gyorgy Rethy | File Added: CR3308_3310-module names v3.doc |
10-12-2008 09:05 | Gyorgy Rethy | File Added: CR3308_3310-module names v4.doc |
10-12-2008 09:05 | Gyorgy Rethy | File Deleted: CR3308_3310-module names v4.doc |
10-12-2008 09:05 | Gyorgy Rethy | File Added: CR3308_3310-module names v7.doc |
10-12-2008 15:39 | Gyorgy Rethy | Note Added: 0007643 |
10-12-2008 15:39 | Gyorgy Rethy | Status | assigned => closed
10-12-2008 15:39 | Gyorgy Rethy | Resolution | open => fixed
10-12-2008 15:39 | Gyorgy Rethy | Fixed in Version | => Edition 4.1.1 (not yet published)

Notes

(0006321)
Gyorgy Rethy
18-07-2008 09:30

Agreed in general: add naming rule for generated TTCN-3 modules; it shall be the name resulted by applying $5.2 on the target namespace (resolves also the multiple target namespace problem), if exists, or on the default module name "No_target_namespace", if no target namespace is at place.

(0007492)
Thomas DeiÃŸ
28-11-2008 08:39

In case of an XML schema including the other they will have the same target namespace. Hence they will have the same module name. By numerical suffixes the module names can be made unique. It should be clarified in which order the name resolution is applied. Including module first, then the included one?

(0007506)
Gyorgy Rethy
28-11-2008 13:59 (edited on: 28-11-2008 14:28)

OK, the sentence is misleading. In fact both the including schema and the included schema shall be available for the converter, thus no need to generate a third, "included" schema. But we do not know in which order they are processed. As XSD allows circular includes, the documents cannot be arranged in a canonical order, e.g. acc. to the include hierarchy. Therefore we have no mean to specify which one shall be processed first. I propose to add a note, encouraging tool providers to use the order in which the XSD documents are provided to the tool and then by the order of generating new TTCN-3 modules. See ~v3.

(0007643)
Gyorgy Rethy
10-12-2008 15:39

Final version agreed with Jacob is in the file CR3308_3310-module names v7.doc. Changes added to master copy (v3.3.4).