+1 suara
807 tampilan

Does anyone know of a command line tool to convert USFM format to USX (or any other xml flavor)?

I’d like to write a script to grab a few different .sfm files from different projects and mass-convert them… something quite difficult with the built-in Tools–>Advanced–>Export Project to USX.

Also, USX makes some strange design decisions that seem to be direct reflections of the USFM code instead of true xml. At least they seem strange to me who has very little background in this area… but I would have expected the tag to close at the end of the chapter and not immediately after the chapter number, e.g.
<chapter number=“1” style=“c”>
    all the verses
</chapter>

instead of
<chapter number=“1” style=“c” />

I have the exact same question about verse tags.

Can anyone explain why the xml works this way, or suggest other xml formats that are more logical? These files will be used internally in a publishing project and thus we’re not too concerned about external standards.

Note I’ve tried the Haiola usfm2usfx.exe tool and can’t get it to work, but if people say that’s the best option I can try to figure out what’s wrong.

Postingan lama - ditampilkan dalam bahasa aslinya
Paratext oleh (1,9k poin) | 807 tampilan

6 Jawaban

0 suara
Jawaban terbaik

Maaf, ini tidak akan berhasil. Anda bisa membaca hasil dari modul yang sudah disetel yang sudah dijalankan oleh Paratext, tetapi Anda tidak bisa menulis modul ke Paratext dan membuatnya tahu bahwa itu adalah modul dan menjalankan pembuatannya.

EDIT: Tampaknya saya melewatkan beberapa pertanyaan dari lebih dari dua tahun yang lalu: :grimacing:

Ya, seharusnya sekarang mengoutput format 3.0.

Sayangnya, tidak. rdwrtp8 dirancang untuk membaca/menulis file mentah agar aplikasi lain dapat membaca/menulis data Paratext. Ini memerlukan agar data dapat dilakukan round-trip, dan perubahan yang didefinisikan dalam PrintDraftChanges.txt tidak dapat dilakukan round-trip.

Diterjemahkan secara otomatis dari English
oleh [Expert]
(16,7k poin)

ditampilkan kembali
0 suara

Saya tidak tahu tentang alat seperti itu. Cara terbaik menurut saya adalah menggunakan skema lokasi yang distandarkan untuk mengekspor file USX, misalnya C:\My Paratext 8 Projects\[project name]\local\USX dan mengambilnya dari sana.
Mengenai penanda bab dan ayat, ini disebut milestone dan merupakan salah satu cara untuk menangani overlapping markup.
Apakah ini untuk publikasi cetak atau hanya digital?

Diterjemahkan secara otomatis dari English
oleh (872 poin)
ditampilkan kembali

Ini adalah untuk publikasi cetak saja. Program penerbitan yang kami gunakan, SILE, menerima input xml. Sebenarnya, program ini akan menerima input seperti TeX (yaitu USFM), tetapi programmer yang saya ajak bekerja lebih memilih menggunakan xml.

Saya mengasumsikan format USX akan berfungsi dengan sangat baik untuk programmer, jadi pertanyaan-pertanyaan lain ini adalah untuk pemahaman saya sendiri.

Saya rasa ini hanya keputusan desain, tetapi saya bertanya-tanya mengapa pembuat USX memutuskan bahwa <chapter> berarti “angka di awal bab” dan bukan “bab”. Pemahaman saya tentang xml adalah bahwa biasanya menggunakan format seperti
<tag attributes=“aaa”>content</tag>

Cara hal-hal saat ini
<chapter number=“1” style=“c” > tidak memiliki konten
Di mana saya akan mengharapkan
<chapter number=“1” style=“c”>the actual content of the chapter<\chapter>

Mungkin saya melewatkan sesuatu, tetapi saya tidak melihat bagaimana ini disebabkan oleh masalah markup yang tumpang tindih.

Berikut adalah masalah lain–mengikuti gaya buku-buku keagamaan di wilayah kami, proyek kami berencana menandai nomor ayat di akhir ayat, bukan di awal. Dengan cara penanda <verse> saat ini bekerja, kami akan perlu menggunakan scripting untuk memindahkan tag ke posisi yang berbeda dalam dokumen xml teks biasa, tetapi jika USX menggunakan format yang menurut saya seharusnya:
<verse number=“1” style=“v”>verse text</verse>
maka akan cukup sederhana bagi program yang membaca xml untuk menafsirkan baris tersebut dan mengatakan “cetak atribut ‘number’ di akhir ‘verse text’ alih-alih di awal”.

Diterjemahkan secara otomatis dari English
0 suara

Satu setengah tahun kemudian, saya masih menginginkan fungsionalitas ini.

Fitur bawaan Paratext “export project to USX” adalah persis apa yang saya butuhkan, tetapi saya ingin itu diotomatisasi agar saya bisa mengintegrasikannya ke dalam skrip baris perintah yang dibangun. Kode konversi USFM–>USX pasti ada di PT. Apakah ada cara untuk mendapatkan kode tersebut dari para pengembang (dengan memahami bahwa sedikit modifikasi diperlukan di sisi kami agar bisa berjalan di bahasa apa pun yang kebetulan kami gunakan)? Jika ya, bagaimana cara melakukannya?

Diterjemahkan secara otomatis dari English
oleh (1,9k poin)
0 suara

Tampaknya Anda menginginkan alat mandiri (stand-alone), tetapi jika yang Anda butuhkan hanyalah teks proyek dalam format USX, Paratext 8+ dilengkapi dengan alat baris perintah kecil yang dapat mengekstrak teks proyek dalam format USX:
rdwrtp8 -r projectShortName bookCode chapterNum resultFileName -x

