/// <summary> /// Copy an XdmValue to an XmlDestination /// </summary> /// <remarks> /// This method can be used to copy any kind of <c>XdmValue</c> to any kind /// of <c>XdmDestination</c>. The supplied <c>XdmValue</c> is first converted /// to an XML document according to the rules of the XSLT/XQuery serialization /// specification (for example, if the <c>XdmValue</c> is a sequence of atomic /// values, they will be turned in a text node in which the values are converted /// to strings and separated by single spaces). The resulting document is then /// written to the supplied <c>XmlDestination</c>.</remarks> /// <param name="sequence">The value to be written</param> /// <param name="destination">The destination to which the value should be written</param> /// public void WriteXdmValue(XdmValue sequence, XmlDestination destination) { JResult result = destination.GetResult(); JReceiver r = config.getSerializerFactory().getReceiver(result, config.makePipelineConfiguration(), new JProperties()); r = new JNamespaceReducer(r); JTreeReceiver tree = new JTreeReceiver(r); tree.open(); tree.startDocument(0); foreach (XdmItem it in sequence) { tree.append((Item)it.Unwrap(), 0, JNodeInfo.__Fields.ALL_NAMESPACES); } tree.endDocument(); tree.close(); }
/// <summary> /// Copy an XdmValue to an XmlDestination /// </summary> /// <remarks> /// This method can be used to copy any kind of <c>XdmValue</c> to any kind /// of <c>XdmDestination</c>. The supplied <c>XdmValue</c> is first converted /// to an XML document according to the rules of the XSLT/XQuery serialization /// specification (for example, if the <c>XdmValue</c> is a sequence of atomic /// values, they will be turned in a text node in which the values are converted /// to strings and separated by single spaces). The resulting document is then /// written to the supplied <c>XmlDestination</c>.</remarks> /// <param name="sequence">The value to be written</param> /// <param name="destination">The destination to which the value should be written</param> /// public void WriteXdmValue(XdmValue sequence, XmlDestination destination) { try { JPipelineConfiguration pipe = config.makePipelineConfiguration(); JResult result = destination.GetResult(pipe); JReceiver r = config.getSerializerFactory().getReceiver(result, pipe, destination.GetOutputProperties()); r = new JNamespaceReducer(r); JTreeReceiver tree = new JTreeReceiver(r); tree.open(); tree.startDocument(0); foreach (XdmItem it in sequence) { tree.append((Item)it.Unwrap(), 0, JNodeInfo.__Fields.ALL_NAMESPACES); } tree.endDocument(); tree.close(); } catch (JXPathException err) { throw new DynamicError(err); } }