Разбор и извлечение определенных корневых элементов и дочерних элементов из XSD в строку JAVA - PullRequest
0 голосов
/ 24 сентября 2018

у меня ниже XSD.

  <xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3.org/2001/XMLSchema">
<xs:element name="CreditCard" type="xs:CreditCardAccount"/>
<xs:element name="Savings" type="xs:SavingsAccount"/>

 <xs:complexType name="Account">
   <xs:sequence>
     <xs:element name="balance" type="xs:decimal"/>
     <xs:element name="accountNo" type="xs:string"/>
   </xs:sequence>
 </xs:complexType>

 <xs:complexType name="CreditCardAccount">
   <xs:complexContent>
    <xs:extension base="xs:Account">
     <xs:sequence>
      <xs:element name="expiryDate" type="xs:date"/>
      <xs:element name="issuer" type="xs:string"/>
      <xs:element name="type" type="xs:string"/>
     </xs:sequence>
    </xs:extension>
   </xs:complexContent>
 </xs:complexType>

<xs:complexType name="SavingsAccount">
   <xs:complexContent>
    <xs:extension base="xs:Account">
     <xs:sequence>
      <xs:element name="expiryDate" type="xs:date"/>
      <xs:element name="issuer" type="xs:string"/>
      <xs:element name="type" type="xs:string"/>
     </xs:sequence>
    </xs:extension>
   </xs:complexContent>
 </xs:complexType>
</xs:schema>

мне нужно разобрать выше xsd файла.Ввод я дам либо CreditCard, либо Сбережения, в зависимости от того, какие входные данные должны отображаться с базой.

Например.если я введу данные CreditCard

, на выходе должно отобразиться

 <xs:complexType name="CreditCardAccount">
      <xs:complexType name="Account">
       <xs:sequence>
         <xs:element name="balance" type="xs:decimal"/>
         <xs:element name="accountNo" type="xs:string"/>
       </xs:sequence>
      </xs:complexType>
     <xs:sequence>
       <xs:element name="expiryDate" type="xs:date"/>
       <xs:element name="issuer" type="xs:string"/>
       <xs:element name="type" type="xs:string" use="required"/>
     </xs:sequence>
  </xs:complexType>
...