2013-06-04 24 views
7

Tôi muốn xác định một XSD cho một yếu tố tham số đó sẽ cho phép tôi để xác định các tham số trong các cách sau đâyLàm thế nào để xác định XSD cho phép bất kỳ yếu tố

<parameter name="save.type" value="attribute" /> 

hoặc

<parameter name="payload"> 
     <p:AdderProcessRequest xmlns:p="http://wso2.org/bps/sample"> 
      <!--Exactly 1 occurrence --> 
      <x xmlns="http://wso2.org/bps/sample">{@xvalue}</x> 
      <!--Exactly 1 occurrence --> 
      <y xmlns="http://wso2.org/bps/sample">{@yvalue}</y> 
     </p:AdderProcessRequest> 
</parameter> 

Trong cách tiếp cận thứ hai nội dung xml trong phần tử tham số không được biết trước để nó có thể là bất cứ thứ gì.

Sau đây là xsd i được tạo nhưng có vẻ như nó không hoạt động.

<xs:element name="parameter" maxOccurs="unbounded" minOccurs="0"> 
    <xs:complexType> 
     <xs:sequence> 
      <xs:any minOccurs="0"/> 
     </xs:sequence> 
     <xs:attribute type="xs:string" name="name" use="optional"/> 
     <xs:attribute type="xs:string" name="value" use="optional"/> 
    </xs:complexType> 
</xs:element> 

Bất kỳ trợ giúp nào về điều này sẽ được đánh giá cao. Cảm ơn trước

Trả lời

24

Tôi có thể tìm ra sau khi xem các thông số kỹ thuật đăng ở đây để người khác có thể cần :). Bạn phải thêm processContents="skip" để nội dung sẽ không được xử lý.

<xs:element name="parameter" maxOccurs="unbounded" minOccurs="0"> 
<xs:complexType> 
    <xs:sequence> 
     <xs:any processContents="skip" minOccurs="0"/> 
    </xs:sequence> 
    <xs:attribute type="xs:string" name="name" use="optional"/> 
    <xs:attribute type="xs:string" name="value" use="optional"/> 
</xs:complexType> 

Các vấn đề liên quan