我有一本書的XML文件。主樹有Body/Pagecolumn/Region/Paragraph/Line/Word levels。不過,我對行級別不感興趣。有沒有什麼辦法來融合行級別而不破壞Word級別的R使用XML包或其他包?轉換後,主樹會車身/ Pagecolumn /地區/款/字如何融合R中XML數據中特定類型的節點?
下面提供的XML數據的樣本:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE DjVuXML>
<DjVuXML>
<BODY>
<OBJECT data="file://localhost//book1.djvu" height="1650" type="image/x.djvu" usemap="book1.djvu" width="1275">
<PARAM name="PAGE" value="book1_001.djvu"/>
<PARAM name="DPI" value="300"/>
<HIDDENTEXT>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="1,2,3,4,5">Title</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
<PAGECOLUMN>
<REGION>
<PARAGRAPH>
<LINE>
<WORD coords="30,564,90,545,559">This</WORD>
<WORD coords="97,559,109,545,559">is</WORD>
<WORD coords="115,564,162,545,559">a</WORD>
</LINE>
</PARAGRAPH>
<PARAGRAPH>
<LINE>
<WORD coords="30,589,80,570,584">First</WORD>
<WORD coords="88,584,115,570,584">line</WORD>
<WORD coords="123,584,146,574,584">is</WORD>
</LINE>
<LINE>
<WORD coords="30,614,90,598,609">Second</WORD>
<WORD coords="97,609,143,595,609">line</WORD>
<WORD coords="148,614,168,595,609">is</WORD>
</LINE>
<LINE>
<WORD coords="30,640,56,626,640">Third</WORD>
<WORD coords="63,640,95,626,640">line</WORD>
<WORD coords="101,640,128,626,640">is</WORD>
</LINE>
</PARAGRAPH>
</REGION>
</PAGECOLUMN>
</HIDDENTEXT>
</OBJECT>
<MAP name="book1.djvu"/>
</BODY>
</DjVuXML>
感謝。
謝謝!這看起來很棒!幾個問題,我不能安裝它的Windows,我需要從源代碼編譯它?如果我理解你的代碼,在這種情況下,代碼是否仍然適用於這個轉換'',我的意思是沒有@ *? –
agstudy
Unfortunatley我不認爲Windows版本可用。第一個模板是所謂的身份變換http://en.wikipedia.org/wiki/Identity_transform。這會複製所有屬性和節點。如果某個特定元素存在更相關的模板,則xslt將使用該模板。我們宣佈了一個與LINE更相關的模板。這什麼都不做。因此對於除LINE之外的所有節點和屬性,變換執行復制。結果是原始XML減去LINE部分。 – user1609452
謝謝。我也在Windows上使用R.我試圖使用RStudio從源代碼安裝,但是我得到了這個錯誤:*請定義LIB_XSLT *。 – imriss