Google Apps Script-How to get value from XmlDocument? - google-apps-script

I am trying to get all calender details of all users. I got this successfully but its return result in Xml format as following:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<id>http://www.google.com/calendar/feeds/email-id/private/full</id>
<updated>2012-02-15T15:34:49.000Z</updated>
<category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/g/2005#event"/>
<title type="text">email-id</title>
<subtitle type="text">email-id</subtitle>
<link href="https://www.google.com/calendar/embed?src=email-id" rel="alternate" type="text/html"/>
<link href="https://www.google.com/calendar/feeds/email-id/private/full" rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"/>
<link href="https://www.google.com/calendar/feeds/email-id/private/full" rel="http://schemas.google.com/g/2005#post" type="application/atom+xml"/>
<link href="https://www.google.com/calendar/feeds/email-id/private/full/batch" rel="http://schemas.google.com/g/2005#batch" type="application/atom+xml"/>
<link href="https://www.google.com/calendar/feeds/email-id/private/full?max-results=25" rel="self" type="application/atom+xml"/>
<author>
<name>Name</name>
<email>email-id</email>
</author>
<generator uri="http://www.google.com/calendar" version="1.0">Google Calendar</generator>
<openSearch:totalResults xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">1</openSearch:totalResults>
<openSearch:startIndex xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">1</openSearch:startIndex>
<openSearch:itemsPerPage xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">25</openSearch:itemsPerPage>
<gCal:timezone value="Europe/Dublin" xmlns:gCal="http://schemas.google.com/gCal/2005"/>
<gCal:timesCleaned value="0" xmlns:gCal="http://schemas.google.com/gCal/2005"/>
<entry>
<id>http://www.google.com/calendar/feeds/email-id/private/full/vj39u2qedgphrp10nah92h6ho0</id>
<published>2012-02-15T11:21:54.000Z</published>
<updated>2012-02-15T11:21:54.000Z</updated>
<category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/g/2005#event"/>
<title type="text">Test Appointment</title>
<content type="text">This is a test description</content>
<link href="https://www.google.com/calendar/event?eid=dmozOXUycWVkZ3BocnAxMG5haDkyaDZobzAgcmFoaW1AZGFtc2" rel="alternate" title="alternate" type="text/html"/>
...
</entry>
</feed>
I want to get the value of title and content.Please share me with the solution
Thank you

Use the built-in Xml service https://developers.google.com/apps-script/service_xml.
With this sevice you can parse thru the xml document.

Related

Google Contacts API PUT Invalid XML Document

I am trying to update contact info (Nickname) through Google Contact API, but getting an Invalid XML Document error (400 Bad Request). The request that I am sending is documentation : https://developers.google.com/contacts/v3/#updating_contacts.
this is my request body:
<entry gd:etag="&quot;Qno-eTVSLit7I2A9XBJUF0kKRAY.&quot;">
<id>http://www.google.com/m8/feeds/contacts/cdatatester%40gmail.com/base/21aa268e8c9eea4c</id>
<updated>2019-01-17T15:52:03.451Z</updated>
<app:edited>2019-01-17T15:52:03.451Z</app:edited>
<category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/contact/2008#contact"></category>
<title>Elizabeth Bennet</title>
<content>Notes</content>
<link rel="http://schemas.google.com/contacts/2008/rel#photo" type="image/*" href="https://www.google.com/m8/feeds/photos/media/cdatatester%40gmail.com/21aa268e8c9eea4c"></link>
<link rel="self" type="application/atom+xml" href="https://www.google.com/m8/feeds/contacts/cdatatester%40gmail.com/full/21aa268e8c9eea4c"></link>
<link rel="edit" type="application/atom+xml" href="https://www.google.com/m8/feeds/contacts/cdatatester%40gmail.com/full/21aa268e8c9eea4c"></link>
<gd:name>
<gd:fullName>Elizabeth Bennet</gd:fullName>
<gd:givenName>Altin2</gd:givenName>
<gd:familyName>Bennet</gd:familyName>
</gd:name>
<gContact:nickname>Altin</gContact:nickname>
<gd:email rel="http://schemas.google.com/g/2005#home" address="liz#gmail.com"></gd:email>
<gd:email rel="http://schemas.google.com/g/2005#work" address="liz#example.org"></gd:email>
<gd:phoneNumber rel="http://schemas.google.com/g/2005#work" uri="tel:+1-206-555-1212">(206)555-1212</gd:phoneNumber>
<gd:phoneNumber rel="http://schemas.google.com/g/2005#home" uri="tel:+1-206-555-1213">(206)555-1213</gd:phoneNumber>
<gd:structuredPostalAddress rel="http://schemas.google.com/g/2005#home">
<gd:formattedAddress>1600 Amphitheatre Pkwy
Mountain View
CA</gd:formattedAddress>
<gd:street>1600 Amphitheatre Pkwy</gd:street>
<gd:city>Mountain View</gd:city>
<gd:country code="CA">CA</gd:country>
</gd:structuredPostalAddress>
<gContact:userDefinedField key="Color" value="Green"></gContact:userDefinedField>
<gContact:userDefinedField key="Size" value="Medium"></gContact:userDefinedField>
<gContact:groupMembershipInfo deleted="false" href="http://www.google.com/m8/feeds/groups/cdatatester%40gmail.com/base/6"></gContact:groupMembershipInfo>
<gContact:groupMembershipInfo deleted="false" href="http://www.google.com/m8/feeds/groups/cdatatester%40gmail.com/base/782732538ae3faa4"></gContact:groupMembershipInfo>
</entry>
Is there anything wrong with my request? I cannot spot any error.

