Tôi đang cố gắng mở rộng một lược đồ XML để thay đổi số lần một đứa trẻ có thể xảy ra trong một phần tử.Tôi có thể xác định lại Lược đồ XSD để thay đổi thuộc tính maxOccurs của một kiểu con không?
Trong sơ đồ ban đầu, loại cha mẹ được định nghĩa như vậy:
<xsd:complexType name="CrimeLineBusiness_Type">
<xsd:complexContent>
<xsd:extension base="PCLINEBUSINESS">
<xsd:sequence>
<xsd:element ref="CrimeSchedule" minOccurs="0"/>
<xsd:element ref="CrimeMoneyAndSecurities" minOccurs="0"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
tôi muốn làm cho nó vì vậy cả hai CrimeSchedule
và CrimeMoneyAndSecurities
được lặp đi lặp lại các yếu tố. Tôi nghĩ điều này có thể làm việc (bên trong xsd:redefine
):
<xsd:complexType name="CrimeLineBusiness_Type">
<xsd:complexContent>
<xsd:extension base="CrimeLineBusiness_Type">
<xsd:sequence>
<xsd:element ref="CrimeMoneyAndSecurities" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element ref="CrimeSchedule" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
Tuy nhiên, sau đó tôi nhận được lỗi sau:
cos-nonambig: CrimeSchedule and CrimeSchedule (or elements from their substitution group) violate "Unique Particle Attribution". During validation against this schema, ambiguity would be created for those two particles.
này có ý nghĩa, vì những trẻ em được thực sự được định nghĩa trong lược đồ gốc. Vì vậy, làm thế nào tôi có thể hoàn thành những gì tôi cần làm?
Cảm ơn!
Giải thích và giải pháp tuyệt vời George! Tôi đã bắt đầu mất niềm tin vào SO, sau khi nhìn thấy một vài câu trả lời sai về XSD được bình chọn và được chấp nhận bởi người hỏi. – 13ren
tôi đến đây tìm kiếm câu trả lời cho "tôi có thể xóa một đứa trẻ thông qua xác định lại không?" nhưng tôi nghĩ rằng câu trả lời của George bao gồm gián tiếp cũng như với câu trả lời của "không, không phải không sử dụng một mô hình tương tự như trên". –