# Castor XML properties file
#
# This file specifies default values of Castor's XML modul which may be
# overwritten by the user through castor.properties file.
#
# $Id: castor.properties 7076 2007-07-24 22:03:25Z rjoachim $


# Defines a custom XML parser to be used by Castor. By default,
# Castor will use JAXP internally to obtain an XML parser.
# The parser must implement {@link org.xml.sax.Parser}.
#
# This property should be used in the following situations:
# a) A custom XML parser vendor should be used.
# b) With Java 5.0 and above, an external XML parser should be used.
#
# Possible values:
# <null> (default) (JAXP is used to instantiate the default XML parser).
# The fully-qualified class name of a SAX 2 XML parser.
#
# Sample:
# <pre>
# org.exolab.castor.parser=org.apache.xerces.parsers.SAXParser
# </pre>
#
org.exolab.castor.parser=

# Defines the (default) XML serializer factory to use by Castor, which must
# implement org.exolab.castor.xml.SerializerFactory; default is 
# org.exolab.castor.xml.XercesXMLSerializerFactory, using the Xerces 
# instance as shipped with the JRE. 
# 
# Even when using Castor XML with Java 5.0 and above, you may still want 
# to switch to the XercesXMLSerializerFactory, which will use a stand-alone 
# Xerces instance you will have to downloaded manually.
#
# Possible values:
# - org.exolab.castor.xml.XercesJDK5XMLSerializerFactory (default)
# - org.exolab.castor.xml.XercesXMLSerializerFactory
#
# Sample:
# To switch to an externally supplied version of Xerces, set the property
# as follows:
# <pre>
# org.exolab.castor.xml.serializer.factory=org.exolab.castor.xml.XercesXMLSerializerFactory
# </pre>
org.exolab.castor.xml.serializer.factory=org.exolab.castor.xml.XercesJDK5XMLSerializerFactory

# Defines the node type for use with Java primitive types (int, long, boolean, etc).
# This value is only used in introspection mode.
#
# Possible values:
# - attribute (default) (all primitives are marshaled as attributes).
# - element (all primitives are marshaled as elements).
#
# <pre>
# org.exolab.castor.xml.introspector.primitive.nodetype
# </pre>
#
org.exolab.castor.xml.introspector.primitive.nodetype=attribute

# Defines the Naming "style" or conventions to use when creating XML 
# names from Java class or field names. Valid values are as follows:
#
# Possible values:
# - lower (default)
# - mixed
# - A fully-qualified name of a class that implements org.exolab.castor.xml.XMLNaming.
#
# Rules applying:
# - lower: All names are lower case with hyphens separating words.
#          Example: personInfo (Java) = person-info (XML)
# - mixed: All names are mixed case, with upper case character as the first
#          letter of a new word.
#          Example: personInfo (Java) = personInfo (XML)
#          Example: FooBar (Java) = fooBar (XML)
#
# <pre>
# org.exolab.castor.xml.naming
# </pre>
#
org.exolab.castor.xml.naming=lower

# Property specifying the 'type' of the Java naming conventions
# to use. Values of this property must be either null or
# the name of a class which implements {@link org.castor.xml.JavaNaming}.
#
# Possible values:
# - <null> (default)
# - Name of a Java class which implements {@link org.castor.xml.JavaNaming}
#
# <pre>
# org.castor.xml.java_naming
# </pre>
#
org.castor.xml.java_naming=

# True if XML documents should be validated by the SAX Parser.
#
# Possible values:
# - false (default)
# - true
#
# <pre>
# org.exolab.castor.parser.validation
# </pre>
#
org.exolab.castor.parser.validation=false

# True for XML parser to support XML namespaces.
#
# Possible values:
# - false (default)
# - true
#
# <pre>
# org.exolab.castor.parser.namespaces
# </pre>
#
org.exolab.castor.parser.namespaces=false

# True if all documents should be validated by the marshaling 
# framework
#
# Possible values:
# - true (default)
# - false
#
# <pre>
# org.exolab.castor.marshalling.validation
# </pre>
#
org.exolab.castor.marshalling.validation=true

# Indicates whether XML documents (as generated during marshalling)
# should use indentation or not.
#
# Possible values:
# - false (default)
# - true
#
# <pre>
# org.exolab.castor.indent
# </pre>
#
org.exolab.castor.indent=false

# Comma-separated list of SAX 2 features that should be 
# enabled for the default parser.
#
# Possible values:
# - <null> (default)
# - A list if SAX 2 features (comma-separated) to be enabled. (default)
#
# <pre>
# org.exolab.castor.sax.features
# </pre>
#
org.exolab.castor.sax.features=
#org.exolab.castor.sax.features=http://apache.org/xml/features/disallow-doctype-decl

# Comma separated list of SAX 2 features that should be disabled for the
# default parser.
#
# Possible values:
# - <null> 
# - A list if SAX 2 features (comma-separated) to be disabled. (default)
#
# <pre>
# org.exolab.castor.sax.features-to-disable
# </pre>
#
org.exolab.castor.sax.features-to-disable=\
  http://xml.org/sax/features/external-general-entities,\
  http://xml.org/sax/features/external-parameter-entities,\
  http://apache.org/xml/features/nonvalidating/load-external-dtd

# Property specifying whether or not to search for an proxy interface at marshalling.
# If property is not empty the objects to be marshalled will be searched if they
# implement one of the given interface names. If the interface is implemented the
# superclass will be marshalled instead of the class itself.
#
#org.exolab.castor.xml.proxyInterfaces=\
#  net.sf.cglib.proxy.Factory, \
#  org.hibernate.proxy.HibernateProxy

