0% found this document useful (0 votes)
29 views

Systemvue Model

This document describes an XML schema (xsd) file that defines the structure and elements of SystemVue models. It defines elements for enumerations, models, and model components like parameters, ports, and source files. For example, a Model element can contain child elements like Parameters, Ports, etc. and has attributes like Name, Namespace, Description.

Uploaded by

Cristian Monar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views

Systemvue Model

This document describes an XML schema (xsd) file that defines the structure and elements of SystemVue models. It defines elements for enumerations, models, and model components like parameters, ports, and source files. For example, a Model element can contain child elements like Parameters, Ports, etc. and has attributes like Name, Namespace, Description.

Uploaded by

Cristian Monar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 59

Schema systemvue_model.

xsd

schema location: E:\tfs\SystemVue\DevelStable\Ptolemy\SystemVueModelShell\systemvue_model.xsd


attributeFormDefault:
elementFormDefault: qualified
targetNamespace: http://keysight.com/schemas/systemvue

Elements Complex types Simple types


Enumerations Enumeration CppClassName
Model CppName
Models DirectoryPath
FileName
QualifiedCppName

element Enumerations
diagram

namespace http://keysight.com/schemas/systemvue

properties content complex

children Enumeration

source <xs:element name="Enumerations">


<xs:complexType>
<xs:sequence>
<xs:element name="Enumeration" type="Enumeration" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>

element Enumerations/Enumeration
diagram

namespace http://keysight.com/schemas/systemvue

type Enumeration
properties minOcc 1
maxOcc unbounded
content complex
children Element

attributes Name Type Use Default Fixed Annotation


QualifiedName QualifiedCppName required

source <xs:element name="Enumeration" type="Enumeration" maxOccurs="unbounded"/>

element Model
diagram

namespace http://keysight.com/schemas/systemvue

properties content complex

children Parameters Ports SimulationControl HeaderFiles SourceFiles BuildConfiguration

used by element Models

attributes Name Type Use Default Fixed Annotation


Name CppClassName required documentation
The name of
the C++ class.
Note, the
name may
include
template
parameters
and escaped
&gt; and &lt;
characters.
Namespace QualifiedCppName optional documentation
The
namespace
that needs to
be used to
instantiate the
C++ class. If
unspecified,
the class is in
the global
name scope.
DisplayName CppName optional documentation
The name
used for the
model in
SystemVue.
If unspecified,
it defaults to
the name
attribute field.
Description derived by: optional documentation
xs:string The
description of
the class.
annotation documentation
A SystemVue C++ model.
source <xs:element name="Model">
<xs:annotation>
<xs:documentation>A SystemVue C++ model. </xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Parameters" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Parameter" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Enumeration" type="Enumeration" minOccurs="0"/>
<xs:element name="Default" minOccurs="0">
<xs:complexType>
<xs:choice>
<xs:element name="Array">
<xs:complexType>
<xs:sequence>
<xs:element name="Dimensions">
<xs:annotation>
<xs:documentation>The dimensions of the array - note, complex
numbers and complex number arrays are stored in as consecutive real/imaginary pairs of doubles.
A complex number is stored as a 1-D array of size 1.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Dimension" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>The size of each
dimension</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Size" type="xs:positiveInteger"
use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Elements">
<xs:complexType>
<xs:sequence>
<xs:element name="E" type="xs:string"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Scalar" type="xs:string">
<xs:annotation>
<xs:documentation>The default value for all scalar states (including
strings) except for complex data type.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Name" type="CppName" use="required">
<xs:annotation>
<xs:documentation>The name of the C++ class member used to define the
parameter.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DataType" use="required">
<xs:annotation>
<xs:documentation>The C++ data type of the parameter. Note, the data type
may include template parameters and escaped &gt; and &lt; characters.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Boolean"/>
<xs:enumeration value="Integer"/>
<xs:enumeration value="Float"/>
<xs:enumeration value="Double"/>
<xs:enumeration value="ComplexFloat"/>
<xs:enumeration value="ComplexDouble"/>
<xs:enumeration value="FileName"/>
<xs:enumeration value="String">
<xs:annotation>
<xs:documentation>char*</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="IntegerArray">
<xs:annotation>
<xs:documentation>int*</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="FloatArray">
<xs:annotation>
<xs:documentation source="float*"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="DoubleArray">
<xs:annotation>
<xs:documentation source="double*"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexDoubleArray">
<xs:annotation>
<xs:documentation>std::complex&lt;float&gt;*</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="BooleanMatrix">
<xs:annotation>

<xs:documentation>SystemVueModelBuilder::Matrix&lt;bool&gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="IntegerMatrix">
<xs:annotation>

<xs:documentation>SystemVueModelBuilder::Matrix&lt;int&gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="FloatMatrix">
<xs:annotation>

<xs:documentation>SystemVueModelBuilder::Matrix&lt;float&gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="DoubleMatrix">
<xs:annotation>

<xs:documentation>SystemVueModelBuilder::Matrix&lt;double&gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexFloatMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix&lt;
std::complex&lt;float&gt; &gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexDoubleMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix&lt;
std::complex&lt;double&gt; &gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ArraySizeVariableName" type="CppName" use="optional">
<xs:annotation>
<xs:documentation>The C++ class member used to store the size of array
parameters. This attribute is mandatory if the implementation is an array.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DisplayName" type="CppName" use="optional">
<xs:annotation>
<xs:documentation>The name used for the parameter in SystemVue. If
unspecified, it defaults to the name attribute field.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Description" use="optional">
<xs:annotation>
<xs:documentation>Description of the parameter.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="DynamicUpdate" type="xs:boolean" use="optional"
default="false"/>
<xs:attribute name="SchematicDisplay" type="xs:boolean" use="optional"
default="true"/>
<xs:attribute name="Unit" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="None"/>
<xs:enumeration value="Angle"/>
<xs:enumeration value="Length"/>
<xs:enumeration value="Time"/>
<xs:enumeration value="Frequency"/>
<xs:enumeration value="Voltage"/>
<xs:enumeration value="Power"/>
<xs:enumeration value="Resistance"/>
<xs:enumeration value="Temperature"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Ports" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Port" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="FixedRates" minOccurs="0">
<xs:annotation>
<xs:documentation>In code generated models, the multirate is fixed for each
pin. For a non-bus port - the FixedRates collection will have one FixedRate element that contains
the rate value. For a bus ports, the FixedRates collection will be of size FixedBusSize (attribute
stored in Port) defining the fixed rate for each port in the bus.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="FixedRate" type="xs:nonNegativeInteger"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Name" type="CppName" use="required">
<xs:annotation>
<xs:documentation>The name of the C++ class member used to define the
port</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DataType" use="required">
<xs:annotation>
<xs:documentation>The C++ data type of the parameter. Note, the data type
may include template parameters and escaped &gt; and &lt; characters.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:annotation>
<xs:documentation>The C++ data type of the parameter. Note, the data
type may include template parameters and escaped &gt; and &lt; characters.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="Boolean">
<xs:annotation>
<xs:documentation>bool</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Integer">
<xs:annotation>
<xs:documentation source="int"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Float">
<xs:annotation>
<xs:documentation source="float"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Double">
<xs:annotation>
<xs:documentation source="double"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexFloat">
<xs:annotation>
<xs:documentation source="std::complex&lt;float&gt;"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexDouble">
<xs:annotation>
<xs:documentation source="std::complex&lt;double&gt;"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="BooleanMatrix">
<xs:annotation>

