tony2001                Tue Sep 19 09:04:16 2006 UTC

  Added files:                 (Branch: PHP_5_2)
    /php-src/ext/standard/tests/array   bug34066.phpt bug34066_1.phpt 

  Modified files:              
    /php-src    NEWS 
    /php-src/ext/standard       array.c 
  Log:
  MFH: fix #34066 (recursive array_walk causes segfault)
  add tests
  
  
http://cvs.php.net/viewvc.cgi/php-src/NEWS?r1=1.2027.2.547.2.255&r2=1.2027.2.547.2.256&diff_format=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.2027.2.547.2.255 php-src/NEWS:1.2027.2.547.2.256
--- php-src/NEWS:1.2027.2.547.2.255     Mon Sep 18 16:11:50 2006
+++ php-src/NEWS        Tue Sep 19 09:04:15 2006
@@ -5,6 +5,7 @@
   (Tony)
 - Fixed bug #38574 (missing curl constants and improper constant detection).
   (Ilia)
+- Fixed bug #34066 (recursive array_walk causes segfault). (Tony)
 
 14 Sep 2006, PHP 5.2.0RC4
 - Added DSA key generation support to openssl_pkey_new(), FR #38731
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/array.c?r1=1.308.2.21.2.10&r2=1.308.2.21.2.11&diff_format=u
Index: php-src/ext/standard/array.c
diff -u php-src/ext/standard/array.c:1.308.2.21.2.10 
php-src/ext/standard/array.c:1.308.2.21.2.11
--- php-src/ext/standard/array.c:1.308.2.21.2.10        Wed Sep  6 17:25:57 2006
+++ php-src/ext/standard/array.c        Tue Sep 19 09:04:15 2006
@@ -21,7 +21,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: array.c,v 1.308.2.21.2.10 2006/09/06 17:25:57 iliaa Exp $ */
+/* $Id: array.c,v 1.308.2.21.2.11 2006/09/19 09:04:15 tony2001 Exp $ */
 
 #include "php.h"
 #include "php_ini.h"
@@ -1131,32 +1131,28 @@
    Apply a user function to every member of an array */
 PHP_FUNCTION(array_walk)
 {
-       int     argc;
-       zval **array,
-                **userdata = NULL,
+       zval *array,
+                *userdata = NULL,
+                *tmp,
                 **old_walk_func_name;
        HashTable *target_hash;
 
-       argc = ZEND_NUM_ARGS();
        old_walk_func_name = BG(array_walk_func_name);
-       if (argc < 2 || argc > 3 ||
-               zend_get_parameters_ex(argc, &array, &BG(array_walk_func_name), 
&userdata) == FAILURE) {
-               BG(array_walk_func_name) = old_walk_func_name;
-               WRONG_PARAM_COUNT;
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "az|z", &array, 
&tmp, &userdata) == FAILURE) {
+               return;
        }
