2
나는 등의 XSD 함께 일하고 있어요 :XSD의 속성을 사용하여 complexType을 제한 하시겠습니까?
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="algo">
<xs:complexType>
<xs:sequence>
<xs:element name="nota" type="t_algo" minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="t_algo">
<xs:restriction base="xs:string">
<xs:pattern value="[1][0]|[0-9]" />
</xs:restriction>
<xs:attribute name="modul" type="t_modul"/>
</xs:complexType>
<xs:simpleType name="t_modul">
<xs:restriction base="xs:string">
<xs:pattern value="[m][0][0-9]"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
이 같은 테스트 XML 사용 :
<?xml version="1.0" encoding="UTF-8"?>
<algo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="file:///D:/DAM/RECUF1/Mispruebas/telf.xsd">
<nota modul="m01">0</nota>
<nota modul="m01">7</nota>
<nota modul="m01">3</nota>
<nota modul="m01">1</nota>
</algo>
내가 0 ~ 10 사이 속성 아이들에게 값 nota
을 갖고 싶어를 값이 m0X
인 modul
은 (0-9) 사이에 x
입니다. 이전 XSD가 작동한다고 생각했지만 그렇지 않습니다. 누군가 내가 잘못하고있는 것을 설명 할 수 있습니까?
't_modul' 단순 유형에 대해 지정한 패턴이 속성 이름이 아닌 태그 안에 포함 된 값에 적용됩니다. 나는 속성의 이름이 고정되어 있고 당신이 기대하고있는 다양한 유형의 속성 이름에 대한 태그를 정의해야한다고 생각한다. –
뭔가 작동하지 않는다고 말하지 마십시오. 그것이 어떻게 실패했는지 말해주십시오. –