<xs:documentation>SystemVueModelBuilder::Matrix&lt;bool&gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="IntegerMatrix">
<xs:annotation>

<xs:documentation>SystemVueModelBuilder::Matrix&lt;int&gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="FloatMatrix">
<xs:annotation>
<xs:documentation
source="SystemVueModelBuilder::Matrix&lt;float&gt;"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="DoubleMatrix">
<xs:annotation>

<xs:documentation>SystemVueModelBuilder::Matrix&lt;double&gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexFloatMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix&lt;
std::complex&lt;float&gt; &gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexDoubleMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix&lt;
std::complex&lt;double&gt; &gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="FixedPoint">
<xs:annotation>

<xs:documentation>SystemVueModelBuilder::FixedPoint</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Envelope">
<xs:annotation>

<xs:documentation>SystemVueModelBuilder::Envelope</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Variant">
<xs:annotation>

<xs:documentation>SystemVueModelBuilder::Variant</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Direction" use="required">
<xs:annotation>
<xs:documentation>The direction of the port.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="Input"/>
<xs:enumeration value="Output"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Implementation" use="required">
<xs:annotation>
<xs:documentation>The implementation of a portit could be scalar, an array, a
circular buffer or a circular buffer bus.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:annotation>
<xs:documentation>The implementation of a parameter, it could be scalar,
an array or a enumerated type.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="Scalar"/>
<xs:enumeration value="Array"/>
<xs:enumeration value="CircularBuffer"/>
<xs:enumeration value="CircularBufferBus"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ArraySizeVariableName" type="CppName" use="optional">
<xs:annotation>
<xs:documentation>The C++ class member name to speciify the size (i.e. rate)
of the array ports. Note, this attribute is only used if the implementation is a
array.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Description" use="optional">
<xs:annotation>
<xs:documentation>Description of the port.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="DisplayName" type="CppName" use="optional">
<xs:annotation>
<xs:documentation>The name used for the port in SystemVue. If unspecified,
it defaults to the name attribute field.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="FixedBusSize" use="optional">
<xs:annotation>
<xs:documentation>The bus size, if the size is fixed. If not specified, the model
can have any bus size. Note, this attribute is only used if the implementation is a circular buffer
bus.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:positiveInteger">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Optional" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="ZeroHistoryDepth" type="xs:boolean" use="optional"
default="false"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="SimulationControl" minOccurs="0">
<xs:complexType>
<xs:attribute name="Name" type="CppName" use="required"/>
<xs:attribute name="Implementation" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="SinkControl"/>
<xs:enumeration value="DynamicControl"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="HeaderFiles">
<xs:complexType>
<xs:sequence>
<xs:element name="File" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="FileName"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="SourceFiles" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="File" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="FileName"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="BuildConfiguration" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Platform" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="IncludePath" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Directory" type="DirectoryPath"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="LibraryPath" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Directory" type="DirectoryPath"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Libraries" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="File" type="FileName" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Name" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Win32"/>
<xs:enumeration value="Linux32"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Name" type="CppClassName" use="required">
<xs:annotation>
<xs:documentation>The name of the C++ class. Note, the name may include template
parameters and escaped &gt; and &lt; characters.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Namespace" type="QualifiedCppName" use="optional">
<xs:annotation>
<xs:documentation>The namespace that needs to be used to instantiate the C++ class. If
unspecified, the class is in the global name scope.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DisplayName" type="CppName" use="optional">
<xs:annotation>
<xs:documentation>The name used for the model in SystemVue. If unspecified, it defaults
to the name attribute field.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Description" use="optional">
<xs:annotation>
<xs:documentation>The description of the class.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>

attribute Model/@Name
type CppClassName

properties use required

facets Kind Value Annotation


pattern [a-zA-Z_][a-zA-Z0-9_]*(\s?&lt;.*&gt;\s?)?

annotation documentation
The name of the C++ class. Note, the name may include template parameters and escaped &gt; and &lt; characters.
source <xs:attribute name="Name" type="CppClassName" use="required">
<xs:annotation>
<xs:documentation>The name of the C++ class. Note, the name may include template
parameters and escaped &gt; and &lt; characters.</xs:documentation>
</xs:annotation>
</xs:attribute>

attribute Model/@Namespace
type QualifiedCppName

properties use optional

facets Kind Value Annotation


pattern [a-zA-Z_][a-zA-Z0-9_]*(::[a-zA-Z_]+[a-zA-Z0-9_]*)*

annotation documentation
The namespace that needs to be used to instantiate the C++ class. If unspecified, the class is in the global name scope.
source <xs:attribute name="Namespace" type="QualifiedCppName" use="optional">
<xs:annotation>
<xs:documentation>The namespace that needs to be used to instantiate the C++ class. If
unspecified, the class is in the global name scope.</xs:documentation>
</xs:annotation>
</xs:attribute>

attribute Model/@DisplayName
type CppName

properties use optional

facets Kind Value Annotation


pattern [a-zA-Z_][a-zA-Z0-9_]*(\.[a-zA-Z_][a-zA-Z0-9_]*)*

annotation documentation
The name used for the model in SystemVue. If unspecified, it defaults to the name attribute field.
source <xs:attribute name="DisplayName" type="CppName" use="optional">
<xs:annotation>
<xs:documentation>The name used for the model in SystemVue. If unspecified, it defaults to
the name attribute field.</xs:documentation>
</xs:annotation>
</xs:attribute>

attribute Model/@Description
type restriction of xs:string

properties use optional

facets Kind Value Annotation


whiteSpace collapse

annotation documentation
The description of the class.
source <xs:attribute name="Description" use="optional">
<xs:annotation>
<xs:documentation>The description of the class.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>

element Model/Parameters
diagram

namespace http://keysight.com/schemas/systemvue

properties minOcc 0
maxOcc 1
content complex
children Parameter
source <xs:element name="Parameters" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Parameter" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Enumeration" type="Enumeration" minOccurs="0"/>
<xs:element name="Default" minOccurs="0">
<xs:complexType>
<xs:choice>
<xs:element name="Array">
<xs:complexType>
<xs:sequence>
<xs:element name="Dimensions">
<xs:annotation>
<xs:documentation>The dimensions of the array - note, complex
numbers and complex number arrays are stored in as consecutive real/imaginary pairs of doubles.
A complex number is stored as a 1-D array of size 1.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Dimension" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>The size of each
dimension</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Size" type="xs:positiveInteger"
use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Elements">
<xs:complexType>
<xs:sequence>
<xs:element name="E" type="xs:string" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Scalar" type="xs:string">
<xs:annotation>
<xs:documentation>The default value for all scalar states (including strings)
except for complex data type.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Name" type="CppName" use="required">
<xs:annotation>
<xs:documentation>The name of the C++ class member used to define the
parameter.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DataType" use="required">
<xs:annotation>
<xs:documentation>The C++ data type of the parameter. Note, the data type may
include template parameters and escaped &gt; and &lt; characters.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Boolean"/>
<xs:enumeration value="Integer"/>
<xs:enumeration value="Float"/>
<xs:enumeration value="Double"/>
<xs:enumeration value="ComplexFloat"/>
<xs:enumeration value="ComplexDouble"/>
<xs:enumeration value="FileName"/>
<xs:enumeration value="String">
<xs:annotation>
<xs:documentation>char*</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="IntegerArray">
<xs:annotation>
<xs:documentation>int*</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="FloatArray">
<xs:annotation>
<xs:documentation source="float*"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="DoubleArray">
<xs:annotation>
<xs:documentation source="double*"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexDoubleArray">
<xs:annotation>
<xs:documentation>std::complex&lt;float&gt;*</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="BooleanMatrix">
<xs:annotation>