# Property specifying the regular expression validator
# to use. If specified, the class specified must implement
# org.exolab.castor.util.RegExpValidator.
#
# Possible values:
# - <null> (default) 
# - org.exolab.castor.xml.util.AlwaysTrueRegExpEvaluator
#   (Suppresses regular expressions evaluation.)
# - org.exolab.castor.util.JakartaRegExpEvaluator 
#   (uses the Jakarta RegExp library)
# - org.exolab.castor.util.JakartaOroEvaluator
#   (uses the Jakarta ORO library).
# - org.exolab.castor.util.SunRegExpEvaluator
#   (uses the Java Regular Expression library).
# - org.exolab.castor.util.XercesRegExpEvaluator
#   (uses the regular expression library of Xerces)
#
# <pre>
# org.exolab.castor.regexp=
# </pre>
#
org.exolab.castor.regexp=

# Specifyies whether the ClassDescriptorResolver should (automatically) search
# for and consult with package mapping files (.castor.xml) to retrieve class
# descriptor information.
#
# Possible values:
# - false 
# - true (default)
#
# <pre>
# org.exolab.castor.xml.loadPackageMappings
# </pre>
#
org.exolab.castor.xml.loadPackageMappings=true
        
# Property specifying whether sequence order validation should 
# be lenient;
#
# Possible values:
# - false (default)
# - true 
#
# <pre>
# org.exolab.castor.xml.lenient.sequence.order
# </pre>
#
org.exolab.castor.xml.lenient.sequence.order=false
        
# Property specifying whether id/href validation should be lenient;
#
# Possible values:
# - false (default)
# - true 
#
# <pre>
# org.exolab.castor.xml.lenient.id.validation
# </pre>
#
org.exolab.castor.xml.lenient.id.validation=false

# Property specifying XML namespace to Java package mappings
#
# Possible values:
# - <null> (default)
# - A list of mappings (as shown below).
#
# Sample:
# <pre>
# org.exolab.castor.xml.nspackages=\
#  http://www.xyz.com/schemas/project=com.xyz.schemas.project,\
#  http://www.xyz.com/schemas/person=com.xyz.schemas.person
# </pre>
#
# <pre>
# org.exolab.castor.xml.nspackages=
# </pre>
# 
#org.exolab.castor.xml.nspackages=

# Property specifying whether to apply strictness to elements when
# unmarshalling.
# 
# When set to 'true', elements appearing in the XML document, 
# which cannot be mapped to a class, cause a {@link SAXException}
# to be thrown; if set to false, these 'unknown' elements are 
# simply ignored.
#
# Possible values:
# - false (default)
# - true 
#
# <pre>
# org.exolab.castor.xml.strictelements
# </pre>
#
org.exolab.castor.xml.strictelements=false

# Property specifying whether element strictness for introspected 
# classes/elements should be lenient (aka allowed);
#
# Possible values:
# - true (default)
# - false 
#
# <pre>
# org.exolab.castor.xml.lenient.introspected.element.strictness
# </pre>
#
org.exolab.castor.xml.lenient.introspected.element.strictness=true

# ******************************************************
# This section defines backwards compatibility switches.
# ******************************************************

# Property specifying whether or not to save the "keys" of a 
# {@link Hashtable} or {@link Map} during marshalling. 
#
# Possible values:
# - true (default)
# - false 
#
# <pre>
# org.exolab.castor.xml.saveMapKeys
# </pre>
#
# @since 0.9.5.3
#
org.exolab.castor.xml.saveMapKeys=true

# Property specifying if introspection should be used at class 
# resolving.
# 
# Possible values:
# - true (default)
# - false
# 
# <pre>
# org.castor.xml.class-resolver.use-introspection
# </pre>
#
org.castor.xml.class-resolver.use-introspection=true

# The property name for enabling collection wrapping.
# The property controls whether or not collections
# (arrays, vectors, etc) should be wrapped in a container element.
# For example:
#
# <pre>
#    &lt;foos&gt;
#       &lt;foo&gt;foo1&lt;/foo&gt;
#       &lt;foo&gt;foo2&lt;/foo&gt;
#    &lt;/foos&gt;
#
#   instead of the default:
#
#    &lt;foos&gt;foo1&lt;foos&gt;
#    &lt;foos&gt;foo2&lt;/foos&gt;
#
# </pre>
#
# Possible values:
# - false (default)
# - true
# 
# <pre>
# org.exolab.castor.xml.introspector.wrapCollections
# </pre>
#
org.exolab.castor.xml.introspector.wrapCollections=false

# Property that allows to specify whether the validation for 
# &lt;xs:integer&gt; should accept the old 'int/Integer' members as well;
# default to false.
# 
# Possible values:
# - false  (default)
# - true
# 
# <pre>
# org.exolab.castor.xml.lenient.integer.validation
# </pre>
# 
org.exolab.castor.xml.lenient.integer.validation=false    

# Property that allows to override Castor's introspector conversion rules for 
# member names; if enabled, even member names such as 'XMLMember' will be 
# camel-cased to 'xMLMember'; defaults to false.
# 
# Possible values:
# - false  (default)
# - true
# 
# <pre>
# org.exolab.castor.xml.member.naming.capitalisation.strict=false
# </pre>
org.exolab.castor.xml.member.naming.capitalisation.strict=false