-       target_hash = HASH_OF(*array);
+       target_hash = HASH_OF(array);
        if (!target_hash) {
                php_error_docref(NULL TSRMLS_CC, E_WARNING, "The argument 
should be an array");
-               BG(array_walk_func_name) = old_walk_func_name;
                RETURN_FALSE;
        }
-       if (Z_TYPE_PP(BG(array_walk_func_name)) != IS_ARRAY && 
-               Z_TYPE_PP(BG(array_walk_func_name)) != IS_STRING) {
+       if (Z_TYPE_P(tmp) != IS_ARRAY && Z_TYPE_P(tmp) != IS_STRING) {
                php_error_docref(NULL TSRMLS_CC, E_WARNING, "Wrong syntax for 
function name");
-               BG(array_walk_func_name) = old_walk_func_name;
                RETURN_FALSE;
+       } else {
+               BG(array_walk_func_name) = &tmp;
        }
-       php_array_walk(target_hash, userdata, 0 TSRMLS_CC);
+       php_array_walk(target_hash, userdata ? &userdata: NULL, 0 TSRMLS_CC);
        BG(array_walk_func_name) = old_walk_func_name;
        RETURN_TRUE;
 }
@@ -1166,32 +1162,28 @@
    Apply a user function recursively to every member of an array */
 PHP_FUNCTION(array_walk_recursive)
 {
-       int     argc;
-       zval **array,
-                **userdata = NULL,
+       zval *array,
+                *userdata = NULL,
+                *tmp,
                 **old_walk_func_name;
        HashTable *target_hash;
 
-       argc = ZEND_NUM_ARGS();
        old_walk_func_name = BG(array_walk_func_name);
-
-       if (argc < 2 || argc > 3 ||
-               zend_get_parameters_ex(argc, &array, &BG(array_walk_func_name), 
&userdata) == FAILURE) {
-               BG(array_walk_func_name) = old_walk_func_name;
-               WRONG_PARAM_COUNT;
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "az|z", &array, 
&tmp, &userdata) == FAILURE) {
+               return;
        }
-       target_hash = HASH_OF(*array);
+       target_hash = HASH_OF(array);
        if (!target_hash) {
                php_error_docref(NULL TSRMLS_CC, E_WARNING, "The argument 
should be an array");
-               BG(array_walk_func_name) = old_walk_func_name;
                RETURN_FALSE;
        }
-       if (Z_TYPE_PP(BG(array_walk_func_name)) != IS_ARRAY && 
Z_TYPE_PP(BG(array_walk_func_name)) != IS_STRING) {
+       if (Z_TYPE_P(tmp) != IS_ARRAY && Z_TYPE_P(tmp) != IS_STRING) {
                php_error_docref(NULL TSRMLS_CC, E_WARNING, "Wrong syntax for 
function name");
-               BG(array_walk_func_name) = old_walk_func_name;
                RETURN_FALSE;
+       } else {
+               BG(array_walk_func_name) = &tmp;
        }
-       php_array_walk(target_hash, userdata, 1 TSRMLS_CC);
+       php_array_walk(target_hash, userdata ? &userdata : NULL, 1 TSRMLS_CC);
        BG(array_walk_func_name) = old_walk_func_name;
        RETURN_TRUE;
 }

http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/bug34066.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/array/bug34066.phpt
+++ php-src/ext/standard/tests/array/bug34066.phpt
--TEST--
Bug #34066 (recursive array_walk causes segfault)
--FILE--
<?php

    $order = array(
        "DocID"                 =>      "1",
        "DocDate"               =>      "19.09.06",
        "ReSubmissionDate"      =>      "",
        "DocTyp"                =>      "Stapelauftrag",
        "CustID"                =>      "00000",
        "CustomerAddress" => array(
            array(
                "Name1"         =>      'name1',
                "Name2"         =>      'name2',
                "Name3"         =>      "",
                "City"          =>      'city',
                "Street"        =>      'street',
                "Postal"        =>      'postcode',
                "IATA"          =>      "90",
                "Country"       =>      "Deutschland",
                "ShortName"     =>      'short',
                "ContactKey"    =>      "",
                "EMail"         =>      '[EMAIL PROTECTED]',
            )
        ),
        "Text1"                 =>      "",
        "Text2"                 =>      "",
        "Wildcard1"             =>      "",
        "Wildcard2"             =>      "",
        "Dispatch"              =>      "Paketdienst",
        "Weight"                =>      "0,0",
        "BillingCustID"         =>      "4300200000",
        "ExtDocNr"              =>      "00000000003",
        "AnalysisLock"          =>      "",
        "PrintFlag"             =>      "",
        "FormType"              =>      "0",
        "Curr"                  =>      "EUR",
        "ExChangeRate"          =>      "1,0000",
        "WIRRate"               =>      "0",
        "OneTimeCustomer" => array(
            array(
                "BankCode"      =>      "",
                "BankAccount"   =>      ""
            )
        ),
        "Language"              =>      "0",
        "PriceGroup"            =>      "1",
        "PrFlag"                =>      "0",
        "SalesTaxKey"           =>      "1",
        "ProceedKey"            =>      "0",
        "CustDiscountGroup"     =>      "0",
        "Discount" => array(
            array(
                "FinDisc1"      =>      "0,00",
                "Disc1Base"     =>      "145,72",
                "Disc1Value"    =>      "0,00",
                "FinDisc2"      =>      "0,00",
                "Disc2Base"     =>      "145,72",
                "Disc2Value"    =>      "0,00",
                "FinDisc3"      =>      "0,00",
                "Disc3Base"     =>      "145,72",
                "Disc3Value"    =>      "0,00",
                "ValueSummary"  =>      "0,00"
            )
        ),
        "Contact" => array(
            array(
                "Repr"          =>      "999",
                "Region"        =>      "99",
                "Commission"    =>      "0,00",
                "Agent"         =>      "000000"
            )
        ),
        "Booking" => array(
            array(
                "CostUnit"      =>      "0000000000",
                "CostCentre"    =>      "0000000000",
                "AccountingArea"=>      "01"
            )
        ),
        "InvoiceCycleKey"       =>      "0",
        "AnalysisKey"           =>      "",
        "OrderNumber"           =>      "",
        "OrderDate"             =>      "",
        "OrderCode"             =>      "",
        "DocItems" => array(
            "DocItem" => array(
                "PosType"               =>      "1",
                "ItemRef"               =>      "1002",
                "CRef"                  =>      "",
                "Desc1"                 =>      "Pr�sentation Niederlande 
per",
                "Desc2"                 =>      "",
                "ArticleGroup"          =>      "102",
                "PosTypeVersion"        =>      "E",
                "Delivery" => array(
                    array(
                        "DelWeek"       =>      "",
                        "DelDay"        =>      "",
                        "DelTime"       =>      ""
                    )
                ),
        "PricePu"               =>      "145,72",
        "PriceUnit"             =>      "0",
        "PriceCalculation"      =>      "0",
        "ItemVal"               =>      "145,72",
        "InputKey"              =>      "0",
        "AveragePurchasePrice"  =>      "0",
                "Tax" => array(
                    array(
                        "TaxCode"       =>      "00",
                        "TaxBra"        =>      "000",
                        "TaxBraAccess"  =>      "0",
                        "TaxSumIndex"   =>      "0"
                    )
                ),
                "DiscountArticle" => array(
                    array(
                        "DiscPC"        =>      "0,00",
                        "DiscKey"       =>      "1"
                    )
                ),
                "ProceedKeyArticle"     =>      "01",
                "ActionKey"             =>      "00",
                "ContactCommissionArticle"=>    "0,00",
                "QuantDependantPriceKey"=>      "",
                "Quant"                 =>      "1",
                "QuantUnit"             =>      "",
                "Meas" => array(
                    array(
                        "Count"         =>      "1",
                        "Length"        =>      "0,000",
                        "Width"         =>      "0,000",
                        "Height"        =>      "0,000"
                    )
                ),
                "DecimalPlace"          =>      "0",
                "MultiplierQuant"       =>      "1,000000",
                "DifferingQuantUnit"    =>      "",
                "DecimalPlaceConversion"=>      "0",
                "WeightArticle" => array(
                    array(
                        "Amount"        =>      "0",
                        "Unit"          =>      "0"
                    )
                ),
                "Wreath"                =>      "0,000",
                "Stock"                 =>      "1",
                "CostUnitArticle"       =>      "",
                "SerialNbKey"           =>      "0",
                "TextComplementKey"     =>      "0",
                "PartsListPrintKey"     =>      "",
                "Prod"                  =>      "0000000000"
            )
        ),
        "Payment" => array(
            "PaymentKey"                =>      "0",
            "ReminderKey"               =>      "00",
            "PayTerms" => array(
                array(
                    "PayTerm"           =>      "1",
                    "PayDays"           =>      "000",
                    "CashDiscDays1"     =>      "000",
                    "CashDiscDays2"     =>      "000",
                    "CashDiscPer1"      =>      "0,00",
                    "CashDiscPer2"      =>      "0,00"
                ),
                array(
                    "PayTerm"           =>      "2",
                    "PayDays"           =>      "000",
                    "CashDiscDays1"     =>      "000",
                    "CashDiscDays2"     =>      "000",
                    "CashDiscPer1"      =>      "0,00",
                    "CashDiscPer2"      =>      "0,00"
                )
            )
        ),
        "NetAmountByTurnOverTax" => array(
            array(
                "TurnOverTaxFree"       =>      "145,72",
                "TurnOverTax1"          =>      "0,00",
                "TurnOverTax2"          =>      "0,00",
                "TurnOverTax3"          =>      "0,00",
                "TurnOverTax4"          =>      "0,00",
                "TurnOverTax5"          =>      "0,00",
                "TurnOverTax6"          =>      "0,00",
                "TurnOverTax7"          =>      "0,00",
                "TurnOverTax8"          =>      "0,00"
            ),
        ),
        "GrossAmount"                   =>      "145,72",
        "ProceedAmount"                 =>      "145,72",
        "NetAmountByPayTerm2" => array(
            array(
                "Sum0"                  =>      "0,00",
                "Sum1"                  =>      "0,00",
                "Sum2"                  =>      "0,00",
                "Sum3"                  =>      "0,00",
                "Sum4"                  =>      "0,00",
                "Sum5"                  =>      "0,00",
                "Sum6"                  =>      "0,00",
                "Sum7"                  =>      "0,00",
                "Sum8"                  =>      "0,00"
            ),
        ),
        "TaxCodes" => array(
            array(
                "TaxCode1"              =>      "0",
                "TaxCode2"              =>      "0",
                "TaxCode3"              =>      "0",
                "TaxCode4"              =>      "0",
                "TaxCode5"              =>      "0",
                "TaxCode6"              =>      "0",
                "TaxCode7"              =>      "0",
                "TaxCode8"              =>      "0"
            )
        )
    );
    $docs = array(
        array(
            "Version"                   =>      "1.0",
            "ProducerName"                      =>      "xxxxxxxx",
            "ProductName"                       =>      "Classic Line",
            "xmlns"                             =>      
"x-schema:CL310_DezABFSchema.XML"
        ),
        "Company" => array(
            array(
                "MandateNumber"         =>      "111",
                "MandateName"           =>      "xxx xxxxxxx-xxxxx xxxxxxx",
                "MandateCurr"           =>      "EUR"
            ),
        ),
        "Doc" => $order
    );

    dump2xml($docs);


function dump2xml($array) {
    // output of this goes through 2xml
    array_walk($array, "gen_xml", "/Docs/");
}
function gen_xml($val, $key, $prefix)
{
    global $xml_fd;
    print "gen_xml(prefix=$prefix)\n";
    if (is_array($val)) {
        if (preg_match('/^\d+$/', $key)) {
            if ($key == 1) {
                print substr($prefix, 0, -1) . "\n";
            }
            array_walk($val, "gen_xml", "$prefix@");
        }
        else {
            array_walk($val, "gen_xml", "$prefix$key/");
        }
    }
    else {
            if (strlen($val) > 0)
                print "$prefix$key=$val\n";
            else
                print "$prefix$key\n";
    }
    print "gen_xml(prefix=$prefix) end\n";
}
echo "Done\n";
?>
--EXPECTF--     
gen_xml(prefix=/Docs/)
gen_xml(prefix=/Docs/@)
/Docs/@Version=1.0
gen_xml(prefix=/Docs/@) end
gen_xml(prefix=/Docs/@)
/Docs/@ProducerName=xxxxxxxx
gen_xml(prefix=/Docs/@) end
gen_xml(prefix=/Docs/@)
/Docs/@ProductName=Classic Line
gen_xml(prefix=/Docs/@) end
gen_xml(prefix=/Docs/@)
/Docs/@xmlns=x-schema:CL310_DezABFSchema.XML
gen_xml(prefix=/Docs/@) end
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
gen_xml(prefix=/Docs/Company/)
gen_xml(prefix=/Docs/Company/@)
/Docs/Company/@MandateNumber=111
gen_xml(prefix=/Docs/Company/@) end
gen_xml(prefix=/Docs/Company/@)
/Docs/Company/@MandateName=xxx xxxxxxx-xxxxx xxxxxxx
gen_xml(prefix=/Docs/Company/@) end
gen_xml(prefix=/Docs/Company/@)
/Docs/Company/@MandateCurr=EUR
gen_xml(prefix=/Docs/Company/@) end
gen_xml(prefix=/Docs/Company/) end
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
gen_xml(prefix=/Docs/Doc/)
/Docs/Doc/DocID=1
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
/Docs/Doc/DocDate=19.09.06
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
/Docs/Doc/ReSubmissionDate
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
/Docs/Doc/DocTyp=Stapelauftrag
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
/Docs/Doc/CustID=00000
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
gen_xml(prefix=/Docs/Doc/CustomerAddress/)
gen_xml(prefix=/Docs/Doc/CustomerAddress/@)
/Docs/Doc/CustomerAddress/@Name1=name1
gen_xml(prefix=/Docs/Doc/CustomerAddress/@) end
gen_xml(prefix=/Docs/Doc/CustomerAddress/@)
/Docs/Doc/CustomerAddress/@Name2=name2
gen_xml(prefix=/Docs/Doc/CustomerAddress/@) end
gen_xml(prefix=/Docs/Doc/CustomerAddress/@)
/Docs/Doc/CustomerAddress/@Name3
gen_xml(prefix=/Docs/Doc/CustomerAddress/@) end
gen_xml(prefix=/Docs/Doc/CustomerAddress/@)
/Docs/Doc/CustomerAddress/@City=city
gen_xml(prefix=/Docs/Doc/CustomerAddress/@) end
gen_xml(prefix=/Docs/Doc/CustomerAddress/@)
/Docs/Doc/CustomerAddress/@Street=street
gen_xml(prefix=/Docs/Doc/CustomerAddress/@) end
gen_xml(prefix=/Docs/Doc/CustomerAddress/@)
/Docs/Doc/CustomerAddress/@Postal=postcode
gen_xml(prefix=/Docs/Doc/CustomerAddress/@) end
gen_xml(prefix=/Docs/Doc/CustomerAddress/@)
/Docs/Doc/CustomerAddress/@IATA=90
gen_xml(prefix=/Docs/Doc/CustomerAddress/@) end
gen_xml(prefix=/Docs/Doc/CustomerAddress/@)
/Docs/Doc/CustomerAddress/@Country=Deutschland
gen_xml(prefix=/Docs/Doc/CustomerAddress/@) end
gen_xml(prefix=/Docs/Doc/CustomerAddress/@)
/Docs/Doc/CustomerAddress/@ShortName=short
gen_xml(prefix=/Docs/Doc/CustomerAddress/@) end
gen_xml(prefix=/Docs/Doc/CustomerAddress/@)
/Docs/Doc/CustomerAddress/@ContactKey
gen_xml(prefix=/Docs/Doc/CustomerAddress/@) end
gen_xml(prefix=/Docs/Doc/CustomerAddress/@)
/Docs/Doc/CustomerAddress/@[EMAIL PROTECTED]
gen_xml(prefix=/Docs/Doc/CustomerAddress/@) end
gen_xml(prefix=/Docs/Doc/CustomerAddress/) end
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
/Docs/Doc/Text1
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
/Docs/Doc/Text2
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
/Docs/Doc/Wildcard1
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
/Docs/Doc/Wildcard2
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
/Docs/Doc/Dispatch=Paketdienst
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
/Docs/Doc/Weight=0,0
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
/Docs/Doc/BillingCustID=4300200000
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
/Docs/Doc/ExtDocNr=00000000003
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
/Docs/Doc/AnalysisLock
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
/Docs/Doc/PrintFlag
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
/Docs/Doc/FormType=0
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
/Docs/Doc/Curr=EUR
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
/Docs/Doc/ExChangeRate=1,0000
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
/Docs/Doc/WIRRate=0
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
gen_xml(prefix=/Docs/Doc/OneTimeCustomer/)
gen_xml(prefix=/Docs/Doc/OneTimeCustomer/@)
/Docs/Doc/OneTimeCustomer/@BankCode
gen_xml(prefix=/Docs/Doc/OneTimeCustomer/@) end
gen_xml(prefix=/Docs/Doc/OneTimeCustomer/@)
/Docs/Doc/OneTimeCustomer/@BankAccount
gen_xml(prefix=/Docs/Doc/OneTimeCustomer/@) end
gen_xml(prefix=/Docs/Doc/OneTimeCustomer/) end
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
/Docs/Doc/Language=0
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
/Docs/Doc/PriceGroup=1
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
/Docs/Doc/PrFlag=0
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
/Docs/Doc/SalesTaxKey=1
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
/Docs/Doc/ProceedKey=0
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
/Docs/Doc/CustDiscountGroup=0
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
gen_xml(prefix=/Docs/Doc/Discount/)
gen_xml(prefix=/Docs/Doc/Discount/@)
/Docs/Doc/Discount/@FinDisc1=0,00
gen_xml(prefix=/Docs/Doc/Discount/@) end
gen_xml(prefix=/Docs/Doc/Discount/@)
/Docs/Doc/Discount/@Disc1Base=145,72
gen_xml(prefix=/Docs/Doc/Discount/@) end
gen_xml(prefix=/Docs/Doc/Discount/@)
/Docs/Doc/Discount/@Disc1Value=0,00
gen_xml(prefix=/Docs/Doc/Discount/@) end
gen_xml(prefix=/Docs/Doc/Discount/@)
/Docs/Doc/Discount/@FinDisc2=0,00
gen_xml(prefix=/Docs/Doc/Discount/@) end
gen_xml(prefix=/Docs/Doc/Discount/@)
/Docs/Doc/Discount/@Disc2Base=145,72
gen_xml(prefix=/Docs/Doc/Discount/@) end
gen_xml(prefix=/Docs/Doc/Discount/@)
/Docs/Doc/Discount/@Disc2Value=0,00
gen_xml(prefix=/Docs/Doc/Discount/@) end
gen_xml(prefix=/Docs/Doc/Discount/@)
/Docs/Doc/Discount/@FinDisc3=0,00
gen_xml(prefix=/Docs/Doc/Discount/@) end
gen_xml(prefix=/Docs/Doc/Discount/@)
/Docs/Doc/Discount/@Disc3Base=145,72
gen_xml(prefix=/Docs/Doc/Discount/@) end
gen_xml(prefix=/Docs/Doc/Discount/@)
/Docs/Doc/Discount/@Disc3Value=0,00
gen_xml(prefix=/Docs/Doc/Discount/@) end
gen_xml(prefix=/Docs/Doc/Discount/@)
/Docs/Doc/Discount/@ValueSummary=0,00
gen_xml(prefix=/Docs/Doc/Discount/@) end
gen_xml(prefix=/Docs/Doc/Discount/) end
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
gen_xml(prefix=/Docs/Doc/Contact/)
gen_xml(prefix=/Docs/Doc/Contact/@)
/Docs/Doc/Contact/@Repr=999
gen_xml(prefix=/Docs/Doc/Contact/@) end
gen_xml(prefix=/Docs/Doc/Contact/@)
/Docs/Doc/Contact/@Region=99
gen_xml(prefix=/Docs/Doc/Contact/@) end
gen_xml(prefix=/Docs/Doc/Contact/@)
/Docs/Doc/Contact/@Commission=0,00
gen_xml(prefix=/Docs/Doc/Contact/@) end
gen_xml(prefix=/Docs/Doc/Contact/@)
/Docs/Doc/Contact/@Agent=000000
gen_xml(prefix=/Docs/Doc/Contact/@) end
gen_xml(prefix=/Docs/Doc/Contact/) end
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
gen_xml(prefix=/Docs/Doc/Booking/)
gen_xml(prefix=/Docs/Doc/Booking/@)
/Docs/Doc/Booking/@CostUnit=0000000000
gen_xml(prefix=/Docs/Doc/Booking/@) end
gen_xml(prefix=/Docs/Doc/Booking/@)
/Docs/Doc/Booking/@CostCentre=0000000000
gen_xml(prefix=/Docs/Doc/Booking/@) end
gen_xml(prefix=/Docs/Doc/Booking/@)
/Docs/Doc/Booking/@AccountingArea=01
gen_xml(prefix=/Docs/Doc/Booking/@) end
gen_xml(prefix=/Docs/Doc/Booking/) end
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
/Docs/Doc/InvoiceCycleKey=0
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
/Docs/Doc/AnalysisKey
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
/Docs/Doc/OrderNumber
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
/Docs/Doc/OrderDate
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
/Docs/Doc/OrderCode
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
gen_xml(prefix=/Docs/Doc/DocItems/)
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/)
/Docs/Doc/DocItems/DocItem/PosType=1
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/)
/Docs/Doc/DocItems/DocItem/ItemRef=1002
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/)
/Docs/Doc/DocItems/DocItem/CRef
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/)
/Docs/Doc/DocItems/DocItem/Desc1=Pr�sentation Niederlande per
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/)
/Docs/Doc/DocItems/DocItem/Desc2
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/)
/Docs/Doc/DocItems/DocItem/ArticleGroup=102
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/)
/Docs/Doc/DocItems/DocItem/PosTypeVersion=E
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/)
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/Delivery/)
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/Delivery/@)
/Docs/Doc/DocItems/DocItem/Delivery/@DelWeek
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/Delivery/@) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/Delivery/@)
/Docs/Doc/DocItems/DocItem/Delivery/@DelDay
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/Delivery/@) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/Delivery/@)
/Docs/Doc/DocItems/DocItem/Delivery/@DelTime
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/Delivery/@) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/Delivery/) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/)
/Docs/Doc/DocItems/DocItem/PricePu=145,72
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/)
/Docs/Doc/DocItems/DocItem/PriceUnit=0
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/)
/Docs/Doc/DocItems/DocItem/PriceCalculation=0
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/)
/Docs/Doc/DocItems/DocItem/ItemVal=145,72
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/)
/Docs/Doc/DocItems/DocItem/InputKey=0
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/)
/Docs/Doc/DocItems/DocItem/AveragePurchasePrice=0
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/)
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/Tax/)
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/Tax/@)
/Docs/Doc/DocItems/DocItem/Tax/@TaxCode=00
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/Tax/@) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/Tax/@)
/Docs/Doc/DocItems/DocItem/Tax/@TaxBra=000
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/Tax/@) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/Tax/@)
/Docs/Doc/DocItems/DocItem/Tax/@TaxBraAccess=0
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/Tax/@) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/Tax/@)
/Docs/Doc/DocItems/DocItem/Tax/@TaxSumIndex=0
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/Tax/@) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/Tax/) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/)
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/DiscountArticle/)
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/DiscountArticle/@)
/Docs/Doc/DocItems/DocItem/DiscountArticle/@DiscPC=0,00
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/DiscountArticle/@) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/DiscountArticle/@)
/Docs/Doc/DocItems/DocItem/DiscountArticle/@DiscKey=1
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/DiscountArticle/@) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/DiscountArticle/) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/)
/Docs/Doc/DocItems/DocItem/ProceedKeyArticle=01
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/)
/Docs/Doc/DocItems/DocItem/ActionKey=00
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/)
/Docs/Doc/DocItems/DocItem/ContactCommissionArticle=0,00
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/)
/Docs/Doc/DocItems/DocItem/QuantDependantPriceKey
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/)
/Docs/Doc/DocItems/DocItem/Quant=1
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/)
/Docs/Doc/DocItems/DocItem/QuantUnit
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/)
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/Meas/)
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/Meas/@)
/Docs/Doc/DocItems/DocItem/Meas/@Count=1
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/Meas/@) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/Meas/@)
/Docs/Doc/DocItems/DocItem/Meas/@Length=0,000
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/Meas/@) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/Meas/@)
/Docs/Doc/DocItems/DocItem/Meas/@Width=0,000
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/Meas/@) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/Meas/@)
/Docs/Doc/DocItems/DocItem/Meas/@Height=0,000
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/Meas/@) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/Meas/) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/)
/Docs/Doc/DocItems/DocItem/DecimalPlace=0
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/)
/Docs/Doc/DocItems/DocItem/MultiplierQuant=1,000000
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/)
/Docs/Doc/DocItems/DocItem/DifferingQuantUnit
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/)
/Docs/Doc/DocItems/DocItem/DecimalPlaceConversion=0
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/)
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/WeightArticle/)
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/WeightArticle/@)
/Docs/Doc/DocItems/DocItem/WeightArticle/@Amount=0
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/WeightArticle/@) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/WeightArticle/@)
/Docs/Doc/DocItems/DocItem/WeightArticle/@Unit=0
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/WeightArticle/@) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/WeightArticle/) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/)
/Docs/Doc/DocItems/DocItem/Wreath=0,000
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/)
/Docs/Doc/DocItems/DocItem/Stock=1
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/)
/Docs/Doc/DocItems/DocItem/CostUnitArticle
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/)
/Docs/Doc/DocItems/DocItem/SerialNbKey=0
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/)
/Docs/Doc/DocItems/DocItem/TextComplementKey=0
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/)
/Docs/Doc/DocItems/DocItem/PartsListPrintKey
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/) end
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/)
/Docs/Doc/DocItems/DocItem/Prod=0000000000
gen_xml(prefix=/Docs/Doc/DocItems/DocItem/) end
gen_xml(prefix=/Docs/Doc/DocItems/) end
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
gen_xml(prefix=/Docs/Doc/Payment/)
/Docs/Doc/Payment/PaymentKey=0
gen_xml(prefix=/Docs/Doc/Payment/) end
gen_xml(prefix=/Docs/Doc/Payment/)
/Docs/Doc/Payment/ReminderKey=00
gen_xml(prefix=/Docs/Doc/Payment/) end
gen_xml(prefix=/Docs/Doc/Payment/)
gen_xml(prefix=/Docs/Doc/Payment/PayTerms/)
gen_xml(prefix=/Docs/Doc/Payment/PayTerms/@)
/Docs/Doc/Payment/PayTerms/@PayTerm=1
gen_xml(prefix=/Docs/Doc/Payment/PayTerms/@) end
gen_xml(prefix=/Docs/Doc/Payment/PayTerms/@)
/Docs/Doc/Payment/PayTerms/@PayDays=000
gen_xml(prefix=/Docs/Doc/Payment/PayTerms/@) end
gen_xml(prefix=/Docs/Doc/Payment/PayTerms/@)
/Docs/Doc/Payment/PayTerms/@CashDiscDays1=000
gen_xml(prefix=/Docs/Doc/Payment/PayTerms/@) end
gen_xml(prefix=/Docs/Doc/Payment/PayTerms/@)
/Docs/Doc/Payment/PayTerms/@CashDiscDays2=000
gen_xml(prefix=/Docs/Doc/Payment/PayTerms/@) end
gen_xml(prefix=/Docs/Doc/Payment/PayTerms/@)
/Docs/Doc/Payment/PayTerms/@CashDiscPer1=0,00
gen_xml(prefix=/Docs/Doc/Payment/PayTerms/@) end
gen_xml(prefix=/Docs/Doc/Payment/PayTerms/@)
/Docs/Doc/Payment/PayTerms/@CashDiscPer2=0,00
gen_xml(prefix=/Docs/Doc/Payment/PayTerms/@) end
gen_xml(prefix=/Docs/Doc/Payment/PayTerms/) end
gen_xml(prefix=/Docs/Doc/Payment/PayTerms/)
/Docs/Doc/Payment/PayTerms
gen_xml(prefix=/Docs/Doc/Payment/PayTerms/@)
/Docs/Doc/Payment/PayTerms/@PayTerm=2
gen_xml(prefix=/Docs/Doc/Payment/PayTerms/@) end
gen_xml(prefix=/Docs/Doc/Payment/PayTerms/@)
/Docs/Doc/Payment/PayTerms/@PayDays=000
gen_xml(prefix=/Docs/Doc/Payment/PayTerms/@) end
gen_xml(prefix=/Docs/Doc/Payment/PayTerms/@)
/Docs/Doc/Payment/PayTerms/@CashDiscDays1=000
gen_xml(prefix=/Docs/Doc/Payment/PayTerms/@) end
gen_xml(prefix=/Docs/Doc/Payment/PayTerms/@)
/Docs/Doc/Payment/PayTerms/@CashDiscDays2=000
gen_xml(prefix=/Docs/Doc/Payment/PayTerms/@) end
gen_xml(prefix=/Docs/Doc/Payment/PayTerms/@)
/Docs/Doc/Payment/PayTerms/@CashDiscPer1=0,00
gen_xml(prefix=/Docs/Doc/Payment/PayTerms/@) end
gen_xml(prefix=/Docs/Doc/Payment/PayTerms/@)
/Docs/Doc/Payment/PayTerms/@CashDiscPer2=0,00
gen_xml(prefix=/Docs/Doc/Payment/PayTerms/@) end
gen_xml(prefix=/Docs/Doc/Payment/PayTerms/) end
gen_xml(prefix=/Docs/Doc/Payment/) end
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
gen_xml(prefix=/Docs/Doc/NetAmountByTurnOverTax/)
gen_xml(prefix=/Docs/Doc/NetAmountByTurnOverTax/@)
/Docs/Doc/NetAmountByTurnOverTax/@TurnOverTaxFree=145,72
gen_xml(prefix=/Docs/Doc/NetAmountByTurnOverTax/@) end
gen_xml(prefix=/Docs/Doc/NetAmountByTurnOverTax/@)
/Docs/Doc/NetAmountByTurnOverTax/@TurnOverTax1=0,00
gen_xml(prefix=/Docs/Doc/NetAmountByTurnOverTax/@) end
gen_xml(prefix=/Docs/Doc/NetAmountByTurnOverTax/@)
/Docs/Doc/NetAmountByTurnOverTax/@TurnOverTax2=0,00
gen_xml(prefix=/Docs/Doc/NetAmountByTurnOverTax/@) end
gen_xml(prefix=/Docs/Doc/NetAmountByTurnOverTax/@)
/Docs/Doc/NetAmountByTurnOverTax/@TurnOverTax3=0,00
gen_xml(prefix=/Docs/Doc/NetAmountByTurnOverTax/@) end
gen_xml(prefix=/Docs/Doc/NetAmountByTurnOverTax/@)
/Docs/Doc/NetAmountByTurnOverTax/@TurnOverTax4=0,00
gen_xml(prefix=/Docs/Doc/NetAmountByTurnOverTax/@) end
gen_xml(prefix=/Docs/Doc/NetAmountByTurnOverTax/@)
/Docs/Doc/NetAmountByTurnOverTax/@TurnOverTax5=0,00
gen_xml(prefix=/Docs/Doc/NetAmountByTurnOverTax/@) end
gen_xml(prefix=/Docs/Doc/NetAmountByTurnOverTax/@)
/Docs/Doc/NetAmountByTurnOverTax/@TurnOverTax6=0,00
gen_xml(prefix=/Docs/Doc/NetAmountByTurnOverTax/@) end
gen_xml(prefix=/Docs/Doc/NetAmountByTurnOverTax/@)
/Docs/Doc/NetAmountByTurnOverTax/@TurnOverTax7=0,00
gen_xml(prefix=/Docs/Doc/NetAmountByTurnOverTax/@) end
gen_xml(prefix=/Docs/Doc/NetAmountByTurnOverTax/@)
/Docs/Doc/NetAmountByTurnOverTax/@TurnOverTax8=0,00
gen_xml(prefix=/Docs/Doc/NetAmountByTurnOverTax/@) end
gen_xml(prefix=/Docs/Doc/NetAmountByTurnOverTax/) end
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
/Docs/Doc/GrossAmount=145,72
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
/Docs/Doc/ProceedAmount=145,72
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
gen_xml(prefix=/Docs/Doc/NetAmountByPayTerm2/)
gen_xml(prefix=/Docs/Doc/NetAmountByPayTerm2/@)
/Docs/Doc/NetAmountByPayTerm2/@Sum0=0,00
gen_xml(prefix=/Docs/Doc/NetAmountByPayTerm2/@) end
gen_xml(prefix=/Docs/Doc/NetAmountByPayTerm2/@)
/Docs/Doc/NetAmountByPayTerm2/@Sum1=0,00
gen_xml(prefix=/Docs/Doc/NetAmountByPayTerm2/@) end
gen_xml(prefix=/Docs/Doc/NetAmountByPayTerm2/@)
/Docs/Doc/NetAmountByPayTerm2/@Sum2=0,00
gen_xml(prefix=/Docs/Doc/NetAmountByPayTerm2/@) end
gen_xml(prefix=/Docs/Doc/NetAmountByPayTerm2/@)
/Docs/Doc/NetAmountByPayTerm2/@Sum3=0,00
gen_xml(prefix=/Docs/Doc/NetAmountByPayTerm2/@) end
gen_xml(prefix=/Docs/Doc/NetAmountByPayTerm2/@)
/Docs/Doc/NetAmountByPayTerm2/@Sum4=0,00
gen_xml(prefix=/Docs/Doc/NetAmountByPayTerm2/@) end
gen_xml(prefix=/Docs/Doc/NetAmountByPayTerm2/@)
/Docs/Doc/NetAmountByPayTerm2/@Sum5=0,00
gen_xml(prefix=/Docs/Doc/NetAmountByPayTerm2/@) end
gen_xml(prefix=/Docs/Doc/NetAmountByPayTerm2/@)
/Docs/Doc/NetAmountByPayTerm2/@Sum6=0,00
gen_xml(prefix=/Docs/Doc/NetAmountByPayTerm2/@) end
gen_xml(prefix=/Docs/Doc/NetAmountByPayTerm2/@)
/Docs/Doc/NetAmountByPayTerm2/@Sum7=0,00
gen_xml(prefix=/Docs/Doc/NetAmountByPayTerm2/@) end
gen_xml(prefix=/Docs/Doc/NetAmountByPayTerm2/@)
/Docs/Doc/NetAmountByPayTerm2/@Sum8=0,00
gen_xml(prefix=/Docs/Doc/NetAmountByPayTerm2/@) end
gen_xml(prefix=/Docs/Doc/NetAmountByPayTerm2/) end
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/Doc/)
gen_xml(prefix=/Docs/Doc/TaxCodes/)
gen_xml(prefix=/Docs/Doc/TaxCodes/@)
/Docs/Doc/TaxCodes/@TaxCode1=0
gen_xml(prefix=/Docs/Doc/TaxCodes/@) end
gen_xml(prefix=/Docs/Doc/TaxCodes/@)
/Docs/Doc/TaxCodes/@TaxCode2=0
gen_xml(prefix=/Docs/Doc/TaxCodes/@) end
gen_xml(prefix=/Docs/Doc/TaxCodes/@)
/Docs/Doc/TaxCodes/@TaxCode3=0
gen_xml(prefix=/Docs/Doc/TaxCodes/@) end
gen_xml(prefix=/Docs/Doc/TaxCodes/@)
/Docs/Doc/TaxCodes/@TaxCode4=0
gen_xml(prefix=/Docs/Doc/TaxCodes/@) end
gen_xml(prefix=/Docs/Doc/TaxCodes/@)
/Docs/Doc/TaxCodes/@TaxCode5=0
gen_xml(prefix=/Docs/Doc/TaxCodes/@) end
gen_xml(prefix=/Docs/Doc/TaxCodes/@)
/Docs/Doc/TaxCodes/@TaxCode6=0
gen_xml(prefix=/Docs/Doc/TaxCodes/@) end
gen_xml(prefix=/Docs/Doc/TaxCodes/@)
/Docs/Doc/TaxCodes/@TaxCode7=0
gen_xml(prefix=/Docs/Doc/TaxCodes/@) end
gen_xml(prefix=/Docs/Doc/TaxCodes/@)
/Docs/Doc/TaxCodes/@TaxCode8=0
gen_xml(prefix=/Docs/Doc/TaxCodes/@) end
gen_xml(prefix=/Docs/Doc/TaxCodes/) end
gen_xml(prefix=/Docs/Doc/) end
gen_xml(prefix=/Docs/) end
Done