<xs:documentation>SystemVueModelBuilder::Matrix&lt;bool&gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="IntegerMatrix">
<xs:annotation>

<xs:documentation>SystemVueModelBuilder::Matrix&lt;int&gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="FloatMatrix">
<xs:annotation>

<xs:documentation>SystemVueModelBuilder::Matrix&lt;float&gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="DoubleMatrix">
<xs:annotation>

<xs:documentation>SystemVueModelBuilder::Matrix&lt;double&gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexFloatMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix&lt;
std::complex&lt;float&gt; &gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexDoubleMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix&lt;
std::complex&lt;double&gt; &gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ArraySizeVariableName" type="CppName" use="optional">
<xs:annotation>
<xs:documentation>The C++ class member used to store the size of array
parameters. This attribute is mandatory if the implementation is an array.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DisplayName" type="CppName" use="optional">
<xs:annotation>
<xs:documentation>The name used for the parameter in SystemVue. If unspecified,
it defaults to the name attribute field.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Description" use="optional">
<xs:annotation>
<xs:documentation>Description of the parameter.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="DynamicUpdate" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="SchematicDisplay" type="xs:boolean" use="optional"
default="true"/>
<xs:attribute name="Unit" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="None"/>
<xs:enumeration value="Angle"/>
<xs:enumeration value="Length"/>
<xs:enumeration value="Time"/>
<xs:enumeration value="Frequency"/>
<xs:enumeration value="Voltage"/>
<xs:enumeration value="Power"/>
<xs:enumeration value="Resistance"/>
<xs:enumeration value="Temperature"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
element Model/Parameters/Parameter
diagram

namespace http://keysight.com/schemas/systemvue

properties minOcc 1
maxOcc unbounded
content complex
children Enumeration Default

attributes Name Type Use Default Fixed Annotation


Name CppName required documentation
The name of
the C++ class
member used
to define the
parameter.
DataType derived by: required documentation
xs:string The C++ data
type of the
parameter.
Note, the data
type may
include
template
parameters
and escaped
&gt; and &lt;
characters.
ArraySizeVariableName CppName optional documentation
The C++ class
member used
to store the
size of array
parameters.
This attribute is
mandatory if
the
implementation
is an array.
DisplayName CppName optional documentation
The name
used for the
parameter in
SystemVue.
If unspecified,
it defaults to
the name
attribute field.
Description derived by: optional documentation
xs:string Description of
the parameter.
DynamicUpdate xs:boolean optional false
SchematicDisplay xs:boolean optional true
Unit derived by: optional
xs:string
source <xs:element name="Parameter" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Enumeration" type="Enumeration" minOccurs="0"/>
<xs:element name="Default" minOccurs="0">
<xs:complexType>
<xs:choice>
<xs:element name="Array">
<xs:complexType>
<xs:sequence>
<xs:element name="Dimensions">
<xs:annotation>
<xs:documentation>The dimensions of the array - note, complex numbers
and complex number arrays are stored in as consecutive real/imaginary pairs of doubles. A
complex number is stored as a 1-D array of size 1.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Dimension" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>The size of each dimension</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Size" type="xs:positiveInteger" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Elements">
<xs:complexType>
<xs:sequence>
<xs:element name="E" type="xs:string" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Scalar" type="xs:string">
<xs:annotation>
<xs:documentation>The default value for all scalar states (including strings) except
for complex data type.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Name" type="CppName" use="required">
<xs:annotation>
<xs:documentation>The name of the C++ class member used to define the
parameter.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DataType" use="required">
<xs:annotation>
<xs:documentation>The C++ data type of the parameter. Note, the data type may include
template parameters and escaped &gt; and &lt; characters.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Boolean"/>
<xs:enumeration value="Integer"/>
<xs:enumeration value="Float"/>
<xs:enumeration value="Double"/>
<xs:enumeration value="ComplexFloat"/>
<xs:enumeration value="ComplexDouble"/>
<xs:enumeration value="FileName"/>
<xs:enumeration value="String">
<xs:annotation>
<xs:documentation>char*</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="IntegerArray">
<xs:annotation>
<xs:documentation>int*</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="FloatArray">
<xs:annotation>
<xs:documentation source="float*"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="DoubleArray">
<xs:annotation>
<xs:documentation source="double*"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexDoubleArray">
<xs:annotation>
<xs:documentation>std::complex&lt;float&gt;*</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="BooleanMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix&lt;bool&gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="IntegerMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix&lt;int&gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="FloatMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix&lt;float&gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="DoubleMatrix">
<xs:annotation>

<xs:documentation>SystemVueModelBuilder::Matrix&lt;double&gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexFloatMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix&lt; std::complex&lt;float&gt;
&gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexDoubleMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix&lt; std::complex&lt;double&gt;
&gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ArraySizeVariableName" type="CppName" use="optional">
<xs:annotation>
<xs:documentation>The C++ class member used to store the size of array parameters.
This attribute is mandatory if the implementation is an array.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DisplayName" type="CppName" use="optional">
<xs:annotation>
<xs:documentation>The name used for the parameter in SystemVue. If unspecified, it
defaults to the name attribute field.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Description" use="optional">
<xs:annotation>
<xs:documentation>Description of the parameter.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="DynamicUpdate" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="SchematicDisplay" type="xs:boolean" use="optional" default="true"/>
<xs:attribute name="Unit" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="None"/>
<xs:enumeration value="Angle"/>
<xs:enumeration value="Length"/>
<xs:enumeration value="Time"/>
<xs:enumeration value="Frequency"/>
<xs:enumeration value="Voltage"/>
<xs:enumeration value="Power"/>
<xs:enumeration value="Resistance"/>
<xs:enumeration value="Temperature"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>

attribute Model/Parameters/Parameter/@Name
type CppName

properties use required

facets Kind Value Annotation


pattern [a-zA-Z_][a-zA-Z0-9_]*(\.[a-zA-Z_][a-zA-Z0-9_]*)*

annotation documentation
The name of the C++ class member used to define the parameter.
source <xs:attribute name="Name" type="CppName" use="required">
<xs:annotation>
<xs:documentation>The name of the C++ class member used to define the
parameter.</xs:documentation>
</xs:annotation>
</xs:attribute>

attribute Model/Parameters/Parameter/@DataType
type restriction of xs:string

properties use required

facets Kind Value Annotation


