4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk//
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-b27-fcs
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk// Any modifications to this file will be lost upon recompilation of the source schema.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk// Generated on: 2012.06.11 at 10:33:54 AM PDT
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk//
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenkpackage com.sun.identity.federation.jaxb.entityconfig.impl.runtime;
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenkimport javax.xml.bind.ValidationEvent;
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenkimport org.xml.sax.SAXException;
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenkimport com.sun.xml.bind.JAXBObject;
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenkimport com.sun.xml.bind.marshaller.IdentifiableObject;
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenkimport com.sun.xml.bind.serializer.AbortSerializationException;
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk/**
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * Receives XML serialization event
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * <p>
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * This object coordinates the overall marshalling efforts across different
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * content-tree objects and different target formats.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * <p>
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * The following CFG gives the proper sequence of method invocation.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * <pre>
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * MARSHALLING := ELEMENT
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * ELEMENT := "startElement" NSDECL* "endNamespaceDecls"
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * ATTRIBUTE* "endAttributes" BODY "endElement"
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * NSDECL := "declareNamespace"
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * ATTRIBUTE := "startAttribute" ATTVALUES "endAttribute"
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * ATTVALUES := "text"*
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * BODY := ( "text" | ELEMENT )*
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * </pre>
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * <p>
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * A marshalling of one element consists of two stages. The first stage is
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * for marshalling attributes and collecting namespace declarations.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * The second stage is for marshalling characters/child elements of that element.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * <p>
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * Observe that multiple invocation of "text" is allowed.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * <p>
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * Also observe that the namespace declarations are allowed only between
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * "startElement" and "endAttributes".
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * @author Kohsuke Kawaguchi
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk */
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenkpublic interface XMLSerializer
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk{
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk /**
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * Errors detected by the XMLSerializable should be either thrown
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * as {@link SAXException} or reported through this method.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * The callee should report an error to the client application
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * and
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk */
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk void reportError( ValidationEvent e ) throws AbortSerializationException;
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk /**
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * Starts marshalling of an element.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * Calling this method will push the internal state into the
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * internal stack.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk */
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk void startElement( String uri, String local ) throws SAXException;
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk /**
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * Switches to the mode to marshal attribute values.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * This method has to be called after the 1st pass is completed.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk */
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk void endNamespaceDecls() throws SAXException;
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk /**
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * Switches to the mode to marshal child texts/elements.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * This method has to be called after the 2nd pass is completed.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk */
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk void endAttributes() throws SAXException;
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk /**
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * Ends marshalling of an element.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * Pops the internal stack.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk */
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk void endElement() throws SAXException;
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk /**
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * Marshalls text.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * <p>
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * This method can be called (i) after the startAttribute method
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * and (ii) before the endAttribute method, to marshal attribute values.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * If the method is called more than once, those texts are considered
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * as separated by whitespaces. For example,
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * <pre>
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * c.startAttribute();
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * c.text("abc");
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * c.text("def");
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * c.endAttribute("","foo");
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * </pre>
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * will generate foo="abc def".
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * <p>
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * Similarly, this method can be called after the endAttributes
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * method to marshal texts inside elements. The same rule about
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * multiple invokations apply to this case, too. For example,
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * <pre>
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * c.startElement("","foo");
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * c.endNamespaceDecls();
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * c.endAttributes();
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * c.text("abc");
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * c.text("def");
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * c.startElement("","bar");
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * c.endAttributes();
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * c.endElement();
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * c.text("ghi");
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * c.endElement();
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * </pre>
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * will generate <code>&lt;foo>abc def&lt;bar/>ghi&lt;/foo></code>.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk */
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk void text( String text, String fieldName ) throws SAXException;
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk /**
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * Starts marshalling of an attribute.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * The marshalling of an attribute will be done by
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * <ol>
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * <li>call the startAttribute method
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * <li>call the text method (several times if necessary)
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * <li>call the endAttribute method
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * </ol>
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * No two attributes can be marshalled at the same time.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * Note that the whole attribute marshalling must be happened
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * after the startElement method and before the endAttributes method.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk */
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk void startAttribute( String uri, String local ) throws SAXException;
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk void endAttribute() throws SAXException;
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk /**
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * Obtains a namespace context object, which is used to
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * declare/obtain namespace bindings.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk */
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk NamespaceContext2 getNamespaceContext();
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk /**
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * Notifies the serializer that an ID value has just marshalled.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * The serializer may or may not check the consistency of ID/IDREFs
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * and may throw a SAXException.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * @param owner
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * JAXB content object that posesses the ID.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * @param value
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * The value of the ID.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * @return
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * Return the value parameter without any modification,
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * so that the invocation of this method can be done transparently
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * by a transducer.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk */
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk String onID( IdentifiableObject owner, String value ) throws SAXException;
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk /**
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * Notifies the serializer that an IDREF value has just marshalled.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * The serializer may or may not check the consistency of ID/IDREFs
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * and may throw a SAXException.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * @return
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * Return the value parameter without any modification.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * so that the invocation of this method can be done transparently
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * by a transducer.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk */
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk String onIDREF( IdentifiableObject obj ) throws SAXException;
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk // I suppose we don't want to use SAXException. -kk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk // those method signatures are purposely made to JAXBContext, not
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk // XMLSerializable, to avoid N^2 proxy overhead.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk /**
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * This method is called when an JAXBObject object is found
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * while the marshaller is in the "element" mode (i.e. marshalling
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * a content model of an element)
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * @param fieldName
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * property name of the parent objeect from which 'o' comes.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * Used as a part of the error message in case anything goes wrong
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * with 'o'.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk */
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk void childAsBody( JAXBObject o, String fieldName ) throws SAXException;
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk /**
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * This method is called when an JAXBObject object is found
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * while the marshaller is in the "attribute" mode (i.e. marshalling
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * attributes of an element)
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * @param fieldName
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * property name of the parent objeect from which 'o' comes.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * Used as a part of the error message in case anything goes wrong
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * with 'o'.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk */
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk void childAsAttributes( JAXBObject o, String fieldName ) throws SAXException;
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk /**
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * This method is called when an JAXBObject object is found
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * while the marshaller is in the "URI" mode.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk *
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * @param fieldName
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * property name of the parent objeect from which 'o' comes.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * Used as a part of the error message in case anything goes wrong
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk * with 'o'.
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk */
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk void childAsURIs( JAXBObject o, String fieldName ) throws SAXException;
4b8d88eb610aa1e0bb6ec632f792744b3d6b5f22jeff.schenk}