<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
	<link rel="stylesheet" type="text/css" href="http://oldforge.etsi.org/mantis/css/default.css" />
	<script type="text/javascript"><!--
		if(document.layers) {document.write("<style>td{padding:0px;}<\/style>")}
	// --></script>
	<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
	<meta http-equiv="Pragma" content="no-cache" />
	<meta http-equiv="Cache-Control" content="no-cache" />
	<meta http-equiv="Pragma-directive" content="no-cache" />
	<meta http-equiv="Cache-Directive" content="no-cache" />
	<meta http-equiv="Expires" content="Tue, 17 Dec 2024 09:16:44 GMT" />
	<link rel="shortcut icon" href="/mantis/images/favicon.ico" type="image/x-icon" />
	<link rel="search" type="application/opensearchdescription+xml" title="MantisBT: Text Search" href="http://oldforge.etsi.org/mantis/browser_search_plugin.php?type=text" />	<link rel="search" type="application/opensearchdescription+xml" title="MantisBT: Issue Id" href="http://oldforge.etsi.org/mantis/browser_search_plugin.php?type=id" />	<title>0006696: Import of the XSD module - ETSI's Bug Tracker</title>
<script type="text/javascript" src="/mantis/javascript/min/common.js"></script>
<script type="text/javascript">var loading_lang = "Loading...";</script><script type="text/javascript" src="/mantis/javascript/min/ajax.js"></script>
</head>
<body>
<br /><table class="width100" cellspacing="1"><tr><td class="form-title" colspan="6"><div class="center">ETSI's Bug Tracker - Part 09: Using XML with TTCN-3</div></td></tr><tr><td class="form-title" colspan="6">View Issue Details</td></tr><tr><td class="print-spacer" colspan="6"><hr size="1" /></td></tr><tr class="print-category"><td class="print" width="16%">ID</td><td class="print" width="16%">Project</td><td class="print" width="16%">Category</td><td class="print" width="16%">View Status</td><td class="print" width="16%">Date Submitted</td><td class="print" width="16%">Last Update</td></tr><tr class="print"><td class="print">0006696</td><td class="print">Part 09: Using XML with TTCN-3</td><td class="print">Technical</td><td class="print">public</td><td class="print">05-03-2014 16:26</td><td class="print">26-01-2015 11:26</td></tr><tr><td class="print-spacer" colspan="6"><hr size="1" /></td></tr><tr class="print"><td class="print-category">Reporter</td><td class="print">Tomas Urban</td><td class="print" colspan="4">&#160;</td></tr><tr class="print"><td class="print-category">Assigned To</td><td class="print">Gyorgy Rethy</td><td class="print" colspan="4">&#160;</td></tr><tr class="print"><td class="print-category">Priority</td><td class="print">urgent</td><td class="print-category">Severity</td><td class="print">minor</td><td class="print-category">Reproducibility</td><td class="print">N/A</td></tr><tr class="print"><td class="print-category">Status</td><td class="print">closed</td><td class="print-category">Resolution</td><td class="print">fixed</td><td class="print" colspan="2">&#160;</td></tr><tr class="print"><td class="print-category">Platform</td><td class="print"></td><td class="print-category">OS</td><td class="print"></td><td class="print-category">OS Version</td><td class="print"></td></tr><tr class="print"><td class="print-category">Product Version</td><td class="print">v4.5.1 (published 2013-04)</td><td class="print" colspan="4">&#160;</td></tr><tr><td class="print-category">Target Version</td><td class="print">v4.6.1 (published 2015-06)</td><td class="print-category">Fixed in Version</td><td class="print">v4.5.2 (interim 2014)</td><td class="print" colspan="2">&#160;</td></tr><tr class="print"><td class="print-category">Clause Reference(s)</td><td class="print" colspan="4">5</td></tr><tr class="print"><td class="print-category">For STF discussion</td><td class="print" colspan="4"></td></tr><tr class="print"><td class="print-category">Source  (company  - Author)</td><td class="print" colspan="4">STF 475</td></tr><tr><td class="print-spacer" colspan="6"><hr size="1" /></td></tr><tr class="print"><td class="print-category">Summary</td><td class="print" colspan="5">0006696: Import of the XSD module</td></tr><tr class="print"><td class="print-category">Description</td><td class="print" colspan="5">The specification contains different rules for using the built-in XSD data types in case of implicit and explicit mapping:<br />
<br />
Built-in data types, described in detail in clause 6, in case of an implicit conversion are internal to the tool and can be referenced directly by the user, while in case of an explicit conversion, the user shall have to import the XSD.ttcn module (see annex A) in addition to the TTCN-3 modules resulted from the conversion.<br />
<br />
First, it is not obvious what the scope of this rule is. Is the rule related just to the internal represantation (that is invisible to the user) in case of implicit conversion and to the generated TTCN-3 modules in case of explicit conversion or is it a rule for all modules that import anything from XSD or is it a general rule for all modules in the test suite (if XSD support is available/switched on)? The specification should provide a clear answer to this question to avoid different interpretations by tool vendors.<br />
<br />
Dependent on the answer to the above mentioned questions there are additional issues concerning the situation when the user has to use any of the definitions from the XSD module in the code, e.g. when writing functions that use the types from the XSD module as arguments/return types.<br />
<br />
I will start with the situation when XSD types are visible in the user code. In this case, the rule causes a significant problem when writing test suites that should work with both approaches. If the test suite requires to use any of the built-in types, it has to explicitly import the XSD module in order to support explicit conversion. However, it is not clear if this will work with implicit conversion, because the specification doesn't require that a tool using implicit conversion shall support explicit import of the XSD module (even though it is not forbiden either).<br />
<br />
It is also not obvious what are the namespace impacts of the &quot;built-in data types ... can be referenced&quot; rule in case of implicit conversion. Does it mean that these names are inserted into the namespace (together with the XSD module) in the same way as in case of an imported module? <br />
<br />
In case the above mentioned rule concerns the internal representation/generated modules only, there's a question if a tool using implicit conversion should support explicit import the XSD module in order to use the types defined in it. Again, this is related to the fact that the specification doesn't require the tools using implicit conversion shall support explicit import of the XSD module.<br />
<br />
The solution I propose is following:<br />
1. The rule is related only to the internal representation (in case of implicit approach) and to the generated code (in case of explicit approach), i.e. the definitions from the XSD module cannot be automatically referenced in the modules written by the user.<br />
2. Tools that use implicit approach should allow explicit import of the XSD module (even if it is not physically present in the test suite, i.e. it is provided by the tool), in order to allow using definitions from it in the modules written by the user.<br />
<br />
There is also one minor additional problem connected with the above mentioned rule: it mentions a file name (XSD.ttcn), but the core language specification considers file system mapping to be tool-specific. In my opinion, module name shall be used instead.<br />
</td></tr><tr class="print"><td class="print-category">Steps To Reproduce</td><td class="print" colspan="5"></td></tr><tr class="print"><td class="print-category">Additional Information</td><td class="print" colspan="5"></td></tr><tr class="print"><td class="print-category">Tags</td><td class="print" colspan="5">No tags attached.</td></tr><tr class="print"><td class="print-category">Relationships</td><td class="print" colspan="5"></td></tr><tr class="print"><td class="print-category">Attached Files</td><td class="print" colspan="5"><img src="http://oldforge.etsi.org/mantis/images/fileicons/doc.gif" alt="doc" />&#160;CR6696_resolution_v1.doc (89,600) <span class="italic">20-06-2014 10:54</span><br />http://oldforge.etsi.org/mantis/file_download.php?file_id=3073&amp;type=bug<br /><img src="http://oldforge.etsi.org/mantis/images/fileicons/doc.gif" alt="doc" />&#160;CR6696_resolution_v2.doc (90,112) <span class="italic">20-06-2014 11:45</span><br />http://oldforge.etsi.org/mantis/file_download.php?file_id=3074&amp;type=bug<br /><img src="http://oldforge.etsi.org/mantis/images/fileicons/doc.gif" alt="doc" />&#160;CR6696_resolution_v3.doc (90,624) <span class="italic">23-06-2014 15:49</span><br />http://oldforge.etsi.org/mantis/file_download.php?file_id=3075&amp;type=bug</td></tr><tr><td class="print-spacer" colspan="6"><hr size="1" /></td></tr><tr><td class="form-title">Issue History</td></tr><tr class="print-category"><td class="row-category-history">Date Modified</td><td class="row-category-history">Username</td><td class="row-category-history">Field</td><td class="row-category-history">Change</td></tr><tr class="print"><td class="print">05-03-2014 16:26</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=659">Tomas Urban</a></td><td class="print">New Issue</td><td class="print"></td></tr><tr class="print"><td class="print">08-04-2014 09:12</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">Assigned To</td><td class="print"> =&gt; Gyorgy Rethy</td></tr><tr class="print"><td class="print">08-04-2014 09:12</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">Priority</td><td class="print">normal =&gt; high</td></tr><tr class="print"><td class="print">08-04-2014 09:12</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">Status</td><td class="print">new =&gt; assigned</td></tr><tr class="print"><td class="print">08-04-2014 09:12</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">Target Version</td><td class="print"> =&gt; v4.6.1 (published 2015-06)</td></tr><tr class="print"><td class="print">20-06-2014 10:01</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">Priority</td><td class="print">high =&gt; urgent</td></tr><tr class="print"><td class="print">20-06-2014 10:54</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">File Added: CR6696_resolution_v1.doc</td><td class="print"></td></tr><tr class="print"><td class="print">20-06-2014 10:55</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">Note Added: 0012184</td><td class="print"></td></tr><tr class="print"><td class="print">20-06-2014 10:55</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">Assigned To</td><td class="print">Gyorgy Rethy =&gt; Tomas Urban</td></tr><tr class="print"><td class="print">20-06-2014 10:55</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">Status</td><td class="print">assigned =&gt; confirmed</td></tr><tr class="print"><td class="print">20-06-2014 11:45</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=659">Tomas Urban</a></td><td class="print">File Added: CR6696_resolution_v2.doc</td><td class="print"></td></tr><tr class="print"><td class="print">20-06-2014 11:49</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=659">Tomas Urban</a></td><td class="print">Note Added: 0012187</td><td class="print"></td></tr><tr class="print"><td class="print">20-06-2014 11:49</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=659">Tomas Urban</a></td><td class="print">Assigned To</td><td class="print">Tomas Urban =&gt; Gyorgy Rethy</td></tr><tr class="print"><td class="print">20-06-2014 11:50</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=659">Tomas Urban</a></td><td class="print">Note Edited: 0012187</td><td class="print">bug_revision_view_page.php?bugnote_id=12187#r61</td></tr><tr class="print"><td class="print">20-06-2014 11:50</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=659">Tomas Urban</a></td><td class="print">Note Edited: 0012187</td><td class="print">bug_revision_view_page.php?bugnote_id=12187#r62</td></tr><tr class="print"><td class="print">23-06-2014 15:49</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">File Added: CR6696_resolution_v3.doc</td><td class="print"></td></tr><tr class="print"><td class="print">23-06-2014 15:51</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">Note Added: 0012194</td><td class="print"></td></tr><tr class="print"><td class="print">23-06-2014 15:51</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">Status</td><td class="print">confirmed =&gt; resolved</td></tr><tr class="print"><td class="print">23-06-2014 15:51</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">Fixed in Version</td><td class="print"> =&gt; v4.6.1 (published 2015-06)</td></tr><tr class="print"><td class="print">23-06-2014 15:51</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">Resolution</td><td class="print">open =&gt; fixed</td></tr><tr class="print"><td class="print">24-06-2014 09:30</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">Note Added: 0012195</td><td class="print"></td></tr><tr class="print"><td class="print">24-06-2014 09:30</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">Status</td><td class="print">resolved =&gt; closed</td></tr><tr class="print"><td class="print">24-06-2014 09:30</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">Fixed in Version</td><td class="print">v4.6.1 (published 2015-06) =&gt; v4.5.2 (interim 2014)</td></tr><tr class="print"><td class="print">26-01-2015 11:21</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">Fixed in Version</td><td class="print">v4.5.2 (interim 2014) =&gt; v4.6.1 (published 2015-06)</td></tr><tr class="print"><td class="print">26-01-2015 11:26</td><td class="print"><a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a></td><td class="print">Fixed in Version</td><td class="print">v4.6.1 (published 2015-06) =&gt; v4.5.2 (interim 2014)</td></tr></table>
<br />
<table class="width100" cellspacing="1">
<tr>
	<td class="form-title" colspan="2">
		Notes	</td>
