/******************************************************************************
* Copyright (c) 2000-2021 Ericsson Telecom AB
*
* XSD to TTCN-3 Translator
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
*
* Contributors:
*   Balasko, Jeno
*   Szabo, Bence Janos
*
******************************************************************************/
//
//  File:          www_example_org_long_extension.ttcn
//  Description:
//  References:
//  Rev:
//  Prodnr:
//  Updated:       Wed Sep 11 10:05:17 2014
//  Contact:       http://ttcn.ericsson.se
//
////////////////////////////////////////////////////////////////////////////////
//	Generated from file(s):
//	- long_extension.xsd
//			/* xml version = "1.0" encoding = "UTF-8" */
//			/* targetnamespace = "www.example.org/long/extension" */
////////////////////////////////////////////////////////////////////////////////
//     Modification header(s):
//-----------------------------------------------------------------------------
//  Modified by:
//  Modification date:
//  Description:
//  Modification contact:
//------------------------------------------------------------------------------
////////////////////////////////////////////////////////////////////////////////


module www_example_org_long_extension {


import from XSD all;


type record Top
{
	XSD.String subAttrib,
	XSD.String xsdstring,
	XSD.String label_,
	XSD.String author,
	record of record {
		XSD.String name,
		XSD.String label_,
		record of XSD.String parameter_list
	} action_list,
	record of record {
		XSD.Name name,
		XSD.String item optional,
		XSD.String description
	} event_list,
	record of XSD.String subelem_list
}
with {
  variant "element";
  variant (subAttrib) "name as capitalized";
  variant (subAttrib) "attribute";
  variant (xsdstring) "name as 'xsd:string'";
  variant (xsdstring) "attribute";
  variant (label_) "name as 'label'";
  variant (action_list) "untagged";
  variant (action_list[-]) "name as 'action'";
  variant (action_list[-].name) "attribute";
  variant (action_list[-].label_) "name as 'label'";
  variant (action_list[-].parameter_list) "untagged";
  variant (action_list[-].parameter_list[-]) "name as 'parameter'";
  variant (event_list) "untagged";
  variant (event_list[-]) "name as 'event'";
  variant (event_list[-].name) "attribute";
  variant (subelem_list) "untagged";
  variant (subelem_list[-]) "name as 'Subelem'";
};


type record TopBase1
{
	XSD.String xsdstring,
	XSD.String label_,
	XSD.String author,
	record of record {
		XSD.String name,
		XSD.String label_,
		record of XSD.String parameter_list
	} action_list,
	record of record {
		XSD.Name name,
		XSD.String item optional,
		XSD.String description
	} event_list
}
with {
  variant (xsdstring) "name as 'xsd:string'";
  variant (xsdstring) "attribute";
  variant (label_) "name as 'label'";
  variant (action_list) "untagged";
  variant (action_list[-]) "name as 'action'";
  variant (action_list[-].name) "attribute";
  variant (action_list[-].label_) "name as 'label'";
  variant (action_list[-].parameter_list) "untagged";
  variant (action_list[-].parameter_list[-]) "name as 'parameter'";
  variant (event_list) "untagged";
  variant (event_list[-]) "name as 'event'";
  variant (event_list[-].name) "attribute";
};


type record NamedBaseElement
{
	XSD.String name,
	XSD.String label_
}
with {
  variant "name as uncapitalized";
  variant (name) "attribute";
  variant (label_) "name as 'label'";
};


type record BaseElement
{
	XSD.String label_
}
with {
  variant "name as uncapitalized";
  variant (label_) "name as 'label'";
};


type record Response
{
	XSD.String item optional
}
with {
  variant "name as uncapitalized";
};


}
with {
  encode "XML";
  variant "namespace as 'www.example.org/long/extension' prefix 'this'";
  variant "controlNamespace 'http://www.w3.org/2001/XMLSchema-instance' prefix 'xsi'";
}
