| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" |
| xmlns:fn="http://www.w3.org/2005/xpath-functions" |
| xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/" xmlns:ex="http://example.com" |
| targetNamespace="http://example.com" elementFormDefault="unqualified"> |
| <xs:include |
| schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd" /> |
| <xs:annotation> |
| <xs:appinfo source="http://www.ogf.org/dfdl/"> |
| <dfdl:format ref="ex:GeneralFormat" lengthKind="delimited" /> |
| </xs:appinfo> |
| </xs:annotation> |
| <xs:group name="s1"> |
| <xs:sequence> |
| <xs:element name="f" type="xs:int" dfdl:outputValueCalc="{ 1 }" /> |
| </xs:sequence> |
| </xs:group> |
| <xs:element name="e1" dfdl:lengthKind="delimited"> |
| <xs:complexType> |
| <xs:sequence dfdl:separator=","> |
| <xs:sequence dfdl:hiddenGroupRef="ex:s1" /> |
| <xs:element name="g" type="xs:int" /> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="e2" dfdl:lengthKind="delimited"> |
| <xs:complexType> |
| <xs:sequence dfdl:separator=","> |
| <xs:group ref="ex:s1" /> |
| <xs:element name="g" type="xs:int" /> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="e3" dfdl:lengthKind="delimited"> |
| <xs:complexType> |
| <xs:sequence dfdl:separator=","> |
| <xs:sequence dfdl:hiddenGroupRef="ex:s1" /> |
| <xs:element name="g"> |
| <xs:complexType> |
| <xs:group ref="ex:s1" /> |
| </xs:complexType> |
| </xs:element> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:group name="s2"> |
| <xs:sequence> |
| <xs:element name="f"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element name="h"> |
| <xs:complexType> |
| <xs:group ref="ex:s1" /> |
| </xs:complexType> |
| </xs:element> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| </xs:sequence> |
| </xs:group> |
| <xs:group name="s3"> |
| <xs:sequence> |
| <xs:element name="q"> |
| <xs:complexType> |
| <xs:sequence> |
| <xs:element name="h"> |
| <xs:complexType> |
| <xs:sequence dfdl:hiddenGroupRef="ex:s1" /> |
| </xs:complexType> |
| </xs:element> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| </xs:sequence> |
| </xs:group> |
| <xs:element name="e4" dfdl:lengthKind="delimited"> |
| <xs:complexType> |
| <xs:sequence dfdl:separator="~"> |
| <xs:sequence dfdl:hiddenGroupRef="ex:s2" /> |
| <xs:group ref="ex:s2" /> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="e5" dfdl:lengthKind="delimited"> |
| <xs:complexType> |
| <xs:sequence dfdl:separator="~"> |
| <xs:group ref="ex:s2" /> |
| <xs:sequence dfdl:hiddenGroupRef="ex:s2" /> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="e6" dfdl:lengthKind="delimited"> |
| <xs:complexType> |
| <xs:sequence dfdl:separator="~"> |
| <xs:group ref="ex:s3" /> |
| <xs:sequence dfdl:hiddenGroupRef="ex:s3" /> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:group name="s4"> |
| <xs:sequence> |
| <xs:element name="f" type="xs:int" /> |
| </xs:sequence> |
| </xs:group> |
| <xs:group name="s5"> |
| <xs:sequence> |
| <xs:sequence dfdl:hiddenGroupRef="ex:s4" /> |
| </xs:sequence> |
| </xs:group> |
| <xs:element name="e7" dfdl:lengthKind="delimited"> |
| <xs:complexType> |
| <xs:sequence dfdl:separator=","> |
| <xs:sequence dfdl:hiddenGroupRef="ex:s4" /> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| <xs:element name="e8" dfdl:lengthKind="delimited"> |
| <xs:complexType> |
| <xs:sequence dfdl:separator=","> |
| <xs:sequence dfdl:hiddenGroupRef="ex:s5" /> |
| <xs:element name="g" type="xs:int"/> |
| </xs:sequence> |
| </xs:complexType> |
| </xs:element> |
| |
| </xs:schema> |