Kindle3 > ncx2xhtml

Cél:
Epubból guberált tartalomjegyzékből csináljunk mobis tartalomjegyzéket

Megvalósítás:
Csak egyszeres szintmélységig működik.

[code]
import groovy.xml.StreamingMarkupBuilder

if ( args.size() < 2 ) {

println "\r\n\tUsage: groovy ncx2xhtml.groovy
\r\n"

} else {

def input = args[0]
def output = args[1]

// input
def xml1 = new XmlParser().parseText(new File(input)?.getText())
// output
def writer = new FileWriter(output)
def xml2 = new StreamingMarkupBuilder()
xml2.encoding="UTF-8"

def doc = xml2.bind {

mkp.xmlDeclaration()
mkp.yieldUnescaped('''<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">''')

html(xmlns: "http://www.w3.org/1999/xhtml") {

head {
link(href:"../Styles/style001.css",rel:"stylesheet",type:"css")
title xml1.docTitle.text.text()
}

body {
div(id:"tartalom") {
h1 "Tartalom"

xml1.navMap.navPoint.each { np ->
a(href:np.content."@src".text().replaceFirst("^Text/",""), np.navLabel.text.text() )
br()
}

}
}
}
}

writer.write(doc)

} // -- else end--

[/code]

Hordozhatóság:

A groovy szkriptet egy futtatható jar-ba is lehet csomagolni, így nem kell felrakni a groovy környezetet.

Forrás:
[1] XML-gyártás groovyval, http://groovy.codehaus.org/Creating+XML+using+Groovy%27s+StreamingMarku…
[2] Jar-készítő szkript, http://groovy.codehaus.org/WrappingGroovyScript

Hozzászólások

Itt ha jól sejtem hasonlóról volt szó (nem vagyok benne biztos, sose csináltam kézzel mobit)

Ha tényleg az, belinkelhetnéd oda is.