<?xml version="1.0"?> <!-- A Relax NG schema for the libvirt secret properties XML format --> <grammar xmlns="http://relaxng.org/ns/structure/1.0"> <start> <ref name='secret'/> </start> <include href='basictypes.rng'/> <define name='secret'> <element name='secret'> <optional> <attribute name='ephemeral'> <ref name="virYesNo"/> </attribute> </optional> <optional> <attribute name='private'> <ref name="virYesNo"/> </attribute> </optional> <interleave> <optional> <element name='uuid'> <ref name='UUID'/> </element> </optional> <optional> <element name='description'> <text/> </element> </optional> <optional> <element name='usage'> <choice> <ref name='usagevolume'/> <ref name='usageceph'/> <ref name='usageiscsi'/> <ref name='usagetls'/> <!-- More choices later --> </choice> </element> </optional> </interleave> </element> </define> <define name='usagevolume'> <attribute name='type'> <value>volume</value> </attribute> <element name='volume'> <ref name='absFilePath'/> </element> </define> <define name='usageceph'> <attribute name='type'> <value>ceph</value> </attribute> <element name='name'> <ref name='genericName'/> </element> </define> <define name='usageiscsi'> <attribute name='type'> <value>iscsi</value> </attribute> <element name='target'> <ref name='genericName'/> </element> </define> <define name='usagetls'> <attribute name='type'> <value>tls</value> </attribute> <element name='name'> <ref name='genericName'/> </element> </define> </grammar>