Getting issue in making JSON request from xml request of SAP

My Requirement is to create a JSON for the below xml, and send as POST request to SAPNetweaver adapter.
SAP End point
URI: /sap/opu/odata/sap/ZPM_MOBILE_SRV/WOHeaderSet
Method: POST
Payload: 1 operation, 2 materials
XML request which contain two payload operations and material.
1. operation : WOHeaderOperation
2. materail : WOHeaderMaterial
this code basically contain two section one WOHeaderOperation and second for WOHeaderMaterial
<?xml version="1.0" encoding="UTF-8"?>
<atom:entry xmlns:atom="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
<atom:content type="application/xml">
<m:properties>
<d:Aufpl>1000000053</d:Aufpl>
<d:GltrpTms>1425887760</d:GltrpTms>
<d:GstrpTms>1425887760</d:GstrpTms>
<d:Auart>PM02</d:Auart>
<d:Ktext>Test for MAMBO 2</d:Ktext>
<d:Iwerk>KACT</d:Iwerk>
<d:Ingrp>KP</d:Ingrp>
<d:Gewrk>10000359</d:Gewrk>
<d:Tplnr>KAC-0P5010-PM1</d:Tplnr>
<d:Arbpl>10000359</d:Arbpl>
</m:properties>
</atom:content>
<atom:link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/WOHeaderOperation" type="application/atom+xml;type=feed" title="WOHeaderOperation">
<m:inline>
<atom:feed>
<atom:entry>
<atom:content type="application/xml">
<m:properties>
<d:Vornr>0010</d:Vornr>
<d:Ltxa1>Operation 1</d:Ltxa1>
<d:Indet>2</d:Indet>
</m:properties>
</atom:content>
</atom:entry>
</atom:feed>
</m:inline>
</atom:link>
<atom:link rel="http://schemas.microsoft.com/ado/2007/08/dataservices/related/WOHeaderMaterial" type="application/atom+xml;type=feed" title="WOHeaderMaterial">
<m:inline>
<atom:feed>
<atom:entry>
<atom:content type="application/xml">
<m:properties>
<d:Vornr>0010</d:Vornr>
<d:Posnr>0010</d:Posnr>
<d:Matnr>340</d:Matnr>
<d:Werks>KACT</d:Werks>
<d:Bdmng>7.000</d:Bdmng>
<d:Meins>PCE</d:Meins>
<d:Postp>L</d:Postp>
</m:properties>
</atom:content>
</atom:entry>
<atom:entry>
<atom:content type="application/xml">
<m:properties>
<d:Vornr>0010</d:Vornr>
<d:Posnr>0020</d:Posnr>
<d:Matnr>338</d:Matnr>
<d:Werks>KACT</d:Werks>
<d:Bdmng>10.000</d:Bdmng>
<d:Meins>PCE</d:Meins>
<d:Postp>L</d:Postp>
</m:properties>
</atom:content>
</atom:entry>
<atom:entry>
<atom:content type="application/xml">
<m:properties>
<d:Vornr>0010</d:Vornr>
<d:Posnr>0030</d:Posnr>
<d:Matnr>336</d:Matnr>
<d:Werks>KACT</d:Werks>
<d:Bdmng>10.000</d:Bdmng>
<d:Meins>PCE</d:Meins>
<d:Postp>L</d:Postp>
</m:properties>
</atom:content>
</atom:entry>
</atom:feed>
</m:inline>
</atom:link>
</atom:entry>
If you want it to be JSON, request it as such:
GET /sap/opu/odata/sap/ZPM_MOBILE_SRV/WOHeaderSet?$format=json
But Gateway will accept both JSON and XML so there is really no need other than your own preference.

