<!-- Copyright 2004 The Apache Software Foundation

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

         http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License. -->
<customer xmlns="http://openuri.org/mytest"
  gender="male"
  hexAtt="474749515457594747"
  base64Att="        
	VGhpcyBzdHJpbmcgaXMgYmFzZTY0QmluYXJ5IGVuY29kZWQh
	  ">
  <firstname>Howdy</firstname>
  <number>436</number>
  <number>123</number>
  <birthday>1998-08-26Z</birthday>
  <number>44</number>
  <number>933</number>
  <birthday>2000-08-06-08:00</birthday>
  <hex>454749515457595A4A</hex>
  <base64>VGhpcyBzdHJpbmcgaXMgYmFzZTY0QmluYXJ5IGVuY29kZWQh</base64>
</customer>