enumeration Boolean
enumeration Integer
enumeration Float
enumeration Double
enumeration ComplexFloat
enumeration ComplexDouble
enumeration FileName
enumeration String documentation
char*
enumeration IntegerArray documentation
int*
enumeration FloatArray
enumeration DoubleArray
enumeration ComplexDoubleArray documentation
std::complex&lt;float&gt;*
enumeration BooleanMatrix documentation
SystemVueModelBuilder::Matrix&lt;bool&gt;
enumeration IntegerMatrix documentation
SystemVueModelBuilder::Matrix&lt;int&gt;
enumeration FloatMatrix documentation
SystemVueModelBuilder::Matrix&lt;float&gt;
enumeration DoubleMatrix documentation
SystemVueModelBuilder::Matrix&lt;double&gt;
enumeration ComplexFloatMatrix documentation
SystemVueModelBuilder::Matrix&lt; std::complex&lt;float&gt; &gt;
enumeration ComplexDoubleMatrix documentation
SystemVueModelBuilder::Matrix&lt; std::complex&lt;double&gt; &gt;
annotation documentation
The C++ data type of the parameter. Note, the data type may include template parameters and escaped &gt; and &lt;
characters.
source <xs:attribute name="DataType" use="required">
<xs:annotation>
<xs:documentation>The C++ data type of the parameter. Note, the data type may include
template parameters and escaped &gt; and &lt; characters.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Boolean"/>
<xs:enumeration value="Integer"/>
<xs:enumeration value="Float"/>
<xs:enumeration value="Double"/>
<xs:enumeration value="ComplexFloat"/>
<xs:enumeration value="ComplexDouble"/>
<xs:enumeration value="FileName"/>
<xs:enumeration value="String">
<xs:annotation>
<xs:documentation>char*</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="IntegerArray">
<xs:annotation>
<xs:documentation>int*</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="FloatArray">
<xs:annotation>
<xs:documentation source="float*"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="DoubleArray">
<xs:annotation>
<xs:documentation source="double*"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexDoubleArray">
<xs:annotation>
<xs:documentation>std::complex&lt;float&gt;*</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="BooleanMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix&lt;bool&gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="IntegerMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix&lt;int&gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="FloatMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix&lt;float&gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="DoubleMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix&lt;double&gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexFloatMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix&lt; std::complex&lt;float&gt;
&gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexDoubleMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix&lt; std::complex&lt;double&gt;
&gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>

attribute Model/Parameters/Parameter/@ArraySizeVariableName
type CppName

properties use optional

facets Kind Value Annotation


pattern [a-zA-Z_][a-zA-Z0-9_]*(\.[a-zA-Z_][a-zA-Z0-9_]*)*

annotation documentation
The C++ class member used to store the size of array parameters. This attribute is mandatory if the implementation is
an array.
source <xs:attribute name="ArraySizeVariableName" type="CppName" use="optional">
<xs:annotation>
<xs:documentation>The C++ class member used to store the size of array parameters. This
attribute is mandatory if the implementation is an array.</xs:documentation>
</xs:annotation>
</xs:attribute>

attribute Model/Parameters/Parameter/@DisplayName
type CppName

properties use optional

facets Kind Value Annotation


pattern [a-zA-Z_][a-zA-Z0-9_]*(\.[a-zA-Z_][a-zA-Z0-9_]*)*

annotation documentation
The name used for the parameter in SystemVue. If unspecified, it defaults to the name attribute field.
source <xs:attribute name="DisplayName" type="CppName" use="optional">
<xs:annotation>
<xs:documentation>The name used for the parameter in SystemVue. If unspecified, it defaults
to the name attribute field.</xs:documentation>
</xs:annotation>
</xs:attribute>

attribute Model/Parameters/Parameter/@Description
type restriction of xs:string

properties use optional

facets Kind Value Annotation


whiteSpace collapse

annotation documentation
Description of the parameter.
source <xs:attribute name="Description" use="optional">
<xs:annotation>
<xs:documentation>Description of the parameter.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>

attribute Model/Parameters/Parameter/@DynamicUpdate
type xs:boolean

properties use optional


default false
source <xs:attribute name="DynamicUpdate" type="xs:boolean" use="optional" default="false"/>
attribute Model/Parameters/Parameter/@SchematicDisplay
type xs:boolean

properties use optional


default true
source <xs:attribute name="SchematicDisplay" type="xs:boolean" use="optional" default="true"/>

attribute Model/Parameters/Parameter/@Unit
type restriction of xs:string

properties use optional

facets Kind Value Annotation


enumeration None
enumeration Angle
enumeration Length
enumeration Time
enumeration Frequency
enumeration Voltage
enumeration Power
enumeration Resistance
enumeration Temperature

source <xs:attribute name="Unit" use="optional">


<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="None"/>
<xs:enumeration value="Angle"/>
<xs:enumeration value="Length"/>
<xs:enumeration value="Time"/>
<xs:enumeration value="Frequency"/>
<xs:enumeration value="Voltage"/>
<xs:enumeration value="Power"/>
<xs:enumeration value="Resistance"/>
<xs:enumeration value="Temperature"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>

element Model/Parameters/Parameter/Enumeration
diagram
namespace http://keysight.com/schemas/systemvue

type Enumeration

properties minOcc 0
maxOcc 1
content complex
children Element

attributes Name Type Use Default Fixed Annotation


QualifiedName QualifiedCppName required

source <xs:element name="Enumeration" type="Enumeration" minOccurs="0"/>

element Model/Parameters/Parameter/Default
diagram

namespace http://keysight.com/schemas/systemvue

properties minOcc 0
maxOcc 1
content complex
children Array Scalar

source <xs:element name="Default" minOccurs="0">


<xs:complexType>
<xs:choice>
<xs:element name="Array">
<xs:complexType>
<xs:sequence>
<xs:element name="Dimensions">
<xs:annotation>
<xs:documentation>The dimensions of the array - note, complex numbers and
complex number arrays are stored in as consecutive real/imaginary pairs of doubles. A complex
number is stored as a 1-D array of size 1.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Dimension" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>The size of each dimension</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Size" type="xs:positiveInteger" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Elements">
<xs:complexType>
<xs:sequence>
<xs:element name="E" type="xs:string" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Scalar" type="xs:string">
<xs:annotation>
<xs:documentation>The default value for all scalar states (including strings) except for
complex data type.</xs:documentation>
</xs:annotation>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>

element Model/Parameters/Parameter/Default/Array
diagram

namespace http://keysight.com/schemas/systemvue

properties content complex

children Dimensions Elements

source <xs:element name="Array">


<xs:complexType>
<xs:sequence>
<xs:element name="Dimensions">
<xs:annotation>
<xs:documentation>The dimensions of the array - note, complex numbers and complex
number arrays are stored in as consecutive real/imaginary pairs of doubles. A complex number is
stored as a 1-D array of size 1.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Dimension" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>The size of each dimension</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Size" type="xs:positiveInteger" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Elements">
<xs:complexType>
<xs:sequence>
<xs:element name="E" type="xs:string" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>

element Model/Parameters/Parameter/Default/Array/Dimensions
diagram

namespace http://keysight.com/schemas/systemvue

properties content complex

children Dimension

annotation documentation
The dimensions of the array - note, complex numbers and complex number arrays are stored in as consecutive
real/imaginary pairs of doubles. A complex number is stored as a 1-D array of size 1.
source <xs:element name="Dimensions">
<xs:annotation>
<xs:documentation>The dimensions of the array - note, complex numbers and complex
number arrays are stored in as consecutive real/imaginary pairs of doubles. A complex number is
stored as a 1-D array of size 1.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="Dimension" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>The size of each dimension</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Size" type="xs:positiveInteger" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
element Model/Parameters/Parameter/Default/Array/Dimensions/Dimension
diagram

namespace http://keysight.com/schemas/systemvue

properties minOcc 1
maxOcc unbounded
content complex
attributes Name Type Use Default Fixed Annotation
Size xs:positiveInteger required

annotation documentation
The size of each dimension
source <xs:element name="Dimension" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>The size of each dimension</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="Size" type="xs:positiveInteger" use="required"/>
</xs:complexType>
</xs:element>

attribute Model/Parameters/Parameter/Default/Array/Dimensions/Dimension/@Size
type xs:positiveInteger

properties use required

source <xs:attribute name="Size" type="xs:positiveInteger" use="required"/>

