+1
810 次瀏覽

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.

舊文章 - 以原文顯示
Paratext (1.9k 點) 提出 | 810 次瀏覽

6 個回答

0
最佳回答

抱歉,這行不通。您可以讀取 Paratext 已經運行過模組生成的已設置模組的結果,但您不能寫入模組到 Paratext 並讓它知道這是一個模組並運行生成。

編輯:顯然我漏掉了兩年多前的一些問題::grimacing:

是的,現在它應該輸出 3.0 格式。

不幸的是,不行。rdwrtp8 旨在讀取/寫入原始檔案,以便其他應用程式可以讀取/寫入 Paratext 數據。這要求數據必須是可往返的(round-trip-able),而 PrintDraftChanges.txt 中定義的更改不是可往返的。

機器翻譯自 English
[Expert]
(16.7k 點) 提出

已重新顯示
0

我不知道有這樣的工具。對我來說,最好的方法似乎是使用標準化的位置方案來匯出 USX 檔案,例如 C:\My Paratext 8 Projects\[project name]\local\USX,然後從那裡取得它們。
關於章節和節標記,這些被稱為里程碑(milestones),是處理重疊標記的一種方式。
這是用於印刷出版還是僅限數位?

機器翻譯自 English
(872 點) 提出
已重新顯示

這是用於純印刷出版。我們使用的出版程式 SILE 接受 XML 輸入。它實際上可以接受類似 TeX 的輸入(即 USFM),但我合作的程式設計師更傾向於使用 XML。

我假設 USX 的格式對程式設計師來說會完全沒問題,所以這些其他問題是為了讓我自己的理解更清楚。

我想這只是設計決策,但我想知道為什麼創建 USX 的人決定 <chapter> 意味著「章節開頭的數字」,而不是「章節」。我對 XML 的理解是,它通常使用如下的格式:
<tag attributes=“aaa”>content</tag>

目前的情況是
<chapter number=“1” style=“c” > 沒有內容
而我預期的是
<chapter number=“1” style=“c”>the actual content of the chapter<\chapter>

也許我漏掉了什麼,但我看不出這是由重疊標記問題引起的。

這裡還有另一個問題——遵循我們地區宗教書籍的風格,我們的專案計劃在節的末尾標記節號,而不是在開頭。按照 <verse> 標記目前的運作方式,我們將需要使用腳本將標籤移動到純文字 XML 文件中的不同位置,但如果 USX 使用我認為應該使用的格式:
<verse number=“1” style=“v”>verse text</verse>
那麼讓讀取 XML 的程式解釋該行並說「在 'verse text' 的末尾而不是開頭列印屬性 'number'」就會相當簡單。

機器翻譯自 English
0

一年半過去了,我仍然需要這個功能。

Paratext 內建的「export project to USX」正是我需要的,但我希望它能自動化,這樣我就可以將其納入命令列建置腳本中。USFM–>USX 轉換代碼一定在 PT 中。有辦法從開發人員那裡獲得該代碼嗎(理解我們可能需要進行一些修改才能讓它在我們使用的任何語言下運行)?如果是,我該怎麼辦?

機器翻譯自 English
(1.9k 點) 提出
0

聽起來您想要一個獨立工具,但如果您只需要專案文字的 USX 格式,Paratext 8+ 附帶了一個小型命令列工具,可以提取專案的 USX 格式文字:
rdwrtp8 -r projectShortName bookCode chapterNum resultFileName -x

-x 用於指定 USX 格式而不是 USFM 格式。
如果 chapterNum 為 0(零),則返回整本書。

顯然,這不能用於資源。

將解析代碼從 Paratext 中分離出來會很困難,因為它嚴重依賴專案設置和樣式表資訊才能從 USFM 生成 USX。

機器翻譯自 English
[Expert]
(16.7k 點) 提出
0

當我看到您最近的帖子時,我本來也想建議 Haiola,但我看到您之前試過了。坦白說,我自己沒有使用過。如果 rdwrtp8 無法提供解決方案,我建議您聯繫作者並告知您發現的任何問題。

