You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2015/12/12 16:32:42 UTC
jena git commit: JENA-1071: Allow wider range of characters for
rdf:ID.
Repository: jena
Updated Branches:
refs/heads/master 75313701c -> 52dbf46c4
JENA-1071: Allow wider range of characters for rdf:ID.
Spilt NCName checking into usage for rdf:nodeId and rdf:ID
so that only rdf:ID is changed.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/52dbf46c
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/52dbf46c
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/52dbf46c
Branch: refs/heads/master
Commit: 52dbf46c475f19ca420e590864869c5a752996ef
Parents: 7531370
Author: Andy Seaborne <an...@apache.org>
Authored: Sat Dec 12 15:32:16 2015 +0000
Committer: Andy Seaborne <an...@apache.org>
Committed: Sat Dec 12 15:32:16 2015 +0000
----------------------------------------------------------------------
.../rdfxml/xmlinput/impl/ParserSupport.java | 39 +++++++++++++-------
.../rdfxml/xmlinput/states/WantDescription.java | 2 +-
.../xmlinput/states/WantPropertyElement.java | 2 +-
3 files changed, 28 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/52dbf46c/jena-core/src/main/java/org/apache/jena/rdfxml/xmlinput/impl/ParserSupport.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/rdfxml/xmlinput/impl/ParserSupport.java b/jena-core/src/main/java/org/apache/jena/rdfxml/xmlinput/impl/ParserSupport.java
index 5c6edd5..1dbdbed 100644
--- a/jena-core/src/main/java/org/apache/jena/rdfxml/xmlinput/impl/ParserSupport.java
+++ b/jena-core/src/main/java/org/apache/jena/rdfxml/xmlinput/impl/ParserSupport.java
@@ -29,6 +29,7 @@ import java.util.Map ;
import org.apache.jena.iri.IRI ;
import org.apache.jena.rdfxml.xmlinput.ARPErrorNumbers ;
+import org.apache.xerces.util.XML11Char ;
import org.apache.xerces.util.XMLChar ;
import org.xml.sax.SAXParseException ;
@@ -80,26 +81,38 @@ public class ParserSupport implements ARPErrorNumbers, Names {
}
}
-
- checkXMLName(taintMe,str);
+ checkID_XMLName(taintMe,str);
checkEncoding(taintMe,str);
}
- protected void checkXMLName( Taint taintMe, String str) throws SAXParseException {
- if (!XMLChar.isValidNCName(str)) {
- // System.err.println("not name (id): " + str);
+
+ protected void checkNodeID_XMLName( Taint taintMe, String str) throws SAXParseException {
+ if ( ! XMLChar.isValidNCName(str) ) {
+ warning(taintMe,
+ WARN_BAD_NAME,
+ "Not an XML Name: '" + str + "'");
+ }
+ }
+
+ protected void checkID_XMLName( Taint taintMe, String str) throws SAXParseException {
+ // Was called "checkXMLName" and same code as checkNodeID_XMLName until Jena 3.1.0.
+ // See JENA-1071
+
+ // Java and xerces are XML 1.0 4th edition.
+ // XML 1.0 5th edition and XML 1.1 allow a wider range of characters in an NCName.
+
+ // rdf:about="..." is any string but rdf:ID="..." is an XML NCName.
+
+ // This operation here should allow the wider range to make
+ // it compatible with rdf:about="...full URI..."
+
+ //if (!XMLChar.isValidNCName(str)) {
+ if ( ! XML11Char.isXML11ValidNCName(str) ) {
warning(taintMe,
WARN_BAD_NAME,
"Not an XML Name: '" + str + "'");
}
-
}
-// protected void checkNodeID(Taint taintMe, String str) throws SAXParseException {
-// if (!XMLChar.isValidNCName(str)) {
-// warning(taintMe,
-// WARN_BAD_NAME,
-// "Not an XML Name: '" + str + "'");
-// }
-// }
+
public void checkString(Taint taintMe,String t) throws SAXParseException {
if (!CharacterModel.isNormalFormC(t))
warning(taintMe,
http://git-wip-us.apache.org/repos/asf/jena/blob/52dbf46c/jena-core/src/main/java/org/apache/jena/rdfxml/xmlinput/states/WantDescription.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/rdfxml/xmlinput/states/WantDescription.java b/jena-core/src/main/java/org/apache/jena/rdfxml/xmlinput/states/WantDescription.java
index e089abe..ae6f270 100644
--- a/jena-core/src/main/java/org/apache/jena/rdfxml/xmlinput/states/WantDescription.java
+++ b/jena-core/src/main/java/org/apache/jena/rdfxml/xmlinput/states/WantDescription.java
@@ -71,7 +71,7 @@ abstract public class WantDescription extends Frame implements HasSubjectFrameI
warning(ERR_SYNTAX_ERROR,"Both ID and nodeID");
}
subject = new ARPResource(arp,ap.nodeID);
- checkXMLName(subject,ap.nodeID);
+ checkNodeID_XMLName(subject,ap.nodeID);
subjectIsBlank = true;
}
if (subject==null) {
http://git-wip-us.apache.org/repos/asf/jena/blob/52dbf46c/jena-core/src/main/java/org/apache/jena/rdfxml/xmlinput/states/WantPropertyElement.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/rdfxml/xmlinput/states/WantPropertyElement.java b/jena-core/src/main/java/org/apache/jena/rdfxml/xmlinput/states/WantPropertyElement.java
index 69fda69..dc60f30 100644
--- a/jena-core/src/main/java/org/apache/jena/rdfxml/xmlinput/states/WantPropertyElement.java
+++ b/jena-core/src/main/java/org/apache/jena/rdfxml/xmlinput/states/WantPropertyElement.java
@@ -101,7 +101,7 @@ public class WantPropertyElement extends Frame implements WantsObjectFrameI,
if (ap.nodeID != null) {
object = new ARPResource(arp, ap.nodeID);
- checkXMLName(object, ap.nodeID);
+ checkNodeID_XMLName(object, ap.nodeID);
objectIsBlank = true;
}
if (ap.resource != null) {