From 575d47124788abe99ee811bccc7183c31f07204e Mon Sep 17 00:00:00 2001 From: mattpiwik <matthieu.aubry@gmail.com> Date: Sun, 22 May 2011 23:34:58 +0000 Subject: [PATCH] XML output cleanup: empty elements were displaying as <referrerName></referrerName>, they now display as <referrerName /> Refs #1839 git-svn-id: http://dev.piwik.org/svn/trunk@4776 59fd770c-687e-43c8-a1e3-f5a4ff64c105 --- core/DataTable/Renderer/Xml.php | 28 +++++++- ...differentDays__Actions.getPageUrls_day.xml | 2 +- ...fferentDays__Actions.getPageUrls_month.xml | 2 +- ...ifferentDays__Actions.getPageUrls_week.xml | 2 +- ...ifferentDays__Actions.getPageUrls_year.xml | 2 +- ...Ordered__Live.getLastVisitsDetails_day.xml | 30 ++++----- ...thItems__Live.getLastVisitsDetails_day.xml | 64 +++++++++---------- ...alAPI__Live.getLastVisitsDetails_range.xml | 48 +++++++------- 8 files changed, 100 insertions(+), 78 deletions(-) diff --git a/core/DataTable/Renderer/Xml.php b/core/DataTable/Renderer/Xml.php index 5f99f066a5..62ec9c5df9 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 7d3b3432a5..c25dd5ca27 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 c093da3ce3..1c7e870e08 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 f84a12fe5b..be22e0d0a6 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 16e66ad377..eacc428279 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 b81c85ac7a..faa2b74ecf 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 9879de971c..9df6fa9605 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 18007836f7..cce468908c 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> -- GitLab