Transforming XML to XSL with values on another location

I'm trying to convert my XML into an XSL.
I succeeded in making the first part, but now I'm stuck on the second part. I'm trying to obtain a value from a key where it is defined somewhere else.
Maybe its easier to just show u :
Incoming XML file:
<?xml version="1.0" encoding="utf-16"?>
<AXFRoot>
<MAObject type="default" mdclass="PROGRAM">
<GUID dmname="">201406121715517010024191178005056B93D790000004460B00000D0F000989</GUID>
<Meta name="VRT_ESSENCE_DURATION" format="string" frate="">355280</Meta>
<Meta name="VRT_ESSENCE_AUDIO_CHANNELS" format="string" frate="">4</Meta>
<Meta name="VRT_CLIP_ID" format="string" frate="" />
<StratumEx name="VRT_CONTENT">
<Group orderidx="0" id="0" lastchanged="00010101000000">
<Segment id="0" contentid="999e584a-7192-45ff-8570-af6587e2938f" begin="0" end="8600" />
<Segment id="1" contentid="23502d29-a0b4-48c5-a8b2-596a195e2768" begin="8640" end="19760" />
<Segment id="2" contentid="b246ffb6-a56f-4e4e-8bd9-5da3b9cd7351" begin="19800" end="34840" />
<Segment id="3" contentid="1643dde7-3c5d-4675-a52e-77d00b70309b" begin="49000" end="49000" />
<Segment id="4" contentid="5ce3968f-5324-4172-90f3-bd6d22f696a7" begin="54800" end="58480" />
</Group>
</StratumEx>
<StratumEx name="VRT_ITEMS">
<Group orderidx="0" id="0" lastchanged="00010101000000">
<Segment id="0" contentid="328626e6-c794-494d-939a-39f7aa2e5a85" begin="11120" end="49200" />
<Segment id="1" contentid="1effe83f-7076-418f-b86f-cbd6ac6ba7ba" begin="81200" end="86600" />
</Group>
</StratumEx>
<StratumEx name="VRT_RESTRICTION" />
</MAObject>
<MAObject type="default" mdclass="S_VRT_CONTENT">
<GUID dmname="">999e584a-7192-45ff-8570-af6587e2938f</GUID>
<Meta name="VRT_CONTENT_TXT" format="string" frate="">Frag1</Meta>
</MAObject>
<MAObject type="default" mdclass="S_VRT_CONTENT">
<GUID dmname="">23502d29-a0b4-48c5-a8b2-596a195e2768</GUID>
<Meta name="VRT_CONTENT_TXT" format="string" frate="">Frag2</Meta>
</MAObject>
<MAObject type="default" mdclass="S_VRT_CONTENT">
<GUID dmname="">b246ffb6-a56f-4e4e-8bd9-5da3b9cd7351</GUID>
<Meta name="VRT_CONTENT_TXT" format="string" frate="">Frag3</Meta>
</MAObject>
<MAObject type="default" mdclass="S_VRT_CONTENT">
<GUID dmname="">1643dde7-3c5d-4675-a52e-77d00b70309b</GUID>
<Meta name="VRT_CONTENT_TXT" format="string" frate="">Frag4</Meta>
</MAObject>
<MAObject type="default" mdclass="S_VRT_CONTENT">
<GUID dmname="">5ce3968f-5324-4172-90f3-bd6d22f696a7</GUID>
<Meta name="VRT_CONTENT_TXT" format="string" frate="">Frag5</Meta>
</MAObject>
<MAObject type="default" mdclass="S_VRT_ITEMS">
<GUID dmname="">328626e6-c794-494d-939a-39f7aa2e5a85</GUID>
<Meta name="VRT_ITEMS_TXT" format="string" frate="">Frag6</Meta>
</MAObject>
<MAObject type="default" mdclass="S_VRT_ITEMS">
<GUID dmname="">1effe83f-7076-418f-b86f-cbd6ac6ba7ba</GUID>
<Meta name="VRT_ITEMS_TXT" format="string" frate="">Frag7</Meta>
</MAObject>
</AXFRoot>
Wanted result:
<MediaHAVEN_external_metadata version="1.0" name="VIAA">
<MDProperties>
<MEDIA_ID>201406121715517010024191178005056B93D790000004460B00000D0F000989</MEDIA_ID>
<VRT_ESSENCE_DURATION>355280</VRT_ESSENCE_DURATION>
<VRT_ESSENCE_AUDIO_CHANNELS>4</VRT_ESSENCE_AUDIO_CHANNELS>
<VRT_CLIP_ID></VRT_CLIP_ID>
</MDProperties>
<fragments>
<fragment>
<title>Frag1</title>
<original_start_z>0</original_start_z>
<original_end_z>8600</original_end_z>
</fragment>
<fragment>
<title>Frag2</title>
<original_start_z>8640</original_start_z>
<original_end_z>19760</original_end_z>
</fragment>
<fragment>
<title>Frag3</title>
<original_start_z>19800</original_start_z>
<original_end_z>34840</original_end_z>
</fragment>
<fragment>
<title>Frag4</title>
<original_start_z>49000</original_start_z>
<original_end_z>49000</original_end_z>
</fragment>
<fragment>
<title>Frag5</title>
<original_start_z>54800</original_start_z>
<original_end_z>58480</original_end_z>
</fragment>
<fragment>
<title>Frag6</title>
<original_start_z>11120</original_start_z>
<original_end_z>49200</original_end_z>
</fragment>
<fragment>
<title>Frag7</title>
<original_start_z>81200</original_start_z>
<original_end_z>86600</original_end_z>
</fragment>
</fragments>
</MediaHAVEN_external_metadata>
As you can see, those contentid's will do a lookup for the 'Frag' data. In my example: http://xsltransform.net/94hvTzt The 'Frag' data that you see right now, shouldn't belong there..
Could anyone point me in the correct direction?
Thanks!
Firstly, don't do this to create elements in XSLT...
<xsl:text disable-output-escaping="yes"><</xsl:text><xsl:value-of select="#name" /><xsl:text disable-output-escaping="yes">></xsl:text>
That way lies madness. If you want to create dynamically named elements, use the xsl:element command. You just need to do this....
<xsl:element name="{#name}">
<xsl:value-of select="."/>
</xsl:element>
But in answer to your question, to look up date from another location in your XML document, use an xsl:key
<xsl:key name="fragment" match="MAObject" use="GUID" />
To use this key, to look up the data, you would just do something like this (assuming you were positioned on a segment element)
<xsl:value-of select="key('fragment', #contentid)/Meta" />
Try this XSLT:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:key name="fragment" match="MAObject" use="GUID" />
<xsl:template match="/">
<MediaHAVEN_external_metadata version="1.0" name="VIAA">
<MDProperties>
<MEDIA_ID><xsl:value-of select="AXFRoot/MAObject[StratumEx]/GUID" /></MEDIA_ID>
<xsl:for-each select="AXFRoot/MAObject[StratumEx]/Meta">
<xsl:element name="{#name}">
<xsl:value-of select="."/>
</xsl:element>
</xsl:for-each>
</MDProperties>
<fragments>
<xsl:for-each select="AXFRoot/MAObject/StratumEx/Group/Segment">
<fragment>
<title><xsl:value-of select="key('fragment', #contentid)/Meta" /></title>
<original_start_z><xsl:value-of select="#begin" /></original_start_z>
<original_end_z><xsl:value-of select="#end" /></original_end_z>
</fragment>
</xsl:for-each>
</fragments>
</MediaHAVEN_external_metadata>
</xsl:template>
</xsl:stylesheet>
Or maybe this, to take a more template-based approach
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:key name="fragment" match="MAObject" use="GUID" />
<xsl:template match="/">
<MediaHAVEN_external_metadata version="1.0" name="VIAA">
<xsl:apply-templates select="AXFRoot/MAObject[StratumEx]" />
</MediaHAVEN_external_metadata>
</xsl:template>
<xsl:template match="MAObject">
<MDProperties>
<MEDIA_ID><xsl:value-of select="GUID" /></MEDIA_ID>
<xsl:apply-templates select="Meta" />
</MDProperties>
<fragments>
<xsl:apply-templates select="StratumEx/Group/Segment" />
</fragments>
</xsl:template>
<xsl:template match="Meta">
<xsl:element name="{#name}">
<xsl:value-of select="."/>
</xsl:element>
</xsl:template>
<xsl:template match="Segment">
<fragment>
<title><xsl:value-of select="key('fragment', #contentid)/Meta" /></title>
<original_start_z><xsl:value-of select="#begin" /></original_start_z>
<original_end_z><xsl:value-of select="#end" /></original_end_z>
</fragment>
</xsl:template>
</xsl:stylesheet>