element Model/Parameters/Parameter/Default/Array/Elements
diagram

namespace http://keysight.com/schemas/systemvue

properties content complex

children E

source <xs:element name="Elements">


<xs:complexType>
<xs:sequence>
<xs:element name="E" type="xs:string" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
element Model/Parameters/Parameter/Default/Array/Elements/E
diagram

namespace http://keysight.com/schemas/systemvue

type xs:string

properties minOcc 1
maxOcc unbounded
content simple
source <xs:element name="E" type="xs:string" maxOccurs="unbounded"/>

element Model/Parameters/Parameter/Default/Scalar
diagram

namespace http://keysight.com/schemas/systemvue

type xs:string

properties content simple

annotation documentation
The default value for all scalar states (including strings) except for complex data type.
source <xs:element name="Scalar" type="xs:string">
<xs:annotation>
<xs:documentation>The default value for all scalar states (including strings) except for complex
data type.</xs:documentation>
</xs:annotation>
</xs:element>

element Model/Ports
diagram

namespace http://keysight.com/schemas/systemvue

properties minOcc 0
maxOcc 1
content complex
children Port

source <xs:element name="Ports" minOccurs="0">


<xs:complexType>
<xs:sequence>
<xs:element name="Port" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="FixedRates" minOccurs="0">
<xs:annotation>
<xs:documentation>In code generated models, the multirate is fixed for each pin.
For a non-bus port - the FixedRates collection will have one FixedRate element that contains the
rate value. For a bus ports, the FixedRates collection will be of size FixedBusSize (attribute stored
in Port) defining the fixed rate for each port in the bus.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="FixedRate" type="xs:nonNegativeInteger"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Name" type="CppName" use="required">
<xs:annotation>
<xs:documentation>The name of the C++ class member used to define the
port</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DataType" use="required">
<xs:annotation>
<xs:documentation>The C++ data type of the parameter. Note, the data type may
include template parameters and escaped &gt; and &lt; characters.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:annotation>
<xs:documentation>The C++ data type of the parameter. Note, the data type may
include template parameters and escaped &gt; and &lt; characters.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="Boolean">
<xs:annotation>
<xs:documentation>bool</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Integer">
<xs:annotation>
<xs:documentation source="int"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Float">
<xs:annotation>
<xs:documentation source="float"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Double">
<xs:annotation>
<xs:documentation source="double"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexFloat">
<xs:annotation>
<xs:documentation source="std::complex&lt;float&gt;"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexDouble">
<xs:annotation>
<xs:documentation source="std::complex&lt;double&gt;"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="BooleanMatrix">
<xs:annotation>

<xs:documentation>SystemVueModelBuilder::Matrix&lt;bool&gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="IntegerMatrix">
<xs:annotation>

<xs:documentation>SystemVueModelBuilder::Matrix&lt;int&gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="FloatMatrix">
<xs:annotation>
<xs:documentation source="SystemVueModelBuilder::Matrix&lt;float&gt;"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="DoubleMatrix">
<xs:annotation>

<xs:documentation>SystemVueModelBuilder::Matrix&lt;double&gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexFloatMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix&lt;
std::complex&lt;float&gt; &gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexDoubleMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix&lt;
std::complex&lt;double&gt; &gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="FixedPoint">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::FixedPoint</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Envelope">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Envelope</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Variant">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Variant</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Direction" use="required">
<xs:annotation>
<xs:documentation>The direction of the port.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="Input"/>
<xs:enumeration value="Output"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Implementation" use="required">
<xs:annotation>
<xs:documentation>The implementation of a portit could be scalar, an array, a
circular buffer or a circular buffer bus.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:annotation>
<xs:documentation>The implementation of a parameter, it could be scalar, an array
or a enumerated type.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="Scalar"/>
<xs:enumeration value="Array"/>
<xs:enumeration value="CircularBuffer"/>
<xs:enumeration value="CircularBufferBus"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ArraySizeVariableName" type="CppName" use="optional">
<xs:annotation>
<xs:documentation>The C++ class member name to speciify the size (i.e. rate) of the
array ports. Note, this attribute is only used if the implementation is a array.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Description" use="optional">
<xs:annotation>
<xs:documentation>Description of the port.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="DisplayName" type="CppName" use="optional">
<xs:annotation>
<xs:documentation>The name used for the port in SystemVue. If unspecified, it
defaults to the name attribute field.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="FixedBusSize" use="optional">
<xs:annotation>
<xs:documentation>The bus size, if the size is fixed. If not specified, the model can
have any bus size. Note, this attribute is only used if the implementation is a circular buffer
bus.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:positiveInteger">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Optional" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="ZeroHistoryDepth" type="xs:boolean" use="optional"
default="false"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
element Model/Ports/Port
diagram
namespace http://keysight.com/schemas/systemvue

properties minOcc 1
maxOcc unbounded
content complex
children FixedRates

attributes Name Type Use Default Fixed Annotation


Name CppName required documentation
The name of
the C++ class
member used
to define the
port
DataType derived by: required documentation
xs:string The C++ data
type of the
parameter.
Note, the data
type may
include
template
parameters
and escaped
&gt; and &lt;
characters.
Direction derived by: required documentation
xs:NMTOKEN The direction
of the port.
Implementation derived by: required documentation
xs:string The
implementation
of a portit
could be
scalar, an
array, a
circular buffer
or a circular
buffer bus.
ArraySizeVariableName CppName optional documentation
The C++ class
member name
to speciify the
size (i.e. rate)
of the array
ports. Note,
this attribute is
only used if the
implementation
is a array.
Description derived by: optional documentation
xs:string Description of
the port.
DisplayName CppName optional documentation
The name
used for the
port in
SystemVue.
If unspecified,
it defaults to
the name
attribute field.
FixedBusSize derived by: optional documentation
xs:positiveInteger The bus size, if
the size is
fixed. If not
specified, the
model can
have any bus
size. Note,
this attribute is
only used if the
implementation
is a circular
buffer bus.
Optional xs:boolean optional false
ZeroHistoryDepth xs:boolean optional false

source <xs:element name="Port" maxOccurs="unbounded">


<xs:complexType>
<xs:sequence>
<xs:element name="FixedRates" minOccurs="0">
<xs:annotation>
<xs:documentation>In code generated models, the multirate is fixed for each pin. For a
non-bus port - the FixedRates collection will have one FixedRate element that contains the rate
value. For a bus ports, the FixedRates collection will be of size FixedBusSize (attribute stored in
Port) defining the fixed rate for each port in the bus.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="FixedRate" type="xs:nonNegativeInteger"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Name" type="CppName" use="required">
<xs:annotation>
<xs:documentation>The name of the C++ class member used to define the
port</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DataType" use="required">
<xs:annotation>
<xs:documentation>The C++ data type of the parameter. Note, the data type may include
template parameters and escaped &gt; and &lt; characters.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:annotation>
<xs:documentation>The C++ data type of the parameter. Note, the data type may
include template parameters and escaped &gt; and &lt; characters.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="Boolean">
<xs:annotation>
<xs:documentation>bool</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Integer">
<xs:annotation>
<xs:documentation source="int"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Float">
<xs:annotation>
<xs:documentation source="float"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Double">
<xs:annotation>
<xs:documentation source="double"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexFloat">
<xs:annotation>
<xs:documentation source="std::complex&lt;float&gt;"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexDouble">
<xs:annotation>
<xs:documentation source="std::complex&lt;double&gt;"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="BooleanMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix&lt;bool&gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="IntegerMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix&lt;int&gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="FloatMatrix">
<xs:annotation>
<xs:documentation source="SystemVueModelBuilder::Matrix&lt;float&gt;"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="DoubleMatrix">
<xs:annotation>