至於重疊標記,我猜一個例子是尼希米記第 8 章。在我印刷版的 NIV 中,第 8 章從段落中間開始。而且節號(在此為 1)印在章節號(使用首字下沉)旁邊。在其他章節中,如果節號為 1,則會省略。

在 Paratext 中,樣式表定義了標記的層級,例如 id > ide > c > p > v。對於大多數章節和段落,這可以按照您預期的方式映射到 XML(c 元素包含 p 元素等)。但對於尼希米記第 8 章,Paratext 的層級結構失效了,這就是我懷疑 USX 有一個沒有內容的 c 元素的原因。

機器翻譯自 English
(185 點) 提出
0

謝謝,@anon291708,我想 rdwrtp8 正好能做我需要的。我剛運行完,對它有一些問題。
它輸出 2.5 版本的 USX 格式,這是 PT8 使用的。它會更新為輸出像 PT9 一樣的 3.0 格式嗎?
它似乎在匯出過程中沒有使用 PrintDraftChanges.txt 檔案,而 PT8/9 中的「Export project to USX」選單選項會使用該檔案。有辦法納入這些更改嗎?

@Bobby,謝謝您建議 Haiola。是的,我試過但沒有成功。至於重疊標記,在一年或兩年前閱讀完這個帖子並思考這些問題後,我想我對為什麼這很重要(以及為什麼任何系統都會有固有的缺點)有了更好的理解。

機器翻譯自 English
(1.9k 點) 提出

現在我想寫一個腳本,它接受聖經模組規範檔案並從中創建輸出檔案。有人在這裡告訴我 rdwrtp8.exe 應該能做到這一點,但我無法讓它運作。

它應該能做到嗎?我應該能夠接受一個聖經模組規範檔案,在外部將其載入 PT 作為 XXA-XXG 書籍,然後匯出該檔案……並讓結果檔案成為填滿所有經文的聖經模組輸出嗎?

我使用的命令是:
rdwrtp8 -w PROJ XXA 0 "D:\My-Modules\module1.sfm"
以及
rdwrtp8 -r PROJ XXA 0 "D:\My-Expanded-Modules\module1.sfm"

機器翻譯自 English

相關問題

0
2 個回答 43 次瀏覽
我需要將 USX 檔案轉換為 USFM 我看到 Paratext 有一個選項可以進行反向操作,但找不到將 USX 轉換為 USFM 的選項 我需要這樣做,是因為 Proskomma(用於 Scripture App Builder 建置 PWA)拒 ... 卷,理由是它們不符合標準格式 我希望將它們轉換為 USFM 後,Proskomma 處理起來會更容易
yeti 109 提出 已提問 3月 19
0
2 個回答 359 次瀏覽
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 提出
已提問 10月 2, 2015
0
2 個回答 236 次瀏覽
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 提出 已提問 4月 24, 2020
0
1 個回答 34 次瀏覽
我們在腳註交叉引用中使用 /xt,並設定為使用書卷的「簡稱」。但在術語表中,我想使用書卷名稱的縮寫,請問有沒有其他 USFM 代碼可以做到這一點?
Lenice 180 提出 已提問 10月 7, 2025
0
1 個回答 423 次瀏覽
我想將專案匯出為 HTML,以便與他人分享草稿 我不想匯出為 PDF,因為 PDF 在智慧型手機和其他小螢幕裝置上操作起來相當不便 我可以透過開啟 Paratext,點擊專案選單按鈕,然後選擇「進階」(Advanced),再選擇「將專案 ... 而,USFM 標記是可見的,例如 \v 1 和 \s 等標記 我該如何隱藏匯出 HTML 中的 USFM 標記?
bit 495 提出 已提問 4月 14, 2022
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
And over all these virtues put on love, which binds them all together in perfect unity.
Colossians 3:14
3,045 個問題
6,005 個回答
5,671 則評論
2,026 位使用者