SCORM 1.2 Nested Items In Manifest

I've been trying to create a SCORM 1.2 manifest file that will create multiple SCOs with sub-files but, although there's plenty written about it online, I've been unable to find any actual examples. Essentially, what I want to do is:
SCO1.html
SCO1.1.html
SCO1.2.html
SCO1.3.html
SCO2.html
SCO2.1.html
SCO2.2.html
SCO2.3.html
In the above scenario, if the user was to launch SCO1.2.html, for example, their progress would be recorded against SCO1. I've got the following in my imsmanifest.xml file, but don't know how to restructure it so that each item is not a separate SCO. I've left out the metadata and resources that don't affect this issue:
<organizations default="TOC1">
<organization identifier="TOC1">
<title>Test</title >
<item identifier="I_SCO1" identifierref="SCO1">
<title>SCO1</title>
</item>
<item identifier="I_SCO1.1" identifierref="SCO1.1">
<title>SCO1.1</title>
</item>
<item identifier="I_SCO1.2" identifierref="SCO1.2">
<title>SCO1.2</title>
</item>
<item identifier="I_SCO1.3" identifierref="SCO1.3">
<title>SCO1.3</title>
</item>
<item identifier="I_SCO2" identifierref="SCO2">
<title>SCO2</title>
</item>
<item identifier="I_SCO2.1" identifierref="SCO2.1">
<title>SCO2.1</title>
</item>
<item identifier="I_SCO2.2" identifierref="SCO2.2">
<title>SCO2.2</title>
</item>
<item identifier="I_SCO2.3" identifierref="SCO2.3">
<title>SCO2.3</title>
</item>
</organization>
</organizations>
<resources>
<resource identifier="SCO1" type="webcontent" adlcp:scormtype="sco" href="SCO1.html">
<file href="SCO1.html" />
<dependency identifierref="ALLRESOURCES" />
</resource>
<resource identifier="SCO1.1" type="webcontent" adlcp:scormtype="sco" href="SCO1.1.html">
<file href="SCO1.1.html" />
<dependency identifierref="ALLRESOURCES" />
</resource>
<resource identifier="SCO1.2" type="webcontent" adlcp:scormtype="sco" href="SCO1.2.html">
<file href="SCO1.2.html" />
<dependency identifierref="ALLRESOURCES" />
</resource>
<resource identifier="SCO1.3" type="webcontent" adlcp:scormtype="sco" href="SCO1.3.html">
<file href="SCO1.3.html" />
<dependency identifierref="ALLRESOURCES" />
</resource>
<resource identifier="SCO2" type="webcontent" adlcp:scormtype="sco" href="SCO2.html">
<file href="SCO2.html" />
<dependency identifierref="ALLRESOURCES" />
</resource>
<resource identifier="SCO2.1" type="webcontent" adlcp:scormtype="sco" href="SCO2.1.html">
<file href="SCO2.1.html" />
<dependency identifierref="ALLRESOURCES" />
</resource>
<resource identifier="SCO2.2" type="webcontent" adlcp:scormtype="sco" href="SCO2.2.html">
<file href="SCO2.2.html" />
<dependency identifierref="ALLRESOURCES" />
</resource>
<resource identifier="SCO2.3" type="webcontent" adlcp:scormtype="sco" href="SCO2.3.html">
<file href="SCO2.3.html" />
<dependency identifierref="ALLRESOURCES" />
</resource>
</resources>
Any help would be appreciated.
You'll be looking at something a little closer to this-
<organizations default="ORG-001">
<organization identifier="ORG-001">
<title>Page Progression Sample</title>
<item>
<title>Module 1</title>
<item identifier="ACT-001" identifierref="RES-001">
<title>Name of this page</title>
</item>
<item identifier="ACT-002" identifierref="RES-002">
<title>Name of this page</title>
</item>
<item identifier="ACT-003" identifierref="RES-003">
<title>Name of this page</title>
</item>
<item identifier="ACT-004" identifierref="RES-004">
<title>Name of this page</title>
</item>
</item>
<item>
<title>Module 2</title>
<item identifier="ACT-005" identifierref="RES-005">
<title>Name of this page</title>
</item>
<item identifier="ACT-006" identifierref="RES-006">
<title>Name of this page</title>
</item>
<item identifier="ACT-007" identifierref="RES-007">
<title>Name of this page</title>
</item>
<item identifier="ACT-008" identifierref="RES-008">
<title>Name of this page</title>
</item>
</item>
</organization>
But you could try nesting 2, 3, 4 within 1 to see if that works. I don't have the specification in front of me right now.
In your example -
<item identifier="I_SCO1" identifierref="SCO1">
<title>SCO1</title>
<!-- PUT YOUR NEXT SCO (page) HERE-->
</item> <!-- Close tag of SCO1 -->