<xs:documentation>SystemVueModelBuilder::Matrix&lt;double&gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexFloatMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix&lt; std::complex&lt;float&gt;
&gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexDoubleMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix&lt; std::complex&lt;double&gt;
&gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="FixedPoint">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::FixedPoint</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Envelope">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Envelope</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Variant">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Variant</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Direction" use="required">
<xs:annotation>
<xs:documentation>The direction of the port.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="Input"/>
<xs:enumeration value="Output"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Implementation" use="required">
<xs:annotation>
<xs:documentation>The implementation of a portit could be scalar, an array, a circular
buffer or a circular buffer bus.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:annotation>
<xs:documentation>The implementation of a parameter, it could be scalar, an array or a
enumerated type.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="Scalar"/>
<xs:enumeration value="Array"/>
<xs:enumeration value="CircularBuffer"/>
<xs:enumeration value="CircularBufferBus"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="ArraySizeVariableName" type="CppName" use="optional">
<xs:annotation>
<xs:documentation>The C++ class member name to speciify the size (i.e. rate) of the array
ports. Note, this attribute is only used if the implementation is a array.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="Description" use="optional">
<xs:annotation>
<xs:documentation>Description of the port.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="DisplayName" type="CppName" use="optional">
<xs:annotation>
<xs:documentation>The name used for the port in SystemVue. If unspecified, it defaults
to the name attribute field.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="FixedBusSize" use="optional">
<xs:annotation>
<xs:documentation>The bus size, if the size is fixed. If not specified, the model can have
any bus size. Note, this attribute is only used if the implementation is a circular buffer
bus.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:positiveInteger">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="Optional" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="ZeroHistoryDepth" type="xs:boolean" use="optional" default="false"/>
</xs:complexType>
</xs:element>

attribute Model/Ports/Port/@Name
type CppName

properties use required

facets Kind Value Annotation


pattern [a-zA-Z_][a-zA-Z0-9_]*(\.[a-zA-Z_][a-zA-Z0-9_]*)*

annotation documentation
The name of the C++ class member used to define the port
source <xs:attribute name="Name" type="CppName" use="required">
<xs:annotation>
<xs:documentation>The name of the C++ class member used to define the
port</xs:documentation>
</xs:annotation>
</xs:attribute>

attribute Model/Ports/Port/@DataType
type restriction of xs:string

properties use required

facets Kind Value Annotation


enumeration Boolean documentation
bool
enumeration Integer
enumeration Float
enumeration Double
enumeration ComplexFloat
enumeration ComplexDouble
enumeration BooleanMatrix documentation
SystemVueModelBuilder::Matrix&lt;bool&gt;
enumeration IntegerMatrix documentation
SystemVueModelBuilder::Matrix&lt;int&gt;
enumeration FloatMatrix
enumeration DoubleMatrix documentation
SystemVueModelBuilder::Matrix&lt;double&gt;
enumeration ComplexFloatMatrix documentation
SystemVueModelBuilder::Matrix&lt; std::complex&lt;float&gt; &gt;
enumeration ComplexDoubleMatrix documentation
SystemVueModelBuilder::Matrix&lt; std::complex&lt;double&gt; &gt;
enumeration FixedPoint documentation
SystemVueModelBuilder::FixedPoint
enumeration Envelope documentation
SystemVueModelBuilder::Envelope
enumeration Variant documentation
SystemVueModelBuilder::Variant
annotation documentation
The C++ data type of the parameter. Note, the data type may include template parameters and escaped &gt; and &lt;
characters.
source <xs:attribute name="DataType" use="required">
<xs:annotation>
<xs:documentation>The C++ data type of the parameter. Note, the data type may include
template parameters and escaped &gt; and &lt; characters.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:annotation>
<xs:documentation>The C++ data type of the parameter. Note, the data type may include
template parameters and escaped &gt; and &lt; characters.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="Boolean">
<xs:annotation>
<xs:documentation>bool</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Integer">
<xs:annotation>
<xs:documentation source="int"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Float">
<xs:annotation>
<xs:documentation source="float"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Double">
<xs:annotation>
<xs:documentation source="double"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexFloat">
<xs:annotation>
<xs:documentation source="std::complex&lt;float&gt;"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexDouble">
<xs:annotation>
<xs:documentation source="std::complex&lt;double&gt;"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="BooleanMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix&lt;bool&gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="IntegerMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix&lt;int&gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="FloatMatrix">
<xs:annotation>
<xs:documentation source="SystemVueModelBuilder::Matrix&lt;float&gt;"/>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="DoubleMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix&lt;double&gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexFloatMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix&lt; std::complex&lt;float&gt;
&gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="ComplexDoubleMatrix">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Matrix&lt; std::complex&lt;double&gt;
&gt;</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="FixedPoint">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::FixedPoint</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Envelope">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Envelope</xs:documentation>
</xs:annotation>
</xs:enumeration>
<xs:enumeration value="Variant">
<xs:annotation>
<xs:documentation>SystemVueModelBuilder::Variant</xs:documentation>
</xs:annotation>
</xs:enumeration>
</xs:restriction>
</xs:simpleType>
</xs:attribute>

attribute Model/Ports/Port/@Direction
type restriction of xs:NMTOKEN
properties use required

facets Kind Value Annotation


whiteSpace collapse
enumeration Input
enumeration Output

annotation documentation
The direction of the port.
source <xs:attribute name="Direction" use="required">
<xs:annotation>
<xs:documentation>The direction of the port.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:NMTOKEN">
<xs:whiteSpace value="collapse"/>
<xs:enumeration value="Input"/>
<xs:enumeration value="Output"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>

attribute Model/Ports/Port/@Implementation
type restriction of xs:string

properties use required

facets Kind Value Annotation


enumeration Scalar
enumeration Array
enumeration CircularBuffer
enumeration CircularBufferBus

annotation documentation
The implementation of a portit could be scalar, an array, a circular buffer or a circular buffer bus.
source <xs:attribute name="Implementation" use="required">
<xs:annotation>
<xs:documentation>The implementation of a portit could be scalar, an array, a circular buffer or
a circular buffer bus.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:annotation>
<xs:documentation>The implementation of a parameter, it could be scalar, an array or a
enumerated type.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:enumeration value="Scalar"/>
<xs:enumeration value="Array"/>
<xs:enumeration value="CircularBuffer"/>
<xs:enumeration value="CircularBufferBus"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
attribute Model/Ports/Port/@ArraySizeVariableName
type CppName

properties use optional

facets Kind Value Annotation


pattern [a-zA-Z_][a-zA-Z0-9_]*(\.[a-zA-Z_][a-zA-Z0-9_]*)*

annotation documentation
The C++ class member name to speciify the size (i.e. rate) of the array ports. Note, this attribute is only used if the
implementation is a array.
source <xs:attribute name="ArraySizeVariableName" type="CppName" use="optional">
<xs:annotation>
<xs:documentation>The C++ class member name to speciify the size (i.e. rate) of the array
ports. Note, this attribute is only used if the implementation is a array.</xs:documentation>
</xs:annotation>
</xs:attribute>

attribute Model/Ports/Port/@Description
type restriction of xs:string

properties use optional

facets Kind Value Annotation


whiteSpace collapse

