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 Details

  • Constructor Details

    • JsonHandlerXML

      public JsonHandlerXML(XPathContext context, 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 built
      staticBaseUri - the static base URI, used for the base URI of the constructed tree
      flags - flags indicating the chosen options
      Throws:
      XPathException - if initialization fails, for example because of problems loading the schema
  • Method Details

    • setType

      public void setType(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(String unEscaped, String reEscaped)
      Set the key to be written for the next entry in an object/map
      Overrides:
      setKey in class JsonHandler
      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:
      getResult in class JsonHandler
      Returns:
      the XML document for this JSON
      Throws:
      XPathException - if an error occurs downstream
    • startArray

      public void startArray() throws XPathException
      Open a new array
      Overrides:
      startArray in class JsonHandler
      Throws:
      XPathException - if a dynamic error occurs
    • endArray

      public void endArray() throws XPathException
      Close the current array
      Overrides:
      endArray in class JsonHandler
      Throws:
      XPathException - if a dynamic error occurs
    • startMap

      public void startMap() throws XPathException
      Start a new object/map
      Overrides:
      startMap in class JsonHandler
      Throws:
      XPathException - if a dynamic error occurs
    • endMap

      public void endMap() throws XPathException
      Close the current object/map
      Overrides:
      endMap in class JsonHandler
      Throws:
      XPathException - if a dynamic error occurs
    • writeNumeric

      public void writeNumeric(String asString, AtomicValue parsedValue) throws XPathException
      Write a numeric value
      Overrides:
      writeNumeric in class JsonHandler
      Parameters:
      asString - the string representation of the value
      parsedValue - the double representation of the value
      Throws:
      XPathException - if a dynamic error occurs
    • writeString

      public void writeString(String val) throws XPathException
      Write a string value
      Overrides:
      writeString in class JsonHandler
      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(String escaped, boolean isKey) throws XPathException
      Overrides:
      markAsEscaped in class JsonHandler
      Throws:
      XPathException
    • writeBoolean

      public void writeBoolean(boolean value) throws XPathException
      Write a boolean value
      Overrides:
      writeBoolean in class JsonHandler
      Parameters:
      value - the boolean value to be written
      Throws:
      XPathException - if a dynamic error occurs
    • writeNull

      public void writeNull() throws XPathException
      Write a null value
      Overrides:
      writeNull in class JsonHandler
      Throws:
      XPathException - if a dynamic error occurs