public class JsonReceiver extends java.lang.Object implements Receiver
Constructor and Description |
---|
JsonReceiver(PipelineConfiguration pipe) |
Modifier and Type | Method and Description |
---|---|
void |
attribute(NodeName attName,
SimpleType typeCode,
java.lang.CharSequence value,
Location locationId,
int properties)
Notify an attribute.
|
void |
characters(java.lang.CharSequence chars,
Location locationId,
int properties)
Notify character data.
|
void |
close()
Notify the end of the event stream
|
void |
comment(java.lang.CharSequence content,
Location locationId,
int properties)
Notify a comment.
|
void |
endDocument()
Notify the end of a document node
|
void |
endElement()
Notify the end of an element.
|
static java.lang.CharSequence |
escape(java.lang.CharSequence in,
boolean forXml,
IntPredicate hexEscapes)
Escape a string using backslash escape sequences as defined in JSON
|
java.lang.String |
getJsonString()
On completion, get the assembled JSON string
|
PipelineConfiguration |
getPipelineConfiguration()
Get the pipeline configuration
|
java.lang.String |
getSystemId() |
boolean |
isIndenting() |
void |
namespace(NamespaceBindingSet namespaceBindings,
int properties)
Notify one or more namespaces.
|
void |
open()
Notify the start of the event stream
|
void |
processingInstruction(java.lang.String name,
java.lang.CharSequence data,
Location locationId,
int properties)
Output a processing instruction
|
void |
setIndenting(boolean indenting) |
void |
setPipelineConfiguration(PipelineConfiguration pipe)
Set the pipeline configuration
|
void |
setSystemId(java.lang.String systemId)
Set the System ID of the tree represented by this event stream
|
void |
setUnparsedEntity(java.lang.String name,
java.lang.String systemID,
java.lang.String publicID)
Notify an unparsed entity URI.
|
void |
startContent()
Notify the start of the content, that is, the completion of all attributes and namespaces.
|
void |
startDocument(int properties)
Notify the start of a document node
|
void |
startElement(NodeName elemName,
SchemaType typeCode,
Location location,
int properties)
Notify the start of an element
|
boolean |
usesTypeAnnotations()
Ask whether this Receiver (or the downstream pipeline) makes any use of the type annotations
supplied on element and attribute events
|
public JsonReceiver(PipelineConfiguration pipe)
public void setPipelineConfiguration(PipelineConfiguration pipe)
Receiver
setPipelineConfiguration
in interface Receiver
pipe
- the pipeline configurationpublic PipelineConfiguration getPipelineConfiguration()
Receiver
getPipelineConfiguration
in interface Receiver
public void setSystemId(java.lang.String systemId)
Receiver
setSystemId
in interface javax.xml.transform.Result
setSystemId
in interface Receiver
systemId
- the system ID (which is used as the base URI of the nodes
if there is no xml:base attribute)public void setIndenting(boolean indenting)
public boolean isIndenting()
public void open() throws XPathException
Receiver
open
in interface Receiver
XPathException
- if an error occurspublic void startDocument(int properties) throws XPathException
Receiver
startDocument
in interface Receiver
properties
- bit-significant integer indicating properties of the document node.
The definitions of the bits are in class ReceiverOptions
XPathException
- if an error occurspublic void endDocument() throws XPathException
Receiver
endDocument
in interface Receiver
XPathException
- if an error occurspublic void setUnparsedEntity(java.lang.String name, java.lang.String systemID, java.lang.String publicID) throws XPathException
Receiver
setUnparsedEntity
in interface Receiver
name
- The name of the unparsed entitysystemID
- The system identifier of the unparsed entitypublicID
- The identifier of the unparsed entityXPathException
- if an error occurspublic void startElement(NodeName elemName, SchemaType typeCode, Location location, int properties) throws XPathException
Receiver
startElement
in interface Receiver
elemName
- the name of the element.typeCode
- the type annotation of the element.location
- an object providing information about the module, line, and column where the node originatedproperties
- bit-significant properties of the element node. If there are no revelant
properties, zero is supplied. The definitions of the bits are in class ReceiverOptions
XPathException
- if an error occurspublic void namespace(NamespaceBindingSet namespaceBindings, int properties) throws XPathException
Receiver
namespace
in interface Receiver
namespaceBindings
- contains the namespace prefix and namespace URIproperties
- The most important property is REJECT_DUPLICATES. If this property is set, the
namespace declaration will be rejected if it conflicts with a previous declaration of the same
prefix. If the property is not set, the namespace declaration will be ignored if it conflicts
with a previous declaration. This reflects the fact that when copying a tree, namespaces for child
elements are emitted before the namespaces of their parent element. Unfortunately this conflicts
with the XSLT rule for complex content construction, where the recovery action in the event of
conflicts is to take the namespace that comes last. XSLT therefore doesn't recover from this error:XPathException
- if an error occurspublic void attribute(NodeName attName, SimpleType typeCode, java.lang.CharSequence value, Location locationId, int properties) throws XPathException
Receiver
attribute
in interface Receiver
attName
- The name of the attributetypeCode
- The type annotation of the attributevalue
- the string value of the attributelocationId
- provides information such as line number and system ID.properties
- Bit significant value. The following bits are defined:
XPathException
- if an error occurspublic void startContent() throws XPathException
Receiver
startContent
in interface Receiver
XPathException
- if an error occurspublic void endElement() throws XPathException
Receiver
endElement
in interface Receiver
XPathException
- if an error occurspublic static java.lang.CharSequence escape(java.lang.CharSequence in, boolean forXml, IntPredicate hexEscapes) throws XPathException
in
- the input stringforXml
- true if the output is for the json-to-xml functinohexEscapes
- a predicate identifying characters that should be output as hex escapes using \ u XXXX notation.XPathException
public void characters(java.lang.CharSequence chars, Location locationId, int properties) throws XPathException
Receiver
characters
in interface Receiver
chars
- The characterslocationId
- provides information such as line number and system ID.properties
- Bit significant value. The following bits are defined:
XPathException
- if an error occurspublic void processingInstruction(java.lang.String name, java.lang.CharSequence data, Location locationId, int properties) throws XPathException
Receiver
processingInstruction
in interface Receiver
name
- The PI name. This must be a legal name (it will not be checked).data
- The data portion of the processing instructionlocationId
- provides information such as line number and system ID.properties
- Additional information about the PI.XPathException
- if an error occurspublic void comment(java.lang.CharSequence content, Location locationId, int properties) throws XPathException
Receiver
comment
in interface Receiver
content
- The content of the commentlocationId
- provides information such as line number and system ID.properties
- Additional information about the comment.XPathException
- if an error occurspublic void close() throws XPathException
Receiver
close
in interface Receiver
XPathException
- if an error occurspublic boolean usesTypeAnnotations()
Receiver
usesTypeAnnotations
in interface Receiver
public java.lang.String getSystemId()
getSystemId
in interface javax.xml.transform.Result
public java.lang.String getJsonString()
Copyright (c) 2004-2018 Saxonica Limited. All rights reserved.