http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/array/bug34066_1.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/array/bug34066_1.phpt
+++ php-src/ext/standard/tests/array/bug34066_1.phpt
--TEST--
Bug #34066 (recursive array_walk causes segfault)
--FILE--
<?php

    $order = array(
        "DocID"                 =>      "1",
        "DocDate"               =>      "19.09.06",
        "ReSubmissionDate"      =>      "",
        "DocTyp"                =>      "Stapelauftrag",
        "CustID"                =>      "00000",
        "CustomerAddress" => array(
            array(
                "Name1"         =>      'name1',
                "Name2"         =>      'name2',
                "Name3"         =>      "",
                "City"          =>      'city',
                "Street"        =>      'street',
                "Postal"        =>      'postcode',
                "IATA"          =>      "90",
                "Country"       =>      "Deutschland",
                "ShortName"     =>      'short',
                "ContactKey"    =>      "",
                "EMail"         =>      '[EMAIL PROTECTED]',
            )
        ),
        "Text1"                 =>      "",
        "Text2"                 =>      "",
        "Wildcard1"             =>      "",
        "Wildcard2"             =>      "",
        "Dispatch"              =>      "Paketdienst",
        "Weight"                =>      "0,0",
        "BillingCustID"         =>      "4300200000",
        "ExtDocNr"              =>      "00000000003",
        "AnalysisLock"          =>      "",
        "PrintFlag"             =>      "",
        "FormType"              =>      "0",
        "Curr"                  =>      "EUR",
        "ExChangeRate"          =>      "1,0000",
        "WIRRate"               =>      "0",
        "OneTimeCustomer" => array(
            array(
                "BankCode"      =>      "",
                "BankAccount"   =>      ""
            )
        ),
        "Language"              =>      "0",
        "PriceGroup"            =>      "1",
        "PrFlag"                =>      "0",
        "SalesTaxKey"           =>      "1",
        "ProceedKey"            =>      "0",
        "CustDiscountGroup"     =>      "0",
        "Discount" => array(
            array(
                "FinDisc1"      =>      "0,00",
                "Disc1Base"     =>      "145,72",
                "Disc1Value"    =>      "0,00",
                "FinDisc2"      =>      "0,00",
                "Disc2Base"     =>      "145,72",
                "Disc2Value"    =>      "0,00",
                "FinDisc3"      =>      "0,00",
                "Disc3Base"     =>      "145,72",
                "Disc3Value"    =>      "0,00",
                "ValueSummary"  =>      "0,00"
            )
        ),
        "Contact" => array(
            array(
                "Repr"          =>      "999",
                "Region"        =>      "99",
                "Commission"    =>      "0,00",
                "Agent"         =>      "000000"
            )
        ),
        "Booking" => array(
            array(
                "CostUnit"      =>      "0000000000",
                "CostCentre"    =>      "0000000000",
                "AccountingArea"=>      "01"
            )
        ),
        "InvoiceCycleKey"       =>      "0",
        "AnalysisKey"           =>      "",
        "OrderNumber"           =>      "",
        "OrderDate"             =>      "",
        "OrderCode"             =>      "",
        "DocItems" => array(
            "DocItem" => array(
                "PosType"               =>      "1",
                "ItemRef"               =>      "1002",
                "CRef"                  =>      "",
                "Desc1"                 =>      "Pr�sentation Niederlande 
per",
                "Desc2"                 =>      "",
                "ArticleGroup"          =>      "102",
                "PosTypeVersion"        =>      "E",
                "Delivery" => array(
                    array(
                        "DelWeek"       =>      "",
                        "DelDay"        =>      "",
                        "DelTime"       =>      ""
                    )
                ),
        "PricePu"               =>      "145,72",
        "PriceUnit"             =>      "0",
        "PriceCalculation"      =>      "0",
        "ItemVal"               =>      "145,72",
        "InputKey"              =>      "0",
        "AveragePurchasePrice"  =>      "0",
                "Tax" => array(
                    array(
                        "TaxCode"       =>      "00",
                        "TaxBra"        =>      "000",
                        "TaxBraAccess"  =>      "0",
                        "TaxSumIndex"   =>      "0"
                    )
                ),
                "DiscountArticle" => array(
                    array(
                        "DiscPC"        =>      "0,00",
                        "DiscKey"       =>      "1"
                    )
                ),
                "ProceedKeyArticle"     =>      "01",
                "ActionKey"             =>      "00",
                "ContactCommissionArticle"=>    "0,00",
                "QuantDependantPriceKey"=>      "",
                "Quant"                 =>      "1",
                "QuantUnit"             =>      "",
                "Meas" => array(
                    array(
                        "Count"         =>      "1",
                        "Length"        =>      "0,000",
                        "Width"         =>      "0,000",
                        "Height"        =>      "0,000"
                    )
                ),
                "DecimalPlace"          =>      "0",
                "MultiplierQuant"       =>      "1,000000",
                "DifferingQuantUnit"    =>      "",
                "DecimalPlaceConversion"=>      "0",
                "WeightArticle" => array(
                    array(
                        "Amount"        =>      "0",
                        "Unit"          =>      "0"
                    )
                ),
                "Wreath"                =>      "0,000",
                "Stock"                 =>      "1",
                "CostUnitArticle"       =>      "",
                "SerialNbKey"           =>      "0",
                "TextComplementKey"     =>      "0",
                "PartsListPrintKey"     =>      "",
                "Prod"                  =>      "0000000000"
            )
        ),
        "Payment" => array(
            "PaymentKey"                =>      "0",
            "ReminderKey"               =>      "00",
            "PayTerms" => array(
                array(
                    "PayTerm"           =>      "1",
                    "PayDays"           =>      "000",
                    "CashDiscDays1"     =>      "000",
                    "CashDiscDays2"     =>      "000",
                    "CashDiscPer1"      =>      "0,00",
                    "CashDiscPer2"      =>      "0,00"
                ),
                array(
                    "PayTerm"           =>      "2",
                    "PayDays"           =>      "000",
                    "CashDiscDays1"     =>      "000",
                    "CashDiscDays2"     =>      "000",
                    "CashDiscPer1"      =>      "0,00",
                    "CashDiscPer2"      =>      "0,00"
                )
            )
        ),
        "NetAmountByTurnOverTax" => array(
            array(
                "TurnOverTaxFree"       =>      "145,72",
                "TurnOverTax1"          =>      "0,00",
                "TurnOverTax2"          =>      "0,00",
                "TurnOverTax3"          =>      "0,00",
                "TurnOverTax4"          =>      "0,00",
                "TurnOverTax5"          =>      "0,00",
                "TurnOverTax6"          =>      "0,00",
                "TurnOverTax7"          =>      "0,00",
                "TurnOverTax8"          =>      "0,00"
            ),
        ),
        "GrossAmount"                   =>      "145,72",
        "ProceedAmount"                 =>      "145,72",
        "NetAmountByPayTerm2" => array(
            array(
                "Sum0"                  =>      "0,00",
                "Sum1"                  =>      "0,00",
                "Sum2"                  =>      "0,00",
                "Sum3"                  =>      "0,00",
                "Sum4"                  =>      "0,00",
                "Sum5"                  =>      "0,00",
                "Sum6"                  =>      "0,00",
                "Sum7"                  =>      "0,00",
                "Sum8"                  =>      "0,00"
            ),
        ),
        "TaxCodes" => array(
            array(
                "TaxCode1"              =>      "0",
                "TaxCode2"              =>      "0",
                "TaxCode3"              =>      "0",
                "TaxCode4"              =>      "0",
                "TaxCode5"              =>      "0",
                "TaxCode6"              =>      "0",
                "TaxCode7"              =>      "0",
                "TaxCode8"              =>      "0"
            )
        )
    );
    $docs = array(
        array(
            "Version"                   =>      "1.0",
            "ProducerName"                      =>      "xxxxxxxx",
            "ProductName"                       =>      "Classic Line",
            "xmlns"                             =>      
"x-schema:CL310_DezABFSchema.XML"
        ),
        "Company" => array(
            array(
                "MandateNumber"         =>      "111",
                "MandateName"           =>      "xxx xxxxxxx-xxxxx xxxxxxx",
                "MandateCurr"           =>      "EUR"
            ),
        ),
        "Doc" => $order
    );

    dump2xml($docs);


