1 5 6 7 package com.hp.hpl.jena.rdql.parser; 8 import com.hp.hpl.jena.graph.Node ; 9 import com.hp.hpl.jena.rdql.*; 10 11 public class Q_QName extends Q_URI 12 { 13 String seen = ""; 15 String prefix = null ; 16 String lcname = null ; 17 18 public Q_QName(int id) 19 { 20 super(id); 21 } 22 23 public Q_QName(RDQLParser p, int id) 24 { 25 super(p, id); 26 } 27 28 void set(String s) 29 { 30 seen = s ; 31 } 32 33 public void jjtClose() 34 { 35 if ( jjtGetNumChildren() != 2 ) 36 throw new RDQL_InternalErrorException("Q_QName: expected 2 children: got "+jjtGetNumChildren()) ; 37 prefix = ((Q_Identifier)jjtGetChild(0)).id ; 38 lcname = ((Q_Identifier)jjtGetChild(1)).id ; 39 seen = prefix+":"+lcname ; 40 } 42 43 public void postParse(Query query) 44 { 45 super.postParse(query) ; 46 47 if ( isNode() ) 48 return ; 50 String full = query.getPrefix(prefix) ; 51 52 if ( full == null ) 53 throw new QueryException("Query error: QName '"+seen+"' can not be expanded.") ; 54 55 super._setNode(Node.createURI(full+lcname)) ; 56 } 57 58 59 60 61 public String asQuotedString() { return seen ; } 62 63 public String asUnquotedString() { return seen ; } 64 public String valueString() { return super.getURI() ; } 66 67 public String toString() { return seen ; } 68 } 69 70 96 | Popular Tags |