Package.appxmanifest not showing all 7 Tabs

I re-targeted my project from wp8 to wp8.1. At first my package.appxmanifest file's build action was not set to Appxmanifest. Also it is only showing 4 tabs
-Application
-capabilities
-Declarations
-Packaging
Tabs that are missing are
-Visual Assets
-content URI's
-Declarations
What should i do.
<?xml version="1.0" encoding="utf-8"?>
<Package xmlns="http://schemas.microsoft.com/appx/2010/manifest" xmlns:m2="http://schemas.microsoft.com/appx/2013/manifest" xmlns:m3="http://schemas.microsoft.com/appx/2014/manifest" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest">
<Identity Name="37576f76-9ac9-4f78-b2d9-cb51446fb500" Publisher="CN=R" Version="1.0.0.0" />
<mp:PhoneIdentity PhoneProductId="e4312153-3f4c-49dd-904d-5fbe8f1d6000" PhonePublisherId="3f72d71c-dd80-408e-affb-aa06372f300a" />
<Properties>
<DisplayName>app</DisplayName>
<PublisherDisplayName>app</PublisherDisplayName>
<Logo>Assets\StoreLogo.png</Logo>
</Properties>
<Prerequisites>
<OSMinVersion>6.3.1</OSMinVersion>
<OSMaxVersionTested>6.3.1</OSMaxVersionTested>
</Prerequisites>
<Resources>
<Resource Language="x-generate" />
</Resources>
<Applications>
<Application Id="xe4312153y3f4cy49ddy904dy5fbe8f1d6073x" Executable="AGHost.exe" EntryPoint="MainPage.xaml">
<m3:VisualElements DisplayName="app" Square150x150Logo="Assets\SquareTile150x150.png" Square44x44Logo="Assets\Logo.png" Description="app" ForegroundText="light" BackgroundColor="#464646" ToastCapable="true">
<m3:DefaultTile Square71x71Logo="Assets\SquareTile71x71.png">
</m3:DefaultTile>
<m3:SplashScreen Image="SplashScreenImage.jpg" />
<m3:ApplicationView MinWidth="width320" />
<!--Used in XAML Designer. DO NOT REMOVE-->
</m3:VisualElements>
</Application>
</Applications>
<Extensions>
<Extension Category="windows.activatableClass.inProcessServer">
<InProcessServer>
<Path>AgHostSvcs.dll</Path>
<ActivatableClass ActivatableClassId="AgHost.BackgroundTask" ThreadingModel="both" />
</InProcessServer>
</Extension>
</Extensions>
<Capabilities>
<Capability Name="internetClientServer" />
<DeviceCapability Name="location" />
</Capabilities>
</Package>
Silverlight-based apps don't have those extra tabs; they are only applicable to non-Silverlight (WinRT) apps. You set things like your Tile icons via the WMAppManifest.xml file.