You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@clerezza.apache.org by en...@apache.org on 2014/02/07 17:07:14 UTC
git commit: CLEREZZA-872 With this change literals of datatype
XMLLiteral will be prepared differently,
by translating non ascii chars in the XML entity instead.
Updated Branches:
refs/heads/master 26bffb67e -> 0c54ded27
CLEREZZA-872 With this change literals of datatype XMLLiteral will be prepared differently, by translating non ascii chars in the XML entity instead.
Project: http://git-wip-us.apache.org/repos/asf/clerezza/repo
Commit: http://git-wip-us.apache.org/repos/asf/clerezza/commit/0c54ded2
Tree: http://git-wip-us.apache.org/repos/asf/clerezza/tree/0c54ded2
Diff: http://git-wip-us.apache.org/repos/asf/clerezza/diff/0c54ded2
Branch: refs/heads/master
Commit: 0c54ded27d5583c84ca18b3c700ef70de149554e
Parents: 26bffb6
Author: enridaga <en...@apache.org>
Authored: Fri Feb 7 16:07:07 2014 +0000
Committer: enridaga <en...@apache.org>
Committed: Fri Feb 7 16:07:07 2014 +0000
----------------------------------------------------------------------
.../java/rdf/virtuoso/storage/VirtuosoMGraph.java | 15 +++++++++++----
1 file changed, 11 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/clerezza/blob/0c54ded2/clerezza-virtuoso/rdf.virtuoso.storage/src/main/java/rdf/virtuoso/storage/VirtuosoMGraph.java
----------------------------------------------------------------------
diff --git a/clerezza-virtuoso/rdf.virtuoso.storage/src/main/java/rdf/virtuoso/storage/VirtuosoMGraph.java b/clerezza-virtuoso/rdf.virtuoso.storage/src/main/java/rdf/virtuoso/storage/VirtuosoMGraph.java
index b4116d3..63353f7 100644
--- a/clerezza-virtuoso/rdf.virtuoso.storage/src/main/java/rdf/virtuoso/storage/VirtuosoMGraph.java
+++ b/clerezza-virtuoso/rdf.virtuoso.storage/src/main/java/rdf/virtuoso/storage/VirtuosoMGraph.java
@@ -624,11 +624,14 @@ public class VirtuosoMGraph extends AbstractMGraph implements MGraph,
logger.debug("toVirtTypedLiteral(TypedLiteral {})", object);
UriRef dt = object.getDataType();
String literal = object.getLexicalForm();//.replaceAll("\"", "\\\\\"");
- return new StringBuilder().append('"').append('"').append('"').append(prepareString(literal)).append('"').append('"').append('"')
+ StringBuilder prepared;
+ // If XMLLiteral, prepare XML entities
+ prepared = prepareString(literal, dt.getUnicodeString().equals("http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral"));
+ return new StringBuilder().append('"').append('"').append('"').append(prepared).append('"').append('"').append('"')
.append("^^").append(toVirtIri(dt)).toString();
}
- private StringBuilder prepareString(String str) {
+ private StringBuilder prepareString(String str, boolean xml) {
StringBuilder retStr = new StringBuilder();
for(int i=0; i<str.length(); i++) {
int cp = Character.codePointAt(str, i);
@@ -643,7 +646,11 @@ public class VirtuosoMGraph extends AbstractMGraph implements MGraph,
if (cp < 128) {
retStr.appendCodePoint(cp);
} else {
- retStr.append(String.format("\\u%04x", cp));
+ if(xml){
+ retStr.append(String.format("&#x%04x;", cp));
+ }else{
+ retStr.append(String.format("\\u%04x", cp));
+ }
}
}
return retStr;
@@ -659,7 +666,7 @@ public class VirtuosoMGraph extends AbstractMGraph implements MGraph,
logger.debug("toVirtPlainLiteral(PlainLiteral {})", object);
Language lang = object.getLanguage();
String literal = object.getLexicalForm();//.replaceAll("\"", "\\\\\"");
- StringBuilder sb = new StringBuilder().append('"').append('"').append('"').append(prepareString(literal))
+ StringBuilder sb = new StringBuilder().append('"').append('"').append('"').append(prepareString(literal, false))
.append('"').append('"').append('"');
if (lang == null) {
return sb.toString();