У меня есть такая структура xm, и я хочу проверить XMl с помощью XSD
<recipeConfig>
<recipeStructures> <!-- recipe template/ recipeStructureTypes-->
<recipeStructureDef mnemonic="BREAD" title="Recipe.Bread"/>
<recipeStructureDef mnemonic="CAKE" title="Recipe.Bread"/>
<recipeStructureDef mnemonic="PANCAKE" title="Recipe.Bread"/>
</recipeStructures>
<preDefinedRecipes>
<preDefinedRecipe type="BREAD" name="sweet bread" ordinal="1" writerLevel="Service">
<parameterDef ref="SUGAR_QTY" value="3" />
<parameterDef ref="SALT_QTY" value="3" />
<parameterDef ref="OIL_QTY" value="1" />
</preDefinedRecipe>
</preDefinedRecipes>
</recipeConfig>
Я хочу проверить, является ли <preDefinedRecipe type="BREAD">
всегда значением атрибута mnemoni c из recipeStructureDef mnemonic = ""
Чтобы поместить его другими словами, в поле «preDefinedRecipe» всегда должно быть значение атрибута mnemoni c в «recipeStructureDef»
Так что я должен сделать некоторую проверку , Я застрял здесь, и я не знаю, как действовать. Ниже моя часть кода XSD
<xs:complexType name="preDefinedRecipeType">
<xs:sequence>
<xs:element type="preDefinedRecipeParameterDefType" name="parameterDef" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
<xs:attribute type="xs:string" name="type" use="required"/>
<xs:attribute type="xs:string" name="name" use="required"/>
<xs:attribute type="xs:byte" name="ordinal" use="required"/>
<xs:attribute type="xs:string" name="writerLevel" use="required"/>
</xs:complexType>
Заранее спасибо за помощь