Package net.sf.saxon.ma.json
Class JsonHandlerXML
- java.lang.Object
-
- net.sf.saxon.ma.json.JsonHandler
-
- net.sf.saxon.ma.json.JsonHandlerXML
-
public class JsonHandlerXML extends JsonHandler
Handler to generate an XML representation of JSON from a series of events
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringPREFIXjava.util.HashMap<java.lang.String,SchemaType>typesbooleanvalidate-
Fields inherited from class net.sf.saxon.ma.json.JsonHandler
charChecker, escape
-
-
Constructor Summary
Constructors Constructor Description JsonHandlerXML(XPathContext context, java.lang.String staticBaseUri, int flags)Make the handler to construct the XML tree representation for JSON
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidendArray()Close the current arrayvoidendMap()Close the current object/mapItemgetResult()Return the complete parsed resultprotected voidmarkAsEscaped(java.lang.CharSequence escaped, boolean isKey)booleansetKey(java.lang.String unEscaped, java.lang.String reEscaped)Set the key to be written for the next entry in an object/mapvoidsetType(java.lang.String name, SchemaType st)Record a SchemaType for a particular namevoidstartArray()Open a new arrayvoidstartMap()Start a new object/mapvoidwriteBoolean(boolean value)Write a boolean valuevoidwriteNull()Write a null valuevoidwriteNumeric(java.lang.String asString, double asDouble)Write a numeric valuevoidwriteString(java.lang.String val)Write a string value-
Methods inherited from class net.sf.saxon.ma.json.JsonHandler
getContext, handleInvalidCharacters, reEscape, setContext, setFallbackFunction
-
-
-
-
Field Detail
-
validate
public boolean validate
-
PREFIX
public static final java.lang.String PREFIX
- See Also:
- Constant Field Values
-
types
public java.util.HashMap<java.lang.String,SchemaType> types
-
-
Constructor Detail
-
JsonHandlerXML
public JsonHandlerXML(XPathContext context, java.lang.String staticBaseUri, int flags) throws XPathException
Make the handler to construct the XML tree representation for JSON- Parameters:
context- the context in which the result tree is to be builtstaticBaseUri- the static base URI, used for the base URI of the constructed treeflags- flags indicating the chosen options- Throws:
XPathException- if initialization fails, for example because of problems loading the schema
-
-
Method Detail
-
setType
public void setType(java.lang.String name, SchemaType st)Record a SchemaType for a particular name- Parameters:
name- the name to be used for the type, e.g. "arrayType"st- the schema type to be used for typing such entities
-
setKey
public boolean setKey(java.lang.String unEscaped, java.lang.String reEscaped)Set the key to be written for the next entry in an object/map- Overrides:
setKeyin classJsonHandler- Parameters:
unEscaped- the key for the entry (null implies no key) in unescaped form (backslashes, if present, do not signal an escape sequence)reEscaped- the key for the entry (null implies no key) in reescaped form. In this form special characters are represented as backslash-escaped sequences if the escape option is yes; if escape=no, the reEscaped form is the same as the unEscaped form.- Returns:
- true if the key is already present in the map, false if it is not
-
getResult
public Item getResult() throws XPathException
Return the complete parsed result- Overrides:
getResultin classJsonHandler- Returns:
- the XML document for this JSON
- Throws:
XPathException- if an error occurs downstream
-
startArray
public void startArray() throws XPathExceptionOpen a new array- Overrides:
startArrayin classJsonHandler- Throws:
XPathException- if a dynamic error occurs
-
endArray
public void endArray() throws XPathExceptionClose the current array- Overrides:
endArrayin classJsonHandler- Throws:
XPathException- if a dynamic error occurs
-
startMap
public void startMap() throws XPathExceptionStart a new object/map- Overrides:
startMapin classJsonHandler- Throws:
XPathException- if a dynamic error occurs
-
endMap
public void endMap() throws XPathExceptionClose the current object/map- Overrides:
endMapin classJsonHandler- Throws:
XPathException- if a dynamic error occurs
-
writeNumeric
public void writeNumeric(java.lang.String asString, double asDouble) throws XPathExceptionWrite a numeric value- Overrides:
writeNumericin classJsonHandler- Parameters:
asString- the string representation of the valueasDouble- the double representation of the value- Throws:
XPathException- if a dynamic error occurs
-
writeString
public void writeString(java.lang.String val) throws XPathExceptionWrite a string value- Overrides:
writeStringin classJsonHandler- Parameters:
val- the string to be written. This will be in unescaped form if unescaping was requested in the flags, otherwise it may contain JSON escape sequences- Throws:
XPathException- if a dynamic error occurs
-
markAsEscaped
protected void markAsEscaped(java.lang.CharSequence escaped, boolean isKey) throws XPathException- Overrides:
markAsEscapedin classJsonHandler- Throws:
XPathException
-
writeBoolean
public void writeBoolean(boolean value) throws XPathExceptionWrite a boolean value- Overrides:
writeBooleanin classJsonHandler- Parameters:
value- the boolean value to be written- Throws:
XPathException- if a dynamic error occurs
-
writeNull
public void writeNull() throws XPathExceptionWrite a null value- Overrides:
writeNullin classJsonHandler- Throws:
XPathException- if a dynamic error occurs
-
-