diff --git a/core/DataTable/Renderer/Xml.php b/core/DataTable/Renderer/Xml.php index 5f99f066a55395e5c668f2b214690b1ae831b583..62ec9c5df9588e1b221742d52f129d7674d04336 100644 --- a/core/DataTable/Renderer/Xml.php +++ b/core/DataTable/Renderer/Xml.php @@ -260,7 +260,14 @@ class Piwik_DataTable_Renderer_Xml extends Piwik_DataTable_Renderer if(!is_array($row)) { $value = self::formatValueXml($row); - $out .= $prefixLine."\t\t<$rowId>".$value."</$rowId>\n"; + if(strlen($value) == 0) + { + $out .= $prefixLine."\t\t<$rowId />\n"; + } + else + { + $out .= $prefixLine."\t\t<$rowId>".$value."</$rowId>\n"; + } continue; } @@ -294,7 +301,14 @@ class Piwik_DataTable_Renderer_Xml extends Piwik_DataTable_Renderer { $value = self::formatValueXml($value); } - $out .= $prefixLine."\t\t<$name>".$value."</$name>\n"; + if(strlen($value) == 0) + { + $out .= $prefixLine."\t\t<$name />\n"; + } + else + { + $out .= $prefixLine."\t\t<$name>".$value."</$name>\n"; + } } $out .= "\t"; } @@ -308,7 +322,15 @@ class Piwik_DataTable_Renderer_Xml extends Piwik_DataTable_Renderer $out = ''; foreach($array as $keyName => $value) { - $out .= $prefixLine."\t<$keyName>".self::formatValueXml($value)."</$keyName>\n"; + $xmlValue = self::formatValueXml($value); + if(strlen($xmlValue) == 0) + { + $out .= $prefixLine."\t<$keyName />\n"; + } + else + { + $out .= $prefixLine."\t<$keyName>".$xmlValue."</$keyName>\n"; + } } return $out; } diff --git a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_day.xml b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_day.xml index 7d3b3432a5b734b544f50782e6d104d267025d9b..c25dd5ca272149ae4bb1371fee16f8a13c4bd213 100644 --- a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_day.xml +++ b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_day.xml @@ -42,7 +42,7 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>0%</bounce_rate> <exit_rate>0%</exit_rate> - <url></url> + <url /> </row> </result> <result date="2010-01-05"> diff --git a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_month.xml b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_month.xml index c093da3ce3f948c1f3ac9645a80ed3407a0fdf72..1c7e870e08ea873237f5b55d1422e494723d93da 100644 --- a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_month.xml +++ b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_month.xml @@ -56,7 +56,7 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>0%</bounce_rate> <exit_rate>0%</exit_rate> - <url></url> + <url /> </row> </result> <result date="2010-02" /> diff --git a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_week.xml b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_week.xml index f84a12fe5baa1c7970c04779666f47ba2047286d..be22e0d0a6c29978f3b6d11778e1536339386833 100644 --- a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_week.xml +++ b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_week.xml @@ -69,7 +69,7 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>0%</bounce_rate> <exit_rate>0%</exit_rate> - <url></url> + <url /> </row> </result> <result date="2010-01-11 to 2010-01-17" /> diff --git a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_year.xml b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_year.xml index 16e66ad377953db46d5e7126281f427eb46e6f57..eacc4282791a72698ba4fb8b76cbb144715a4306 100644 --- a/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_year.xml +++ b/tests/integration/expected/test_TwoVisitors_twoWebsites_differentDays__Actions.getPageUrls_year.xml @@ -56,7 +56,7 @@ <avg_time_on_page>0</avg_time_on_page> <bounce_rate>0%</bounce_rate> <exit_rate>0%</exit_rate> - <url></url> + <url /> </row> </result> <result date="2011" /> diff --git a/tests/integration/expected/test_ecommerceOrderWithItems_LiveEcommerceStatusOrdered__Live.getLastVisitsDetails_day.xml b/tests/integration/expected/test_ecommerceOrderWithItems_LiveEcommerceStatusOrdered__Live.getLastVisitsDetails_day.xml index b81c85ac7a15de505cbad1cbcf903e06a919c56f..faa2b74ecf55e0a4eca2a7d9a91613e9a6b60cf3 100644 --- a/tests/integration/expected/test_ecommerceOrderWithItems_LiveEcommerceStatusOrdered__Live.getLastVisitsDetails_day.xml +++ b/tests/integration/expected/test_ecommerceOrderWithItems_LiveEcommerceStatusOrdered__Live.getLastVisitsDetails_day.xml @@ -78,12 +78,12 @@ <providerUrl>http://piwik.org/faq/general/#faq_52</providerUrl> <referrerType>direct</referrerType> <referrerTypeName>Direct Entry</referrerTypeName> - <referrerName></referrerName> - <referrerKeyword></referrerKeyword> - <referrerKeywordPosition></referrerKeywordPosition> - <referrerUrl></referrerUrl> - <referrerSearchEngineUrl></referrerSearchEngineUrl> - <referrerSearchEngineIcon></referrerSearchEngineIcon> + <referrerName /> + <referrerKeyword /> + <referrerKeywordPosition /> + <referrerUrl /> + <referrerSearchEngineUrl /> + <referrerSearchEngineIcon /> <operatingSystem>Windows XP</operatingSystem> <operatingSystemShortName>Win XP</operatingSystemShortName> <operatingSystemIcon>plugins/UserSettings/images/os/WXP.gif</operatingSystemIcon> @@ -141,7 +141,7 @@ <customVariableValue4>PRODUCT THREE LEFT in cart</customVariableValue4> </row> </customVariables> - <icon></icon> + <icon /> </row> <row> <type>action</type> @@ -164,7 +164,7 @@ <customVariableValue5>Category TWO LEFT in cart</customVariableValue5> </row> </customVariables> - <icon></icon> + <icon /> </row> <row> <type>ecommerceAbandonedCart</type> @@ -183,7 +183,7 @@ <row> <itemSKU>SKU IN ABANDONED CART ONE</itemSKU> <itemName>PRODUCT ONE LEFT in cart</itemName> - <itemCategory></itemCategory> + <itemCategory /> <price>500.11</price> <quantity>1</quantity> </row> @@ -228,12 +228,12 @@ <providerUrl>http://piwik.org/faq/general/#faq_52</providerUrl> <referrerType>direct</referrerType> <referrerTypeName>Direct Entry</referrerTypeName> - <referrerName></referrerName> - <referrerKeyword></referrerKeyword> - <referrerKeywordPosition></referrerKeywordPosition> - <referrerUrl></referrerUrl> - <referrerSearchEngineUrl></referrerSearchEngineUrl> - <referrerSearchEngineIcon></referrerSearchEngineIcon> + <referrerName /> + <referrerKeyword /> + <referrerKeywordPosition /> + <referrerUrl /> + <referrerSearchEngineUrl /> + <referrerSearchEngineIcon /> <operatingSystem>Windows XP</operatingSystem> <operatingSystemShortName>Win XP</operatingSystemShortName> <operatingSystemIcon>plugins/UserSettings/images/os/WXP.gif</operatingSystemIcon> diff --git a/tests/integration/expected/test_ecommerceOrderWithItems__Live.getLastVisitsDetails_day.xml b/tests/integration/expected/test_ecommerceOrderWithItems__Live.getLastVisitsDetails_day.xml index 9879de971c5c38ee20d85dc14d2d64d10667a3af..9df6fa96058bac24f08779d2e9230b0134eba456 100644 --- a/tests/integration/expected/test_ecommerceOrderWithItems__Live.getLastVisitsDetails_day.xml +++ b/tests/integration/expected/test_ecommerceOrderWithItems__Live.getLastVisitsDetails_day.xml @@ -8,7 +8,7 @@ <visitorType>returningCustomer</visitorType> <visitorTypeIcon>plugins/Live/templates/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>0</visitConverted> - <visitConvertedIcon></visitConvertedIcon> + <visitConvertedIcon /> <visitEcommerceStatus>abandonedCart</visitEcommerceStatus> <visitEcommerceStatusIcon>themes/default/images/ecommerceAbandonedCart.gif</visitEcommerceStatusIcon> <actions>2</actions> @@ -30,7 +30,7 @@ <customVariableValue4>PRODUCT THREE LEFT in cart</customVariableValue4> </row> </customVariables> - <icon></icon> + <icon /> </row> <row> <type>action</type> @@ -53,7 +53,7 @@ <customVariableValue5>Category TWO LEFT in cart</customVariableValue5> </row> </customVariables> - <icon></icon> + <icon /> </row> <row> <type>ecommerceAbandonedCart</type> @@ -72,7 +72,7 @@ <row> <itemSKU>SKU IN ABANDONED CART ONE</itemSKU> <itemName>PRODUCT ONE LEFT in cart</itemName> - <itemCategory></itemCategory> + <itemCategory /> <price>500.11</price> <quantity>1</quantity> </row> @@ -117,12 +117,12 @@ <providerUrl>http://piwik.org/faq/general/#faq_52</providerUrl> <referrerType>direct</referrerType> <referrerTypeName>Direct Entry</referrerTypeName> - <referrerName></referrerName> - <referrerKeyword></referrerKeyword> - <referrerKeywordPosition></referrerKeywordPosition> - <referrerUrl></referrerUrl> - <referrerSearchEngineUrl></referrerSearchEngineUrl> - <referrerSearchEngineIcon></referrerSearchEngineIcon> + <referrerName /> + <referrerKeyword /> + <referrerKeywordPosition /> + <referrerUrl /> + <referrerSearchEngineUrl /> + <referrerSearchEngineIcon /> <operatingSystem>Windows XP</operatingSystem> <operatingSystemShortName>Win XP</operatingSystemShortName> <operatingSystemIcon>plugins/UserSettings/images/os/WXP.gif</operatingSystemIcon> @@ -176,7 +176,7 @@ <customVariableValue5>Electronics & Cameras</customVariableValue5> </row> </customVariables> - <icon></icon> + <icon /> </row> <row> <type>action</type> @@ -191,7 +191,7 @@ <customVariableValue5>Electronics & Cameras</customVariableValue5> </row> </customVariables> - <icon></icon> + <icon /> </row> <row> <type>action</type> @@ -214,7 +214,7 @@ <customVariableValue5>Electronics & Cameras</customVariableValue5> </row> </customVariables> - <icon></icon> + <icon /> </row> <row> <type>ecommerceOrder</type> @@ -266,7 +266,7 @@ <customVariableValue4>PRODUCT THREE LEFT in cart</customVariableValue4> </row> </customVariables> - <icon></icon> + <icon /> </row> <row> <type>action</type> @@ -289,7 +289,7 @@ <customVariableValue5>Category TWO LEFT in cart</customVariableValue5> </row> </customVariables> - <icon></icon> + <icon /> </row> <row> <type>ecommerceAbandonedCart</type> @@ -330,12 +330,12 @@ <providerUrl>http://piwik.org/faq/general/#faq_52</providerUrl> <referrerType>direct</referrerType> <referrerTypeName>Direct Entry</referrerTypeName> - <referrerName></referrerName> - <referrerKeyword></referrerKeyword> - <referrerKeywordPosition></referrerKeywordPosition> - <referrerUrl></referrerUrl> - <referrerSearchEngineUrl></referrerSearchEngineUrl> - <referrerSearchEngineIcon></referrerSearchEngineIcon> + <referrerName /> + <referrerKeyword /> + <referrerKeywordPosition /> + <referrerUrl /> + <referrerSearchEngineUrl /> + <referrerSearchEngineIcon /> <operatingSystem>Windows XP</operatingSystem> <operatingSystemShortName>Win XP</operatingSystemShortName> <operatingSystemIcon>plugins/UserSettings/images/os/WXP.gif</operatingSystemIcon> @@ -369,11 +369,11 @@ <visitIp>156.5.3.2</visitIp> <visitorType>new</visitorType> - <visitorTypeIcon></visitorTypeIcon> + <visitorTypeIcon /> <visitConverted>1</visitConverted> <visitConvertedIcon>themes/default/images/goal.png</visitConvertedIcon> <visitEcommerceStatus>none</visitEcommerceStatus> - <visitEcommerceStatusIcon></visitEcommerceStatusIcon> + <visitEcommerceStatusIcon /> <actions>3</actions> <actionDetails> <row> @@ -397,7 +397,7 @@ <customVariableValue5>Electronics & Cameras</customVariableValue5> </row> </customVariables> - <icon></icon> + <icon /> </row> <row> <type>goal</type> @@ -429,7 +429,7 @@ <customVariableValue5>Electronics & Cameras</customVariableValue5> </row> </customVariables> - <icon></icon> + <icon /> </row> <row> <type>action</type> @@ -448,7 +448,7 @@ <customVariableValue4>PRODUCT name</customVariableValue4> </row> </customVariables> - <icon></icon> + <icon /> </row> </actionDetails> <customVariables> @@ -478,12 +478,12 @@ <providerUrl>http://piwik.org/faq/general/#faq_52</providerUrl> <referrerType>direct</referrerType> <referrerTypeName>Direct Entry</referrerTypeName> - <referrerName></referrerName> - <referrerKeyword></referrerKeyword> - <referrerKeywordPosition></referrerKeywordPosition> - <referrerUrl></referrerUrl> - <referrerSearchEngineUrl></referrerSearchEngineUrl> - <referrerSearchEngineIcon></referrerSearchEngineIcon> + <referrerName /> + <referrerKeyword /> + <referrerKeywordPosition /> + <referrerUrl /> + <referrerSearchEngineUrl /> + <referrerSearchEngineIcon /> <operatingSystem>Windows XP</operatingSystem> <operatingSystemShortName>Win XP</operatingSystemShortName> <operatingSystemIcon>plugins/UserSettings/images/os/WXP.gif</operatingSystemIcon> diff --git a/tests/integration/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Live.getLastVisitsDetails_range.xml b/tests/integration/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Live.getLastVisitsDetails_range.xml index 18007836f77801b105b8b3d68fe3ded4d683b37f..cce468908c9dc28e109903e59d0c3daf01af5ea0 100644 --- a/tests/integration/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Live.getLastVisitsDetails_range.xml +++ b/tests/integration/expected/test_periodIsRange_dateIsLastN_MetadataAndNormalAPI__Live.getLastVisitsDetails_range.xml @@ -8,15 +8,15 @@ <visitorType>returning</visitorType> <visitorTypeIcon>plugins/Live/templates/images/returningVisitor.gif</visitorTypeIcon> <visitConverted>0</visitConverted> - <visitConvertedIcon></visitConvertedIcon> + <visitConvertedIcon /> <visitEcommerceStatus>none</visitEcommerceStatus> - <visitEcommerceStatusIcon></visitEcommerceStatusIcon> + <visitEcommerceStatusIcon /> <actions>1</actions> <actionDetails> <row> <type>outlink</type> <url>http://test.com</url> - <pageTitle></pageTitle> + <pageTitle /> <pageIdAction>5</pageIdAction> <pageId>4</pageId> @@ -54,12 +54,12 @@ <providerUrl>http://piwik.org/faq/general/#faq_52</providerUrl> <referrerType>direct</referrerType> <referrerTypeName>Direct Entry</referrerTypeName> - <referrerName></referrerName> - <referrerKeyword></referrerKeyword> - <referrerKeywordPosition></referrerKeywordPosition> - <referrerUrl></referrerUrl> - <referrerSearchEngineUrl></referrerSearchEngineUrl> - <referrerSearchEngineIcon></referrerSearchEngineIcon> + <referrerName /> + <referrerKeyword /> + <referrerKeywordPosition /> + <referrerUrl /> + <referrerSearchEngineUrl /> + <referrerSearchEngineIcon /> <operatingSystem>Windows XP</operatingSystem> <operatingSystemShortName>Win XP</operatingSystemShortName> <operatingSystemIcon>plugins/UserSettings/images/os/WXP.gif</operatingSystemIcon> @@ -93,18 +93,18 @@ <visitIp>156.5.3.2</visitIp> <visitorType>new</visitorType> - <visitorTypeIcon></visitorTypeIcon> + <visitorTypeIcon /> <visitConverted>1</visitConverted> <visitConvertedIcon>themes/default/images/goal.png</visitConvertedIcon> <visitEcommerceStatus>none</visitEcommerceStatus> - <visitEcommerceStatusIcon></visitEcommerceStatusIcon> + <visitEcommerceStatusIcon /> <actions>1</actions> <actionDetails> <row> <type>goal</type> <goalName>triggered js</goalName> <revenue>0</revenue> - <goalPageId></goalPageId> + <goalPageId /> <url>http://example.org/homepage</url> <icon>themes/default/images/goal.png</icon> @@ -141,12 +141,12 @@ <providerUrl>http://piwik.org/faq/general/#faq_52</providerUrl> <referrerType>direct</referrerType> <referrerTypeName>Direct Entry</referrerTypeName> - <referrerName></referrerName> - <referrerKeyword></referrerKeyword> - <referrerKeywordPosition></referrerKeywordPosition> - <referrerUrl></referrerUrl> - <referrerSearchEngineUrl></referrerSearchEngineUrl> - <referrerSearchEngineIcon></referrerSearchEngineIcon> + <referrerName /> + <referrerKeyword /> + <referrerKeywordPosition /> + <referrerUrl /> + <referrerSearchEngineUrl /> + <referrerSearchEngineIcon /> <operatingSystem>Windows XP</operatingSystem> <operatingSystemShortName>Win XP</operatingSystemShortName> <operatingSystemIcon>plugins/UserSettings/images/os/WXP.gif</operatingSystemIcon> @@ -180,11 +180,11 @@ <visitIp>156.5.3.2</visitIp> <visitorType>new</visitorType> - <visitorTypeIcon></visitorTypeIcon> + <visitorTypeIcon /> <visitConverted>1</visitConverted> <visitConvertedIcon>themes/default/images/goal.png</visitConvertedIcon> <visitEcommerceStatus>none</visitEcommerceStatus> - <visitEcommerceStatusIcon></visitEcommerceStatusIcon> + <visitEcommerceStatusIcon /> <actions>3</actions> <actionDetails> <row> @@ -194,7 +194,7 @@ <pageIdAction>2</pageIdAction> <pageId>1</pageId> - <icon></icon> + <icon /> </row> <row> <type>action</type> @@ -203,13 +203,13 @@ <pageIdAction>4</pageIdAction> <pageId>2</pageId> - <icon></icon> + <icon /> </row> <row> <type>goal</type> <goalName>triggered js</goalName> <revenue>0</revenue> - <goalPageId></goalPageId> + <goalPageId /> <url>http://example.org/user/profile</url> <icon>themes/default/images/goal.png</icon> @@ -221,7 +221,7 @@ <pageIdAction>4</pageIdAction> <pageId>3</pageId> - <icon></icon> + <icon /> </row> </actionDetails> <customVariables>