-x digunakan untuk menentukan format USX alih-alih format USFM.
Jika chapterNum adalah 0 (nol), maka seluruh buku akan dikembalikan.

Ini tidak dapat digunakan pada sumber daya (resources) karena alasan yang jelas.

Akan sulit untuk memisahkan kode parsing di luar Paratext karena sangat bergantung pada pengaturan proyek dan informasi stylesheet untuk menghasilkan USX dari USFM.

Diterjemahkan secara otomatis dari English
oleh [Expert]
(16,7k poin)
0 suara

Saat saya melihat posting Anda yang baru-baru ini, saya ingin menyarankan Haiola juga, tetapi saya melihat bahwa Anda sudah mencobanya sebelumnya. Jujur saja, saya sendiri belum pernah menggunakannya. Saya menyarankan untuk menghubungi penulisnya jika ada masalah yang Anda temukan, jika rdwrtp8 tidak memberikan solusi.

Mengenai markup yang tumpang tindih, saya menduga contohnya adalah Nehemia 8. Dalam NIV cetak saya, bab 8 dimulai di tengah paragraf. Dan nomor ayat (1 dalam hal ini) dicetak di samping nomor bab (yang menggunakan huruf kapital menjuntai/drop caps). Di bab-bab lain, nomor ayat dihilangkan jika bernilai 1.

Di Paratext, stylesheet mendefinisikan hierarki penanda, seperti id > ide > c > p > v. Dan untuk sebagian besar bab dan paragraf, ini bisa dipetakan ke XML seperti yang Anda harapkan (dengan elemen c yang berisi elemen p, dll.) Tetapi untuk Nehemia 8, hierarki Paratext runtuh, itulah mengapa saya menduga USX memiliki elemen c yang tidak memiliki konten.

Diterjemahkan secara otomatis dari English
oleh (185 poin)
0 suara

Terima kasih, @anon291708, saya pikir rdwrtp8 akan melakukan persis apa yang saya butuhkan. Saya memiliki beberapa pertanyaan tentangnya, setelah baru saja menjalankannya.
Ia mengoutput USX dalam format versi 2.5, yang digunakan oleh PT8. Apakah akan pernah diperbarui untuk mengoutput dalam format 3.0 seperti yang dilakukan PT9?
Tampaknya ia tidak menggunakan file PrintDraftChanges.txt selama proses ekspor, yang digunakan oleh opsi menu “Export project to USX” di PT8/9. Apakah ada cara untuk mengintegrasikan perubahan-perubahan tersebut?

@Bobby, terima kasih atas saran Haiola. Ya, saya sudah mencobanya tanpa berhasil. Mengenai penanda yang tumpang tindih, setelah membaca posting ini satu atau dua tahun yang lalu dan memikirkan masalah-masalahnya, saya pikir saya telah mencapai pemahaman yang lebih baik tentang mengapa hal itu penting (dan mengapa setiap sistem akan memiliki kekurangan bawaan).

Diterjemahkan secara otomatis dari English
oleh (1,9k poin)

Sekarang saya ingin menulis skrip yang mengambil file spesifikasi Bible Module dan membuat file output darinya. Saya diberitahu di sini bahwa rdwrtp8.exe seharusnya bisa melakukan ini, tetapi saya tidak bisa membuatnya bekerja.

Apakah seharusnya bisa? Apakah saya seharusnya bisa mengambil file spesifikasi Bible Module, memuatnya ke PT secara eksternal sebagai buku XXA-XXG, lalu mengekspornya… dan memiliki file yang dihasilkan sebagai output Bible Module dengan semua ayat terisi?

Perintah yang saya gunakan adalah:
rdwrtp8 -w PROJ XXA 0 "D:\My-Modules\module1.sfm"
dan
rdwrtp8 -r PROJ XXA 0 "D:\My-Expanded-Modules\module1.sfm"

Diterjemahkan secara otomatis dari English

Pertanyaan terkait

0 suara
2 jawaban 43 tampilan
Saya perlu mengkonversi file USX ke USFM. Saya bisa melihat opsi di Paratext untuk melakukan kebalikannya, ... mengkonversinya ke USFM akan memudahkan Proskomma untuk memprosesnya.
yeti 109 bertanya Mar 19
0 suara
2 jawaban 359 tampilan
Hello, I am writing as a representative of a small task team assigned to review proposals for what becomes a ... necessary information with you. Thank you. jmkla [Email Removed]
[Expert]
jmkla
290
bertanya Okt 2, 2015
0 suara
2 jawaban 236 tampilan
In the USX export file from Paratext, for certain references, the transformation adds an extra - in the tag. ... bug in the USX transformation. Any help would be appreciated.
anon753074 109 bertanya Apr 24, 2020
0 suara
1 jawaban 34 tampilan
Kami menggunakan /xt dalam silang rujuk catatan kaki, diatur untuk menggunakan 'nama pendek' kitab. Tetapi di glosarium, ... ada kode USFM lain yang bisa saya gunakan untuk itu?
Lenice 180 bertanya Okt 7, 2025
0 suara
1 jawaban 423 tampilan
Saya ingin mengekspor proyek ke HTML agar saya dapat membagikan draf kepada orang lain. Saya tidak ingin ... Bagaimana cara menyembunyikan penanda USFM dari HTML yang diekspor?
bit 495 bertanya Apr 14, 2022
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
Make every effort to keep the unity of the Spirit through the bond of peace.
Ephesians 4:3
3,045 pertanyaan
6,005 jawaban
5,671 komentar
2,026 pengguna