<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1710464868724994296</id><updated>2012-02-03T06:54:10.978-05:00</updated><category term='XmlAdapter'/><category term='Atom'/><category term='DTD'/><category term='Marshaller'/><category term='Twitter'/><category term='JPA'/><category term='Attachment'/><category term='StAX'/><category term='CDATA'/><category term='XmlPath'/><category term='Unmarshaller.Listener'/><category term='Release'/><category term='XmlInlineBinaryData'/><category term='Multi-Tenant'/><category term='Comparison'/><category term='XmlTransient'/><category term='XmlRootElement'/><category term='MOXy'/><category term='XmlID'/><category term='XmlMimeType'/><category term='Binder'/><category term='JAX-RS'/><category term='Interface'/><category term='XmlType'/><category term='Date/Time'/><category term='JavaOne'/><category term='Unmarshaller'/><category term='XmlElementRef'/><category term='&quot;Immutable Object&quot;'/><category term='EJB'/><category term='XmlNs'/><category term='XmlAccessType'/><category term='XmlAccessorType'/><category term='JAXB'/><category term='Jettison'/><category term='JAX-WS'/><category term='XmlEnum'/><category term='XmlIDREF'/><category term='jaxb.properties'/><category term='JSON'/><category term='XmlValue'/><category term='XmlEnumValue'/><category term='Choice'/><category term='XmlVirtualAccessMethods'/><category term='Inheritance'/><category term='XmlSchema'/><category term='&quot;EclipseLink 2.3&quot;'/><category term='XmlElements'/><category term='JAXBSource'/><category term='XmlAnyElement'/><category term='TopLink'/><category term='REST'/><category term='XmlSchemaType'/><category term='UnmarshallerHandler'/><category term='Extension'/><category term='XmlList'/><category term='XmlElementWrapper'/><category term='SDO'/><category term='&quot;Collection Property&quot;'/><category term='XmlTransformation'/><category term='XmlElement'/><category term='&quot;XML Schema&quot;'/><category term='&quot;XML Infoset&quot;'/><category term='Geocode'/><category term='&quot;EclipseLink 2.4&quot;'/><category term='&quot;Bindings File&quot;'/><category term='&quot;Case Insensitivity&quot;'/><category term='Database'/><category term='EclipseLink'/><category term='&quot;Mapping File&quot;'/><category term='Validation'/><category term='Specification'/><category term='XJC'/><category term='Predicate'/><category term='JAXBElement'/><category term='XmlInverseReference'/><category term='Enum'/><category term='MetadataSource'/><category term='Namespaces'/><title type='text'>Java XML &amp; JSON Binding</title><subtitle type='html'>Object-to-XML and object-to-JSON mapping using JAXB and EclipseLink MOXy.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>77</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-8599949856087965975</id><published>2012-01-25T06:09:00.001-05:00</published><updated>2012-02-02T04:46:41.366-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Inheritance'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='XmlAdapter'/><title type='text'>JAXB and Inheritance - Using XmlAdapter</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;In previous posts I have covered how to map inheritance relationships in JAXB.  This can be done by &lt;a href="http://blog.bdoughan.com/2010/11/jaxb-and-inheritance-using-substitution.html" target=""&gt;element name&lt;/a&gt; (via @XmlElementRef), by the &lt;a href="http://blog.bdoughan.com/2010/11/jaxb-and-inheritance-using-xsitype.html"&gt;xsi:type attribute&lt;/a&gt;, or in &lt;a href="http://www.eclipse.org/eclipselink/moxy.php" target="_blank"&gt;EclipseLink MOXy&lt;/a&gt; using &lt;a href="http://blog.bdoughan.com/2010/11/jaxb-and-inheritance-moxy-extension.html"&gt;another XML attribute&lt;/a&gt; (via @XmlDescriminatorNode/@XmlDescriminatorValue).  In this post the type indicator will be an XML attribute/element unique to that type, and we will leverage an XmlAdapter to implement this behaviour.&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2012/01/jaxb-and-inhertiance-using-xmladapter.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-8599949856087965975?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/8599949856087965975/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2012/01/jaxb-and-inhertiance-using-xmladapter.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/8599949856087965975'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/8599949856087965975'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2012/01/jaxb-and-inhertiance-using-xmladapter.html' title='JAXB and Inheritance - Using XmlAdapter'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-3304284227708781637</id><published>2012-01-24T06:05:00.000-05:00</published><updated>2012-01-24T06:05:26.656-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Comparison'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><title type='text'>How Does JAXB Compare to XMLBeans?</title><content type='html'>&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;In previous posts I compared JAXB (&lt;a href="http://jcp.org/en/jsr/detail?id=222" target="_blank"&gt;JSR-222&lt;/a&gt;) to &lt;/span&gt;&lt;a href="http://blog.bdoughan.com/2010/10/how-does-jaxb-compare-to-simple.html" style="font-family: Arial,Helvetica,sans-serif;"&gt;Simple&lt;/a&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt; and &lt;/span&gt;&lt;a href="http://blog.bdoughan.com/2010/10/how-does-jaxb-compare-to-xstream.html" style="font-family: Arial,Helvetica,sans-serif;"&gt;XStream&lt;/a&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt; when starting from Java objects.  In this post I&amp;#39;ll compare JAXB to &lt;/span&gt;&lt;a href="http://xmlbeans.apache.org/" style="font-family: Arial,Helvetica,sans-serif;" target="_blank"&gt;XMLBeans&lt;/a&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt; when starting from an XML schema.   I will use XMLBeans 2.5.0 (December 2009) which is the latest release. &lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2012/01/how-does-jaxb-compare-to-xmlbeans.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-3304284227708781637?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/3304284227708781637/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2012/01/how-does-jaxb-compare-to-xmlbeans.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/3304284227708781637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/3304284227708781637'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2012/01/how-does-jaxb-compare-to-xmlbeans.html' title='How Does JAXB Compare to XMLBeans?'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-744424703543854559</id><published>2011-12-16T15:26:00.001-05:00</published><updated>2011-12-16T15:46:07.193-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JAX-WS'/><category scheme='http://www.blogger.com/atom/ns#' term='EclipseLink'/><category scheme='http://www.blogger.com/atom/ns#' term='MOXy'/><title type='text'>EclipseLink MOXy is the JAXB Provider in WebLogic Server 12c</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;I am very happy to announce that &lt;b&gt;&lt;a href="http://www.eclipse.org/eclipselink/moxy.php" target="_blank"&gt;EclipseLink JAXB (MOXy)&lt;/a&gt;&lt;/b&gt; is now the default JAXB (&lt;a href="http://jcp.org/en/jsr/detail?id=222" target="_blank"&gt;JSR-222&lt;/a&gt;) provider in&lt;b&gt; &lt;a href="http://www.oracle.com/technetwork/middleware/weblogic/overview/index.html" target="_blank"&gt;WebLogic Server 12c&lt;/a&gt;&lt;/b&gt;.  I would like to thank the EclipseLink committers and the WebLogic team for all their hard work to make this happen.&lt;br&gt;&lt;br&gt;In this post I will introduce how MOXy can be leveraged to create a JAX-WS service.  In future posts I will cover more of the extensions in greater detail.&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br&gt;&lt;/div&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;WebLogic Server 12c can be downloaded from OTN at the following link:&lt;/span&gt;&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.oracle.com/technetwork/middleware/weblogic/downloads/index.html"&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;http://www.oracle.com/technetwork/middleware/weblogic/downloads/index.html&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2011/12/eclipselink-moxy-is-jaxb-provider-in.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-744424703543854559?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/744424703543854559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/12/eclipselink-moxy-is-jaxb-provider-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/744424703543854559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/744424703543854559'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/12/eclipselink-moxy-is-jaxb-provider-in.html' title='EclipseLink MOXy is the JAXB Provider in WebLogic Server 12c'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-8752917730589796108</id><published>2011-12-05T09:58:00.000-05:00</published><updated>2011-12-05T09:58:14.897-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='&quot;Bindings File&quot;'/><category scheme='http://www.blogger.com/atom/ns#' term='XJC'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='&quot;XML Schema&quot;'/><title type='text'>Reusing Generated JAXB Classes</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;In this post I will demonstrate how to leverage the -&lt;a href="http://weblogs.java.net/blog/kohsuke/archive/2006/09/separate_compil.html" target="_blank"&gt;episode XJC extension&lt;/a&gt; to reuse classes previously generated from.an XML schema.  This is useful when an XML schema is imported by other XML schemas and you do not want the same classes generated each time.&lt;br&gt;&lt;br&gt;&lt;/div&gt;&lt;a href="http://blog.bdoughan.com/2011/12/reusing-generated-jaxb-classes.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-8752917730589796108?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/8752917730589796108/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/12/reusing-generated-jaxb-classes.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/8752917730589796108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/8752917730589796108'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/12/reusing-generated-jaxb-classes.html' title='Reusing Generated JAXB Classes'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-8392077067165297393</id><published>2011-11-30T16:37:00.001-05:00</published><updated>2011-11-30T16:50:45.822-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XmlSchema'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='Extension'/><category scheme='http://www.blogger.com/atom/ns#' term='EclipseLink'/><category scheme='http://www.blogger.com/atom/ns#' term='Namespaces'/><category scheme='http://www.blogger.com/atom/ns#' term='XmlNs'/><category scheme='http://www.blogger.com/atom/ns#' term='MOXy'/><title type='text'>JAXB and Namespace Prefixes</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;In a &lt;a href="http://blog.bdoughan.com/2010/08/jaxb-namespaces.html"&gt;previous post&lt;/a&gt; I covered how to use namespace qualification with JAXB.  In this post I will cover how to control the prefixes that are used.  This is not covered in the JAXB (&lt;a href="http://jcp.org/en/jsr/detail?id=222"&gt;JSR-222&lt;/a&gt;) specification but I will demonstrate the extensions available in both the reference and&lt;a href="http://www.eclipse.org/eclipselink/moxy.php"&gt; EclipseLink MOXy&lt;/a&gt; implementations for handling this use case.&lt;b&gt;&lt;span style="font-size: large;"&gt;&lt;br&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;br&gt;&lt;/div&gt;&lt;a href="http://blog.bdoughan.com/2011/11/jaxb-and-namespace-prefixes.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-8392077067165297393?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/8392077067165297393/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/11/jaxb-and-namespace-prefixes.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/8392077067165297393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/8392077067165297393'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/11/jaxb-and-namespace-prefixes.html' title='JAXB and Namespace Prefixes'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-8939508253994580318</id><published>2011-10-12T15:30:00.000-04:00</published><updated>2011-10-12T15:30:50.231-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XJC'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='&quot;XML Schema&quot;'/><title type='text'>JAXB (XJC) Imported Schemas and XML Catalogs</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;/span&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: small;"&gt;XML &lt;/span&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif; font-size: small;"&gt;schema has a power mechanism called &amp;quot;import&amp;quot;.  Import allows one XML schema to reference elements and types from another XML schema.  This means you could define types to represent commonly used information once and import these types into other XML schemas. Like any powerful tool, the import mechanism also has the ability to inflict pain.  In this post I&amp;#39;ll demonstrate how to leverage an XML catalog to eliminate the pain when using JAXB&amp;#39;s XJC tool to generate classes from an XML schema with imports.&lt;/span&gt;&lt;/div&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2011/10/jaxb-xjc-imported-schemas-and-xml.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-8939508253994580318?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/8939508253994580318/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/10/jaxb-xjc-imported-schemas-and-xml.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/8939508253994580318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/8939508253994580318'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/10/jaxb-xjc-imported-schemas-and-xml.html' title='JAXB (XJC) Imported Schemas and XML Catalogs'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-1259969700344991821</id><published>2011-09-30T12:37:00.002-04:00</published><updated>2011-09-30T12:58:21.726-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Marshaller'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='Unmarshaller'/><category scheme='http://www.blogger.com/atom/ns#' term='XmlAdapter'/><title type='text'>Mixing Nesting and References with JAXB's XmlAdapter</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;Recently I came across &lt;a href="http://stackoverflow.com/questions/7587095/can-jaxb-marshal-by-containment-at-first-then-marshal-by-xmlidref-for-subsequent"&gt;a question on Stack Overflow&lt;/a&gt; asking if JAXB could marshal the first occurrence of an object as containment and all subsequent occurrences as a reference.  Below is an expanded version of &lt;a href="http://stackoverflow.com/questions/7587095/can-jaxb-marshal-by-containment-at-first-then-marshal-by-xmlidref-for-subsequent/7587727#7587727"&gt;my answer&lt;/a&gt; (up votes appreciated) demonstrating how this can be achieved by leveraging JAXB&amp;#39;s XmlAdapter.&lt;/div&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2011/09/mixing-nesting-and-references-with.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-1259969700344991821?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/1259969700344991821/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/09/mixing-nesting-and-references-with.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/1259969700344991821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/1259969700344991821'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/09/mixing-nesting-and-references-with.html' title='Mixing Nesting and References with JAXB&apos;s XmlAdapter'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-302282992262449962</id><published>2011-09-08T15:17:00.002-04:00</published><updated>2011-09-20T13:21:24.637-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='&quot;Mapping File&quot;'/><category scheme='http://www.blogger.com/atom/ns#' term='Extension'/><category scheme='http://www.blogger.com/atom/ns#' term='EclipseLink'/><category scheme='http://www.blogger.com/atom/ns#' term='XmlPath'/><category scheme='http://www.blogger.com/atom/ns#' term='MOXy'/><title type='text'>Mapping Objects to Multiple XML Schemas - Weather Example</title><content type='html'>&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;I have written previous posts on &lt;a href="http://www.eclipse.org/eclipselink/moxy.php"&gt;EclipseLink JAXB (MOXy)&lt;/a&gt;&amp;#39;s &lt;/span&gt;&lt;a href="http://blog.bdoughan.com/2010/09/xpath-based-mapping-geocode-example.html" style="font-family: Arial,Helvetica,sans-serif;"&gt;@XmlPath&lt;/a&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt; and &lt;/span&gt;&lt;a href="http://blog.bdoughan.com/2010/12/extending-jaxb-representing-annotations.html" style="font-family: Arial,Helvetica,sans-serif;"&gt;external binding file&lt;/a&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt; extensions.  In this post I will demonstrate how powerful these extensions are by mapping a single object model to two different XML schemas.  To make the example more &amp;quot;real&amp;quot;, the XML data will come from two different services that provide weather information:  Google and Yahoo.&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2011/09/mapping-objects-to-multiple-xml-schemas.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-302282992262449962?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/302282992262449962/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/09/mapping-objects-to-multiple-xml-schemas.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/302282992262449962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/302282992262449962'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/09/mapping-objects-to-multiple-xml-schemas.html' title='Mapping Objects to Multiple XML Schemas - Weather Example'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-8879085747949994663</id><published>2011-08-25T16:10:00.001-04:00</published><updated>2011-09-20T13:23:23.597-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='&quot;Bindings File&quot;'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='XmlAdapter'/><title type='text'>XML Schema to Java - Generating XmlAdapters</title><content type='html'>&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;In previous posts I have demonstrated how powerful JAXB&amp;#39;s XmlAdapter can be when starting from domain objects.  In this example I will demonstrate how to leverage an XmlAdapter when generating an object model from an XML schema.  This post was inspired by an &lt;/span&gt;&lt;a href="http://stackoverflow.com/questions/7182533/using-jaxb-generated-class-for-an-element-that-requires-an-integer-with-a-pattern/7194004#7194004" style="font-family: Arial,Helvetica,sans-serif;"&gt;answer I gave to a question on Stack Overflow&lt;/a&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt; (feel free to up vote).&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2011/08/xml-schema-to-java-generating.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-8879085747949994663?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/8879085747949994663/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/08/xml-schema-to-java-generating.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/8879085747949994663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/8879085747949994663'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/08/xml-schema-to-java-generating.html' title='XML Schema to Java - Generating XmlAdapters'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-8219692625332767709</id><published>2011-08-24T16:28:00.001-04:00</published><updated>2011-09-20T13:24:56.436-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='&quot;Bindings File&quot;'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='Enum'/><category scheme='http://www.blogger.com/atom/ns#' term='XmlEnumValue'/><category scheme='http://www.blogger.com/atom/ns#' term='XmlEnum'/><title type='text'>JAXB and Enums</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;Today I &lt;a href="http://stackoverflow.com/questions/7175363/jaxb-enumeration-with-numeric-values/7175896#7175896"&gt;answered a question on Stack Overflow&lt;/a&gt; (feel free to up vote) about JAXB and generating Java enums from an XML Schema.  This is normally straight forward, but there are a couple &amp;quot;gotchas&amp;quot; to be aware of.  In this post I&amp;#39;ll demonstrate an easy and a harder use case.&lt;/div&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2011/08/jaxb-and-enums.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-8219692625332767709?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/8219692625332767709/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/08/jaxb-and-enums.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/8219692625332767709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/8219692625332767709'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/08/jaxb-and-enums.html' title='JAXB and Enums'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-4488710393094676537</id><published>2011-08-23T13:12:00.001-04:00</published><updated>2011-09-20T13:25:35.445-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Marshaller'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='Unmarshaller'/><title type='text'>JAXB and Java IO (Files, Streams, Readers, and Writers)</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;JAXB supports many different XML sources and targets.  In this post I&amp;#39;ll give an overview of how JAXB can be used with those found in the&lt;i&gt; java.io&lt;/i&gt; package: &lt;i&gt;File&lt;/i&gt;,&lt;i&gt; InputStream&lt;/i&gt;, &lt;i&gt;OutputStream&lt;/i&gt;, &lt;i&gt;Reader&lt;/i&gt;, &lt;i&gt;Writer&lt;/i&gt; and their subclasses.&lt;/div&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2011/08/jaxb-and-java-io-files-streams-readers.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-4488710393094676537?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/4488710393094676537/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/08/jaxb-and-java-io-files-streams-readers.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/4488710393094676537'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/4488710393094676537'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/08/jaxb-and-java-io-files-streams-readers.html' title='JAXB and Java IO (Files, Streams, Readers, and Writers)'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-9010538446210200865</id><published>2011-08-19T09:12:00.003-04:00</published><updated>2011-09-30T13:21:38.344-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JSON'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='Geocode'/><category scheme='http://www.blogger.com/atom/ns#' term='&quot;EclipseLink 2.4&quot;'/><category scheme='http://www.blogger.com/atom/ns#' term='Extension'/><category scheme='http://www.blogger.com/atom/ns#' term='EclipseLink'/><category scheme='http://www.blogger.com/atom/ns#' term='XmlPath'/><category scheme='http://www.blogger.com/atom/ns#' term='MOXy'/><title type='text'>Binding to JSON &amp; XML - Geocode Example</title><content type='html'>&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;In a &lt;/span&gt;&lt;a href="http://blog.bdoughan.com/2011/08/json-binding-with-eclipselink-moxy.html" style="font-family: Arial,Helvetica,sans-serif;"&gt;previous post&lt;/a&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt; I introduced the JSON binding that will be part of the &lt;a href="http://www.eclipse.org/eclipselink/moxy.php"&gt;MOXy&lt;/a&gt; component in &lt;a href="http://www.eclipse.org/eclipselink/"&gt;EclipseLink&lt;/a&gt; 2.4.  In that post I explained how the same metadata that is used for XML binding can be directly applied to JSON binding.  In this post I will demonstrate how powerful this is, by mapping one object model to both XML and JSON using the same set of metadata.  &lt;/span&gt;&lt;a href="http://code.google.com/apis/maps/documentation/geocoding/v2/" style="font-family: Arial,Helvetica,sans-serif;"&gt;Google Maps Geocoding API V2&lt;/a&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt; will be used to provide the XML and JSON inputs for this example.&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;You can try this out now using a nightly download available from:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.eclipse.org/eclipselink/downloads/nightly.php" style="font-family: Arial,Helvetica,sans-serif;"&gt;http://www.eclipse.org/eclipselink/downloads/nightly.php&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2011/08/binding-to-json-xml-geocode-example.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-9010538446210200865?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/9010538446210200865/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/08/binding-to-json-xml-geocode-example.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/9010538446210200865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/9010538446210200865'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/08/binding-to-json-xml-geocode-example.html' title='Binding to JSON &amp; XML - Geocode Example'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-1369724691314228417</id><published>2011-08-16T14:58:00.002-04:00</published><updated>2011-09-20T13:27:29.075-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='StAX'/><category scheme='http://www.blogger.com/atom/ns#' term='Unmarshaller.Listener'/><title type='text'>Using an Unmarshaller.Listener to Capture the Location</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;Recently I came across a &lt;a href="http://stackoverflow.com/questions/7079796/jaxb-location-in-file-for-unmarshalled-objects/7081390"&gt;question on Stack Overflow&lt;/a&gt; asking how find where in the document an object was unmarshalled from.  In this post I&amp;#39;ll expand on my answer of using an &lt;i&gt;XMLStreamReader&lt;/i&gt; and &lt;i&gt;Unmarshaller.Listener&lt;/i&gt; to accomplish this.&lt;/div&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2011/08/using-unmarshallerlistener-to-capture.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-1369724691314228417?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/1369724691314228417/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/08/using-unmarshallerlistener-to-capture.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/1369724691314228417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/1369724691314228417'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/08/using-unmarshallerlistener-to-capture.html' title='Using an Unmarshaller.Listener to Capture the Location'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-5091463720213947982</id><published>2011-08-15T13:49:00.004-04:00</published><updated>2011-09-30T13:14:21.012-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JSON'/><category scheme='http://www.blogger.com/atom/ns#' term='&quot;EclipseLink 2.4&quot;'/><category scheme='http://www.blogger.com/atom/ns#' term='Extension'/><category scheme='http://www.blogger.com/atom/ns#' term='EclipseLink'/><category scheme='http://www.blogger.com/atom/ns#' term='MOXy'/><category scheme='http://www.blogger.com/atom/ns#' term='Twitter'/><category scheme='http://www.blogger.com/atom/ns#' term='XmlAdapter'/><title type='text'>JSON Binding with EclipseLink MOXy - Twitter Example</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;In a &lt;a href="http://blog.bdoughan.com/2011/04/jaxb-and-json-via-jettison.html"&gt;previous post&lt;/a&gt; I described how the &lt;a href="http://jettison.codehaus.org/"&gt;Jettison&lt;/a&gt; library could be used with any JAXB implementation (Metro, MOXy, JaxMe, etc) to produce/consume JSON.  Now I&amp;#39;m happy to give you a sneak peak at the &lt;b&gt;native object-to-JSON binding&lt;/b&gt; &lt;a href="http://www.eclipse.org/eclipselink/moxy.php"&gt;MOXy JAXB&lt;/a&gt; will be offering in &lt;a href="http://www.eclipse.org/eclipselink/"&gt;EclipseLink&lt;/a&gt; 2.4.  With MOXy as your JAXB provider you can produce/consume JSON using the standard JAXB APIs (available in Java SE 6) without adding any compile time dependencies.&lt;br&gt;&lt;br&gt;You can try this out now using a nightly download available from:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.eclipse.org/eclipselink/downloads/nightly.php" style="font-family: Arial,Helvetica,sans-serif;"&gt;http://www.eclipse.org/eclipselink/downloads/nightly.php&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2011/08/json-binding-with-eclipselink-moxy.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-5091463720213947982?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/5091463720213947982/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/08/json-binding-with-eclipselink-moxy.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/5091463720213947982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/5091463720213947982'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/08/json-binding-with-eclipselink-moxy.html' title='JSON Binding with EclipseLink MOXy - Twitter Example'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-1944560299141823198</id><published>2011-07-29T11:10:00.001-04:00</published><updated>2011-09-20T13:29:55.672-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='&quot;Bindings File&quot;'/><category scheme='http://www.blogger.com/atom/ns#' term='XJC'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><title type='text'>JAXB (XJC) and Nested Classes</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;Recently I came across a complaint on Twitter about how JAXB (XJC) generates deeply nested class structures from XML schemas.  In this post I want to first explain why JAXB does this, and second how to easily configure JAXB not to do this.&lt;/div&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2011/07/jaxb-xjc-and-nested-classes.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-1944560299141823198?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/1944560299141823198/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/07/jaxb-xjc-and-nested-classes.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/1944560299141823198'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/1944560299141823198'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/07/jaxb-xjc-and-nested-classes.html' title='JAXB (XJC) and Nested Classes'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-2296571833929979937</id><published>2011-06-30T12:14:00.001-04:00</published><updated>2011-09-20T13:31:09.333-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XmlValue'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><title type='text'>JAXB and Complex Types with Simple Content</title><content type='html'>&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;A common question that appears on the forums is something like: &lt;i&gt;&amp;quot;How do I map an object to an XML element with attributes and text in JAXB?&amp;quot;&lt;/i&gt;.  The answer is to use JAXB&amp;#39;s &lt;a href="http://download.oracle.com/javase/6/docs/api/javax/xml/bind/annotation/XmlValue.html"&gt;&lt;i&gt;@XmlValue&lt;/i&gt;&lt;/a&gt; annotation.  In this post I&amp;#39;ll demonstrate how this annotation can be leveraged.&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;Related &lt;a href="http://stackoverflow.com/"&gt;Stack Overflow&lt;/a&gt; Questions:&lt;/span&gt;&lt;br&gt;&lt;ul&gt;&lt;li style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;a href="http://stackoverflow.com/questions/4326535/how-can-i-add-an-attribute-to-a-text-element-in-jaxb"&gt;How can I add an attribute to a text element in JAXB?&lt;/a&gt;&lt;/li&gt;&lt;li style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;a href="http://stackoverflow.com/questions/6355740/how-to-parse-foo-value1-a-value2-bvalue3-foo-with-jaxb"&gt;How to parse &amp;lt;foo value1=“a” value2=“b”&amp;gt;value3&amp;lt;/foo&amp;gt; with JAXB?&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://stackoverflow.com/questions/5514752/xml-element-with-attribute-and-content-using-jaxb/5515787" style="font-family: Arial,Helvetica,sans-serif;"&gt;XML element with attribute and content using JAXB&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2011/06/jaxb-and-complex-types-with-simple.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-2296571833929979937?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/2296571833929979937/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/06/jaxb-and-complex-types-with-simple.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/2296571833929979937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/2296571833929979937'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/06/jaxb-and-complex-types-with-simple.html' title='JAXB and Complex Types with Simple Content'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-5687150565560389556</id><published>2011-06-27T16:25:00.001-04:00</published><updated>2011-09-20T13:31:46.538-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XmlType'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><title type='text'>JAXB and Factory Methods</title><content type='html'>&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;Everyone knows that by default JAXB uses the no-argument constructor when instantiating objects.  Readers of this blog are also familiar with using XmlAdapters to build objects.  In this post I&amp;#39;ll cover how the use of factory classes and methods can be configured through the @XmlType annotation.&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2011/06/jaxb-and-factory-methods.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-5687150565560389556?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/5687150565560389556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/06/jaxb-and-factory-methods.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/5687150565560389556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/5687150565560389556'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/06/jaxb-and-factory-methods.html' title='JAXB and Factory Methods'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-3458261149500522976</id><published>2011-06-24T13:48:00.001-04:00</published><updated>2011-09-20T14:15:42.354-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='XmlAccessType'/><category scheme='http://www.blogger.com/atom/ns#' term='XmlAccessorType'/><category scheme='http://www.blogger.com/atom/ns#' term='JPA'/><title type='text'>Using JAXB's @XmlAccessorType to Configure Field or Property Access</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;JAXB offers a lot of flexibility when interacting with your object model.  One area is configuring the use of fields or properties to access the data in your domain objects.  This is specified as an &lt;i&gt;XmlAccessType&lt;/i&gt; (PUBLIC_MEMBER, PROPERTY, FIELD, or NONE) via the &lt;i&gt;@XmlAccessorType&lt;/i&gt; annotation.  In this post we&amp;#39;ll examine what these options really mean.&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br&gt;&lt;/div&gt;&lt;a href="http://blog.bdoughan.com/2011/06/using-jaxbs-xmlaccessortype-to.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-3458261149500522976?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/3458261149500522976/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/06/using-jaxbs-xmlaccessortype-to.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/3458261149500522976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/3458261149500522976'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/06/using-jaxbs-xmlaccessortype-to.html' title='Using JAXB&apos;s @XmlAccessorType to Configure Field or Property Access'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-722664294164942834</id><published>2011-06-22T09:25:00.001-04:00</published><updated>2011-09-20T14:14:49.975-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EclipseLink'/><category scheme='http://www.blogger.com/atom/ns#' term='MOXy'/><category scheme='http://www.blogger.com/atom/ns#' term='Release'/><category scheme='http://www.blogger.com/atom/ns#' term='&quot;EclipseLink 2.3&quot;'/><title type='text'>EclipseLink 2.3 Release Available for Download</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;On behalf of the &lt;a href="http://www.eclipse.org/eclipselink/moxy.php"&gt;MOXy JAXB&lt;/a&gt; committers (great job by all), I am very proud to announce that &lt;a href="http://www.eclipse.org/eclipselink/releases/2.3.0.php"&gt;EclipseLink 2.3&lt;/a&gt; has been released and is available for download.  In this post I will summarize what is new in the MOXy component:&lt;/div&gt;&lt;ul style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;li&gt;&lt;a href="http://www.eclipse.org/eclipselink/releases/2.3.0.php"&gt;http://www.eclipse.org/eclipselink/releases/2.3.0.php&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.eclipse.org/eclipselink/downloads/"&gt;http://www.eclipse.org/eclipselink/downloads/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a href="http://blog.bdoughan.com/2011/06/eclipselink-23-release-available-for.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-722664294164942834?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/722664294164942834/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/06/eclipselink-23-release-available-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/722664294164942834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/722664294164942834'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/06/eclipselink-23-release-available-for.html' title='EclipseLink 2.3 Release Available for Download'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-6914298425728304898</id><published>2011-06-21T12:15:00.002-04:00</published><updated>2011-09-20T14:16:14.552-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XmlVirtualAccessMethods'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='&quot;Mapping File&quot;'/><category scheme='http://www.blogger.com/atom/ns#' term='Extension'/><category scheme='http://www.blogger.com/atom/ns#' term='EclipseLink'/><category scheme='http://www.blogger.com/atom/ns#' term='MOXy'/><category scheme='http://www.blogger.com/atom/ns#' term='&quot;EclipseLink 2.3&quot;'/><title type='text'>MOXy Extensible Models - Multiple Versions</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;Recently I have discussed support for &lt;a href="http://bdoughan.blogspot.com/2011/06/extensible-models-with-eclipselink-jaxb.html"&gt;extensible models&lt;/a&gt; in&lt;a href="http://www.eclipse.org/eclipselink/moxy.php"&gt; EclipseLink JAXB (MOXy)&lt;/a&gt; 2.3.  The metadata for the extensions is supplied via MOXy&amp;#39;s mapping document.  In this post I will demonstrate how to leverage MOXy&amp;#39;s support for multiple mapping documents to keep your metadata organized.&lt;br&gt;&lt;br&gt;&lt;/div&gt;&lt;a href="http://blog.bdoughan.com/2011/06/moxy-extensible-models-multiple.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-6914298425728304898?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/6914298425728304898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/06/moxy-extensible-models-multiple.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/6914298425728304898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/6914298425728304898'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/06/moxy-extensible-models-multiple.html' title='MOXy Extensible Models - Multiple Versions'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-5081592757493214033</id><published>2011-06-14T16:25:00.002-04:00</published><updated>2011-09-20T14:18:02.850-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XmlVirtualAccessMethods'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='MetadataSource'/><category scheme='http://www.blogger.com/atom/ns#' term='Extension'/><category scheme='http://www.blogger.com/atom/ns#' term='EclipseLink'/><category scheme='http://www.blogger.com/atom/ns#' term='MOXy'/><category scheme='http://www.blogger.com/atom/ns#' term='&quot;EclipseLink 2.3&quot;'/><title type='text'>MOXy Extensible Models - Refresh Example</title><content type='html'>&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;In this example we will leverage &lt;a href="http://www.eclipse.org/eclipselink/moxy.php"&gt;EclipseLink JAXB (MOXy)&lt;/a&gt;&amp;#39;s concepts of &lt;/span&gt;&lt;a href="http://bdoughan.blogspot.com/2010/12/extending-jaxb-representing-annotations.html" style="font-family: Arial,Helvetica,sans-serif;"&gt;externalized metadata&lt;/a&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt; (represented as a &lt;/span&gt;&lt;a href="http://bdoughan.blogspot.com/2011/06/using-eclipselink-moxy-with-metadata.html" style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;i&gt;MetadataSource&lt;/i&gt;&lt;/a&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;), and &lt;/span&gt;&lt;a href="http://bdoughan.blogspot.com/2011/06/extensible-models-with-eclipselink-jaxb.html" style="font-family: Arial,Helvetica,sans-serif;"&gt;extensible models&lt;/a&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;.  The &lt;i&gt;MetadataSource&lt;/i&gt;  will be used to define the metadata for the extensions.  In EclipseLink  2.3 we have introduced the ability for a JAXBContext to be  &amp;quot;refreshed&amp;quot;.  This means that without stopping the application we can  supply metadata about new extensions.&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2011/06/moxy-extensible-models-refresh-example.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-5081592757493214033?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/5081592757493214033/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/06/moxy-extensible-models-refresh-example.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/5081592757493214033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/5081592757493214033'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/06/moxy-extensible-models-refresh-example.html' title='MOXy Extensible Models - Refresh Example'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-2390031785725553208</id><published>2011-06-03T16:29:00.001-04:00</published><updated>2011-09-20T14:18:31.397-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='&quot;Mapping File&quot;'/><category scheme='http://www.blogger.com/atom/ns#' term='Extension'/><category scheme='http://www.blogger.com/atom/ns#' term='EclipseLink'/><category scheme='http://www.blogger.com/atom/ns#' term='MOXy'/><category scheme='http://www.blogger.com/atom/ns#' term='&quot;EclipseLink 2.3&quot;'/><title type='text'>Using EclipseLink MOXy with a Metadata Repository</title><content type='html'>&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;EclipseLink JAXB (MOXy) provides an &lt;/span&gt;&lt;a href="http://bdoughan.blogspot.com/2010/12/extending-jaxb-representing-annotations.html" style="font-family: Arial,Helvetica,sans-serif;"&gt;XML mapping document&lt;/a&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt; as an alternative to using annotations.  This mapping document can be provided in many different forms:  resource path, URL, File, Source, etc.  If however you store your metadata in some sort of repository this flexibility might not be enough.  This is why in EclipseLink 2.3 we have introduced a new mechanism to support this use case.&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2011/06/using-eclipselink-moxy-with-metadata.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-2390031785725553208?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/2390031785725553208/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/06/using-eclipselink-moxy-with-metadata.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/2390031785725553208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/2390031785725553208'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/06/using-eclipselink-moxy-with-metadata.html' title='Using EclipseLink MOXy with a Metadata Repository'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-3281398237360959194</id><published>2011-06-02T13:56:00.004-04:00</published><updated>2011-09-20T14:18:47.881-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Multi-Tenant'/><category scheme='http://www.blogger.com/atom/ns#' term='XmlVirtualAccessMethods'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='&quot;Mapping File&quot;'/><category scheme='http://www.blogger.com/atom/ns#' term='Extension'/><category scheme='http://www.blogger.com/atom/ns#' term='EclipseLink'/><category scheme='http://www.blogger.com/atom/ns#' term='MOXy'/><category scheme='http://www.blogger.com/atom/ns#' term='&quot;EclipseLink 2.3&quot;'/><title type='text'>MOXy Extensible Models - Multi-Tenant Example</title><content type='html'>&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;In a &lt;a href="http://en.wikipedia.org/wiki/Multitenancy"&gt;multi-tenant architecture&lt;/a&gt; a single application runs on a server, serving multiple client organizations (tenants).  Good multi-tenant applications allow per-tenant customizations.  When these customizations are made to data, it can be difficult for the binding layer to handle them.  In this post I&amp;#39;ll demonstrate how to leverage &lt;a href="http://www.eclipse.org/eclipselink/moxy.php"&gt;EclipseLink JAXB (MOXy)&lt;/a&gt;&amp;#39;s support for &lt;a href="http://bdoughan.blogspot.com/2011/06/extensible-models-with-eclipselink-jaxb.html"&gt;extensible models&lt;/a&gt; to easily handle this use case.&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2011/06/moxy-extensible-models-multi-tenant.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-3281398237360959194?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/3281398237360959194/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/06/moxy-extensible-models-multi-tenant.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/3281398237360959194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/3281398237360959194'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/06/moxy-extensible-models-multi-tenant.html' title='MOXy Extensible Models - Multi-Tenant Example'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-3188351269330403134</id><published>2011-06-01T16:40:00.004-04:00</published><updated>2011-09-20T14:20:02.224-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XmlVirtualAccessMethods'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='&quot;Mapping File&quot;'/><category scheme='http://www.blogger.com/atom/ns#' term='Extension'/><category scheme='http://www.blogger.com/atom/ns#' term='EclipseLink'/><category scheme='http://www.blogger.com/atom/ns#' term='MOXy'/><category scheme='http://www.blogger.com/atom/ns#' term='&quot;EclipseLink 2.3&quot;'/><title type='text'>Extensible Models with EclipseLink JAXB (MOXy)</title><content type='html'>&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;JAXB is designed to work with domain models that have real fields/properties.  In EclipseLink 2.3, MOXy introduces the concept of virtual properties.  Virtual properties are defined by the MOXy metadata file, and provide a way to extend a class without modifying the source.  In this post I&amp;#39;ll describe what virtual properties are, and in upcoming posts I&amp;#39;ll cover how they can be leveraged:&lt;/span&gt;&lt;br&gt;&lt;ul style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;li&gt; &lt;a class="GECMVTWBP" href="http://bdoughan.blogspot.com/2011/06/moxy-extensible-models-multi-tenant.html"&gt;MOXy Extensible Models - Multi-Tenant Example&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;b&gt;&lt;span style="font-size: large;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;br&gt;&lt;/div&gt;&lt;a href="http://blog.bdoughan.com/2011/06/extensible-models-with-eclipselink-jaxb.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-3188351269330403134?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/3188351269330403134/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/06/extensible-models-with-eclipselink-jaxb.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/3188351269330403134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/3188351269330403134'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/06/extensible-models-with-eclipselink-jaxb.html' title='Extensible Models with EclipseLink JAXB (MOXy)'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-3117065063785042753</id><published>2011-06-01T11:42:00.001-04:00</published><updated>2011-09-20T14:20:41.050-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Inheritance'/><category scheme='http://www.blogger.com/atom/ns#' term='XmlTransient'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><title type='text'>Ignoring Inheritance with @XmlTransient</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;In &lt;a href="http://bdoughan.blogspot.com/search/label/Inheritance"&gt;previous articles&lt;/a&gt; I have covered how to map inheritance relationships in JAXB and &lt;a href="http://www.eclipse.org/eclipselink/moxy.php"&gt;EclipseLink MOXy&lt;/a&gt;.  In this example I will describe how to remove an inheritance relationship in JAXB by leveraging &lt;a href="http://download.oracle.com/javase/6/docs/api/javax/xml/bind/annotation/XmlTransient.html"&gt;&lt;i&gt;@XmlTransient&lt;/i&gt;&lt;/a&gt; at the type level.&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;/div&gt;&lt;a href="http://blog.bdoughan.com/2011/06/ignoring-inheritance-with-xmltransient.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-3117065063785042753?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/3117065063785042753/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/06/ignoring-inheritance-with-xmltransient.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/3117065063785042753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/3117065063785042753'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/06/ignoring-inheritance-with-xmltransient.html' title='Ignoring Inheritance with @XmlTransient'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-1771901378629642267</id><published>2011-05-30T14:17:00.002-04:00</published><updated>2011-09-20T14:19:30.776-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Date/Time'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='XmlAdapter'/><title type='text'>JAXB and Joda-Time: Dates and Times</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;&lt;a href="http://joda-time.sourceforge.net/"&gt;Joda-Time&lt;/a&gt; provides an alternative to the Date and Calendar classes currently provided in Java SE.  Since they are provided in a separate library JAXB does not provide a default mapping for these classes.  We can supply the necessary mapping via XmlAdapters.  In this post we will cover the following Joda-Time types:&lt;/span&gt;&lt;a href="http://joda-time.sourceforge.net/api-release/org/joda/time/DateTime.html"&gt;&lt;span style="font-size: small;"&gt;  DateTime&lt;/span&gt;&lt;/a&gt;&lt;a href="http://joda-time.sourceforge.net/api-release/org/joda/time/DateMidnight.html"&gt;&lt;span style="font-size: small;"&gt;, DateMidnight,&lt;/span&gt;&lt;/a&gt;&lt;a href="http://joda-time.sourceforge.net/api-release/org/joda/time/LocalDate.html"&gt;&lt;span style="font-size: small;"&gt; LocalDate,&lt;/span&gt;&lt;/a&gt;&lt;a href="http://joda-time.sourceforge.net/api-release/org/joda/time/LocalTime.html"&gt;&lt;span style="font-size: small;"&gt; LocalTime&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: small;"&gt;,&lt;/span&gt;&lt;span style="font-size: large;"&gt;&lt;a href="http://joda-time.sourceforge.net/api-release/org/joda/time/LocalDateTime.html"&gt;&lt;span style="font-size: small;"&gt; LocalDateTime.&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;/div&gt;&lt;a href="http://blog.bdoughan.com/2011/05/jaxb-and-joda-time-dates-and-times.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-1771901378629642267?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/1771901378629642267/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/05/jaxb-and-joda-time-dates-and-times.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/1771901378629642267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/1771901378629642267'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/05/jaxb-and-joda-time-dates-and-times.html' title='JAXB and Joda-Time: Dates and Times'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-6832151911523542781</id><published>2011-05-27T16:26:00.004-04:00</published><updated>2011-09-20T14:21:19.056-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Extension'/><category scheme='http://www.blogger.com/atom/ns#' term='EclipseLink'/><category scheme='http://www.blogger.com/atom/ns#' term='MOXy'/><category scheme='http://www.blogger.com/atom/ns#' term='&quot;EclipseLink 2.3&quot;'/><title type='text'>Overriding JAXB's "Name Mangling" Algorithm with EclipseLink MOXy</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;JAXB has well established rules for converting Java names to XML names.  If you want to override the default name you can always do so through the use of annotations.  Where this can become burdensome is if your names follow common rules (such as make everything upper case).  In the upcoming EclipseLink 2.3 release we have added a new MOXy JAXB feature that allows you to override the default naming algorithm.   You can try this out today using a nightly download:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.eclipse.org/eclipselink/downloads/nightly.php"&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;http://www.eclipse.org/eclipselink/downloads/nightly.php&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2011/05/overriding-jaxbs-name-mangling.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-6832151911523542781?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/6832151911523542781/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/05/overriding-jaxbs-name-mangling.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/6832151911523542781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/6832151911523542781'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/05/overriding-jaxbs-name-mangling.html' title='Overriding JAXB&apos;s &quot;Name Mangling&quot; Algorithm with EclipseLink MOXy'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-4527362093516888372</id><published>2011-05-24T17:02:00.002-04:00</published><updated>2011-09-20T14:22:05.467-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DTD'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='UnmarshallerHandler'/><title type='text'>JAXB and DTD - Apache log4j Example</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;There is a common misconception that JAXB requires an XML Schema.  This is understandable since JAXB offers the ability to derive Java classes from an XML schema, and generate XML schemas from annotated Java classes.  In reality the JAXB annotations are used to map XML to objects, and although not part of the JAXB specification, the XJC tool offers the ability to generate Java classes from a DTD.  In this post we will use JAXB to interact with XML that corresponds to the &lt;a href="http://logging.apache.org/log4j/"&gt;Apache log4j&lt;/a&gt; DTD.&lt;/div&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2011/05/jaxb-and-dtd.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-4527362093516888372?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/4527362093516888372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/05/jaxb-and-dtd.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/4527362093516888372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/4527362093516888372'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/05/jaxb-and-dtd.html' title='JAXB and DTD - Apache log4j Example'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-3563458539629731953</id><published>2011-05-13T15:33:00.001-04:00</published><updated>2011-09-20T14:24:18.502-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='XmlElement'/><category scheme='http://www.blogger.com/atom/ns#' term='Interface'/><title type='text'>JAXB and Interface Fronted Models</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;Usually with JAXB we are mapping POJOs to XML.  In this example I will demonstrate how to handle a Java model that is exposed through a set of interfaces.   This post was inspired by an &lt;a href="http://stackoverflow.com/questions/5964996/convert-java-object-to-xml/5965614#5965614"&gt;answer I gave&lt;/a&gt; (feel free to upvote) to a question on Stack Overflow.  In the question the poster was running into exceptions like the one below.  This post will cover how to properly map this use case.&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;pre class="brush: plain; toolbar: false; highlight: []"&gt;Exception in thread &amp;quot;main&amp;quot; com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 6 counts of IllegalAnnotationExceptions&lt;br /&gt;blog.interfaces.Customer is an interface, and JAXB can&amp;#39;t handle interfaces.&lt;br /&gt; this problem is related to the following location:&lt;br /&gt;  at blog.interfaces.Customer&lt;br /&gt;blog.interfaces.Customer does not have a no-arg default constructor.&lt;br /&gt; this problem is related to the following location:&lt;br /&gt;  at blog.interfaces.Customer&lt;br /&gt;...&lt;br /&gt;&lt;/pre&gt;&lt;br&gt;&lt;/div&gt;&lt;a href="http://blog.bdoughan.com/2011/05/jaxb-and-interface-fronted-models.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-3563458539629731953?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/3563458539629731953/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/05/jaxb-and-interface-fronted-models.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/3563458539629731953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/3563458539629731953'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/05/jaxb-and-interface-fronted-models.html' title='JAXB and Interface Fronted Models'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-5873797213137357782</id><published>2011-05-05T16:56:00.001-04:00</published><updated>2011-09-20T14:24:49.782-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='&quot;Bindings File&quot;'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='XmlInlineBinaryData'/><category scheme='http://www.blogger.com/atom/ns#' term='XmlMimeType'/><title type='text'>Schema to Java:  @XmlMimeType &amp; @XmlInlineBinaryData</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Arial,Helvetica,sans-serif;"&gt;In a &lt;/span&gt;&lt;a href="http://bdoughan.blogspot.com/2011/03/jaxb-web-services-and-binary-data.html"&gt;&lt;span class="Apple-style-span" style="font-family: Arial,Helvetica,sans-serif;"&gt;previous post&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-family: Arial,Helvetica,sans-serif;"&gt; I described the impact of the &lt;i&gt;@XmlInlineBinaryData&lt;/i&gt; and &lt;i&gt;@XmlMimeType&lt;/i&gt; annotations in a JAX-WS environment where binary data may be sent as attachments.  One of the comments I received on that post was how to have those annotations generated onto your classes when starting from an XML schema.  In this post I will address that question.&lt;/span&gt;&lt;br&gt;&lt;span class="Apple-style-span" style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;/span&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2011/05/schema-to-java-xmlmimetype.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-5873797213137357782?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/5873797213137357782/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/05/schema-to-java-xmlmimetype.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/5873797213137357782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/5873797213137357782'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/05/schema-to-java-xmlmimetype.html' title='Schema to Java:  @XmlMimeType &amp; @XmlInlineBinaryData'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-3043769798876532933</id><published>2011-05-03T16:51:00.002-04:00</published><updated>2011-09-20T14:22:48.258-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='EclipseLink'/><category scheme='http://www.blogger.com/atom/ns#' term='MOXy'/><category scheme='http://www.blogger.com/atom/ns#' term='jaxb.properties'/><title type='text'>Specifying EclipseLink MOXy as Your JAXB Provider</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;To specify &lt;a href="http://www.eclipse.org/eclipselink/moxy.php"&gt;EclipseLink MOXy&lt;/a&gt; as the JAXB provider you need to put a jaxb.properties file in one of the packages for your domain classes, that is passed in to bootstrap the JAXBContext.&lt;br&gt;&lt;br&gt;&lt;/div&gt;&lt;a href="http://blog.bdoughan.com/2011/05/specifying-eclipselink-moxy-as-your.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-3043769798876532933?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/3043769798876532933/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/05/specifying-eclipselink-moxy-as-your.html#comment-form' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/3043769798876532933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/3043769798876532933'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/05/specifying-eclipselink-moxy-as-your.html' title='Specifying EclipseLink MOXy as Your JAXB Provider'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-5649664493281498399</id><published>2011-04-15T16:49:00.001-04:00</published><updated>2011-09-20T14:25:24.926-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XmlAnyElement'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><title type='text'>@XmlAnyElement and non-DOM Properties</title><content type='html'>&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;This post will cover how to use an alternate DOM representation (i.e. String) with @XmlAnyElement.&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2011/04/xmlanyelement-and-non-dom-properties.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-5649664493281498399?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/5649664493281498399/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/04/xmlanyelement-and-non-dom-properties.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/5649664493281498399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/5649664493281498399'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/04/xmlanyelement-and-non-dom-properties.html' title='@XmlAnyElement and non-DOM Properties'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-2763746568385891933</id><published>2011-04-15T14:53:00.001-04:00</published><updated>2011-09-20T14:27:08.189-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Jettison'/><category scheme='http://www.blogger.com/atom/ns#' term='JSON'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='Namespaces'/><title type='text'>JAXB and JSON via Jettison - Namespace Example</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;In a &lt;a href="http://bdoughan.blogspot.com/2011/04/jaxb-and-json-via-jettison.html"&gt;previous post&lt;/a&gt; I described how &lt;a href="http://jettison.codehaus.org/"&gt;Jettison&lt;/a&gt; can be leveraged by a JAXB implementation to produce/consume JSON.  A reader correctly pointed out that I did not describe how to handle namespaces.  Since JSON does not support namespaces you would not normally include them in your mappings.  However if you wanted to map your object model to both JSON and XML with namespaces, this post will demonstrate how it can be done.&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;b&gt;&lt;/b&gt;&lt;br&gt;&lt;/div&gt;&lt;a href="http://blog.bdoughan.com/2011/04/jaxb-and-json-via-jettison-namespace.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-2763746568385891933?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/2763746568385891933/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/04/jaxb-and-json-via-jettison-namespace.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/2763746568385891933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/2763746568385891933'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/04/jaxb-and-json-via-jettison-namespace.html' title='JAXB and JSON via Jettison - Namespace Example'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-7667621038034142150</id><published>2011-04-15T13:18:00.002-04:00</published><updated>2011-09-20T14:23:10.050-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='&quot;Bindings File&quot;'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='XmlElements'/><category scheme='http://www.blogger.com/atom/ns#' term='Choice'/><title type='text'>XML Schema to Java - XSD Choice</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;In a previous &lt;a href="http://bdoughan.blogspot.com/2010/10/jaxb-and-xsd-choice-xmlelements.html"&gt;blog post&lt;/a&gt; I wrote about how to map to the choice structure in XML schema when starting from classes.  An astute reader tried generating an object model from that schema and noticed that the JAXB implementation generated something different than expected.  In this post I&amp;#39;ll explain the difference.&lt;/div&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2011/04/xml-schema-to-java-xsd-choice.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-7667621038034142150?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/7667621038034142150/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/04/xml-schema-to-java-xsd-choice.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/7667621038034142150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/7667621038034142150'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/04/xml-schema-to-java-xsd-choice.html' title='XML Schema to Java - XSD Choice'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-850686355728385994</id><published>2011-04-12T12:04:00.002-04:00</published><updated>2011-09-20T14:23:34.962-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Jettison'/><category scheme='http://www.blogger.com/atom/ns#' term='JSON'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><title type='text'>JAXB and JSON via Jettison</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;JAXB implementations (&lt;a href="http://jaxb.java.net/"&gt;Metro&lt;/a&gt;, &lt;a href="http://www.eclipse.org/eclipselink/moxy.php"&gt;EclipseLink MOXy&lt;/a&gt;, &lt;a href="http://ws.apache.org/jaxme/"&gt;Apache JaxMe&lt;/a&gt;, etc) provide an easy means of converting objects to/from XML.  There is a library called &lt;a href="http://jettison.codehaus.org/"&gt;Jettison&lt;/a&gt; that exposes access to JSON messages via the StAX API that a JAXB implementation can use to convert objects to/from JSON.  This library is being leveraged by a number of JAX-RS implementations.  In this post I&amp;#39;ll demonstrate its use in a standalone example.&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;b&gt;&lt;/b&gt;&lt;br&gt;&lt;/div&gt;&lt;a href="http://blog.bdoughan.com/2011/04/jaxb-and-json-via-jettison.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-850686355728385994?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/850686355728385994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/04/jaxb-and-json-via-jettison.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/850686355728385994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/850686355728385994'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/04/jaxb-and-json-via-jettison.html' title='JAXB and JSON via Jettison'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-803307720562326421</id><published>2011-04-11T11:14:00.001-04:00</published><updated>2011-09-20T14:28:14.956-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='REST'/><category scheme='http://www.blogger.com/atom/ns#' term='&quot;Mapping File&quot;'/><category scheme='http://www.blogger.com/atom/ns#' term='Extension'/><category scheme='http://www.blogger.com/atom/ns#' term='MOXy'/><category scheme='http://www.blogger.com/atom/ns#' term='JAX-RS'/><title type='text'>MOXy's XML Metadata in a JAX-RS Service</title><content type='html'>&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;In previous posts I introduced how &lt;a href="http://www.eclipse.org/eclipselink/moxy.php"&gt;EclipseLink JAXB (MOXy)&lt;/a&gt; can &lt;/span&gt;&lt;a href="http://bdoughan.blogspot.com/2010/12/extending-jaxb-representing-annotations.html" style="font-family: Arial,Helvetica,sans-serif;"&gt;represent it&amp;#39;s metadata as XML&lt;/a&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;, and how &lt;/span&gt;&lt;a href="http://bdoughan.blogspot.com/2010/08/creating-restful-web-service-part-35.html" style="font-family: Arial,Helvetica,sans-serif;"&gt;MOXy can be used  in a JAX-RS service&lt;/a&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;.  In this post I&amp;#39;ll demonstrate how to leverage MOXy&amp;#39;s metadata file in a JAX-RS service by using a ContextResolver.&lt;/span&gt;&lt;br&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;/span&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2011/04/moxys-xml-metadata-in-jax-rs-service.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-803307720562326421?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/803307720562326421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/04/moxys-xml-metadata-in-jax-rs-service.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/803307720562326421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/803307720562326421'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/04/moxys-xml-metadata-in-jax-rs-service.html' title='MOXy&apos;s XML Metadata in a JAX-RS Service'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-6474824820957882498</id><published>2011-03-23T10:05:00.002-04:00</published><updated>2011-09-20T14:29:00.030-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='JAX-WS'/><category scheme='http://www.blogger.com/atom/ns#' term='Attachment'/><category scheme='http://www.blogger.com/atom/ns#' term='XmlInlineBinaryData'/><category scheme='http://www.blogger.com/atom/ns#' term='XmlMimeType'/><title type='text'>JAXB, Web Services, and Binary Data</title><content type='html'>&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;When an instance of a class is used with a Web Service, the JAX-WS implementation can choose to handle fields/properties that hold binary data as SOAP attachment.  An attachment is a means to send the data outside of the XML message, this is done as an optimization since binary data encoded as a xs:base64Binary string could be quite large.  JAXB offers a couple of annotations to control this behaviour:&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;ul&gt;&lt;li style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;b&gt;@XmlInlineBinaryData&lt;/b&gt;&lt;br&gt;This specifies that the binary data for this field/property must be written to the XML document as xs:base64Binary and not sent as an attachment.&lt;br&gt;&lt;/li&gt;&lt;li&gt;&lt;b style="font-family: Arial,Helvetica,sans-serif;"&gt;@XmlMimeType&lt;/b&gt;&lt;br style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;For properties of type java.awt.Image or javax.xml.transform.Source, this annotation allows the mime type to be specified that will be used for encoding the data as bytes.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br&gt;&lt;/div&gt;&lt;a href="http://blog.bdoughan.com/2011/03/jaxb-web-services-and-binary-data.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-6474824820957882498?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/6474824820957882498/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/03/jaxb-web-services-and-binary-data.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/6474824820957882498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/6474824820957882498'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/03/jaxb-web-services-and-binary-data.html' title='JAXB, Web Services, and Binary Data'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-3982151763037035321</id><published>2011-03-22T09:11:00.007-04:00</published><updated>2012-01-26T06:34:02.108-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Extension'/><category scheme='http://www.blogger.com/atom/ns#' term='EclipseLink'/><category scheme='http://www.blogger.com/atom/ns#' term='XmlPath'/><category scheme='http://www.blogger.com/atom/ns#' term='Predicate'/><category scheme='http://www.blogger.com/atom/ns#' term='MOXy'/><category scheme='http://www.blogger.com/atom/ns#' term='&quot;EclipseLink 2.3&quot;'/><title type='text'>Map to Element based on an Attribute Value with EclipseLink JAXB (MOXy)</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;I am happy to announce that we are expanding &lt;a href="http://www.eclipse.org/eclipselink/moxy.php"&gt;MOXy&lt;/a&gt;&amp;#39;s XPath based mapping in EclipseLink 2.3. You are now able to map to an element based on the value of an attribute.  This is done by leveraging XPath predicates via MOXy&amp;#39;s @XmlPath annotation.  &lt;/div&gt;&lt;br&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;You can try this out today by downloading one EclipseLink 2.3.0 nightly downloads starting on March 22, 2011 from:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.eclipse.org/eclipselink/downloads/nightly.php"&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;http://www.eclipse.org/eclipselink/downloads/nightly.php&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br&gt;&lt;/div&gt;&lt;a href="http://blog.bdoughan.com/2011/03/map-to-element-based-on-attribute-value.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-3982151763037035321?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/3982151763037035321/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/03/map-to-element-based-on-attribute-value.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/3982151763037035321'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/3982151763037035321'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/03/map-to-element-based-on-attribute-value.html' title='Map to Element based on an Attribute Value with EclipseLink JAXB (MOXy)'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-8489598755967444890</id><published>2011-03-11T13:34:00.002-05:00</published><updated>2012-01-26T06:35:49.970-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><title type='text'>Preventing Entity Expansion Attacks in JAXB</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;This post will cover how to protect yourself from the entity expansion attack when you are using JAXB.&lt;/span&gt;&lt;br&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;/span&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2011/03/preventing-entity-expansion-attacks-in.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-8489598755967444890?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/8489598755967444890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/03/preventing-entity-expansion-attacks-in.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/8489598755967444890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/8489598755967444890'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/03/preventing-entity-expansion-attacks-in.html' title='Preventing Entity Expansion Attacks in JAXB'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-946357500827061565</id><published>2011-03-09T16:48:00.001-05:00</published><updated>2011-09-22T14:59:31.928-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XmlRootElement'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><title type='text'>Handling Duplicate @XmlRootElement Declarations</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span class="Apple-style-span" style="color: #222222; line-height: 18px;"&gt;The following post was inspired by an &lt;a href="http://stackoverflow.com/questions/5249888/how-to-use-jaxb-to-process-messages-from-two-separate-schemas-with-same-rootelem/5250271#5250271" style="color: #2288bb; text-decoration: none;"&gt;answer I gave to a question&lt;/a&gt; on Stack Overflow (feel free to up vote).  The problem arose from a JAXBContext being created on classes derived from two schemas that both use the same root element.  The solution is to supply type of object to the unmarshal operation.&lt;/span&gt; &lt;/span&gt;&lt;br&gt;&lt;span class="Apple-style-span" style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;/span&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2011/03/handling-duplicate-xmlrootelement.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-946357500827061565?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/946357500827061565/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/03/handling-duplicate-xmlrootelement.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/946357500827061565'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/946357500827061565'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/03/handling-duplicate-xmlrootelement.html' title='Handling Duplicate @XmlRootElement Declarations'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-5184687139863544812</id><published>2011-03-08T16:47:00.001-05:00</published><updated>2011-09-22T15:00:03.523-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JAXBElement'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXBSource'/><title type='text'>Using JAXB to Implement a Copy Operation</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Arial,Helvetica,sans-serif;"&gt;The following post was inspired by an &lt;a href="http://stackoverflow.com/questions/5189690/how-to-serialize-and-de-serialize-objects-using-jaxb/5195945#5195945"&gt;answer I gave to a question&lt;/a&gt; on Stack Overflow (feel free to up vote).  I am not suggesting that JAXB should be used to implement copy methods, instead I&amp;#39;m using a copy operation to demonstrate that JAXB can treat an object model as XML input.  &lt;/span&gt;&lt;br&gt;&lt;span class="Apple-style-span" style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2011/03/using-jaxb-to-implement-copy-operation.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-5184687139863544812?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/5184687139863544812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/03/using-jaxb-to-implement-copy-operation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/5184687139863544812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/5184687139863544812'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/03/using-jaxb-to-implement-copy-operation.html' title='Using JAXB to Implement a Copy Operation'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-3796321478797417046</id><published>2011-01-25T16:36:00.001-05:00</published><updated>2011-09-22T12:09:00.786-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='&quot;Collection Property&quot;'/><category scheme='http://www.blogger.com/atom/ns#' term='&quot;Bindings File&quot;'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><title type='text'>JAXB and Choosing the  List Implementation</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;For elements with max occurs greater than one, JAXB will generate a j&lt;i&gt;ava.util.List&lt;/i&gt; property and the underlying implementation will be &lt;i&gt;java.util.ArrayList&lt;/i&gt;.  You can control which list implementation is used through internal and external schema annotations.  You can also use your own domain objects which gives you full control of your object model.  This post will discuss these different options. &lt;br&gt;&lt;br&gt;&lt;/div&gt;&lt;a href="http://blog.bdoughan.com/2011/01/jaxb-and-choosing-list-implementation.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-3796321478797417046?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/3796321478797417046/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/01/jaxb-and-choosing-list-implementation.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/3796321478797417046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/3796321478797417046'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/01/jaxb-and-choosing-list-implementation.html' title='JAXB and Choosing the  List Implementation'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-5699294287572572145</id><published>2011-01-20T16:59:00.002-05:00</published><updated>2011-09-21T09:19:03.853-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Date/Time'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='XmlSchemaType'/><category scheme='http://www.blogger.com/atom/ns#' term='Extension'/><category scheme='http://www.blogger.com/atom/ns#' term='EclipseLink'/><category scheme='http://www.blogger.com/atom/ns#' term='MOXy'/><title type='text'>JAXB and Date/Time Properties</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Arial,Helvetica,sans-serif;"&gt;In this post I will describe how JAXB handles date/time information.  This post will also cover how the &lt;i&gt;@XmlSchemaType&lt;/i&gt; annotation can be used to customize the XML representation.&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2011/01/jaxb-and-datetime-properties.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-5699294287572572145?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/5699294287572572145/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2011/01/jaxb-and-datetime-properties.html#comment-form' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/5699294287572572145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/5699294287572572145'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2011/01/jaxb-and-datetime-properties.html' title='JAXB and Date/Time Properties'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-6670009857880543988</id><published>2010-12-21T14:14:00.001-05:00</published><updated>2011-09-22T12:14:17.432-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='XmlElementRef'/><category scheme='http://www.blogger.com/atom/ns#' term='XmlAdapter'/><title type='text'>Represent String Values as Element Names with JAXB ("foo" as &lt;foo/&gt;)</title><content type='html'>&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;In this example we will map a String value to an element name.  Instead of &lt;i&gt;&amp;lt;foo&amp;gt;bar&amp;lt;/foo&amp;gt;&lt;/i&gt; we want &lt;i&gt;&amp;lt;bar/&amp;gt;&lt;/i&gt;.  We will accomplish this by using @XmlAdapter and @XmlElementRef.&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2010/12/represent-string-values-as-element.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-6670009857880543988?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/6670009857880543988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2010/12/represent-string-values-as-element.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/6670009857880543988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/6670009857880543988'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2010/12/represent-string-values-as-element.html' title='Represent String Values as Element Names with JAXB (&quot;foo&quot; as &amp;lt;foo/&gt;)'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-928643789362570370</id><published>2010-12-20T16:25:00.002-05:00</published><updated>2012-01-19T13:16:10.115-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Marshaller'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='Validation'/><category scheme='http://www.blogger.com/atom/ns#' term='&quot;XML Schema&quot;'/><category scheme='http://www.blogger.com/atom/ns#' term='Unmarshaller'/><title type='text'>JAXB and Marshal/Unmarshal Schema Validation</title><content type='html'>&lt;span style="font-size: small;"&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;In a &lt;/span&gt;&lt;a href="http://bdoughan.blogspot.com/2010/11/validate-jaxb-object-model-with-xml.html" style="font-family: Arial,Helvetica,sans-serif;"&gt;previous post&lt;/a&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt; I described how to validate an object model (mapped with JAXB annotations) against an XML schema using the&lt;a href="http://download.oracle.com/javase/6/docs/api/javax/xml/validation/package-summary.html"&gt; javax.xml.validation&lt;/a&gt; APIs.  In this post I&amp;#39;ll describe how to leverage those APIs during unmarshal and marshal operations.&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2010/12/jaxb-and-marshalunmarshal-schema.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-928643789362570370?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/928643789362570370/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2010/12/jaxb-and-marshalunmarshal-schema.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/928643789362570370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/928643789362570370'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2010/12/jaxb-and-marshalunmarshal-schema.html' title='JAXB and Marshal/Unmarshal Schema Validation'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-6154342781257080022</id><published>2010-12-10T10:49:00.004-05:00</published><updated>2011-09-21T17:00:01.989-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='&quot;Mapping File&quot;'/><category scheme='http://www.blogger.com/atom/ns#' term='Extension'/><category scheme='http://www.blogger.com/atom/ns#' term='EclipseLink'/><category scheme='http://www.blogger.com/atom/ns#' term='MOXy'/><title type='text'>Extending JAXB - Representing Metadata as XML</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;In JAXB (&lt;a href="http://jcp.org/en/jsr/detail?id=222"&gt;JSR-222&lt;/a&gt;) metadata is applied to Java classes via &lt;a href="http://download.oracle.com/javase/6/docs/api/javax/xml/bind/annotation/package-summary.html"&gt;standard annotations&lt;/a&gt;. There are times when using annotatations is not practical, and an alternate mechanism is required.  In this post I&amp;#39;ll demonstrate how &lt;a href="http://www.eclipse.org/eclipselink/moxy.php"&gt;EclipseLink JAXB (MOXy)&lt;/a&gt; can leverage XML to represent the JAXB metadata.&lt;/div&gt;&lt;br&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;An XML metadata representation is useful when:&lt;/div&gt;&lt;ul&gt;&lt;li style="font-family: Arial,Helvetica,sans-serif;"&gt;You cannot modify the domain model (it may come from a 3rd party).&lt;/li&gt;&lt;li style="font-family: Arial,Helvetica,sans-serif;"&gt;You do not want to introduce compile dependencies on JAXB APIs (if you are using a version of Java prior to Java SE 6).&lt;/li&gt;&lt;li style="font-family: Arial,Helvetica,sans-serif;"&gt;You want to apply multiple JAXB mappings to a domain model (you are limited to one representation with annotations).&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;Your object model already contains so many annotations from other technologies that adding more would make the class unreadable.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2010/12/extending-jaxb-representing-annotations.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-6154342781257080022?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/6154342781257080022/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2010/12/extending-jaxb-representing-annotations.html#comment-form' title='24 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/6154342781257080022'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/6154342781257080022'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2010/12/extending-jaxb-representing-annotations.html' title='Extending JAXB - Representing Metadata as XML'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>24</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-8079059292766164385</id><published>2010-12-07T16:30:00.003-05:00</published><updated>2011-09-22T15:01:20.661-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='StAX'/><category scheme='http://www.blogger.com/atom/ns#' term='&quot;Case Insensitivity&quot;'/><title type='text'>Case Insensitive Unmarshalling with JAXB</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;Recently I&amp;#39;ve been asked in a couple different forums how to handle case insensitive unmarshalling in JAXB.  In this post I&amp;#39;ll discuss an approach using a StAX &lt;a href="http://download.oracle.com/javase/6/docs/api/javax/xml/stream/util/StreamReaderDelegate.html"&gt;StreamReaderDelegate&lt;/a&gt;.&lt;br&gt;&lt;br&gt;I am considering adding this as an official feature, and would be interested in your feed back.  I am using the following bug to track this issue:&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="https://bugs.eclipse.org/331241"&gt;https://bugs.eclipse.org/331241&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;/div&gt;&lt;a href="http://blog.bdoughan.com/2010/12/case-insensitive-unmarshalling.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-8079059292766164385?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/8079059292766164385/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2010/12/case-insensitive-unmarshalling.html#comment-form' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/8079059292766164385'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/8079059292766164385'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2010/12/case-insensitive-unmarshalling.html' title='Case Insensitive Unmarshalling with JAXB'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-990954744476582556</id><published>2010-12-03T14:48:00.003-05:00</published><updated>2011-09-22T12:13:49.524-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='&quot;Immutable Object&quot;'/><category scheme='http://www.blogger.com/atom/ns#' term='XmlAdapter'/><title type='text'>JAXB and Immutable Objects</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;I was recently sent a blog post:  &lt;a href="http://aniketshaligram.blogspot.com/2010/05/jaxb-immutable-objects.html"&gt;JAXB and immutable objects&lt;/a&gt;, by Aniket Shaligram.  In this post the author addresses the issue by adding a default constructor and using field access, to avoid adding set methods.  This approach is perfectly valid, but leaves the class being more mutable than some people like (including the person who sent me the link).  In this post I&amp;#39;ll discuss an alternative approach using XmlAdapter.&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br&gt;&lt;/div&gt;&lt;a href="http://blog.bdoughan.com/2010/12/jaxb-and-immutable-objects.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-990954744476582556?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/990954744476582556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2010/12/jaxb-and-immutable-objects.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/990954744476582556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/990954744476582556'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2010/12/jaxb-and-immutable-objects.html' title='JAXB and Immutable Objects'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-6434706134672088943</id><published>2010-11-24T13:42:00.001-05:00</published><updated>2011-09-22T12:10:33.219-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='Validation'/><category scheme='http://www.blogger.com/atom/ns#' term='&quot;XML Schema&quot;'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXBSource'/><title type='text'>Validate a JAXB Object Model With an XML Schema</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;In this post I will demonstrate how to validate a JAXB object model against an XML schema.  This will be done using the&lt;a href="http://download.oracle.com/javase/6/docs/api/javax/xml/validation/package-summary.html"&gt; javax.xml.validation&lt;/a&gt; APIs.  &lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br&gt;&lt;/div&gt;&lt;a href="http://blog.bdoughan.com/2010/11/validate-jaxb-object-model-with-xml.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-6434706134672088943?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/6434706134672088943/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2010/11/validate-jaxb-object-model-with-xml.html#comment-form' title='19 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/6434706134672088943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/6434706134672088943'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2010/11/validate-jaxb-object-model-with-xml.html' title='Validate a JAXB Object Model With an XML Schema'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>19</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-5643617858013557030</id><published>2010-11-05T16:41:00.003-04:00</published><updated>2011-09-21T09:09:53.720-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Inheritance'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='Extension'/><category scheme='http://www.blogger.com/atom/ns#' term='MOXy'/><title type='text'>JAXB and Inheritance - MOXy Extension @XmlDescriminatorNode/@XmlDescrimintatorValue</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;In previous blog posts I described how to leverage the &lt;a href="http://bdoughan.blogspot.com/2010/11/jaxb-and-inheritance-using-xsitype.html"&gt;xsi:type attribute&lt;/a&gt; and &lt;a href="http://bdoughan.blogspot.com/2010/11/jaxb-and-inheritance-using-substitution.html"&gt;substitution groups&lt;/a&gt; to represent inheritance.  In this post I&amp;#39;ll demonstrate how an upcoming EclipseLink 2.2 JAXB (MOXy) extension can be used to represent inheritance.  It leverages an attribute of your own choosing to represent the subtype.  If you are using a version of EclipseLink prior to 2.2 you can use the technique described &lt;a href="http://stackoverflow.com/questions/2992234/java-jaxb-unmarshall-xml-to-specific-subclass-based-on-an-attribute/3181871#3181871"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;br&gt;&lt;/div&gt;&lt;a href="http://blog.bdoughan.com/2010/11/jaxb-and-inheritance-moxy-extension.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-5643617858013557030?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/5643617858013557030/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2010/11/jaxb-and-inheritance-moxy-extension.html#comment-form' title='30 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/5643617858013557030'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/5643617858013557030'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2010/11/jaxb-and-inheritance-moxy-extension.html' title='JAXB and Inheritance - MOXy Extension @XmlDescriminatorNode/@XmlDescrimintatorValue'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>30</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-8046752683911872891</id><published>2010-11-04T11:18:00.006-04:00</published><updated>2011-09-21T09:09:24.162-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Inheritance'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='XmlElementRef'/><title type='text'>JAXB and Inheritance - Using Substitution Groups</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;In a previous &lt;a href="http://bdoughan.blogspot.com/2010/11/jaxb-and-inheritance-using-xsitype.html"&gt;blog post&lt;/a&gt; I described how to leverage the xsi:type attribute to represent inheritance.  In this post I&amp;#39;ll demonstrate how to use the element name instead by leveraging the XML Schema concept of substitution groups.&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;br&gt;&lt;/div&gt;&lt;a href="http://blog.bdoughan.com/2010/11/jaxb-and-inheritance-using-substitution.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-8046752683911872891?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/8046752683911872891/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2010/11/jaxb-and-inheritance-using-substitution.html#comment-form' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/8046752683911872891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/8046752683911872891'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2010/11/jaxb-and-inheritance-using-substitution.html' title='JAXB and Inheritance - Using Substitution Groups'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-1952316088467470797</id><published>2010-11-04T10:36:00.004-04:00</published><updated>2011-09-21T09:10:27.914-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Inheritance'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><title type='text'>JAXB and Inheritance - Using the xsi:type Attribute</title><content type='html'>&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;In a previous &lt;a href="http://bdoughan.blogspot.com/2010/10/how-does-jaxb-compare-to-xstream.html"&gt;blog post&lt;/a&gt; I was challenged by an Xstream user to describe how JAXB handles inheritance.  In this post I&amp;#39;ll describe one strategy that can be used, and how easily this can be done with JAXB.  I&amp;#39;ll discuss alternate strategies in future posts.&lt;/div&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;br&gt;&lt;/div&gt;&lt;a href="http://blog.bdoughan.com/2010/11/jaxb-and-inheritance-using-xsitype.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-1952316088467470797?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/1952316088467470797/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2010/11/jaxb-and-inheritance-using-xsitype.html#comment-form' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/1952316088467470797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/1952316088467470797'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2010/11/jaxb-and-inheritance-using-xsitype.html' title='JAXB and Inheritance - Using the xsi:type Attribute'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-1878841028455754447</id><published>2010-10-25T13:53:00.005-04:00</published><updated>2012-01-26T06:33:07.529-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Comparison'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><title type='text'>How Does JAXB Compare to Simple?</title><content type='html'>&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span id="goog_1851233904"&gt;&lt;/span&gt;In a &lt;a href="http://bdoughan.blogspot.com/2010/10/how-does-jaxb-compare-to-xstream.html"&gt;previous post&lt;/a&gt; I compared JAXB to &lt;a href="http://xstream.codehaus.org/"&gt;XStream&lt;/a&gt;.&lt;span id="goog_1851233905"&gt;&lt;/span&gt;  In this post I&amp;#39;ll run that comparison with the &lt;a href="http://simple.sourceforge.net/"&gt;Simple XML Serialization&lt;/a&gt; framework.&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2010/10/how-does-jaxb-compare-to-simple.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-1878841028455754447?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/1878841028455754447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2010/10/how-does-jaxb-compare-to-simple.html#comment-form' title='18 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/1878841028455754447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/1878841028455754447'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2010/10/how-does-jaxb-compare-to-simple.html' title='How Does JAXB Compare to Simple?'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>18</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-5301591956368454662</id><published>2010-10-21T15:25:00.004-04:00</published><updated>2011-09-22T15:02:52.857-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='XmlElements'/><category scheme='http://www.blogger.com/atom/ns#' term='Choice'/><title type='text'>JAXB and XSD Choice:  @XmlElements</title><content type='html'>&lt;span style="font-size: large;"&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size: small;"&gt;XML Schema has the concept of a choice element.  The choice element indicates that one of the elements defined within the choice may occur at this point in the XML document.  In this example I will demonstrate how easily this can be mapped using JAXB.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2010/10/jaxb-and-xsd-choice-xmlelements.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-5301591956368454662?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/5301591956368454662/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2010/10/jaxb-and-xsd-choice-xmlelements.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/5301591956368454662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/5301591956368454662'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2010/10/jaxb-and-xsd-choice-xmlelements.html' title='JAXB and XSD Choice:  @XmlElements'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-8760906005533246911</id><published>2010-10-07T16:09:00.003-04:00</published><updated>2011-09-22T15:03:40.970-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XmlID'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='Extension'/><category scheme='http://www.blogger.com/atom/ns#' term='XmlIDREF'/><category scheme='http://www.blogger.com/atom/ns#' term='MOXy'/><title type='text'>JAXB and Shared References:  @XmlID and @XmlIDREF</title><content type='html'>&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt; &lt;/span&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;When converting objects to XML, privately owned data can easily be represented through nested elements.  When there are multiple references to an object another mechanism needs to be used.  In JAXB this mechanism is @XmlID and @XmlIDREF.&lt;/span&gt;&lt;br&gt;&lt;div style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;br&gt;&lt;/div&gt;&lt;a href="http://blog.bdoughan.com/2010/10/jaxb-and-shared-references-xmlid-and.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-8760906005533246911?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/8760906005533246911/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2010/10/jaxb-and-shared-references-xmlid-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/8760906005533246911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/8760906005533246911'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2010/10/jaxb-and-shared-references-xmlid-and.html' title='JAXB and Shared References:  @XmlID and @XmlIDREF'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-7329883718951521001</id><published>2010-10-06T14:29:00.005-04:00</published><updated>2012-01-24T16:51:39.932-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Comparison'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><title type='text'>How Does JAXB Compare to XStream?</title><content type='html'>&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;The &lt;a href="http://xstream.codehaus.org/faq.html#Other_Products"&gt;XStream FAQ&lt;/a&gt; states the following when being compared to JAXB:&lt;/span&gt;&lt;br&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;/span&gt;&lt;br&gt;&lt;blockquote&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;JAXB is a Java binding tool. It generates Java code from a schema and you are able to transform from those classes into XML matching the processed schema and back. Note, that you cannot use your own objects, you have to use what is generated.&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;In this post I will provide an alternative answer to that question.&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2010/10/how-does-jaxb-compare-to-xstream.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-7329883718951521001?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/7329883718951521001/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2010/10/how-does-jaxb-compare-to-xstream.html#comment-form' title='34 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/7329883718951521001'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/7329883718951521001'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2010/10/how-does-jaxb-compare-to-xstream.html' title='How Does JAXB Compare to XStream?'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>34</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-3551559338261904038</id><published>2010-09-28T13:09:00.002-04:00</published><updated>2011-09-22T15:09:58.403-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XmlValue'/><category scheme='http://www.blogger.com/atom/ns#' term='XmlList'/><category scheme='http://www.blogger.com/atom/ns#' term='XmlElementWrapper'/><category scheme='http://www.blogger.com/atom/ns#' term='&quot;Collection Property&quot;'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><title type='text'>JAXB &amp; Collection Properties</title><content type='html'>&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;In this post will examine the different options JAXB offers for representing collections in XML.  We will look at the following annotations:&lt;/span&gt;&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: Arial;"&gt;@XmlElement&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Arial;"&gt;@XmlElementWrapper&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Arial;"&gt;@XmlList&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Arial;"&gt;@XmlList and @XmlAttribute&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Arial;"&gt;@XmlList and @XmlValue&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2010/09/jaxb-collection-properties.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-3551559338261904038?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/3551559338261904038/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2010/09/jaxb-collection-properties.html#comment-form' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/3551559338261904038'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/3551559338261904038'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2010/09/jaxb-collection-properties.html' title='JAXB &amp; Collection Properties'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-918174790593136307</id><published>2010-09-28T10:17:00.002-04:00</published><updated>2011-09-22T15:10:37.055-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Binder'/><category scheme='http://www.blogger.com/atom/ns#' term='&quot;XML Infoset&quot;'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><title type='text'>JAXB &amp; XML Infoset Preservation</title><content type='html'>&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;In this post we will discuss how to use JAXB to preserve the XML Infoset.  &lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2010/09/jaxb-xml-infoset-preservation.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-918174790593136307?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/918174790593136307/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2010/09/jaxb-xml-infoset-preservation.html#comment-form' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/918174790593136307'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/918174790593136307'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2010/09/jaxb-xml-infoset-preservation.html' title='JAXB &amp; XML Infoset Preservation'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-915114374571362771</id><published>2010-09-13T14:57:00.033-04:00</published><updated>2012-01-26T06:34:29.955-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='Geocode'/><category scheme='http://www.blogger.com/atom/ns#' term='Extension'/><category scheme='http://www.blogger.com/atom/ns#' term='EclipseLink'/><category scheme='http://www.blogger.com/atom/ns#' term='XmlPath'/><category scheme='http://www.blogger.com/atom/ns#' term='MOXy'/><title type='text'>XPath Based Mapping - Geocode Example</title><content type='html'>&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;In a &lt;a href="http://bdoughan.blogspot.com/2010/07/xpath-based-mapping.html"&gt;previous post&lt;/a&gt; I introduced MOXy&amp;#39;s XPath based mapping JAXB extension.  In this post I&amp;#39;ll use &lt;a href="http://code.google.com/apis/maps/documentation/geocoding/v2/index.html"&gt;Google Maps Geocoding API V2&lt;/a&gt; to demonstrate how powerful this extension is.&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2010/09/xpath-based-mapping-geocode-example.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-915114374571362771?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/915114374571362771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2010/09/xpath-based-mapping-geocode-example.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/915114374571362771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/915114374571362771'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2010/09/xpath-based-mapping-geocode-example.html' title='XPath Based Mapping - Geocode Example'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-2033258660446879196</id><published>2010-09-10T16:15:00.003-04:00</published><updated>2011-09-22T15:11:36.625-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SDO'/><category scheme='http://www.blogger.com/atom/ns#' term='Atom'/><category scheme='http://www.blogger.com/atom/ns#' term='EclipseLink'/><title type='text'>Processing Atom Feeds with SDO</title><content type='html'>&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;Service Data Objects (SDO) is a Java standard (&lt;a href="http://jcp.org/en/jsr/detail?id=235"&gt;JSR-235&lt;/a&gt;) that can be used to process XML.  In this post we will compare SDO to JAXB by processing an Atom feed.&lt;/span&gt;&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: Arial;"&gt;&lt;a href="http://bdoughan.blogspot.com/2010/09/processing-atom-feeds-with-jaxb.html"&gt;Processing Atom Feeds with JAXB&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2010/09/processing-atom-feeds-with-sdo.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-2033258660446879196?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/2033258660446879196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2010/09/processing-atom-feeds-with-sdo.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/2033258660446879196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/2033258660446879196'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2010/09/processing-atom-feeds-with-sdo.html' title='Processing Atom Feeds with SDO'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-5574633865360748006</id><published>2010-09-08T13:39:00.001-04:00</published><updated>2011-09-22T15:12:21.402-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='Atom'/><title type='text'>Processing Atom Feeds with JAXB</title><content type='html'>&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;Atom is an XML format for representing web feeds.  A standard format allows reader applications to display feeds from different sources.  In this example we will process the Atom feed for this blog.&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2010/09/processing-atom-feeds-with-jaxb.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-5574633865360748006?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/5574633865360748006/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2010/09/processing-atom-feeds-with-jaxb.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/5574633865360748006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/5574633865360748006'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2010/09/processing-atom-feeds-with-jaxb.html' title='Processing Atom Feeds with JAXB'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-2079568165401506684</id><published>2010-08-26T15:03:00.002-04:00</published><updated>2011-09-22T15:13:14.570-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EclipseLink'/><category scheme='http://www.blogger.com/atom/ns#' term='MOXy'/><category scheme='http://www.blogger.com/atom/ns#' term='Release'/><title type='text'>EclipseLink 2.1.1 Patch Set Released</title><content type='html'>&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;The first patch set for the EclipseLink 2.1 stream is now available.  EclipseLink 2.1.1 can be downloaded here:&lt;/span&gt;&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;a href="http://www.eclipse.org/eclipselink/downloads/"&gt;http://www.eclipse.org/eclipselink/downloads/&lt;/a&gt; &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;The following XML binding layer bugs were fixed:&lt;/span&gt;&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;a href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced;bug_status=RESOLVED;bug_status=VERIFIED;component=MOXy;classification=RT;product=EclipseLink;target_milestone=2.1.1"&gt;MOXy Bug Fixes&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Arial;"&gt;&lt;a href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced;bug_status=RESOLVED;bug_status=VERIFIED;component=SDO;classification=RT;product=EclipseLink;target_milestone=2.1.1"&gt;SDO Bug Fixes&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2010/08/eclipselink-211-released.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-2079568165401506684?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/2079568165401506684/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2010/08/eclipselink-211-released.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/2079568165401506684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/2079568165401506684'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2010/08/eclipselink-211-released.html' title='EclipseLink 2.1.1 Patch Set Released'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-3095025438031114511</id><published>2010-08-26T14:42:00.002-04:00</published><updated>2011-09-22T15:14:13.085-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XmlAnyElement'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><title type='text'>Using @XmlAnyElement to Build a Generic Message</title><content type='html'>&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;In this post we are building our own XML messaging framework.  We want to have a standard message object (similar to a SOAP envelope) that the framework can understand, and the ability to easily add domain specific payloads over time.&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2010/08/using-xmlanyelement-to-build-generic.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-3095025438031114511?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/3095025438031114511/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2010/08/using-xmlanyelement-to-build-generic.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/3095025438031114511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/3095025438031114511'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2010/08/using-xmlanyelement-to-build-generic.html' title='Using @XmlAnyElement to Build a Generic Message'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-4271361533893925657</id><published>2010-08-25T14:16:00.004-04:00</published><updated>2011-09-22T15:14:49.484-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='Extension'/><category scheme='http://www.blogger.com/atom/ns#' term='EclipseLink'/><category scheme='http://www.blogger.com/atom/ns#' term='MOXy'/><category scheme='http://www.blogger.com/atom/ns#' term='XmlTransformation'/><title type='text'>@XmlTransformation - Going Beyond XmlAdapter</title><content type='html'>&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;XML Adapter is my favourite JAXB feature, which is why it was the topic of my first post &lt;a href="http://bdoughan.blogspot.com/2010/07/xmladapter-jaxbs-secret-weapon.html"&gt;XmlAdapter - JAXB&amp;#39;s Secret Weapon&lt;/a&gt;.  With it there is no such thing as an unmappable object in JAXB.  However today I came across a use case where the MOXy&amp;#39;s transformation mapping was a much better fit.&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2010/08/xmltransformation-going-beyond.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-4271361533893925657?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/4271361533893925657/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2010/08/xmltransformation-going-beyond.html#comment-form' title='15 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/4271361533893925657'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/4271361533893925657'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2010/08/xmltransformation-going-beyond.html' title='@XmlTransformation - Going Beyond XmlAdapter'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>15</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-3339077005968294464</id><published>2010-08-23T15:15:00.002-04:00</published><updated>2011-09-22T09:03:40.093-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='REST'/><category scheme='http://www.blogger.com/atom/ns#' term='JAX-RS'/><title type='text'>Creating a RESTful Web Service - Part 5/5</title><content type='html'>&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;In this post we will examine how a client may interact with the RESTful service we created in &lt;a href="http://bdoughan.blogspot.com/2010/08/creating-restful-web-service-part-45.html"&gt;part 4&lt;/a&gt;.  &lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;ul style="color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: 13px; line-height: 1.4; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em; padding-bottom: 0px; padding-left: 2.5em; padding-right: 2.5em; padding-top: 0px;"&gt;&lt;li style="margin-bottom: 0.25em; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-indent: 0px;"&gt;&lt;a href="http://bdoughan.blogspot.com/2010/08/creating-restful-web-service-part-15.html" rel="nofollow" style="color: #2288bb; text-decoration: none;"&gt;Part 1 - The Database&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-bottom: 0.25em; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-indent: 0px;"&gt;&lt;a href="http://bdoughan.blogspot.com/2010/08/creating-restful-web-service-part-25.html" rel="nofollow" style="color: #2288bb; text-decoration: none;"&gt;Part 2 - Mapping the Database to JPA Entities&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-bottom: 0.25em; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-indent: 0px;"&gt;&lt;a href="http://bdoughan.blogspot.com/2010/08/creating-restful-web-service-part-35.html" rel="nofollow" style="color: #2288bb; text-decoration: none;"&gt;Part 3 - Mapping JPA entities to XML (using JAXB)&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-bottom: 0.25em; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-indent: 0px;"&gt;&lt;a href="http://bdoughan.blogspot.com/2010/08/creating-restful-web-service-part-45.html" rel="nofollow" style="color: #2288bb; text-decoration: none;"&gt;Part 4 - The RESTful Service&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-bottom: 0.25em; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-indent: 0px;"&gt;&lt;a href="http://bdoughan.blogspot.com/2010/08/creating-restful-web-service-part-55.html" rel="nofollow" style="color: #2288bb; text-decoration: none;"&gt;&lt;b&gt;Part 5 - The Client&lt;/b&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2010/08/creating-restful-web-service-part-55.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-3339077005968294464?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/3339077005968294464/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2010/08/creating-restful-web-service-part-55.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/3339077005968294464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/3339077005968294464'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2010/08/creating-restful-web-service-part-55.html' title='Creating a RESTful Web Service - Part 5/5'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-294406204540478303</id><published>2010-08-20T11:35:00.006-04:00</published><updated>2011-09-22T09:04:09.169-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EJB'/><category scheme='http://www.blogger.com/atom/ns#' term='REST'/><category scheme='http://www.blogger.com/atom/ns#' term='JAX-RS'/><title type='text'>Creating a RESTful Web Service - Part 4/5</title><content type='html'>&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;Java API for RESTful Web Services (JAX-RS) is the Java EE standard for creating RESTful Web Services.  In this post we will create a RESTful service from an EJB session bean using JAX-RS.&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;ul style="color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: 13px; line-height: 1.4; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em; padding-bottom: 0px; padding-left: 2.5em; padding-right: 2.5em; padding-top: 0px;"&gt;&lt;li style="margin-bottom: 0.25em; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-indent: 0px;"&gt;&lt;a href="http://bdoughan.blogspot.com/2010/08/creating-restful-web-service-part-15.html" rel="nofollow" style="color: #2288bb; text-decoration: none;"&gt;Part 1 - The Database&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-bottom: 0.25em; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-indent: 0px;"&gt;&lt;a href="http://bdoughan.blogspot.com/2010/08/creating-restful-web-service-part-25.html" rel="nofollow" style="color: #2288bb; text-decoration: none;"&gt;Part 2 - Mapping the Database to JPA Entities&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-bottom: 0.25em; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-indent: 0px;"&gt;&lt;a href="http://bdoughan.blogspot.com/2010/08/creating-restful-web-service-part-35.html" rel="nofollow" style="color: #2288bb; text-decoration: none;"&gt;Part 3 - Mapping JPA entities to XML (using JAXB)&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-bottom: 0.25em; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-indent: 0px;"&gt;&lt;a href="http://bdoughan.blogspot.com/2010/08/creating-restful-web-service-part-45.html" rel="nofollow" style="color: #2288bb; text-decoration: none;"&gt;&lt;b&gt;Part 4 - The RESTful Service&lt;/b&gt;&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-bottom: 0.25em; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-indent: 0px;"&gt;&lt;a href="http://bdoughan.blogspot.com/2010/08/creating-restful-web-service-part-55.html" rel="nofollow" style="color: #2288bb; text-decoration: none;"&gt;Part 5 - The Client&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2010/08/creating-restful-web-service-part-45.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-294406204540478303?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/294406204540478303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2010/08/creating-restful-web-service-part-45.html#comment-form' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/294406204540478303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/294406204540478303'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2010/08/creating-restful-web-service-part-45.html' title='Creating a RESTful Web Service - Part 4/5'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-8997688199583316750</id><published>2010-08-20T08:00:00.014-04:00</published><updated>2011-10-20T15:18:25.064-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='REST'/><category scheme='http://www.blogger.com/atom/ns#' term='MOXy'/><category scheme='http://www.blogger.com/atom/ns#' term='JAX-RS'/><title type='text'>Creating a RESTful Web Service - Part 3/5</title><content type='html'>&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;Java Architecture for XML Binding (JAXB) is the Java EE standard for mapping POJOs to XML.  In this example we will use JAXB to apply an XML representation to the JPA entities we created in &lt;a href="http://bdoughan.blogspot.com/2010/08/creating-restful-web-service-part-25.html"&gt;part 2&lt;/a&gt;.  Since we are mapping JPA entities to XML we will use the MOXy JAXB implementation and leverage some of its extensions.&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;ul style="color: #222222; font-family: Arial,Helvetica,sans-serif; font-size: 13px; line-height: 1.4; margin: 0.5em 0px; padding: 0px 2.5em;"&gt;&lt;li style="margin: 0px 0px 0.25em; padding: 0px; text-indent: 0px;"&gt;&lt;a href="http://bdoughan.blogspot.com/2010/08/creating-restful-web-service-part-15.html" rel="nofollow" style="color: #2288bb; text-decoration: none;"&gt;Part 1 - The Database&lt;/a&gt;&lt;/li&gt;&lt;li style="margin: 0px 0px 0.25em; padding: 0px; text-indent: 0px;"&gt;&lt;a href="http://bdoughan.blogspot.com/2010/08/creating-restful-web-service-part-25.html" rel="nofollow" style="color: #2288bb; text-decoration: none;"&gt;Part 2 - Mapping the Database to JPA Entities&lt;/a&gt;&lt;/li&gt;&lt;li style="margin: 0px 0px 0.25em; padding: 0px; text-indent: 0px;"&gt;&lt;a href="http://bdoughan.blogspot.com/2010/08/creating-restful-web-service-part-35.html" rel="nofollow" style="color: #2288bb; text-decoration: none;"&gt;&lt;b&gt;Part 3 - Mapping JPA entities to XML (using JAXB)&lt;/b&gt;&lt;/a&gt;&lt;/li&gt;&lt;li style="margin: 0px 0px 0.25em; padding: 0px; text-indent: 0px;"&gt;&lt;a href="http://bdoughan.blogspot.com/2010/08/creating-restful-web-service-part-45.html" rel="nofollow" style="color: #2288bb; text-decoration: none;"&gt;Part 4 - The RESTful Service&lt;/a&gt;&lt;/li&gt;&lt;li style="margin: 0px 0px 0.25em; padding: 0px; text-indent: 0px;"&gt;&lt;a href="http://bdoughan.blogspot.com/2010/08/creating-restful-web-service-part-55.html" rel="nofollow" style="color: #2288bb; text-decoration: none;"&gt;Part 5 - The Client&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;Some developers will maintain separate JPA and JAXB models, and perform a copy step to move data between them.  This can be quite a painful and error prone process.  Luckily MOXy has a number of extensions that make this unnessary:&lt;/span&gt;&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;span id="goog_82345607"&gt;&lt;/span&gt;&lt;span id="goog_82345608"&gt;&lt;a href="http://bdoughan.blogspot.com/2010/07/xpath-based-mapping.html"&gt;XPath Based Mapping&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;a href="http://bdoughan.blogspot.com/2010/07/jpa-entities-to-xml-bidirectional.html"&gt;JPA Entities to XML - Bidirectional Relationships&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2010/08/creating-restful-web-service-part-35.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-8997688199583316750?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/8997688199583316750/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2010/08/creating-restful-web-service-part-35.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/8997688199583316750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/8997688199583316750'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2010/08/creating-restful-web-service-part-35.html' title='Creating a RESTful Web Service - Part 3/5'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-4865347333556462117</id><published>2010-08-19T10:39:00.006-04:00</published><updated>2011-09-22T09:02:11.938-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='REST'/><category scheme='http://www.blogger.com/atom/ns#' term='JAX-RS'/><category scheme='http://www.blogger.com/atom/ns#' term='JPA'/><title type='text'>Creating a RESTful Web Service - Part 2/5</title><content type='html'>&lt;b&gt;&lt;span style="font-family: Arial;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;br&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;Java Persistence Architecture (JPA) is the Java EE standard for mapping POJOs to a relational database. In this example we will use JPA to interact with our database data we set up in &lt;a href="http://bdoughan.blogspot.com/2010/08/creating-restful-web-service-part-15.html"&gt;part 1&lt;/a&gt;.&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;ul style="color: #222222; font-family: Arial, Helvetica, sans-serif; font-size: 13px; line-height: 1.4; margin-bottom: 0.5em; margin-left: 0px; margin-right: 0px; margin-top: 0.5em; padding-bottom: 0px; padding-left: 2.5em; padding-right: 2.5em; padding-top: 0px;"&gt;&lt;li style="margin-bottom: 0.25em; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-indent: 0px;"&gt;&lt;a href="http://bdoughan.blogspot.com/2010/08/creating-restful-web-service-part-15.html" rel="nofollow" style="color: #2288bb; text-decoration: none;"&gt;Part 1 - The Database&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-bottom: 0.25em; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-indent: 0px;"&gt;&lt;a href="http://bdoughan.blogspot.com/2010/08/creating-restful-web-service-part-25.html" rel="nofollow" style="color: #2288bb; text-decoration: none;"&gt;&lt;b&gt;Part 2 - Mapping the Database to JPA Entities&lt;/b&gt;&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-bottom: 0.25em; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-indent: 0px;"&gt;&lt;a href="http://bdoughan.blogspot.com/2010/08/creating-restful-web-service-part-35.html" rel="nofollow" style="color: #2288bb; text-decoration: none;"&gt;Part 3 - Mapping JPA entities to XML (using JAXB)&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-bottom: 0.25em; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-indent: 0px;"&gt;&lt;a href="http://bdoughan.blogspot.com/2010/08/creating-restful-web-service-part-45.html" rel="nofollow" style="color: #2288bb; text-decoration: none;"&gt;Part 4 - The RESTful Service&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-bottom: 0.25em; margin-left: 0px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-indent: 0px;"&gt;&lt;a href="http://bdoughan.blogspot.com/2010/08/creating-restful-web-service-part-55.html" rel="nofollow" style="color: #2288bb; text-decoration: none;"&gt;Part 5 - The Client&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2010/08/creating-restful-web-service-part-25.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-4865347333556462117?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/4865347333556462117/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2010/08/creating-restful-web-service-part-25.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/4865347333556462117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/4865347333556462117'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2010/08/creating-restful-web-service-part-25.html' title='Creating a RESTful Web Service - Part 2/5'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-6541358253054808943</id><published>2010-08-18T10:24:00.003-04:00</published><updated>2011-09-22T09:03:06.020-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='REST'/><category scheme='http://www.blogger.com/atom/ns#' term='Database'/><category scheme='http://www.blogger.com/atom/ns#' term='JAX-RS'/><title type='text'>Creating a RESTful Web Service - Part 1/5</title><content type='html'>&lt;span style="font-family: Arial;"&gt;&lt;/span&gt;&lt;br&gt;&lt;span style="font-family: Arial;"&gt;&lt;/span&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;I have been doing a lot of work with data access services recently so I figure it&amp;#39;s time to share what I have discovered.  Don&amp;#39;t be scared off that this series is broken into 5 parts, I will keep them short:&lt;/span&gt;&lt;br&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;/span&gt;&lt;br&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;/span&gt;&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;a href="http://bdoughan.blogspot.com/2010/08/creating-restful-web-service-part-15.html" rel="nofollow"&gt;&lt;b&gt;Part 1 - The Database&lt;/b&gt;&lt;/a&gt;  &lt;/span&gt;&lt;/li&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;li&gt;&lt;a href="http://bdoughan.blogspot.com/2010/08/creating-restful-web-service-part-25.html" rel="nofollow"&gt;Part 2 - Mapping the Database to JPA Entities&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://bdoughan.blogspot.com/2010/08/creating-restful-web-service-part-35.html" rel="nofollow"&gt;Part 3 - Mapping JPA entities to XML (using JAXB)&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://bdoughan.blogspot.com/2010/08/creating-restful-web-service-part-45.html" rel="nofollow"&gt;Part 4 - The RESTful Service&lt;/a&gt;  &lt;/li&gt;&lt;li&gt;&lt;a href="http://bdoughan.blogspot.com/2010/08/creating-restful-web-service-part-55.html" rel="nofollow"&gt;Part 5 - The Client&lt;/a&gt; &lt;/li&gt;&lt;/span&gt;&lt;/ul&gt;&lt;br&gt;&lt;span class="Apple-style-span" style="font-family: Arial,Helvetica,sans-serif;"&gt;In this series of posts we will use a number of standard Java EE technologies to quickly create a RESTful data access service:&lt;/span&gt;&lt;br&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: Arial;"&gt;&lt;a href="http://jcp.org/en/jsr/detail?id=317"&gt;JSR-317 - Java Persistence Architecture (JPA)&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Arial;"&gt;&lt;a href="http://jcp.org/en/jsr/detail?id=222"&gt;JSR-222 - Java Architecture for XML Binding (JAXB)&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Arial;"&gt;&lt;a href="http://jcp.org/en/jsr/detail?id=220"&gt;JSR-220 - Enterprise JavaBeans (EJB)&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Arial;"&gt;&lt;a href="http://jcp.org/en/jsr/detail?id=311"&gt;JSR-311 - The Java API for RESTful Web Services (JAX-RS)&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2010/08/creating-restful-web-service-part-15.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-6541358253054808943?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/6541358253054808943/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2010/08/creating-restful-web-service-part-15.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/6541358253054808943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/6541358253054808943'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2010/08/creating-restful-web-service-part-15.html' title='Creating a RESTful Web Service - Part 1/5'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-2322161568809371184</id><published>2010-08-17T11:40:00.002-04:00</published><updated>2010-09-16T14:34:03.557-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SDO'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='JavaOne'/><title type='text'>XML Binding Talk at JavaOne</title><content type='html'>&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;This year I will be doing a talk on XML Binding at JavaOne in San Francisco.&amp;nbsp; I will be pitting the two XML binding standards:&amp;nbsp; JAXB&amp;nbsp; (JSR-222) &amp;amp; SDO (JSR-235) against each other to help you determine which one is right for you.&amp;nbsp; I hope to see you there.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Arial;"&gt;&lt;strong&gt;Details:&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Effective XML: Leveraging JAXB and SDO (S314491)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Wednesday September 22, 1-2pm&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;Hilton San Francisco, Yosemite A&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-2322161568809371184?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/2322161568809371184/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2010/08/xml-binding-talk-at-javaone-2010.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/2322161568809371184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/2322161568809371184'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2010/08/xml-binding-talk-at-javaone-2010.html' title='XML Binding Talk at JavaOne'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-8670004615579979092</id><published>2010-08-11T14:25:00.004-04:00</published><updated>2011-09-20T15:33:55.513-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='Namespaces'/><title type='text'>JAXB &amp; Namespaces</title><content type='html'>&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;The majority of XML documents are namespace qualified, yet most XML binding examples do not demonstrate namespaces (sometimes because the XML binding solution does not support them). In this post I&amp;#39;ll demonstrate how easy namespace handling is using JAXB.&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2010/08/jaxb-namespaces.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-8670004615579979092?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/8670004615579979092/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2010/08/jaxb-namespaces.html#comment-form' title='26 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/8670004615579979092'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/8670004615579979092'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2010/08/jaxb-namespaces.html' title='JAXB &amp; Namespaces'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>26</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-7516366038393980227</id><published>2010-07-26T11:03:00.002-04:00</published><updated>2011-09-22T15:15:51.543-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='Extension'/><category scheme='http://www.blogger.com/atom/ns#' term='EclipseLink'/><category scheme='http://www.blogger.com/atom/ns#' term='XmlInverseReference'/><category scheme='http://www.blogger.com/atom/ns#' term='MOXy'/><category scheme='http://www.blogger.com/atom/ns#' term='JPA'/><title type='text'>JPA Entities to XML - Bidirectional Relationships</title><content type='html'>&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;JAXB is your best choice when binding Java objects to XML.  But what happens when those Java objects turn out to be JPA entities?  For the most part it is business as usual, although there are a couple things to be aware of.  In this post we&amp;#39;ll cover a MOXy extension that can be used to map a bidirectional relationship.&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2010/07/jpa-entities-to-xml-bidirectional.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-7516366038393980227?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/7516366038393980227/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2010/07/jpa-entities-to-xml-bidirectional.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/7516366038393980227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/7516366038393980227'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2010/07/jpa-entities-to-xml-bidirectional.html' title='JPA Entities to XML - Bidirectional Relationships'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-4303562238248007681</id><published>2010-07-23T09:06:00.004-04:00</published><updated>2012-01-31T16:45:46.596-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='Extension'/><category scheme='http://www.blogger.com/atom/ns#' term='EclipseLink'/><category scheme='http://www.blogger.com/atom/ns#' term='MOXy'/><category scheme='http://www.blogger.com/atom/ns#' term='Interface'/><title type='text'>MOXy JAXB - Map Interfaces to XML</title><content type='html'>&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;I recently came across a Twitter message (tweet) complaining that JAXB does not support binding Java interfaces to XML. Below I&amp;#39;ll describe how this can be accomplished using MOXy in the upcoming EclipseLink 2.1.1 and 2.2 releases (&lt;a href="http://www.eclipse.org/eclipselink/downloads/nightly.php"&gt;try it now&lt;/a&gt;).&lt;/span&gt;&lt;br&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;/span&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2010/07/moxy-jaxb-map-interfaces-to-xml.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-4303562238248007681?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/4303562238248007681/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2010/07/moxy-jaxb-map-interfaces-to-xml.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/4303562238248007681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/4303562238248007681'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2010/07/moxy-jaxb-map-interfaces-to-xml.html' title='MOXy JAXB - Map Interfaces to XML'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-1241095520278966333</id><published>2010-07-20T13:04:00.003-04:00</published><updated>2011-09-22T15:17:12.435-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Specification'/><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='EclipseLink'/><category scheme='http://www.blogger.com/atom/ns#' term='MOXy'/><category scheme='http://www.blogger.com/atom/ns#' term='jaxb.properties'/><category scheme='http://www.blogger.com/atom/ns#' term='TopLink'/><title type='text'>JAXB - The XML Binding Standard</title><content type='html'>&lt;span style="font-family: Arial;"&gt;Many people think of JAXB as an implementation (the &lt;a href="https://jaxb.dev.java.net/"&gt;reference implementation&lt;/a&gt; included in Java SE 6).  In reality &lt;a href="http://jcp.org/en/jsr/detail?id=222"&gt;JAXB is a Java Community Process (JCP) specification&lt;/a&gt; with multiple implementations (such as &lt;a href="http://www.eclipse.org/eclipselink/moxy.php"&gt;EclipseLink MOXy&lt;/a&gt;).  In this post I&amp;#39;ll discuss the importance of JAXB the standard.&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2010/07/jaxb-xml-binding-standard.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-1241095520278966333?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/1241095520278966333/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2010/07/jaxb-xml-binding-standard.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/1241095520278966333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/1241095520278966333'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2010/07/jaxb-xml-binding-standard.html' title='JAXB - The XML Binding Standard'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-64186755181456576</id><published>2010-07-14T10:43:00.011-04:00</published><updated>2012-01-26T06:35:02.261-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='Extension'/><category scheme='http://www.blogger.com/atom/ns#' term='EclipseLink'/><category scheme='http://www.blogger.com/atom/ns#' term='XmlPath'/><category scheme='http://www.blogger.com/atom/ns#' term='MOXy'/><title type='text'>XPath Based Mapping</title><content type='html'>&lt;span style="font-family: Arial, Helvetica, sans-serif;"&gt;In this post we&amp;#39;ll explore the XPath based mapping aspect of EclipseLink JAXB (MOXy).  XPath based mapping is what allows an existing object model to be mapped to an existing XML schema.  MOXy is the only XML binding solution I&amp;#39;m aware of with this ability and therefore the only true object-to-XML mapper (OXM).&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2010/07/xpath-based-mapping.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-64186755181456576?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/64186755181456576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2010/07/xpath-based-mapping.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/64186755181456576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/64186755181456576'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2010/07/xpath-based-mapping.html' title='XPath Based Mapping'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-5628231812113342512</id><published>2010-07-13T08:31:00.138-04:00</published><updated>2011-09-22T15:18:04.926-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='CDATA'/><category scheme='http://www.blogger.com/atom/ns#' term='Extension'/><category scheme='http://www.blogger.com/atom/ns#' term='EclipseLink'/><category scheme='http://www.blogger.com/atom/ns#' term='MOXy'/><title type='text'>CDATA, CDATA Run, Run Data Run</title><content type='html'>&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;Recently the topic of JAXB&amp;#39;s handling of CDATA has come up on a few separate Twitter messages (tweets). In this post I will describe how to handle CDATA using EclipseLink JAXB (MOXy).&lt;/span&gt;&lt;br&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2010/07/cdata-cdata-run-run-data-run.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-5628231812113342512?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/5628231812113342512/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2010/07/cdata-cdata-run-run-data-run.html#comment-form' title='15 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/5628231812113342512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/5628231812113342512'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2010/07/cdata-cdata-run-run-data-run.html' title='CDATA, CDATA Run, Run Data Run'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>15</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1710464868724994296.post-1018710670230724876</id><published>2010-07-12T15:55:00.019-04:00</published><updated>2011-09-22T12:13:24.802-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JAXB'/><category scheme='http://www.blogger.com/atom/ns#' term='EclipseLink'/><category scheme='http://www.blogger.com/atom/ns#' term='MOXy'/><category scheme='http://www.blogger.com/atom/ns#' term='XmlAdapter'/><title type='text'>XmlAdapter - JAXB's Secret Weapon</title><content type='html'>&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;The XmlAdapter mechanism in JAXB ensures that there is no such thing as an unmappable class (with a little programmatic help). However there appears to be some confusion on how to use XmlAdapter, below is the general concept:&lt;/span&gt;&lt;br&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;Identify the unmappable class &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;Create an equivalent class that is mappable &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;Create an XmlAdapter to convert between unmappable and mappable objects &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;Specify the XmlAdapter &lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;Part of the problem may be due to the &lt;/span&gt;&lt;a href="http://download.oracle.com/docs/cd/E17409_01/javase/6/docs/api/javax/xml/bind/annotation/adapters/XmlAdapter.html"&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;Javadocs on the XmlAdapter class&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;. Below I&amp;#39;ll flush out the example used there.&lt;/span&gt;&lt;br&gt;&lt;span style="font-family: Arial,Helvetica,sans-serif;"&gt;&lt;/span&gt;&lt;br&gt;&lt;a href="http://blog.bdoughan.com/2010/07/xmladapter-jaxbs-secret-weapon.html#more"&gt;Read more »&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1710464868724994296-1018710670230724876?l=blog.bdoughan.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.bdoughan.com/feeds/1018710670230724876/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://blog.bdoughan.com/2010/07/xmladapter-jaxbs-secret-weapon.html#comment-form' title='35 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/1018710670230724876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1710464868724994296/posts/default/1018710670230724876'/><link rel='alternate' type='text/html' href='http://blog.bdoughan.com/2010/07/xmladapter-jaxbs-secret-weapon.html' title='XmlAdapter - JAXB&apos;s Secret Weapon'/><author><name>Blaise Doughan</name><uri>http://www.blogger.com/profile/02016807982653343777</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_pNe6uY1wAw4/TDY9Cu_1J-I/AAAAAAAAAAM/TJ1EXJYjj5M/s1600-R/dc3ee2f4f742fbbafeeb0b7414cb6fd2.png'/></author><thr:total>35</thr:total></entry></feed>
