mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-09 18:14:06 +09:00
parser now validates XML
This commit is contained in:
BIN
lib/TerrarumSansBitmap.jar
LFS
BIN
lib/TerrarumSansBitmap.jar
LFS
Binary file not shown.
@@ -47,7 +47,11 @@ object BTeXParser {
|
|||||||
|
|
||||||
operator fun invoke(file: File, varMap: Map<String, String>): Pair<BTeXDocument, BTeXHandler> {
|
operator fun invoke(file: File, varMap: Map<String, String>): Pair<BTeXDocument, BTeXHandler> {
|
||||||
val doc = BTeXDocument()
|
val doc = BTeXDocument()
|
||||||
val parser = SAXParserFactory.newDefaultInstance().newSAXParser()
|
val parser = SAXParserFactory.newInstance().let {
|
||||||
|
it.isNamespaceAware = true
|
||||||
|
it.isValidating = true
|
||||||
|
it.newSAXParser()
|
||||||
|
}
|
||||||
val stream = FileInputStream(file)
|
val stream = FileInputStream(file)
|
||||||
val handler = BTeXHandler(doc, varMap)
|
val handler = BTeXHandler(doc, varMap)
|
||||||
parser.parse(stream, handler)
|
parser.parse(stream, handler)
|
||||||
@@ -56,7 +60,11 @@ object BTeXParser {
|
|||||||
|
|
||||||
operator fun invoke(string: String, varMap: Map<String, String>): Pair<BTeXDocument, BTeXHandler> {
|
operator fun invoke(string: String, varMap: Map<String, String>): Pair<BTeXDocument, BTeXHandler> {
|
||||||
val doc = BTeXDocument()
|
val doc = BTeXDocument()
|
||||||
val parser = SAXParserFactory.newDefaultInstance().newSAXParser()
|
val parser = SAXParserFactory.newInstance().let {
|
||||||
|
it.isNamespaceAware = true
|
||||||
|
it.isValidating = true
|
||||||
|
it.newSAXParser()
|
||||||
|
}
|
||||||
val handler = BTeXHandler(doc, varMap)
|
val handler = BTeXHandler(doc, varMap)
|
||||||
parser.parse(InputSource(StringReader(string)), handler)
|
parser.parse(InputSource(StringReader(string)), handler)
|
||||||
return doc to handler
|
return doc to handler
|
||||||
@@ -119,6 +127,8 @@ object BTeXParser {
|
|||||||
|
|
||||||
private val bodyTextShadowAlpha = 0.36f
|
private val bodyTextShadowAlpha = 0.36f
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private fun StringBuilder.appendObjectPlaceholder(id: String) {
|
private fun StringBuilder.appendObjectPlaceholder(id: String) {
|
||||||
(objWidthDict[id] ?: throw NullPointerException("No OBJ with id '$id' exists")).let {
|
(objWidthDict[id] ?: throw NullPointerException("No OBJ with id '$id' exists")).let {
|
||||||
this.append(objectMarkerWithWidth(id, it))
|
this.append(objectMarkerWithWidth(id, it))
|
||||||
@@ -307,7 +317,7 @@ object BTeXParser {
|
|||||||
String(ch.sliceArray(start until start + length)).replace('\n', ' ').replace(Regex(" +"), " ")//.trim()
|
String(ch.sliceArray(start until start + length)).replace('\n', ' ').replace(Regex(" +"), " ")//.trim()
|
||||||
|
|
||||||
if (str.isNotEmpty()) {
|
if (str.isNotEmpty()) {
|
||||||
printdbg("Characters [col:${spanColour}] \t\"$str\"")
|
// printdbg("Characters [col:${spanColour}] \t\"$str\"")
|
||||||
// process span request
|
// process span request
|
||||||
if (spanColour != oldSpanColour || spanColour != null) {
|
if (spanColour != oldSpanColour || spanColour != null) {
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user