function dump2xml($array) {
    // output of this goes through 2xml
    array_walk_recursive($array, "gen_xml", "/Docs/");
}
function gen_xml($val, $key, $prefix)
{
    global $xml_fd;
    print "gen_xml(prefix=$prefix)\n";
    if (is_array($val)) {
        if (preg_match('/^\d+$/', $key)) {
            if ($key == 1) {
                print substr($prefix, 0, -1) . "\n";
            }
            array_walk_recursive($val, "gen_xml", "$prefix@");
        }
        else {
            array_walk_recursive($val, "gen_xml", "$prefix$key/");
        }
    }
    else {
            if (strlen($val) > 0)
                print "$prefix$key=$val\n";
            else
                print "$prefix$key\n";
    }
    print "gen_xml(prefix=$prefix) end\n";
}
echo "Done\n";
?>
--EXPECTF--     
gen_xml(prefix=/Docs/)
/Docs/Version=1.0
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/ProducerName=xxxxxxxx
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/ProductName=Classic Line
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/xmlns=x-schema:CL310_DezABFSchema.XML
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/MandateNumber=111
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/MandateName=xxx xxxxxxx-xxxxx xxxxxxx
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/MandateCurr=EUR
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/DocID=1
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/DocDate=19.09.06
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/ReSubmissionDate
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/DocTyp=Stapelauftrag
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/CustID=00000
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Name1=name1
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Name2=name2
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Name3
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/City=city
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Street=street
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Postal=postcode
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/IATA=90
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Country=Deutschland
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/ShortName=short
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/ContactKey
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/[EMAIL PROTECTED]
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Text1
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Text2
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Wildcard1
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Wildcard2
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Dispatch=Paketdienst
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Weight=0,0
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/BillingCustID=4300200000
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/ExtDocNr=00000000003
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/AnalysisLock
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/PrintFlag
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/FormType=0
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Curr=EUR
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/ExChangeRate=1,0000
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/WIRRate=0
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/BankCode
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/BankAccount
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Language=0
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/PriceGroup=1
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/PrFlag=0
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/SalesTaxKey=1
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/ProceedKey=0
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/CustDiscountGroup=0
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/FinDisc1=0,00
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Disc1Base=145,72
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Disc1Value=0,00
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/FinDisc2=0,00
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Disc2Base=145,72
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Disc2Value=0,00
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/FinDisc3=0,00
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Disc3Base=145,72
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Disc3Value=0,00
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/ValueSummary=0,00
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Repr=999
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Region=99
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Commission=0,00
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Agent=000000
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/CostUnit=0000000000
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/CostCentre=0000000000
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/AccountingArea=01
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/InvoiceCycleKey=0
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/AnalysisKey
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/OrderNumber
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/OrderDate
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/OrderCode
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/PosType=1
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/ItemRef=1002
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/CRef
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Desc1=Pr�sentation Niederlande per
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Desc2
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/ArticleGroup=102
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/PosTypeVersion=E
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/DelWeek
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/DelDay
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/DelTime
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/PricePu=145,72
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/PriceUnit=0
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/PriceCalculation=0
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/ItemVal=145,72
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/InputKey=0
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/AveragePurchasePrice=0
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/TaxCode=00
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/TaxBra=000
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/TaxBraAccess=0
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/TaxSumIndex=0
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/DiscPC=0,00
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/DiscKey=1
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/ProceedKeyArticle=01
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/ActionKey=00
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/ContactCommissionArticle=0,00
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/QuantDependantPriceKey
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Quant=1
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/QuantUnit
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Count=1
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Length=0,000
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Width=0,000
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Height=0,000
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/DecimalPlace=0
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/MultiplierQuant=1,000000
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/DifferingQuantUnit
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/DecimalPlaceConversion=0
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Amount=0
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Unit=0
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Wreath=0,000
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Stock=1
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/CostUnitArticle
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/SerialNbKey=0
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/TextComplementKey=0
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/PartsListPrintKey
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Prod=0000000000
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/PaymentKey=0
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/ReminderKey=00
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/PayTerm=1
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/PayDays=000
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/CashDiscDays1=000
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/CashDiscDays2=000
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/CashDiscPer1=0,00
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/CashDiscPer2=0,00
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/PayTerm=2
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/PayDays=000
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/CashDiscDays1=000
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/CashDiscDays2=000
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/CashDiscPer1=0,00
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/CashDiscPer2=0,00
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/TurnOverTaxFree=145,72
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/TurnOverTax1=0,00
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/TurnOverTax2=0,00
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/TurnOverTax3=0,00
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/TurnOverTax4=0,00
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/TurnOverTax5=0,00
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/TurnOverTax6=0,00
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/TurnOverTax7=0,00
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/TurnOverTax8=0,00
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/GrossAmount=145,72
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/ProceedAmount=145,72
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Sum0=0,00
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Sum1=0,00
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Sum2=0,00
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Sum3=0,00
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Sum4=0,00
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Sum5=0,00
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Sum6=0,00
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Sum7=0,00
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/Sum8=0,00
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/TaxCode1=0
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/TaxCode2=0
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/TaxCode3=0
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/TaxCode4=0
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/TaxCode5=0
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/TaxCode6=0
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/TaxCode7=0
gen_xml(prefix=/Docs/) end
gen_xml(prefix=/Docs/)
/Docs/TaxCode8=0
gen_xml(prefix=/Docs/) end
Done

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to