annotation documentation
Description of the port.
source <xs:attribute name="Description" use="optional">
<xs:annotation>
<xs:documentation>Description of the port.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>

attribute Model/Ports/Port/@DisplayName
type CppName

properties use optional

facets Kind Value Annotation


pattern [a-zA-Z_][a-zA-Z0-9_]*(\.[a-zA-Z_][a-zA-Z0-9_]*)*

annotation documentation
The name used for the port in SystemVue. If unspecified, it defaults to the name attribute field.
source <xs:attribute name="DisplayName" type="CppName" use="optional">
<xs:annotation>
<xs:documentation>The name used for the port in SystemVue. If unspecified, it defaults to the
name attribute field.</xs:documentation>
</xs:annotation>
</xs:attribute>
attribute Model/Ports/Port/@FixedBusSize
type restriction of xs:positiveInteger

properties use optional

facets Kind Value Annotation


whiteSpace collapse

annotation documentation
The bus size, if the size is fixed. If not specified, the model can have any bus size. Note, this attribute is only used if the
implementation is a circular buffer bus.
source <xs:attribute name="FixedBusSize" use="optional">
<xs:annotation>
<xs:documentation>The bus size, if the size is fixed. If not specified, the model can have any
bus size. Note, this attribute is only used if the implementation is a circular buffer
bus.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:positiveInteger">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>

attribute Model/Ports/Port/@Optional
type xs:boolean

properties use optional


default false
source <xs:attribute name="Optional" type="xs:boolean" use="optional" default="false"/>

attribute Model/Ports/Port/@ZeroHistoryDepth
type xs:boolean

properties use optional


default false
source <xs:attribute name="ZeroHistoryDepth" type="xs:boolean" use="optional" default="false"/>

element Model/Ports/Port/FixedRates
diagram

namespace http://keysight.com/schemas/systemvue

properties minOcc 0
maxOcc 1
content complex
children FixedRate

annotation documentation
In code generated models, the multirate is fixed for each pin. For a non-bus port - the FixedRates collection will have
one FixedRate element that contains the rate value. For a bus ports, the FixedRates collection will be of size
FixedBusSize (attribute stored in Port) defining the fixed rate for each port in the bus.
source <xs:element name="FixedRates" minOccurs="0">
<xs:annotation>
<xs:documentation>In code generated models, the multirate is fixed for each pin. For a
non-bus port - the FixedRates collection will have one FixedRate element that contains the rate
value. For a bus ports, the FixedRates collection will be of size FixedBusSize (attribute stored in
Port) defining the fixed rate for each port in the bus.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="FixedRate" type="xs:nonNegativeInteger"/>
</xs:sequence>
</xs:complexType>
</xs:element>

element Model/Ports/Port/FixedRates/FixedRate
diagram

namespace http://keysight.com/schemas/systemvue

type xs:nonNegativeInteger

properties content simple

source <xs:element name="FixedRate" type="xs:nonNegativeInteger"/>

element Model/SimulationControl
diagram

namespace http://keysight.com/schemas/systemvue

properties minOcc 0
maxOcc 1
content complex
attributes Name Type Use Default Fixed Annotation
Name CppName required
Implementation derived by: required
xs:string
source <xs:element name="SimulationControl" minOccurs="0">
<xs:complexType>
<xs:attribute name="Name" type="CppName" use="required"/>
<xs:attribute name="Implementation" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="SinkControl"/>
<xs:enumeration value="DynamicControl"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>

attribute Model/SimulationControl/@Name
type CppName

properties use required

facets Kind Value Annotation


pattern [a-zA-Z_][a-zA-Z0-9_]*(\.[a-zA-Z_][a-zA-Z0-9_]*)*

source <xs:attribute name="Name" type="CppName" use="required"/>

attribute Model/SimulationControl/@Implementation
type restriction of xs:string

properties use required

facets Kind Value Annotation


enumeration SinkControl
enumeration DynamicControl

source <xs:attribute name="Implementation" use="required">


<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="SinkControl"/>
<xs:enumeration value="DynamicControl"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>

element Model/HeaderFiles
diagram

namespace http://keysight.com/schemas/systemvue

properties content complex

children File

source <xs:element name="HeaderFiles">


<xs:complexType>
<xs:sequence>
<xs:element name="File" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="FileName"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>

element Model/HeaderFiles/File
diagram

namespace http://keysight.com/schemas/systemvue

type extension of FileName

properties minOcc 1
maxOcc unbounded
content complex
facets Kind Value Annotation
pattern [^\\|^/]+

source <xs:element name="File" maxOccurs="unbounded">


<xs:complexType>
<xs:simpleContent>
<xs:extension base="FileName"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>

element Model/SourceFiles
diagram

namespace http://keysight.com/schemas/systemvue

properties minOcc 0
maxOcc 1
content complex
children File

source <xs:element name="SourceFiles" minOccurs="0">


<xs:complexType>
<xs:sequence>
<xs:element name="File" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="FileName"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
element Model/SourceFiles/File
diagram

namespace http://keysight.com/schemas/systemvue

type extension of FileName

properties minOcc 1
maxOcc unbounded
content complex
facets Kind Value Annotation
pattern [^\\|^/]+

source <xs:element name="File" maxOccurs="unbounded">


<xs:complexType>
<xs:simpleContent>
<xs:extension base="FileName"/>
</xs:simpleContent>
</xs:complexType>
</xs:element>

element Model/BuildConfiguration
diagram

namespace http://keysight.com/schemas/systemvue

properties minOcc 0
maxOcc 1
content complex
children Platform

source <xs:element name="BuildConfiguration" minOccurs="0">


<xs:complexType>
<xs:sequence>
<xs:element name="Platform" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="IncludePath" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Directory" type="DirectoryPath" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="LibraryPath" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Directory" type="DirectoryPath" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Libraries" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="File" type="FileName" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Name" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Win32"/>
<xs:enumeration value="Linux32"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>

element Model/BuildConfiguration/Platform
diagram

namespace http://keysight.com/schemas/systemvue

properties minOcc 1
maxOcc unbounded
content complex
children IncludePath LibraryPath Libraries

attributes Name Type Use Default Fixed Annotation


Name derived by: required
xs:string
source <xs:element name="Platform" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="IncludePath" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Directory" type="DirectoryPath" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="LibraryPath" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Directory" type="DirectoryPath" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Libraries" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="File" type="FileName" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Name" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Win32"/>
<xs:enumeration value="Linux32"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>

attribute Model/BuildConfiguration/Platform/@Name
type restriction of xs:string

properties use required

facets Kind Value Annotation


enumeration Win32
enumeration Linux32

source <xs:attribute name="Name" use="required">


<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Win32"/>
<xs:enumeration value="Linux32"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>

element Model/BuildConfiguration/Platform/IncludePath
diagram

namespace http://keysight.com/schemas/systemvue

properties minOcc 0
maxOcc 1
content complex
children Directory
source <xs:element name="IncludePath" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Directory" type="DirectoryPath" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>

element Model/BuildConfiguration/Platform/IncludePath/Directory
diagram

namespace http://keysight.com/schemas/systemvue

type DirectoryPath

properties minOcc 1
maxOcc unbounded
content simple
source <xs:element name="Directory" type="DirectoryPath" maxOccurs="unbounded"/>

element Model/BuildConfiguration/Platform/LibraryPath
diagram

namespace http://keysight.com/schemas/systemvue

properties minOcc 0
maxOcc 1
content complex
children Directory

source <xs:element name="LibraryPath" minOccurs="0">


