Преобразование класса Java в файл XML Schema (XSD) - PullRequest
0 голосов
/ 22 мая 2018

У меня плоский файл с несколькими записями в каждой строке.Я преобразовал каждую из этих записей в отдельные файлы XML.Теперь мне нужен XSD для проверки этих XML один за другим.Чтобы сгенерировать XSD, у меня есть документ сопоставления Excel, описывающий положение каждого поля, значение и формат.Я прочитал документ сопоставления в java-файле.Теперь, Я ХОЧУ ПРЕОБРАЗОВАТЬ ЭТОТ ФАЙЛ JAVA В ФАЙЛ XSD , чтобы удовлетворить мою потребность.Надеюсь, мое требование ясно.

Пожалуйста, направьте меня с этой проблемой.Заранее спасибо!

Ниже приведен пример сгенерированного XSD (в настоящее время я подготовил его вручную).Мне нужен исходный Java-файл для программного создания этого XSD-файла.

XSD-файл:

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="Records" type="type_Records" />
    <xs:complexType name="type_Records">
        <xs:sequence>
            <xs:element name="Record" type="type_Record" />
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="type_Record">
        <xs:sequence>
            <xs:element name="RecordIdentifier" type="type_RecordIdentifier" />
            <xs:element name="AccountType" type="type_AccountType" />
            <xs:element name="RoutingNumber8" type="type_RoutingNumber8" />
            <xs:element name="RoutingNumberL" type="type_RoutingNumberL" />
            <xs:element name="AccountNumber" type="type_AccountNumber" />
            <xs:element name="Amount" type="type_Amount" />
            <xs:element name="PolicyNumber" type="type_PolicyNumber" />
            <xs:element name="AccountHolder" type="type_AccountHolder" />
            <xs:element name="AccountSource" type="type_AccountSource" />
            <xs:element name="AddendaRecordIdentifier" type="type_AddendaRecordIdentifier" />
            <xs:element name="OriginatorIdCode" type="type_OriginatorIdCode" />
            <xs:element name="SequenceNumber" type="type_SequenceNumber" />
        </xs:sequence>
        <xs:attribute name="id" type="type_RecordId" use="required" />
    </xs:complexType>
    <xs:simpleType name="type_RecordIdentifier">
        <xs:restriction base="xs:string">
            <xs:pattern value="6" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="type_AccountType">
        <xs:restriction base="xs:string">
            <xs:pattern value="27|37" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="type_RoutingNumber8">
        <xs:restriction base="xs:string">
            <xs:pattern value="[0-9]{8}" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="type_RoutingNumberL">
        <xs:restriction base="xs:string">
            <xs:pattern value="[0-9]" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="type_AccountNumber">
        <xs:restriction base="xs:string">
            <xs:pattern value="[0-9]{17}" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="type_Amount">
        <xs:restriction base="xs:string">
            <xs:pattern value="[0-9]{10}" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="type_PolicyNumber">
        <xs:restriction base="xs:string">
            <xs:pattern value="[A-Z0-9]{10}[ ]{5}" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="type_AccountHolder">
        <xs:restriction base="xs:string">
            <xs:pattern value="[a-zA-Z][a-zA-Z ]{21}" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="type_AccountSource">
        <xs:restriction base="xs:string">
            <xs:pattern value="S |  " />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="type_AddendaRecordIdentifier">
        <xs:restriction base="xs:string">
            <xs:pattern value="0" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="type_OriginatorIdCode">
        <xs:restriction base="xs:string">
            <xs:pattern value="05310049" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="type_SequenceNumber">
        <xs:restriction base="xs:string">
            <xs:pattern value="[0-9]{7}" />
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="type_RecordId">
        <xs:restriction base="xs:string">
            <xs:pattern value="[0-9]*" />
        </xs:restriction>
    </xs:simpleType>
</xs:schema>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...