以下のように順番にproceduralStepをカウントしていきます。実装方法がわかりません。
XML:
<mainProcedure>
<proceduralStepAlts>
<proceduralStep/>
<proceduralStep/>
</proceduralStepAlts>
<proceduralStep/>
<proceduralStepAlts>
<proceduralStep>
<proceduralStepAlts>
<proceduralStep/>
<proceduralStep/>
</proceduralStepAlts>
</proceduralStep>
<proceduralStep/>
</proceduralStepAlts>
</mainProcedure>
有効なスキーマ:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema attributeFormDefault="qualified" elementFormDefault="qualified"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="mainProcedure" type="mainProcedureElemType"/>
<xs:complexType name="mainProcedureElemType">
<xs:choice maxOccurs="unbounded">
<xs:element ref="proceduralStep"/>
<xs:element ref="proceduralStepAlts"/>
</xs:choice>
</xs:complexType>
<xs:element name="proceduralStep" type="proceduralStepElemType"/>
<xs:complexType name="proceduralStepElemType">
<xs:sequence>
<xs:element ref="title"/>
<xs:choice maxOccurs="unbounded" minOccurs="0">
<xs:element ref="proceduralStep"/>
<xs:element ref="proceduralStepAlts"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:element name="proceduralStepAlts" type="proceduralStepAltsElemType"/>
<xs:complexType name="proceduralStepAltsElemType">
<xs:sequence>
<xs:element maxOccurs="unbounded" ref="proceduralStep"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
望ましい出力: 1 1 2 3 3.1 3.1 3.2 3 4
出力が望ましい理由: proceduralStepAlts は複数の手続き型ステップをラップします。セットは「1 つ」のみと見なされるため、各手続き型ステップは同じアウトライン番号で表示されます。