</tr>
<tr>
	<td class="print-spacer" colspan="2">
		<hr size="1" />
	</td>
</tr>
<tr>
	<td class="nopad" valign="top" width="20%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				(0012184)
			</td>
		</tr>
		<tr>
			<td class="print">
				<a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a>&#160;&#160;&#160;
			</td>
		</tr>
		<tr>
			<td class="print">
				20-06-2014 10:55&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				Proposed resolution draft is in CR6696_resolution_v1.doc.<br />
<br />
Pls. review.			</td>
		</tr>
		</table>
	</td>
</tr>
<tr>
	<td class="print-spacer" colspan="2">
		<hr size="1" />
	</td>
</tr>
<tr>
	<td class="nopad" valign="top" width="20%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				(0012187)
			</td>
		</tr>
		<tr>
			<td class="print">
				<a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=659">Tomas Urban</a>&#160;&#160;&#160;
			</td>
		</tr>
		<tr>
			<td class="print">
				20-06-2014 11:49&#160;&#160;&#160;
				<br />(edited on:&#32;20-06-2014 11:50)			</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				Besides editorial changes, I made two modifications:<br />
1. Explicit import of the XSD module is possible in case of implicit mapping<br />
2. Explicit mapping allows to use the &quot;XSD&quot; language tag for importing generated modules as an option.<br />
<br />
Both changes are required for writing code that will compile in all TTCN-3 tools regardless of whether they use one or the other conversion.<br />
<br />
			</td>
		</tr>
		</table>
	</td>
</tr>
<tr>
	<td class="print-spacer" colspan="2">
		<hr size="1" />
	</td>
</tr>
<tr>
	<td class="nopad" valign="top" width="20%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				(0012194)
			</td>
		</tr>
		<tr>
			<td class="print">
				<a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a>&#160;&#160;&#160;
			</td>
		</tr>
		<tr>
			<td class="print">
				23-06-2014 15:51&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				Final text in CR6696_resolution_v3.doc.<br />
<br />
Added: if importing a TTCN-3 module and the import statement uses the language &quot;XSD&quot; clause, the imported module shall have an XML encode attribute attached.			</td>
		</tr>
		</table>
	</td>
</tr>
<tr>
	<td class="print-spacer" colspan="2">
		<hr size="1" />
	</td>
</tr>
<tr>
	<td class="nopad" valign="top" width="20%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				(0012195)
			</td>
		</tr>
		<tr>
			<td class="print">
				<a href="http://oldforge.etsi.org/mantis/view_user_page.php?id=127">Gyorgy Rethy</a>&#160;&#160;&#160;
			</td>
		</tr>
		<tr>
			<td class="print">
				24-06-2014 09:30&#160;&#160;&#160;
							</td>
		</tr>
		</table>
	</td>
	<td class="nopad" valign="top" width="85%">
		<table class="hide" cellspacing="1">
		<tr>
			<td class="print">
				Implemented in master copy of V4.5.2.			</td>
		</tr>
		</table>
	</td>
</tr>
</table>
</body>
</html>
