public function toXMLString()
 {
     $str = '';
     if ($this->ProfileID != null) {
         $str .= '<ebl:ProfileID>' . PPUtils::escapeInvalidXmlCharsRegex($this->ProfileID) . '</ebl:ProfileID>';
     }
     if ($this->Note != null) {
         $str .= '<ebl:Note>' . PPUtils::escapeInvalidXmlCharsRegex($this->Note) . '</ebl:Note>';
     }
     if ($this->Description != null) {
         $str .= '<ebl:Description>' . PPUtils::escapeInvalidXmlCharsRegex($this->Description) . '</ebl:Description>';
     }
     if ($this->SubscriberName != null) {
         $str .= '<ebl:SubscriberName>' . PPUtils::escapeInvalidXmlCharsRegex($this->SubscriberName) . '</ebl:SubscriberName>';
     }
     if ($this->SubscriberShippingAddress != null) {
         $str .= '<ebl:SubscriberShippingAddress>';
         $str .= $this->SubscriberShippingAddress->toXMLString();
         $str .= '</ebl:SubscriberShippingAddress>';
     }
     if ($this->ProfileReference != null) {
         $str .= '<ebl:ProfileReference>' . PPUtils::escapeInvalidXmlCharsRegex($this->ProfileReference) . '</ebl:ProfileReference>';
     }
     if ($this->AdditionalBillingCycles != null) {
         $str .= '<ebl:AdditionalBillingCycles>' . PPUtils::escapeInvalidXmlCharsRegex($this->AdditionalBillingCycles) . '</ebl:AdditionalBillingCycles>';
     }
     if ($this->Amount != null) {
         $str .= '<ebl:Amount';
         $str .= $this->Amount->toXMLString();
         $str .= '</ebl:Amount>';
     }
     if ($this->ShippingAmount != null) {
         $str .= '<ebl:ShippingAmount';
         $str .= $this->ShippingAmount->toXMLString();
         $str .= '</ebl:ShippingAmount>';
     }
     if ($this->TaxAmount != null) {
         $str .= '<ebl:TaxAmount';
         $str .= $this->TaxAmount->toXMLString();
         $str .= '</ebl:TaxAmount>';
     }
     if ($this->OutstandingBalance != null) {
         $str .= '<ebl:OutstandingBalance';
         $str .= $this->OutstandingBalance->toXMLString();
         $str .= '</ebl:OutstandingBalance>';
     }
     if ($this->AutoBillOutstandingAmount != null) {
         $str .= '<ebl:AutoBillOutstandingAmount>' . PPUtils::escapeInvalidXmlCharsRegex($this->AutoBillOutstandingAmount) . '</ebl:AutoBillOutstandingAmount>';
     }
     if ($this->MaxFailedPayments != null) {
         $str .= '<ebl:MaxFailedPayments>' . PPUtils::escapeInvalidXmlCharsRegex($this->MaxFailedPayments) . '</ebl:MaxFailedPayments>';
     }
     if ($this->CreditCard != null) {
         $str .= '<ebl:CreditCard>';
         $str .= $this->CreditCard->toXMLString();
         $str .= '</ebl:CreditCard>';
     }
     if ($this->BillingStartDate != null) {
         $str .= '<ebl:BillingStartDate>' . PPUtils::escapeInvalidXmlCharsRegex($this->BillingStartDate) . '</ebl:BillingStartDate>';
     }
     if ($this->TrialPeriod != null) {
         $str .= '<ebl:TrialPeriod>';
         $str .= $this->TrialPeriod->toXMLString();
         $str .= '</ebl:TrialPeriod>';
     }
     if ($this->PaymentPeriod != null) {
         $str .= '<ebl:PaymentPeriod>';
         $str .= $this->PaymentPeriod->toXMLString();
         $str .= '</ebl:PaymentPeriod>';
     }
     return $str;
 }
 public function toXMLString()
 {
     $str = '';
     if ($this->ProfileID != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:ProfileID>' . $this->ProfileID . '</ebl:ProfileID>';
     }
     if ($this->Note != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:Note>' . $this->Note . '</ebl:Note>';
     }
     if ($this->Description != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:Description>' . $this->Description . '</ebl:Description>';
     }
     if ($this->SubscriberName != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:SubscriberName>' . $this->SubscriberName . '</ebl:SubscriberName>';
     }
     if ($this->SubscriberShippingAddress != null) {
         //prop is not a collection
         //prop is complex
         //prop is not enum
         //does not contain attribute or is attribute
         $str .= '<ebl:SubscriberShippingAddress>';
         $str .= $this->SubscriberShippingAddress->toXMLString();
         $str .= '</ebl:SubscriberShippingAddress>';
     }
     if ($this->ProfileReference != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:ProfileReference>' . $this->ProfileReference . '</ebl:ProfileReference>';
     }
     if ($this->AdditionalBillingCycles != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:AdditionalBillingCycles>' . $this->AdditionalBillingCycles . '</ebl:AdditionalBillingCycles>';
     }
     if ($this->Amount != null) {
         //prop is not a collection
         //prop is complex
         //prop is not enum
         //prop containsattribute
         $str .= '<ebl:Amount';
         $str .= $this->Amount->toXMLString();
         $str .= '</ebl:Amount>';
     }
     if ($this->ShippingAmount != null) {
         //prop is not a collection
         //prop is complex
         //prop is not enum
         //prop containsattribute
         $str .= '<ebl:ShippingAmount';
         $str .= $this->ShippingAmount->toXMLString();
         $str .= '</ebl:ShippingAmount>';
     }
     if ($this->TaxAmount != null) {
         //prop is not a collection
         //prop is complex
         //prop is not enum
         //prop containsattribute
         $str .= '<ebl:TaxAmount';
         $str .= $this->TaxAmount->toXMLString();
         $str .= '</ebl:TaxAmount>';
     }
     if ($this->OutstandingBalance != null) {
         //prop is not a collection
         //prop is complex
         //prop is not enum
         //prop containsattribute
         $str .= '<ebl:OutstandingBalance';
         $str .= $this->OutstandingBalance->toXMLString();
         $str .= '</ebl:OutstandingBalance>';
     }
     if ($this->AutoBillOutstandingAmount != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:AutoBillOutstandingAmount>' . $this->AutoBillOutstandingAmount . '</ebl:AutoBillOutstandingAmount>';
     }
     if ($this->MaxFailedPayments != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:MaxFailedPayments>' . $this->MaxFailedPayments . '</ebl:MaxFailedPayments>';
     }
     if ($this->CreditCard != null) {
         //prop is not a collection
         //prop is complex
         //prop is not enum
         //does not contain attribute or is attribute
         $str .= '<ebl:CreditCard>';
         $str .= $this->CreditCard->toXMLString();
         $str .= '</ebl:CreditCard>';
     }
     if ($this->BillingStartDate != null) {
         //prop is not a collection
         //prop not complex
         //prop is not value
         $str .= '<ebl:BillingStartDate>' . $this->BillingStartDate . '</ebl:BillingStartDate>';
     }
     if ($this->TrialPeriod != null) {
         //prop is not a collection
         //prop is complex
         //prop is not enum
         //does not contain attribute or is attribute
         $str .= '<ebl:TrialPeriod>';
         $str .= $this->TrialPeriod->toXMLString();
         $str .= '</ebl:TrialPeriod>';
     }
     if ($this->PaymentPeriod != null) {
         //prop is not a collection
         //prop is complex
         //prop is not enum
         //does not contain attribute or is attribute
         $str .= '<ebl:PaymentPeriod>';
         $str .= $this->PaymentPeriod->toXMLString();
         $str .= '</ebl:PaymentPeriod>';
     }
     return $str;
 }