Я новичок в XML/XSD, хотя есть много похожих связанных вопросов, но я все еще не мог заставить его работать. Приносим извинения, если этот вопрос повторяется ранее.уникальные значения атрибутов в XML
Я пытаюсь сделать уникальные значения атрибутов для работы, но не смог заставить его работать.
Ниже представлена моя схема и соответствующий XML-файл.
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.dolby.com/MY" targetNamespace="http://www.dolby.com/MY" xmlns="http://www.dolby.com/MY">
<xs:element name="MYCfg">
<xs:complexType>
<xs:sequence>
<xs:element name="Section" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="SubSection" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="Param" type="ParamType" maxOccurs="unbounded" minOccurs="0">
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="name" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="name" use="required"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:key name="ParamId">
<xs:selector xpath="xs:Section/SubSection/Param"/>
<xs:field xpath="@ID"/>
</xs:key>
<xs:unique name="ParamIdUnique">
<xs:selector xpath="xs:Section/SubSection/Param"/>
<xs:field xpath="@ID"/>
</xs:unique>
</xs:element>
<xs:complexType name="ParamType">
<xs:sequence>
<xs:element type="xs:string" name="Value"/>
</xs:sequence>
<xs:attribute type="xs:string" name="name" use="required"/>
<xs:attribute type="xs:int" name="ID" use="required"/>
</xs:complexType>
</xs:schema>
<?xml version="1.0"?>
<tns:MYCfg xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.dolby.com/MY">
<tns:Section name="Network">
<tns:SubSection name="DHCP">
<tns:Param name="ip_address" ID="12345">
<tns:Value>10.10.10.1</tns:Value>
</tns:Param>
<tns:Param name="subnet" ID="12345">
<tns:Value>10.10.10.1</tns:Value>
</tns:Param>
</tns:SubSection>
<tns:SubSection name="Provisioning">
<tns:Param name="ip_address" ID="12345">
<tns:Value>10.10.10.1</tns:Value>
</tns:Param>
</tns:SubSection>
</tns:Section>
<tns:Section name="PBX">
<tns:SubSection name="SIP">
<tns:Param name="username" ID="12345">
<tns:Value>user</tns:Value>
</tns:Param>
</tns:SubSection>
</tns:Section>
</tns:MYCfg>
Что значит «сделать уникальные значения атрибутов для работы» означает, и каким образом ваша попытка потерпит неудачу? –