KML में KML सुविधा को कस्टम डेटा जोड़ने के तीन तरीके हैं. इनमें से कौनसा तरीका चुना जाएगा, यह इस बात पर निर्भर करेगा कि किस तरह का डेटा जोड़ा जा रहा है. साथ ही, यह भी तय किया जाता है कि डेटा को KML प्रज़ेंटेशन में कैसे इस्तेमाल करना है. खास तौर पर, <विस्तृत डेटा> एलिमेंट में ये तकनीक दी गई हैं:
- <Data> एलिमेंट - इसकी मदद से, किसी सुविधा से जुड़ा उपयोगकर्ता के डेटा में, टाइप/नाम के जोड़े जोड़े जा सकते हैं. जैसे, NetworkLink, प्लेसमार्क, GroundOverlay, PhotoOverlay, ScreenOverlay, दस्तावेज़ या फ़ोल्डर. ये नाम/वैल्यू पेयर, डिफ़ॉल्ट रूप से गुब्बारा में दिखाए जाते हैं. इस जानकारी का इस्तेमाल, <BaloonStyle> के <text> एलिमेंट में इकाई बदलने के लिए भी किया जा सकता है. टेंप्लेट के तौर पर गुब्बारा इस्तेमाल करने का तरीका वाला सेक्शन देखें.)
- <Schema> और <SchemaData> एलिमेंट - आपको दी गई सुविधा से जुड़े उपयोगकर्ता के डेटा में टाइप किए गए डेटा को जोड़ने की सुविधा देते हैं.
- आर्बिट्ररी एक्सएमएल डेटा - इसकी मदद से, KML फ़ाइल में उपयोगकर्ता का डेटा सुरक्षित रखा जा सकता है. Google Earth इस डेटा को फ़ाइल के साथ पास करता है और उसे सेव करता है, लेकिन उसका इस्तेमाल नहीं करता.
ध्यान दें: इन तीनों तरीकों को एक ही फ़ाइल में जोड़ा जा सकता है. अगर आपको अलग-अलग सोर्स से अलग-अलग तरह का डेटा जोड़ना है, तो कुछ कस्टम डेटा के लिए टाइप किए गए डेटा अप्रोच (Schema/SchemaData) का इस्तेमाल किया जा सकता है. साथ ही, अन्य कस्टम डेटा के लिए टाइप नहीं किए गए डेटा (डेटा) का इस्तेमाल किया जा सकता है.
आपको कौनसा तरीका अपनाना चाहिए?
ज़्यादातर मामलों में, <Data> एलिमेंट, KML सुविधा में बिना टाइप वाला डेटा जोड़ने के लिए, सबसे आसान और सबसे कारगर तरीका उपलब्ध कराता है. यह तरीका लागू करना काफ़ी आसान है. साथ ही, इसमें गुब्बारा स्टाइल वाले टेंप्लेट को इस्तेमाल करने की सुविधा भी मिलती है, जिसे KML फ़ाइल में मौजूद सभी प्लेसमार्क पर लागू किया जा सकता है. इस उदाहरण के लिए, एक्सटेंडेड डेटा एलिमेंट के लिए इकाई बदलना देखें.)
<Schema> और <SchemaData> एलिमेंट की मदद से, टाइप किया गया उपयोगकर्ता का डेटा जोड़ा जा सकता है. ये एलिमेंट खास तौर पर GIS (भौगोलिक इन्फ़ॉर्मेशन सिस्टम) डेटा वाले उपयोगकर्ताओं के लिए उपलब्ध कराए जाते हैं. अगर आपने ऐसा डेटा टाइप किया है जिसे किसी बाहरी कंप्यूटर ऐप्लिकेशन के ज़रिए इस्तेमाल किया जाता है, तो शायद आपको सुविधा के लिए स्ट्रक्चर्ड डेटा जोड़ने के लिए <Schema> और <SchemaData> एलिमेंट का इस्तेमाल करने की ज़रूरत होगी. (Google Earth इस टाइप की गई जानकारी का उपयोग नहीं करता है, लेकिन आपके दूसरे ऐप्स को इसकी ज़रूरत पड़ सकती है.) हो सकता है कि कैज़ुअल उपयोगकर्ता इस तकनीक से ज़्यादा तकनीकी चीज़ों की ज़रूरत न डालते हों. <Data> की तरह, <SchemaData>, गुब्बारा स्टाइल के लिए टेंप्लेट का इस्तेमाल करता है.
अगर आपको किसी KML फ़ाइल के साथ डेटा पास करना है और डेटा प्रोसेस करने के लिए Google Earth नहीं चाहिए, तो आर्बिट्ररी XML डेटा फ़ीचर का इस्तेमाल करें. इससे आप एक्सएमएल नेमस्पेस का रेफ़रंस दे सकते हैं और मौजूदा KML कॉन्टेक्स्ट में डेटा को पास कर सकते हैं. ज़्यादा जानकारी के लिए, आर्बिट्ररी एक्सएमएल डेटा वाला सेक्शन देखें.
टाइप न किए गए नाम/वैल्यू पेयर को जोड़ना
<Data> एलिमेंट, KML सुविधा में बिना नाम वाले/वैल्यू पेयर को जोड़ने का एक आसान तरीका है. इस एलिमेंट का सिंटैक्स इस तरह है:
<ExtendedData>
<Data name="string">
<displayName>...</displayName> <!-- string -->
<value>...</value> <!-- string -->
</Data> </ExtendedData>
name एट्रिब्यूट, डेटा के इस हिस्से के लिए एक यूनीक आईडी है. <displayName> एलिमेंट का इस्तेमाल, इस डेटा के नाम को उपयोगकर्ता के लिए आसान फ़ॉर्म में दिखाने के लिए किया जाता है. <displayName> में CDATA शामिल हो सकता है जिसमें स्पेस, यूआरएल, और हाइपरलिंक शामिल हैं.
यहां प्लेसमार्क का एक उदाहरण दिया गया है, जिसमें एक गॉल्फ़ कोर्स में कई होल के बारे में कस्टम डेटा है:
<kml xmlns="http://www.opengis.net/kml/2.2"> <Document> <name>My Golf Course Example</name> <Placemark> <name>Club house</name> <ExtendedData> <Data name="holeNumber"> <value>1</value> </Data> <Data name="holeYardage"> <value>234</value> </Data> <Data name="holePar"> <value>4</value> </Data> </ExtendedData> <Point> <coordinates>-111.956,33.5043</coordinates> </Point>
</Placemark> <Placemark> <name>By the lake</name> <ExtendedData> <Data name="holeNumber"> <value>5</value> </Data> <Data name="holeYardage"> <value>523</value> </Data> <Data name="holePar"> <value>5</value> </Data> </ExtendedData> <Point> <coordinates>-111.95,33.5024</coordinates> </Point>
</Placemark> </Document> </kml>
यह स्क्रीन कैप्चर दिखाता है कि <Data> एलिमेंट, प्लेसमार्क के गुब्बारे की टेबल में डिफ़ॉल्ट रूप से कैसे दिखते हैं:
गुब्बारे के लिए डिफ़ॉल्ट स्टाइल का इस्तेमाल करने वाले डेटा का उदाहरण
समीक्षा: टेंप्लेट के तौर पर गुब्बारा स्टाइल एलिमेंट का इस्तेमाल करना
KML में, आप एक बार कोई शैली परिभाषित कर सकते हैं और उसे एक आईडी असाइन कर सकते हैं. इस तरीके से शैली परिभाषित करने के बाद, आप <styleUrl> तत्व का उपयोग करके, KML फ़ाइल (या अन्य KML फ़ाइलों में) के भीतर इसका कई बार संदर्भ दे सकते हैं. इस तरह से परिभाषित की गई शैली को शेयर की गई शैली कहा जाता है. <BaloonStyle> में मौजूद <text> एलिमेंट, इकाई बदलने की सुविधा देता है. इकाई के हर इंस्टेंस के लिए, अलग-अलग वैल्यू को बदला जा सकता है. ये स्टैंडर्ड इकाइयां बदली जा सकती हैं:
- $[नाम]
- प्लेसमार्क के नाम से बदला गया
- $[ब्यौरा]
- प्लेसमार्क के ब्यौरा से बदला गया
- $[पता]
- प्लेसमार्क के पते से बदला गया
- $[आईडी]
- प्लेसमार्क के आईडी से बदला गया
- $[स्निपेट]
- प्लेसमार्क के स्निपेट से बदला गया
- $[geDirections]
- प्लेसमार्क की To/from ड्राइविंग दिशाओं से बदली गई
एक्सटेंडेड डेटा एलिमेंट के लिए इकाई बदलना
Google Earth, <BaloonStyle> के <text> एलिमेंट में कुछ एक्सटेंडेड डेटा एलिमेंट की इकाई बदलने की भी सुविधा देता है. <text> एलिमेंट में इन इकाइयों के बारे में बताया जा सकता है:
वैरिएबल | इससे बदला गया | उदाहरण |
---|---|---|
$[name_attribute_of_Data_ Element] | <value> एलिमेंट के कॉन्टेंट | होलसंख्या, छिद्र |
$[नाम_attribute_of_Data/displayName] | <displayName> एलिमेंट के कॉन्टेंट | होल नंबर, होल यार्ड |
यहां एक उदाहरण है, जो गॉल्फ़ कोर्स के उदाहरण के लिए <BaloonStyle> टेंप्लेट बनाता है. हर प्लेसमार्क गुब्बारे के लिए, Google Earth, प्लेसमार्क का नाम बदलता है और फिर हर अलग-अलग छेद के लिए होल नंबर, पार, और यार्ड वाली जानकारी लिखता है:
<?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://www.opengis.net/kml/2.2"> <Document> <name>Data+BalloonStyle</name> <Style id="golf-balloon-style"> <BalloonStyle> <text> <![CDATA[ This is $[name] This is hole $[holeNumber] The par for this hole is $[holePar] The yardage is $[holeYardage] ]]> </text> </BalloonStyle> </Style> <!-- Shared style sample Two Placemarks use the same balloon template --> <Placemark> <name>Club house</name> <styleUrl>#golf-balloon-style</styleUrl> <ExtendedData> <Data name="holeNumber"> <value>1</value> </Data> <Data name="holeYardage"> <value>234</value> </Data> <Data name="holePar"> <value>4</value> </Data> </ExtendedData> <Point> <coordinates>-111.956,33.5043</coordinates> </Point> </Placemark> <Placemark> <name>By the lake</name> <styleUrl>#golf-balloon-style</styleUrl> <ExtendedData> <Data name="holeNumber"> <value>5</value> </Data> <Data name="holeYardage"> <value>523</value> </Data> <Data name="holePar"> <value>5</value> </Data> </ExtendedData> <Point> <coordinates>-111.95,33.5024</coordinates> </Point> </Placemark> </Document> </kml>
यहां इस उदाहरण का स्क्रीन कैप्चर दिया गया है:
गुब्बारे के लिए डिफ़ॉल्ट स्टाइल का इस्तेमाल करने वाले डेटा का उदाहरण
<displayName> एलिमेंट का इस्तेमाल कैसे किया जाएगा, इसका ज़्यादा वास्तविक उदाहरण यहां दिया गया है. यह तकनीक, टेक्स्ट के स्थानीय भाषा के साथ-साथ टेक्स्ट को बेहतर तरीके से फ़ॉर्मैट करने में भी मददगार होती है.
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>Entity-Replacement</name>
<Style id="displayName-value">
<BalloonStyle>
<text>
<![CDATA[
This is $[name]<br/>
$[holeNumber/displayName] $[holeNumber]<br/>
$[holePar/displayName] $[holePar]<br/>
$[holeYardage/displayName] $[holeYardage]
]]>
</text>
</BalloonStyle>
</Style>
<!-- Shared style sample
Two Placemarks use the same balloon template
-->
<Placemark>
<name>Club house</name>
<styleUrl>#displayName-value</styleUrl>
<ExtendedData>
<Data name="holeNumber">
<displayName><![CDATA[
<b>This is hole </b>
]]></displayName>
<value>1</value>
</Data>
<Data name="holePar">
<displayName><![CDATA[
<i>The par for this hole is </i>
]]></displayName>
<value>4</value>
</Data>
<Data name="holeYardage">
<displayName><![CDATA[
<b><i>The yardage is </i></b>
]]></displayName>
<value>234</value>
</Data>
</ExtendedData>
<Point>
<coordinates>-111.956,33.5043</coordinates>
</Point>
</Placemark>
<Placemark>
<name>By the lake</name>
<styleUrl>#Entity-Replacement</styleUrl>
<ExtendedData>
<Data name="holeNumber">
<displayName><![CDATA[
<b>This is hole </b>
]]></displayName>
<value>5</value>
</Data>
<Data name="holePar">
<displayName><![CDATA[
<i>The par for this hole is </i>
]]></displayName>
<value>5</value>
</Data>
<Data name="holeYardage">
<displayName><![CDATA[
<b><i>The yardage is </i></b>
]]></displayName>
<value>523</value>
</Data>
</ExtendedData>
<Point>
<coordinates>-111.95,33.5024</coordinates>
</Point>
</Placemark>
</Document>
</kml>
यहां इस गुब्बारा स्टाइल टेंप्लेट का इस्तेमाल करने वाले बलून का एक उदाहरण दिया गया है:
किसी सुविधा में टाइप किया हुआ डेटा जोड़ना
<Schema> और <SchemaData> एलिमेंट की मदद से, किसी सुविधा में टाइप किया गया डेटा जोड़ा जा सकता है. कुछ GIS और प्रोग्रामिंग ऐप्लिकेशन को इस सुविधा की ज़रूरत होती है क्योंकि वे टाइप किए गए डेटा से निपटती हैं.
टाइप किए गए डेटा को जोड़ने की खास जानकारी
KML सुविधा में पसंद के मुताबिक प्रकार जोड़ने के लिए, आप दो बुनियादी काम करते हैं:
- एक ऐसा <Schema> एलिमेंट बनाएं जो आपके नए टाइप का एलान करता हो.
- <SchemaData> एलिमेंट का इस्तेमाल करके, नए तरह के इंस्टेंस बनाएं.
स्कीमा एलिमेंट का एलान करना
स्कीमा एलिमेंट से पता चलता है कि स्ट्रक्चर्ड डेटा किस तरह का है. <Schema> हमेशा <Document> का चाइल्ड होता है. दस्तावेज़ में शून्य या ज़्यादा स्कीमा एलिमेंट हो सकते हैं.
आईडी एट्रिब्यूट
<Schema> एलिमेंट में हमेशा एक आईडी एट्रिब्यूट होता है, जहां इस तरह के इंस्टेंस बनाए जाते हैं, उसका संदर्भ दिया जाता है. <SchemaData> का इस्तेमाल करके. यह आईडी, KML फ़ाइल में यूनीक होना चाहिए.
एट्रिब्यूट का नाम
name एट्रिब्यूट ज़रूरी नहीं है. इसका इस्तेमाल इकाई बदलने के लिए किया जाता है.
सिंटैक्स
स्कीमा एलिमेंट में यह सिंटैक्स होता है:
<Schema name="string" id="ID"> <SimpleField type="string" name="string"> <displayName>...</displayName> <!-- string --> </SimpleField> </Schema>
<SimpleField> में हमेशा नाम और टाइप, दोनों एट्रिब्यूट मौजूद होते हैं. अगर इसमें दोनों एट्रिब्यूट नहीं हैं, तो फ़ील्ड को अनदेखा कर दिया जाता है. नाम एट्रिब्यूट का इस्तेमाल, <BaloonStyle> के <text> एलिमेंट में इकाई बदलने के लिए किया जाता है. Simplefield का टाइप इनमें से एक हो सकता है:
string
int
uint
short
ushort
float
double
bool
डेटा के हर इंस्टेंस को तय करें
उपयोगकर्ता के तय किए गए टाइप का इंस्टेंस बनाने के लिए, <SchemaData> एलिमेंट का इस्तेमाल करें. <SchemaData> का सिंटैक्स इस तरह है:
<ExtendedData> <SchemaData schemaUrl="anyURI"> <SimpleData name=""> ... </SimpleData> <!-- string --> </SchemaData> </ExtendedData>
schemaUrl एट्रिब्यूट से स्कीमा के id के बारे में पता चलता है जो टाइप का एलान करता है (जैसे कि styleUrl पहले से तय की गई स्टाइल का id बताता है).अगर schemaUrl http पता है, तो Google Earth इस फ़ाइल को पूरे नेटवर्क पर फ़ेच कर देता है. हर प्लेसमार्क के लिए, उपयोगकर्ता के तय किए गए टाइप का सिर्फ़ एक इंस्टेंस हो सकता है.
उदाहरण
नीचे दिया गया उदाहरण उपयोगकर्ता का बताया गया प्रकार Scenic Vista बताता है. इस टाइप में तीन फ़ील्ड होते हैं: TrailHEADName, TrailLength और ElevationGain. TrailheadName फ़ील्ड में string
प्रकार के मान होते हैं. TrailLengt फ़ील्ड में double
टाइप की वैल्यू शामिल हैं. ElevationGain फ़ील्ड में int
तरह के मान होते हैं. आसान ट्रेल नाम के प्लेसमार्क में, इस तरह के उपयोगकर्ता के इंस्टेंस की जानकारी होती है. इस इंस्टेंस में, TrailHEADName फ़ील्ड के लिए स्काई में पाई की वैल्यू, इसके TrailLength फ़ील्ड के लिए 3.14159, और ElevationGain फ़ील्ड के लिए 10 की वैल्यू है.
<kml xmlns="http://www.opengis.net/kml/2.2"> <Document> <name>ExtendedData+SchemaData</name> <open>1</open> <!-- Declare the type "TrailHeadType" with 3 fields --> <Schema name="TrailHeadType" id="TrailHeadTypeId"> <SimpleField type="string" name="TrailHeadName"> <displayName><![CDATA[<b>Trail Head Name</b>]]></displayName> </SimpleField> <SimpleField type="double" name="TrailLength"> <displayName><![CDATA[<i>Length in miles</i>]]></displayName> </SimpleField> <SimpleField type="int" name="ElevationGain"> <displayName><![CDATA[<i>Change in altitude</i>]]></displayName> </SimpleField> </Schema> <!-- This is analogous to adding three fields to a new element of type TrailHead: <TrailHeadType> <TrailHeadName>...</TrailHeadName> <TrailLength>...</TrailLength> <ElevationGain>...</ElevationGain> </TrailHeadType>
--> <!-- Instantiate some Placemarks extended with TrailHeadType fields --> <Placemark> <name>Easy trail</name> <ExtendedData> <SchemaData schemaUrl="#TrailHeadTypeId"> <SimpleData name="TrailHeadName">Pi in the sky</SimpleData> <SimpleData name="TrailLength">3.14159</SimpleData> <SimpleData name="ElevationGain">10</SimpleData> </SchemaData> </ExtendedData> <Point> <coordinates>-122.000,37.002</coordinates> </Point> </Placemark> <Placemark> <name>Difficult trail</name> <ExtendedData> <SchemaData schemaUrl="#TrailHeadTypeId"> <SimpleData name="TrailHeadName">Mount Everest</SimpleData> <SimpleData name="TrailLength">347.45</SimpleData> <SimpleData name="ElevationGain">10000</SimpleData> </SchemaData> </ExtendedData> <Point> <coordinates>-121.998,37.0078</coordinates> </Point> </Placemark> </Document> </kml>
गुब्बारे के लिए डिफ़ॉल्ट स्टाइल का इस्तेमाल करने वाले schemaData उदाहरण
DisplayName के लिए इकाई बदलना
स्कीमा/स्कीमाडेटा तकनीक में <BaloonStyle> एलिमेंट के <text> एलिमेंट में भी इकाई बदली जा सकती है.
<Schema> का <displayName>, आपको कस्टम डेटा टाइप के लिए उपयोगकर्ता के हिसाब से बनाया गया वर्शन उपलब्ध कराने की सुविधा देता है. <Schema> में एक बार स्ट्रिंग बदलने से, <displayName> को उसी तरह की सभी सुविधाओं के लिए बदला जा सकता है.
<baloonStyle> एलिमेंट के <text> एलिमेंट में, <displayName> को मंज़ूरी देने के लिए इस सिंटैक्स का इस्तेमाल करें:
$[TYPENAME/TYPEFIELD/displayName]
जहां
- टाइपनेम
- , <Schema> का नाम एट्रिब्यूट है
- टाइपफ़ील्ड
- , <SimpleField> का नाम एट्रिब्यूट है
- displayName
- <SimpleField> में <displayName> एलिमेंट है
नीचे दिया गया कोड, गुब्बारा डेटा के टेंप्लेट को पिछले SchemaData के उदाहरण में जोड़ता है. गोल्फ़ कोर्स के उदाहरण की तरह ही, इस टेंप्लेट को दस्तावेज़ की शुरुआत में <Style>, <BaloonStyle>, और <text> एलिमेंट का इस्तेमाल करके बनाया जाता है. फ़ाइल में हर प्लेसमार्क इस स्टाइल टेंप्लेट (जिसे "EnhancedData+SchemaData" के नाम से जाना जाता है) का रेफ़रंस देता है.
<kml xmlns="http://www.opengis.net/kml/2.2"> <Document> <name>ExtendedData+SchemaData</name> <open>1</open> <!-- Create a balloon template referring to the user-defined type --> <Style id="trailhead-balloon-template"> <BalloonStyle> <text> <![CDATA[ <h2>My favorite trails!</h2> <br/><br/> The $[TrailHeadType/TrailHeadName/displayName] is <i>$[TrailHeadType/TrailHeadName]</i>. The trail is $[TrailHeadType/TrailLength] miles. <br/> The climb is $[TrailHeadType/ElevationGain] meters. <br/><br/> ]]> </text> </BalloonStyle> </Style> <!-- Declare the type "TrailHeadType" with 3 fields --> <Schema name="TrailHeadType" id="TrailHeadTypeId"> <SimpleField type="string" name="TrailHeadName"> <displayName><![CDATA[<b>Trail Head Name</b>]]></displayName> </SimpleField> <SimpleField type="double" name="TrailLength"> <displayName><![CDATA[<i>The length in miles</i>]]></displayName> </SimpleField> <SimpleField type="int" name="ElevationGain"> <displayName><![CDATA[<i>change in altitude</i>]]></displayName> </SimpleField> </Schema> <!-- Instantiate some Placemarks extended with TrailHeadType fields --> <Placemark> <name>Easy trail</name> <styleUrl>#trailhead-balloon-template</styleUrl> <ExtendedData> <SchemaData schemaUrl="#TrailHeadTypeId"> <SimpleData name="TrailHeadName">Pi in the sky</SimpleData> <SimpleData name="TrailLength">3.14159</SimpleData> <SimpleData name="ElevationGain">10</SimpleData> </SchemaData> </ExtendedData> <Point> <coordinates>-122.000,37.002</coordinates> </Point> </Placemark> <Placemark> <name>Difficult trail</name> <styleUrl>#trailhead-balloon-template</styleUrl> <ExtendedData> <SchemaData schemaUrl="#TrailHeadTypeId"> <SimpleData name="TrailHeadName">Mount Everest</SimpleData> <SimpleData name="TrailLength">347.45</SimpleData> <SimpleData name="ElevationGain">10000</SimpleData> </SchemaData> </ExtendedData> <Point> <coordinates>-121.998,37.0078</coordinates> </Point> </Placemark> </Document> </kml>
BoonoonStyle टेंप्लेट का इस्तेमाल करने वाला schemaData उदाहरण
गुब्बारा स्क्रीन टेंप्लेट का इस्तेमाल करके बनाए गए गुब्बारा की तुलना, डिफ़ॉल्ट स्क्रीन कैप्चर में दिखाए गए डेटा के लिए करें.
किसी सुविधा में आर्बिट्ररी XML डेटा जोड़ना
किसी सुविधा में उपयोगकर्ता डेटा जोड़ने का सबसे आसान तरीका है, डेटा को सीधे <विस्तृत डेटा> के मान के रूप में जोड़ना. Google Earth इस डेटा को सुरक्षित रखता है, लेकिन इसे प्रोसेस नहीं करता.
इस तरह से जोड़े गए कस्टम डेटा एलिमेंट में namespace प्रीफ़िक्स (xmlns:prefix="namespace) शामिल होना चाहिए. इस प्रीफ़िक्स को <KML> एलिमेंट या <विस्तृत डेटा> एलिमेंट में जोड़ा जा सकता है. उपयोगकर्ता के डेटा के हर इंस्टेंस में बाहरी नेमस्पेस का प्रीफ़िक्स होना ज़रूरी है, जैसा कि इस उदाहरण में दिखाया गया है:
<kml xmlns="http://www.opengis.net/kml/2.2"> <Document> <name>ExtendedData Test</name> <Placemark> <name>CampsiteData</name> <!-- Imported schema requires use of namespace prefix --> <ExtendedData xmlns:camp="http://campsites.com"> <camp:number>14</camp:number> <camp:parkingSpaces>2</camp:parkingSpaces> <camp:tentSites>4</camp:tentSites> </ExtendedData> <Point> <coordinates>-114.041,53.7199</coordinates> </Point> </Placemark> </Document> </kml>