<xs:complexType>
<xs:sequence>
<xs:element name="Directory" type="DirectoryPath" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>

element Model/BuildConfiguration/Platform/LibraryPath/Directory
diagram

namespace http://keysight.com/schemas/systemvue

type DirectoryPath

properties minOcc 1
maxOcc unbounded
content simple
source <xs:element name="Directory" type="DirectoryPath" maxOccurs="unbounded"/>

element Model/BuildConfiguration/Platform/Libraries
diagram

namespace http://keysight.com/schemas/systemvue

properties minOcc 0
maxOcc 1
content complex
children File

source <xs:element name="Libraries" minOccurs="0">


<xs:complexType>
<xs:sequence>
<xs:element name="File" type="FileName" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>

element Model/BuildConfiguration/Platform/Libraries/File
diagram

namespace http://keysight.com/schemas/systemvue

type FileName

properties minOcc 1
maxOcc unbounded
content simple
facets Kind Value Annotation
pattern [^\\|^/]+

source <xs:element name="File" type="FileName" maxOccurs="unbounded"/>

element Models
diagram

namespace http://keysight.com/schemas/systemvue

properties content complex

children Model

annotation documentation
A list of models. This is typically created by running "SystemVue.exe -XML &lt;dllpath&gt;".
source <xs:element name="Models">
<xs:annotation>
<xs:documentation>A list of models. This is typically created by running "SystemVue.exe
-XML &lt;dllpath&gt;".</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="Model" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>

complexType Enumeration
diagram

namespace http://keysight.com/schemas/systemvue

children Element

used by elements Model/Parameters/Parameter/Enumeration Enumerations/Enumeration

attributes Name Type Use Default Fixed Annotation


QualifiedName QualifiedCppName required

source <xs:complexType name="Enumeration">


<xs:sequence minOccurs="0">
<xs:annotation>
<xs:documentation>If collection of elements is not defined, enumeration is a globally defined
enum.</xs:documentation>
</xs:annotation>
<xs:element name="Element" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:integer">
<xs:attribute name="QualifiedName" type="QualifiedCppName" use="optional">
<xs:annotation>
<xs:documentation source="Enumerated Element Name in C++ code"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DisplayName" type="xs:string" use="required">
<xs:annotation>
<xs:documentation source="Enumerated name for display"/>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="QualifiedName" type="QualifiedCppName" use="required"/>
</xs:complexType>

attribute Enumeration/@QualifiedName
type QualifiedCppName

properties use required

facets Kind Value Annotation


pattern [a-zA-Z_][a-zA-Z0-9_]*(::[a-zA-Z_]+[a-zA-Z0-9_]*)*

source <xs:attribute name="QualifiedName" type="QualifiedCppName" use="required"/>

element Enumeration/Element
diagram

namespace http://keysight.com/schemas/systemvue

type extension of xs:integer

properties minOcc 1
maxOcc unbounded
content complex
attributes Name Type Use Default Fixed Annotation
QualifiedName QualifiedCppName optional
DisplayName xs:string required

source <xs:element name="Element" maxOccurs="unbounded">


<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:integer">
<xs:attribute name="QualifiedName" type="QualifiedCppName" use="optional">
<xs:annotation>
<xs:documentation source="Enumerated Element Name in C++ code"/>
</xs:annotation>
</xs:attribute>
<xs:attribute name="DisplayName" type="xs:string" use="required">
<xs:annotation>
<xs:documentation source="Enumerated name for display"/>
</xs:annotation>
</xs:attribute>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>

attribute Enumeration/Element/@QualifiedName
type QualifiedCppName
properties use optional

facets Kind Value Annotation


pattern [a-zA-Z_][a-zA-Z0-9_]*(::[a-zA-Z_]+[a-zA-Z0-9_]*)*

source <xs:attribute name="QualifiedName" type="QualifiedCppName" use="optional">


<xs:annotation>
<xs:documentation source="Enumerated Element Name in C++ code"/>
</xs:annotation>
</xs:attribute>

attribute Enumeration/Element/@DisplayName
type xs:string

properties use required

source <xs:attribute name="DisplayName" type="xs:string" use="required">


<xs:annotation>
<xs:documentation source="Enumerated name for display"/>
</xs:annotation>
</xs:attribute>

simpleType CppClassName
namespace http://keysight.com/schemas/systemvue

type restriction of xs:string

properties final restriction


base xs:string
used by attribute Model/@Name

facets Kind Value Annotation


pattern [a-zA-Z_][a-zA-Z0-9_]*(\s?&lt;.*&gt;\s?)?

source <xs:simpleType name="CppClassName" final="restriction">


<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z_][a-zA-Z0-9_]*(\s?&lt;.*&gt;\s?)?"/>
</xs:restriction>
</xs:simpleType>

simpleType CppName
namespace http://keysight.com/schemas/systemvue

type restriction of xs:string

properties final restriction


base xs:string
used by attributes Model/Parameters/Parameter/@ArraySizeVariableName Model/Ports/Port/@ArraySizeVariableName
Model/Parameters/Parameter/@DisplayName Model/Ports/Port/@DisplayName Model/@DisplayName
Model/Parameters/Parameter/@Name Model/Ports/Port/@Name Model/SimulationControl/@Name
facets Kind Value Annotation
pattern [a-zA-Z_][a-zA-Z0-9_]*(\.[a-zA-Z_][a-zA-Z0-9_]*)*

annotation documentation
A valid C++ name.
source <xs:simpleType name="CppName" final="restriction">
<xs:annotation>
<xs:documentation>A valid C++ name.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z_][a-zA-Z0-9_]*(\.[a-zA-Z_][a-zA-Z0-9_]*)*"/>
</xs:restriction>
</xs:simpleType>

simpleType DirectoryPath
namespace http://keysight.com/schemas/systemvue

type xs:string

properties base xs:string

used by elements Model/BuildConfiguration/Platform/IncludePath/Directory


Model/BuildConfiguration/Platform/LibraryPath/Directory
source <xs:simpleType name="DirectoryPath">
<xs:restriction base="xs:string"/>
</xs:simpleType>

simpleType FileName
namespace http://keysight.com/schemas/systemvue

type restriction of xs:string

properties base xs:string

used by elements Model/HeaderFiles/File Model/SourceFiles/File Model/BuildConfiguration/Platform/Libraries/File

facets Kind Value Annotation


pattern [^\\|^/]+

source <xs:simpleType name="FileName">


<xs:restriction base="xs:string">
<xs:pattern value="[^\\|^/]+"/>
</xs:restriction>
</xs:simpleType>

simpleType QualifiedCppName
namespace http://keysight.com/schemas/systemvue

type restriction of xs:string

properties final restriction


base xs:string
used by attributes Model/@Namespace Enumeration/Element/@QualifiedName Enumeration/@QualifiedName

facets Kind Value Annotation


pattern [a-zA-Z_][a-zA-Z0-9_]*(::[a-zA-Z_]+[a-zA-Z0-9_]*)*

annotation documentation
The name of the C++ namespace that defines the associated element.
source <xs:simpleType name="QualifiedCppName" final="restriction">
<xs:annotation>
<xs:documentation>The name of the C++ namespace that defines the associated
element.</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z_][a-zA-Z0-9_]*(::[a-zA-Z_]+[a-zA-Z0-9_]*)*"/>
</xs:restriction>
</xs:simpleType>

XML Schema documentation generated by XMLSpy Schema Editor http://www.altova.com/xmlspy

You might also like