rdonkin     2004/04/11 03:53:49

  Modified:    betwixt/xdocs tasks.xml
               betwixt/xdocs/guide binding.xml output.xml
  Log:
  Added documentation for options and CDATA encoding.
  
  Revision  Changes    Path
  1.28      +8 -0      jakarta-commons/betwixt/xdocs/tasks.xml
  
  Index: tasks.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/betwixt/xdocs/tasks.xml,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- tasks.xml 4 Apr 2004 11:04:03 -0000       1.27
  +++ tasks.xml 11 Apr 2004 10:53:49 -0000      1.28
  @@ -283,6 +283,14 @@
               <li>
   <strong>Added Support For Replacement Of Bad Characters</strong> to default mapping 
of element names.
               </li>
  +            <li>
  +<strong>Added Options mechanism</strong> for communication behaviour hints to 
optional
  +strategies.
  +            </li>
  +            <li>
  +<strong>CDATA encoding support</strong> add support for flexible coding of body 
text as CDATA
  +sections (in addition to character escaping).
  +            </li>
           </ul>
       </subsection>
   </section>
  
  
  
  1.5       +64 -1     jakarta-commons/betwixt/xdocs/guide/binding.xml
  
  Index: binding.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/betwixt/xdocs/guide/binding.xml,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- binding.xml       29 Feb 2004 21:58:36 -0000      1.4
  +++ binding.xml       11 Apr 2004 10:53:49 -0000      1.5
  @@ -476,6 +476,69 @@
           </p>
       </subsection>
   </section>
  -
  +    <section name='(Brief) Guide To Creating Custom Strategy Plugins'>
  +            <p>
  +It is common for users of Betwixt to need to develop their own custom strategies
  +to handle some parts of the binding process. This section contains some information
  +that may of of some use for those people. Help to create a more comprehensive guide
  +would be appreciated.
  +        </p>
  +        <subsection name='Using Options'>
  +            <p>
  +Options provide an extensible way for extra mapping information to be communicated
  +from the binding to those components executing the mapping. Each 
<code>Descriptor</code>
  +exposes an 
  +<a 
href='../apidocs/org/apache/commons/betwixt/Descriptor.html#getOptions()'>Options 
property</a>.
  +This contains a set of values indexed by name (both are strings). These options can 
be
  +set programmatically during the binding. They can also be set through the 
<code>.betwixt</code>
  +file.
  +        </p>
  +            <p>
  +Setting option values through the <code>.betwixt</code> file is easy: just add an 
  +<code>&lt;option&gt;</code> child element to an <code>&lt;element&gt;</code> 
element.
  +For example, the <code>XMLBeanInfo</code> for the following betwixt file:
  +        </p>
  +<source>
  +<![CDATA[
  +<?xml version='1.0'?>
  +<info primitiveTypes="attribute">
  +     <element name='some-bean'>
  +             <element name='some-property' property='someProperty'>
  +                     <option>
  +                             <name>org.apache.commons.betwixt.example-one</name>
  +                             <value>value-one</value>
  +                     </option>
  +             </element>
  +             <element name='another-property' property='anotherProperty'>
  +                     <option>
  +                             <name>org.apache.commons.betwixt.example-two</name>
  +                             <value>value-two</value>
  +                     </option>
  +             </element>
  +     </element>
  +</info>
  +]]>
  +</source>
  +            <p>
  +will have the value <em>value-one</em> associated with the option name
  +<em>org.apache.commons.betwixt.example-one</em> in the options for the 
  +<code>some-property</code> descriptor and <em>value-two</em>
  +associated with <em>org.apache.commons.betwixt.example-two</em>
  +for <code>another-property</code>.
  +Note that the last value set for a particular option name is the one that
  +will be used.
  +        </p>
  +            <p>
  +The recommended convention for naming option's is to prefix with the reverse domain
  +name (the same convension that is used for the standard naming of packages). 
  +In any case, all option names beginning with <code>org.apache</code> should be 
avoided since
  +these may be used by ASF products in the future.
  +        </p>
  +            <p>
  +At the moment, there is no support for inheritance of options (from parent to child)
  +through this may be considered later if there is sufficient demand.            
  +        </p>
  +    </subsection>
  +</section>
   </body>
   </document>
  
  
  
  1.2       +26 -1     jakarta-commons/betwixt/xdocs/guide/output.xml
  
  Index: output.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/betwixt/xdocs/guide/output.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- output.xml        4 Apr 2004 11:03:52 -0000       1.1
  +++ output.xml        11 Apr 2004 10:53:49 -0000      1.2
  @@ -76,8 +76,33 @@
           writer.setMixedContentEncodingStrategy(MixedContentEncodingStrategy.CDATA);
   </source>
               <p>
  -By default, Betwixt using escaping and produces no CDATA sections.
  +By default, Betwixt uses character escaping only. However, the default
  +strategy also supports per-property specification through
  +setting the appropriate <a href='binding.html#Using%20Options'>option</a>.
  +Setting the <code>org.apache.commons.betwixt.mixed-content-encoding</code>
  +option to <code>CDATA</code> will instruct the default strategy to wrap
  +the element's body text in a CDATA section.
  +For example, the following betwixt file fragment encodes the 
  +<code>some-property</code> element's body text as CDATA
  +(when the default strategy is used):
           </p>
  +<source>
  +<![CDATA[
  +<?xml version='1.0'?>
  +<info primitiveTypes="attribute">
  +     <element name='some-bean'>
  +        ...
  +             <element name='some-property' property='someProperty'>
  +                     <option>
  +                             
<name>org.apache.commons.betwixt.mixed-content-encoding</name>
  +                             <value>CDATA</value>
  +                     </option>
  +             </element>
  +        ...
  +     </element>
  +</info>
  +]]>
  +</source>
       </subsection>
   </section>
   <section name='Pushing Results to SAX'>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to