0
모두 약간의 문제가 있습니다. member_id 역할을하는 속성이 필요합니다.XML 스키마 선택 및 속성
내가 얻을 수없는 또 다른 태그로있는 경우이 becuase있다그 고유의 총 내가 할 수있는 유일한 모든 full_member 유형 및 basic_member 유형은 독특한 얻을.
그래서 내가 속성과 키를 사용하여이 문제를 해결할 수 생각했다.하지만 내 문제는 내가 서로 옆에 속성과 선택의 여지가 없다 또는 나는 바로 그것을 할 방법을 모르는 것입니다.
다음은 지금까지 내 스키마입니다.<member>
<full_member>
<member_id>1</member_id>
<first_name>Simon</first_name>
<last_name>Hughes</last_name>
<address>
<house_number>12</house_number>
<street>Ashgrove Road</street>
<town>Forest Town</town>
<city>Mansfield</city>
<county>Nottinghamshire</county>
<postcode>NG385DX</postcode>
</address>
<contact_numbers>
<contact_number>01623948594</contact_number>
<contact_number>01623349596</contact_number>
<contact_number>01623486599</contact_number>
</contact_numbers>
<date_joined>2012-05-21</date_joined>
<activities>
<activity_name>Treadmill</activity_name>
<activity_name>Squash</activity_name>
<activity_name>Table Tennis</activity_name>
<activity_name>Weights</activity_name>
</activities>
</full_member>
</member>
<member>
<full_member>
<member_id>2</member_id>
<first_name>Scott</first_name>
<last_name>Calladine</last_name>
<address>
<house_name>Don House</house_name>
<street>Simons Road</street>
<town>Broadton</town>
<city>Supper</city>
<county>Nottinghamshire</county>
<postcode>N496DX</postcode>
</address>
<contact_numbers>
<contact_number>01623395865</contact_number>
<contact_number>01623496959</contact_number>
<contact_number>01623005604</contact_number>
</contact_numbers>
<date_joined>2007-08-16</date_joined>
<activities>
<activity_name>Static Cycle</activity_name>
<activity_name>Badminton</activity_name>
<activity_name>Table Tennis</activity_name>
</activities>
</full_member>
</member>
<member>
<full_member>
<member_id>3</member_id>
<first_name>Fransis</first_name>
<last_name>Smith</last_name>
<address>
<house_name>Don House</house_name>
<street>Lemington Close</street>
<town>Bradford</town>
<city>Bradfordcity>
<county>West Yorkshire</county>
<postcode>BD723DX</postcode>
</address>
<contact_numbers>
<contact_number>01623497035</contact_number>
<contact_number>01623389468</contact_number>
<contact_number>01623439949</contact_number>
</contact_numbers>
<date_joined>2007-08-16</date_joined>
<activities>
<activity_name>Static Cycle</activity_name>
<activity_name>Badminton</activity_name>
<activity_name>Table Tennis</activity_name>
</activities>
</full_member>
</member>
<member>
<full_member>
<member_id>4</member_id>
<first_name>Hayley</first_name>
<last_name>Cummingham</last_name>
<address>
<house_number>87</house_number>
<street>Boreast Road</street>
<town>Braranger</town>
<city>Mansfield</city>
<county>Nottinghamshire</county>
<postcode>N454HX</postcode>
</address>
<contact_numbers>
<contact_number>01623306031</contact_number>
<contact_number>01623206940</contact_number>
<contact_number>01623059680</contact_number>
</contact_numbers>
<date_joined>2012-05-21</date_joined>
<activities>
<activity_name>Treadmill</activity_name>
<activity_name>Squash</activity_name>
<activity_name>Table Tennis</activity_name>
<activity_name>Weights</activity_name>
</activities>
</full_member>
</member>
하지만 내 현재 스키마와
이 아이디의이, 1, 1 2 갈 것 항목의<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:complexType name="memberinfo">
<xs:sequence>
<xs:element ref="member_id"/>
<xs:element ref="first_name"/>
<xs:element ref="last_name"/>
<xs:element ref="address"/>
<xs:element ref="contact_numbers"/>
<xs:element ref="date_joined"/>
</xs:sequence>
</xs:complexType>
<xs:element name="member_id" type="xs:integer"/>
<xs:element name="first_name" type="xs:NCName"/>
<xs:element name="last_name" type="xs:NCName"/>
<xs:element name="address">
<xs:complexType>
<xs:sequence>
<xs:choice>
<xs:element ref="house_number"/>
<xs:element ref="house_name"/>
</xs:choice>
<xs:element ref="street"/>
<xs:element ref="town"/>
<xs:element ref="city"/>
<xs:element ref="county"/>
<xs:element ref="postcode"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="house_number" type="xs:integer"/>
<xs:element name="house_name" type="xs:string"/>
<xs:element name="street" type="xs:string"/>
<xs:element name="town" type="xs:NCName"/>
<xs:element name="city" type="xs:NCName"/>
<xs:element name="county" type="xs:NCName"/>
<xs:element name="postcode" type="xs:NCName"/>
<xs:element name="contact_numbers">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="3" ref="contact_number"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="contact_number" type="xs:integer"/>
<xs:element name="date_joined" type="xs:date"/>
<xs:complexType name="basic_member">
<xs:complexContent>
<xs:extension base="memberinfo">
<xs:sequence>
<xs:element name="activities">
<xs:complexType>
<xs:sequence>
<xs:element name="activity_name" maxOccurs="3"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="full_member">
<xs:complexContent>
<xs:extension base="memberinfo">
<xs:sequence>
<xs:element name="activities">
<xs:complexType>
<xs:sequence>
<xs:element name="activity_name" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:element name="members" >
<xs:complexType>
<xs:sequence>
<xs:element name="member" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="member_id"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:key name="PK_member">
<xs:selector xpath=".//member" />
<xs:field xpath="member_id" />
</xs:key>
</xs:element>
</xs:schema>
예,
(2) 나는이 그것을 할 것이라고 생각 당신에게
난 당신이 무슨 뜻인지 이해가 안 돼요 "내가 얻을 수없는 또 다른 태그로있는 경우이 becuase되어 그 전체 독특한 내가 할 수있는 유일한 모든 full_member 유형 및 basic_member 유형은 독특한 얻을." 문제를 자세히 설명해 주시겠습니까? –
나는 단지 exmaple에 대한 MEMBER_ID의 각각에 대해 고유은 ID 1과 정회원 및 ID 1. 기본 부재 (2)와 전체 2 회원 및 기본있을 것입니다 수 있습니다 full_member 및 basic_member이 개 다른 복합 유형을 사용하고 변경할 수 없기과 곧. 내가 원하는 것은 전체 1 가지 기본 2 가지 전체 3 가지 기본 4 가지입니다. 이 풀과 기본은 어떤 순서로도 입력 할 수 있습니다. 기본/완전 기본 전체 기본 기본 전체 기본하지만, 1, 2, 3, 4, 5, 6, 7로 이동하려면 ID가 필요합니다. –
유효성을 검사하려는 샘플 입력의 간단한 예를 제공 할 수 있습니다. –