Spark XML, похоже, не работает с сущностями XML (такими как & myentity;) - PullRequest
0 голосов
/ 20 сентября 2019

Я использую Spark XML для анализа большого документа, который содержит несколько пользовательских объектов.Это простой фрагмент из файла

<JMdict>
    <entry>
        <ent_seq>1000000</ent_seq>
        <r_ele>
            <reb>ヽ</reb>
        </r_ele>
        <sense>
            <pos>&unc;</pos>
            <gloss g_type="expl">repetition mark in katakana</gloss>
        </sense>
        <sense>
            <gloss xml:lang="dut">hitotsuten 一つ点: teken dat herhaling van het voorafgaande katakana-schriftteken aangeeft</gloss>
        </sense>
    </entry>
</JMdict>

Сущности правильно определены во встроенном DTD, который можно найти в документе XML, например здесь

<!ENTITY unc "unclassified">

Однаконе удается выполнить синтаксический анализ на этапе обнаружения схемы ...

root
 |-- _corrupt_record: string (nullable = true)

Причиной, по-видимому, являются определяемые пользователем объекты: когда я их избегаю (например, &amp;unc;), все снова работает.

root
 |-- ent_seq: string (nullable = true)
 |-- r_ele: struct (nullable = true)
 |    |-- reb: string (nullable = true)
 |-- sense: array (nullable = true)
 |    |-- element: struct (containsNull = true)
 |    |    |-- gloss: struct (nullable = true)
 |    |    |    |-- _VALUE: string (nullable = true)
 |    |    |    |-- _g_type: string (nullable = true)
 |    |    |    |-- _lang: string (nullable = true)
 |    |    |-- pos: string (nullable = true)

Как мне решить эту проблему?

...