diff options
Diffstat (limited to 'data')
-rw-r--r-- | data/CMakeLists.txt | 2 | ||||
-rw-r--r-- | data/config.ucsx | 63 | ||||
-rw-r--r-- | data/config_multichannel_audio_kit.xml | 112 | ||||
-rw-r--r-- | data/unicens.xsd | 291 |
4 files changed, 404 insertions, 64 deletions
diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt index 11fbad4..d49221d 100644 --- a/data/CMakeLists.txt +++ b/data/CMakeLists.txt @@ -23,7 +23,7 @@ ################################################## PROJECT_TARGET_ADD(ucs2_config) - file(GLOB SOURCE_FILES "*.ucsx") + file(GLOB SOURCE_FILES "*.xml") add_custom_target(${TARGET_NAME} DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_NAME} diff --git a/data/config.ucsx b/data/config.ucsx deleted file mode 100644 index 5adbb61..0000000 --- a/data/config.ucsx +++ /dev/null @@ -1,63 +0,0 @@ -<?xml version="1.0"?> -<unicens async_bandwidth="300"> - - <!-- Server device --> - <device node_address="0x211"> - <channel channel_name="MediaUCS2" bandwidth="4" data_type="SYNC"> - <socket dir="IN" port="USB" channel_addr="0x1" packets_per_xact="64"/> - <socket dir="OUT" port="MOST"/> - </channel> - </device> - - <!-- Slim Amplifier --> - <device node_address="0x270" script="slim-amp-config"> - <channel channel_name="MediaUCS2" bandwidth="4" data_type="SYNC"> - <socket dir="IN" port="MOST"/> - <socket dir="OUT" port="I2S" i2s_pin="SRXA0" - i2s_fs_speed="64" i2s_align="Left16"/> - </channel> - </device> - - <script name="slim-amp-config"> - <action type="SEND_MSG" fblock_id="0x0" function_id="0x6C1" - op_request="0x2" op_response="0xC" - load_req_hex="00 00 01 01" - load_res_hex="0F 00"/> - <action type="SEND_MSG" fblock_id="0x0" function_id="0x6C4" - op_request="0x2" op_response="0xC" - load_req_hex="0F 00 00 00 2A 02 03 E8 1B 80" - load_res_hex="0F 00 2A 02"/> - <action type="SEND_MSG" fblock_id="0x0" function_id="0x6C4" - op_request="0x2" op_response="0xC" - load_req_hex="0F 00 00 00 2A 02 03 E8 11 B8" - load_res_hex="0F 00 2A 02"/> - <action type="SEND_MSG" fblock_id="0x0" function_id="0x6C4" - op_request="0x2" op_response="0xC" - load_req_hex="0F 00 00 00 2A 02 03 E8 12 60" - load_res_hex="0F 00 2A 02"/> - <action type="SEND_MSG" fblock_id="0x0" function_id="0x6C4" - op_request="0x2" op_response="0xC" - load_req_hex="0F 00 00 00 2A 02 03 E8 13 A0" - load_res_hex="0F 00 2A 02"/> - <action type="SEND_MSG" fblock_id="0x0" function_id="0x6C4" - op_request="0x2" op_response="0xC" - load_req_hex="0F 00 00 00 2A 02 03 E8 14 48" - load_res_hex="0F 00 2A 02"/> - <action type="SEND_MSG" fblock_id="0x0" function_id="0x6C4" - op_request="0x2" op_response="0xC" - load_req_hex="0F 00 00 00 2A 05 03 E8 20 00 89 77 72" - load_res_hex="0F 00 2A 05"/> - <action type="SEND_MSG" fblock_id="0x0" function_id="0x6C4" - op_request="0x2" op_response="0xC" - load_req_hex="0F 00 00 00 2A 02 03 E8 06 00" - load_res_hex="0F 00 2A 02"/> - <action type="SEND_MSG" fblock_id="0x0" function_id="0x6C4" - op_request="0x2" op_response="0xC" - load_req_hex="0F 00 00 00 2A 02 03 E8 05 00" - load_res_hex="0F 00 2A 02"/> - <action type="SEND_MSG" fblock_id="0x0" function_id="0x6C4" - op_request="0x2" op_response="0xC" - load_req_hex="0F 00 00 00 2A 03 03 E8 07 01 50" - load_res_hex="0F 00 2A 03"/> - </script> -</unicens> diff --git a/data/config_multichannel_audio_kit.xml b/data/config_multichannel_audio_kit.xml new file mode 100644 index 0000000..a248607 --- /dev/null +++ b/data/config_multichannel_audio_kit.xml @@ -0,0 +1,112 @@ +<?xml version="1.0"?>
+<Unicens AsyncBandwidth="20" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="unicens.xsd">
+ <!-- Server Node -->
+ <Node Address="0x200">
+ <SyncConnection MuteMode="NoMuting">
+ <USBSocket EndpointAddress="0x1" FramesPerTransaction="42"/>
+ <Splitter BytesPerFrame="12">
+ <MOSTSocket Route="5.1 DVD Player Front" Offset="0" Bandwidth="4"/>
+ <MOSTSocket Route="5.1 DVD Player Rear" Offset="4" Bandwidth="4"/>
+ <MOSTSocket Route="5.1 DVD Player Effect" Offset="8" Bandwidth="4"/>
+ </Splitter>
+ </SyncConnection>
+ </Node>
+
+ <!-- 1st Microphone -->
+ <Node Address="0x210">
+ <StreamPort ClockConfig="64Fs" DataAlignment="Left24Bit"/>
+ <SyncConnection MuteMode="NoMuting">
+ <StreamSocket StreamPinID="SRXA0" Bandwidth="6"/>
+ <MOSTSocket Route="Microphone1" Bandwidth="6"/>
+ </SyncConnection>
+ </Node>
+
+ <!-- 2nd Microphone -->
+ <Node Address="0x211">
+ <StreamPort ClockConfig="64Fs" DataAlignment="Left24Bit"/>
+ <SyncConnection MuteMode="NoMuting">
+ <StreamSocket StreamPinID="SRXA0" Bandwidth="6"/>
+ <MOSTSocket Route="Microphone2" Bandwidth="6"/>
+ </SyncConnection>
+ </Node>
+
+ <!-- 3rd Microphone -->
+ <Node Address="0x212">
+ <StreamPort ClockConfig="64Fs" DataAlignment="Left24Bit"/>
+ <SyncConnection MuteMode="NoMuting">
+ <StreamSocket StreamPinID="SRXA0" Bandwidth="6"/>
+ <MOSTSocket Route="Microphone3" Bandwidth="6"/>
+ </SyncConnection>
+ </Node>
+
+ <!-- 1st Slim Amplifier -->
+ <Node Address="0x270" Script="slim-amp-config">
+ <StreamPort ClockConfig="64Fs" DataAlignment="Left16Bit"/>
+ <SyncConnection MuteMode="NoMuting">
+ <MOSTSocket Route="5.1 DVD Player Front" Bandwidth="4"/>
+ <StreamSocket StreamPinID="SRXA0" Bandwidth="4"/>
+ </SyncConnection>
+ </Node>
+ <!-- 2nd Slim Amplifier -->
+ <Node Address="0x271" Script="slim-amp-config">
+ <StreamPort ClockConfig="64Fs" DataAlignment="Left16Bit"/>
+ <SyncConnection MuteMode="NoMuting">
+ <MOSTSocket Route="5.1 DVD Player Rear" Bandwidth="4"/>
+ <StreamSocket StreamPinID="SRXA0" Bandwidth="4"/>
+ </SyncConnection>
+ </Node>
+ <!-- 3rd Slim Amplifier -->
+ <Node Address="0x272" Script="slim-amp-config">
+ <StreamPort ClockConfig="64Fs" DataAlignment="Left16Bit"/>
+ <SyncConnection MuteMode="NoMuting">
+ <MOSTSocket Route="5.1 DVD Player Effect" Bandwidth="4"/>
+ <StreamSocket StreamPinID="SRXA0" Bandwidth="4"/>
+ </SyncConnection>
+ </Node>
+ <Script Name="slim-amp-config">
+ <I2CPortCreate Speed="FastMode"/>
+ <I2CPortWrite Address="0x2A" Payload="1B 80"/>
+ <I2CPortWrite Address="0x2A" Payload="11 B8"/>
+ <I2CPortWrite Address="0x2A" Payload="12 60"/>
+ <I2CPortWrite Address="0x2A" Payload="13 A0"/>
+ <I2CPortWrite Address="0x2A" Payload="14 48"/>
+ <I2CPortWrite Address="0x2A" Payload="20 00 89 77 72"/>
+ <I2CPortWrite Address="0x2A" Payload="06 00"/>
+ <I2CPortWrite Address="0x2A" Payload="05 00"/>
+ <!-- Register 7: Master Volume (Max Volume=07 00 00 and Min Volume=07 03 FF) -->
+ <I2CPortWrite Address="0x2A" Payload="07 01 50"/>
+ </Script>
+
+ <!-- 1st Aux IO -->
+ <Node Address="0x240" Script="aux-io-config">
+ <StreamPort ClockConfig="64Fs" DataAlignment="Left16Bit"/>
+ <SyncConnection MuteMode="NoMuting">
+ <MOSTSocket Route="5.1 DVD Player Front" Bandwidth="4"/>
+ <StreamSocket StreamPinID="SRXA1" Bandwidth="4"/>
+ </SyncConnection>
+ </Node>
+ <!-- 2nd Aux IO -->
+ <Node Address="0x241" Script="aux-io-config">
+ <StreamPort ClockConfig="64Fs" DataAlignment="Left16Bit"/>
+ <SyncConnection MuteMode="NoMuting">
+ <MOSTSocket Route="5.1 DVD Player Rear" Bandwidth="4"/>
+ <StreamSocket StreamPinID="SRXA1" Bandwidth="4"/>
+ </SyncConnection>
+ </Node>
+ <!-- 3rd Aux IO -->
+ <Node Address="0x242" Script="aux-io-config">
+ <StreamPort ClockConfig="64Fs" DataAlignment="Left16Bit"/>
+ <SyncConnection MuteMode="NoMuting">
+ <MOSTSocket Route="5.1 DVD Player Effect" Bandwidth="4"/>
+ <StreamSocket StreamPinID="SRXA1" Bandwidth="4"/>
+ </SyncConnection>
+ </Node>
+ <!-- Script for Aux IO -->
+ <Script Name="aux-io-config">
+ <I2CPortCreate Speed="FastMode"/>
+ <I2CPortWrite Mode="BurstMode" BlockCount="10" Address="0x18" Length="3" Timeout="100"
+ Payload="00 0f 02 01 00 00 02 a5 df 03 3f 3f 04 02 02 10 00 00 11 00 00 12 00 00 13 00 00 14 00 00"/>
+ <I2CPortWrite Mode="BurstMode" BlockCount="4" Address="0x18" Length="3" Timeout="100"
+ Payload="20 00 00 21 00 00 22 00 00 23 00 00"/>
+ </Script>
+</Unicens>
diff --git a/data/unicens.xsd b/data/unicens.xsd new file mode 100644 index 0000000..08a5ee6 --- /dev/null +++ b/data/unicens.xsd @@ -0,0 +1,291 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XMLSpy v2017 rel. 3 (x64) (http://www.altova.com) by Pavel Hanak (Microchip Technology Germany II GmbH & Co. KG) -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
+ <xs:element name="Unicens">
+ <xs:annotation>
+ <xs:documentation>Schema for the description of a UNICENS configuration</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element name="Node">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="USBPort">
+ <xs:complexType>
+ <xs:attribute name="PhysicalLayer" type="USBPortPhysicalLayer" use="required"/>
+ <xs:attribute name="DeviceInterfaces" type="HexNumber" use="required"/>
+ <xs:attribute name="StreamingIfEpInCount" type="DecNumber" use="required"/>
+ <xs:attribute name="StreamingIfEpOutCount" type="DecNumber" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="MediaLBPort">
+ <xs:complexType>
+ <xs:attribute name="ClockConfig" type="MediaLBPortClockConfig" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="StreamPort">
+ <xs:complexType>
+ <xs:attribute name="ClockConfig" type="StreamPortClockConfig" use="required"/>
+ <xs:attribute name="DataAlignment" type="StreamPortDataAlignment" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:choice>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="SyncConnection">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="Connection">
+ <xs:attribute name="MuteMode" type="SyncConnectionMuteMode" use="optional"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="AVPConnection">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="Connection">
+ <xs:attribute name="IsocPacketSize" type="AVPConnectionIsocPacketSize" use="required"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attribute name="Address" type="HexNumber" use="required"/>
+ <xs:attribute name="Script" type="xs:string" use="optional"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Script">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:choice maxOccurs="unbounded">
+ <xs:element name="GPIOPortCreate">
+ <xs:complexType>
+ <xs:attribute name="DebounceTime" type="DecNumber" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="GPIOPortPinMode">
+ <xs:complexType>
+ <xs:attribute name="PinConfiguration" type="HexData" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="GPIOPinState">
+ <xs:complexType>
+ <xs:attribute name="Mask" type="HexNumber" use="required"/>
+ <xs:attribute name="Data" type="HexNumber" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="I2CPortCreate">
+ <xs:complexType>
+ <xs:attribute name="Speed" type="I2CPortCreateSpeed" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="I2CPortWrite">
+ <xs:complexType>
+ <xs:attribute name="Mode" type="I2CPortWriteMode" use="optional"/>
+ <xs:attribute name="BlockCount" type="DecNumber" use="optional"/>
+ <xs:attribute name="Address" type="HexNumber" use="required"/>
+ <xs:attribute name="Length" type="DecNumber" use="optional"/>
+ <xs:attribute name="Payload" type="HexData" use="required"/>
+ <xs:attribute name="Timeout" type="DecNumber" use="optional"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="I2CPortRead">
+ <xs:complexType>
+ <xs:attribute name="Address" type="HexNumber" use="required"/>
+ <xs:attribute name="Length" type="DecNumber" use="required"/>
+ <xs:attribute name="Timeout" type="DecNumber" use="optional"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="MsgSend">
+ <xs:complexType>
+ <xs:attribute name="FBlockId" type="HexNumber" use="required"/>
+ <xs:attribute name="FunctionId" type="HexNumber" use="required"/>
+ <xs:attribute name="OpTypeRequest" type="HexNumber" use="required"/>
+ <xs:attribute name="OpTypeResponse" type="HexNumber" use="optional"/>
+ <xs:attribute name="PayloadRequest" type="HexData" use="required"/>
+ <xs:attribute name="PayloadResponse" type="HexData" use="optional"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Pause">
+ <xs:complexType>
+ <xs:attribute name="WaitTime" type="DecNumber" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attribute name="Name" type="xs:string" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ </xs:choice>
+ <xs:attribute name="AsyncBandwidth" type="DecNumber" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="Connection">
+ <xs:choice minOccurs="2" maxOccurs="2">
+ <xs:element name="MOSTSocket" type="MOSTSocketType"/>
+ <xs:element name="USBSocket">
+ <xs:complexType>
+ <xs:attribute name="EndpointAddress" type="HexNumber" use="required"/>
+ <xs:attribute name="FramesPerTransaction" type="DecNumber" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="MediaLBSocket">
+ <xs:complexType>
+ <xs:attribute name="ChannelAddress" type="HexNumber" use="required"/>
+ <xs:attribute name="Bandwidth" type="xs:integer" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="StreamSocket">
+ <xs:complexType>
+ <xs:attribute name="StreamPinID" type="StreamSocketStreamPinID" use="required"/>
+ <xs:attribute name="Bandwidth" type="xs:integer" use="required"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="Splitter" type="SplitterCombinerType"/>
+ <xs:element name="Combiner" type="SplitterCombinerType"/>
+ </xs:choice>
+ </xs:complexType>
+ <xs:simpleType name="HexNumber">
+ <xs:annotation>
+ <xs:documentation>Hexadecimal number in the format 0xd..d</xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:string">
+ <xs:pattern value="0x(0|[1-9a-fA-F][0-9a-fA-F]*)"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="DecNumber">
+ <xs:annotation>
+ <xs:documentation>Decimal number</xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:integer"/>
+ </xs:simpleType>
+ <xs:simpleType name="USBPortPhysicalLayer">
+ <xs:annotation>
+ <xs:documentation>Physical Layer of USB port</xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="Standard"/>
+ <xs:enumeration value="HSIC"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="MediaLBPortClockConfig">
+ <xs:annotation>
+ <xs:documentation>Clock Config of MediaLB port</xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="256Fs"/>
+ <xs:enumeration value="512Fs"/>
+ <xs:enumeration value="1024Fs"/>
+ <xs:enumeration value="2048Fs"/>
+ <xs:enumeration value="3072Fs"/>
+ <xs:enumeration value="4096Fs"/>
+ <xs:enumeration value="6114Fs"/>
+ <xs:enumeration value="8192Fs"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="StreamPortClockConfig">
+ <xs:annotation>
+ <xs:documentation>Clock Config of Stream port</xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="8Fs"/>
+ <xs:enumeration value="16fs"/>
+ <xs:enumeration value="32Fs"/>
+ <xs:enumeration value="64Fs"/>
+ <xs:enumeration value="128Fs"/>
+ <xs:enumeration value="256Fs"/>
+ <xs:enumeration value="512Fs"/>
+ <xs:enumeration value="Willdcard"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="StreamPortDataAlignment">
+ <xs:annotation>
+ <xs:documentation>Data Alignment of Stream port</xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="Left16Bit"/>
+ <xs:enumeration value="Left24Bit"/>
+ <xs:enumeration value="Right16Bit"/>
+ <xs:enumeration value="Right24Bit"/>
+ <xs:enumeration value="Seq"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="StreamSocketStreamPinID">
+ <xs:annotation>
+ <xs:documentation>Stream Pin ID of Stream socket</xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="SRXA0"/>
+ <xs:enumeration value="SRXA1"/>
+ <xs:enumeration value="SRXB0"/>
+ <xs:enumeration value="SRXB1"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="SyncConnectionMuteMode">
+ <xs:annotation>
+ <xs:documentation>Mute Mode of Sync connection</xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="NoMuting"/>
+ <xs:enumeration value="MuteSignal"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="AVPConnectionIsocPacketSize">
+ <xs:annotation>
+ <xs:documentation>Isoc Packet Size of AVP connection</xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:integer">
+ <xs:enumeration value="188"/>
+ <xs:enumeration value="196"/>
+ <xs:enumeration value="206"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="I2CPortCreateSpeed">
+ <xs:annotation>
+ <xs:documentation>Speed parameter of I2CPortCreate</xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="SlowMode"/>
+ <xs:enumeration value="FastMode"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="I2CPortWriteMode">
+ <xs:annotation>
+ <xs:documentation>Mode parameter of I2CPortWrite</xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="DefaultMode"/>
+ <xs:enumeration value="RepeatedStartMode"/>
+ <xs:enumeration value="BurstMode"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="HexData">
+ <xs:annotation>
+ <xs:documentation>String which represents byte array as hexadecimal digits with space after each two digits</xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:string">
+ <xs:pattern value="[0-9a-fA-F]{2}(\s+[0-9a-fA-F]{2})*"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="SplitterCombinerType">
+ <xs:sequence>
+ <xs:element name="MOSTSocket" type="SCMOSTSocketType" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute name="BytesPerFrame" type="xs:integer" use="required"/>
+ </xs:complexType>
+ <xs:complexType name="MOSTSocketType">
+ <xs:attribute name="Route" type="xs:string" use="required"/>
+ <xs:attribute name="Bandwidth" type="xs:integer" use="required"/>
+ <xs:attribute name="IsActive" type="xs:boolean" use="optional"/>
+ <xs:attribute name="RouteId" type="HexNumber" use="optional"/>
+ </xs:complexType>
+ <xs:complexType name="SCMOSTSocketType">
+ <xs:complexContent>
+ <xs:extension base="MOSTSocketType">
+ <xs:attribute name="Offset" type="xs:integer" use="required"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+</xs:schema>
|