Which Of The Following Is True About Xml

4 min read

XML (eXtensible Markup Language) is a versatile, platform‑independent markup language designed to store and transport data in a format that is both human‑readable and machine‑readable. So this article explores the most common statements people encounter when asking “which of the following is true about XML,” and identifies the accurate facts that every learner should know. By the end, you will have a clear understanding of XML’s core principles, its syntax rules, validation mechanisms, and real‑world applications, all presented in a SEO‑friendly structure that can rank well on search engines.

What Makes XML Unique?

Definition and Core Purpose

XML is an extensible language, meaning you can define your own set of tags meant for the specific data you need to represent. Unlike HTML, which is primarily focused on displaying web pages, XML’s main goal is to store and exchange structured data across different systems, programming languages, and platforms.

Self‑Describing Structure

One of the most frequently cited truths about XML is that every piece of data is surrounded by opening and closing tags, making the document self‑describing. Here's one way to look at it: a simple XML snippet might look like this:


    Learning XML
    Jane Doe
    2023

The tags <title>, <author>, and <year> explicitly indicate what each piece of content represents, eliminating ambiguity.

Key Characteristics of XML

1. Well‑Formedness Rules

For an XML document to be considered well‑formed, it must obey a strict set of syntactic rules:

  • Every opening tag must have a matching closing tag, or be self‑closing (<tag/>).
  • Tags must be properly nested; you cannot close a tag before its inner tags are closed.
  • Attribute values must be enclosed in quotes (single or double).
  • There must be exactly one root element that encloses all other elements.

These rules make sure parsers can reliably interpret the document without errors.

2. Case Sensitivity XML is case‑sensitive. The tags <Book> and <book> are treated as different elements. This characteristic often surprises newcomers who are accustomed to HTML’s case‑insensitive nature.

3. Whitespace Handling

By default, XML preserves whitespace exactly as it appears in the source file. That said, the xml:space attribute can be used to instruct the parser to treat whitespace specially, either preserving or collapsing it Nothing fancy..

How XML Differs From HTML and JSON

Feature XML HTML JSON
Primary Purpose Data storage & transport Web page presentation Lightweight data interchange
Tag Definition User‑defined Predefined (e.g., <div>, <p>) No tags; uses key‑value pairs
Validation Schema (XSD, DTD) DTD/Schema optional No built‑in validation
Human Readability High (when well‑structured) High Moderate

Understanding these distinctions helps answer the common query: “Which of the following statements about XML is true?” The correct answer is that XML is primarily a data‑centric language, not a presentation language.

Common XML Syntax Rules

Tag Nesting and Closure

Proper nesting is crucial. Consider the following valid example:


    
        XML Basics
        John Smith
    
    
        Tech Today
        5
    

An invalid version would be:


    
        XML Basics</book>   <!-- Incorrect closing tag -->
        <author>John Smith</author>
    </book>
</library>
</code></pre>
<p class="my mz gt na b nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv gm bj">Here, the <code class="cw pn po pp pf b"><title></code> tag is closed with <code class="cw pn po pp pf b"></book></code>, breaking the nesting rule.</p>
<h3 class="nw nx gt be ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os ot bj">Attributes</h3>
<p class="my mz gt na b nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv gm bj">Attributes provide additional information about an element and are placed within the opening tag:</p>
<pre class="oz pa pb pc pd pe pf bo ph ba bj"><code class="hljs"><student id="001" gender="female" grade="A">
    <name>Alice</name>
</student>
</code></pre>
<p class="my mz gt na b nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv gm bj">Attributes must be <strong class="na gu">quoted</strong> and cannot contain special characters like <code class="cw pn po pp pf b">&</code>, <code class="cw pn po pp pf b"><</code>, or <code class="cw pn po pp pf b">></code> unless they are escaped.</p>
<h2 class="nw nx gt be ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os ot bj">Validation: Ensuring Data Integrity</h2>
<h3 class="nw nx gt be ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os ot bj">Document Type Definitions (DTD)  A DTD defines the <strong class="na gu">structure</strong> and <strong class="na gu">constraints</strong> of an XML document. It can specify allowed elements, attributes, and the order in which they appear. While DTDs are simple, they lack data‑type support.</h3>
<h3 class="nw nx gt be ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os ot bj">XML Schema (XSD)</h3>
<p class="my mz gt na b nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv gm bj"><em>XML Schema Definition</em> (XSD) offers a richer set of constraints, including:</p>
<ul>
<li class="my mz gt na b nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv gm bj">Data types (e.g., <code class="cw pn po pp pf b">xs:integer</code>, <code class="cw pn po pp pf b">xs:string</code>)</li>
<li class="my mz gt na b nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv gm bj">Fixed or enumerated values</li>
<li class="my mz gt na b nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv gm bj">Conditional type definitions</li>
</ul>
<p class="my mz gt na b nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv gm bj">Using XSD, you can enforce that an element <code class="cw pn po pp pf b"><price></code> must be a positive decimal number, for instance Simple as that..</p>
<h3 class="nw nx gt be ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os ot bj">Validation Process</h3>
<p class="my mz gt na b nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv gm bj">A validator reads the XML document, checks it against the defined schema or DTD, and reports any violations. This step is essential in <strong class="na gu">enterprise environments</strong> where data accuracy is non‑negotiable.</p>
<h2 class="nw nx gt be ny nz oa ob oc od oe of og oh oi oj ok ol om on oo op oq or os ot bj">Real‑World Applications of XML</h2>
<ol>
<li class="my mz gt na b nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv gm bj"><strong class="na gu">Web Services</strong> – Protocols like <strong class="na gu">SOAP</strong> (Simple Object Access Protocol) rely on XML to encode requests and responses, enabling interoperable services across different platforms.</li>
<li class="my mz gt na b nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv gm bj"><strong class="na gu">Configuration Files</strong> – Many server applications (</li>
</ol>
</div>
      </div>

      <!-- ═══ LATEST POSTS — struktur SAMA persis dengan template asli ═══ -->
      <section class="post-section" id="sec-latest" aria-label="Latest posts">
        <span class="post-section-eyebrow">New Releases</span>
        <h2 class="post-section-title">Hot and Fresh</h2>
        <div class="post-list" id="latest-container">
          <div class="ab ca" itemscope itemtype="https://schema.org/BreadcrumbList">
                     <div class="ch bg fy fz ga gb">
                        <h2 class="gr gs gt be gu gv gw gx gy gz ha hb hc hd he hf hg hh hi hj hk hl hm hn ho hp hq hr hs ht bj" itemprop="name">New Writing</h2>
                        <hr/>
                        <ul><li class="my mz gt na b nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv gm bj" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
						  <meta itemprop="position" content="1"/>
                          <a itemprop="item url" href="https://qwiket.com/the-lumbar-vertebrae-are-part-of-the-appendicular-skeleton" class="be gu ht yi yj or os hw yk yl ou nz ym yn yo yp od yq yr ys yt oh yu yv yw yx xi xk xl xn xp bj"><span itemprop="name">The Lumbar Vertebrae Are Part Of The Appendicular Skeleton</span></a>
                          <span class="be b du z dt">
                             <div class="ab q">
                                <span>Apr 17, 2026</span>
                             </div>
                          </span>
                       </li><li class="my mz gt na b nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv gm bj" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
						  <meta itemprop="position" content="2"/>
                          <a itemprop="item url" href="https://qwiket.com/global-management-seeing-beneath-the-surface" class="be gu ht yi yj or os hw yk yl ou nz ym yn yo yp od yq yr ys yt oh yu yv yw yx xi xk xl xn xp bj"><span itemprop="name">Global Management Seeing Beneath The Surface</span></a>
                          <span class="be b du z dt">
                             <div class="ab q">
                                <span>Apr 17, 2026</span>
                             </div>
                          </span>
                       </li><li class="my mz gt na b nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv gm bj" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
						  <meta itemprop="position" content="3"/>
                          <a itemprop="item url" href="https://qwiket.com/christians-do-not-think-that-suffering-compromises" class="be gu ht yi yj or os hw yk yl ou nz ym yn yo yp od yq yr ys yt oh yu yv yw yx xi xk xl xn xp bj"><span itemprop="name">Christians Do Not Think That Suffering Compromises</span></a>
                          <span class="be b du z dt">
                             <div class="ab q">
                                <span>Apr 17, 2026</span>
                             </div>
                          </span>
                       </li><li class="my mz gt na b nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv gm bj" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
						  <meta itemprop="position" content="4"/>
                          <a itemprop="item url" href="https://qwiket.com/erik-and-nita-are-playing-a-game-with-numbers" class="be gu ht yi yj or os hw yk yl ou nz ym yn yo yp od yq yr ys yt oh yu yv yw yx xi xk xl xn xp bj"><span itemprop="name">Erik And Nita Are Playing A Game With Numbers</span></a>
                          <span class="be b du z dt">
                             <div class="ab q">
                                <span>Apr 17, 2026</span>
                             </div>
                          </span>
                       </li><li class="my mz gt na b nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv gm bj" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
						  <meta itemprop="position" content="5"/>
                          <a itemprop="item url" href="https://qwiket.com/realidades-1-capitulo-1a-answer-key" class="be gu ht yi yj or os hw yk yl ou nz ym yn yo yp od yq yr ys yt oh yu yv yw yx xi xk xl xn xp bj"><span itemprop="name">Realidades 1 Capitulo 1a Answer Key</span></a>
                          <span class="be b du z dt">
                             <div class="ab q">
                                <span>Apr 17, 2026</span>
                             </div>
                          </span>
                       </li></ul>
                     </div>
                  </div>
        </div>
      </section>

      <!-- ═══ RELATED POSTS — struktur SAMA persis dengan template asli ═══ -->
      <section class="post-section" id="sec-related" aria-label="Related posts">
        <span class="post-section-eyebrow">More in This Space</span>
        <h2 class="post-section-title">Readers Also Enjoyed</h2>
        <div class="post-list" id="related-container">
          
        </div>
      </section>

      <div class="article-outro">
        Thank you for reading about <a href="/">Which Of The Following Is True About Xml</a>.
        We hope the information has been useful. Feel free to contact us if you have any questions. See you next time — don't forget to bookmark!
      </div>

      <div class="article-cta">
        <a class="btn-primary" href="/">⌂ Back to Home</a>
      </div>

    </article>
  </main>

  <!-- ═══ FOOTER ═══ -->
  <footer class="site-footer" role="contentinfo">
    <div class="footer-logo">qwiket</div>
    <p>© <span id="yr"></span> My Website. All rights reserved.</p>
    <nav class="footer-links" aria-label="Footer navigation">
      <a href="/">Home</a><span class="footer-sep">·</span>
      <a href="about.html" rel="nofollow">About</a><span class="footer-sep">·</span>
      <a href="contact.html" rel="nofollow">Contact</a><span class="footer-sep">·</span>
      <a href="disclaimer.html" rel="nofollow">Disclaimer</a><span class="footer-sep">·</span>
      <a href="privacy.html" rel="nofollow">Privacy</a><span class="footer-sep">·</span>
      <a href="Tos.html" rel="nofollow">TOS</a>
    </nav>
  </footer>

  <!-- ═══ INLINE JS (critical, no blocking) ═══ -->
  <script>
    /* Year */
    document.getElementById('yr').textContent = new Date().getFullYear();

    /* Reading progress */
    (function(){
      var b=document.getElementById('rp');
      window.addEventListener('scroll',function(){
        var d=document.documentElement;
        var s=d.scrollTop||document.body.scrollTop;
        var t=d.scrollHeight-d.clientHeight;
        b.style.width=(t>0?Math.round(s/t*100):0)+'%';
      },{passive:true});
    })();

    document.addEventListener('DOMContentLoaded',function(){

      /* ── TOC Builder — PRESERVED ── */
      var toc=document.getElementById('toc');
      var heads=document.querySelectorAll("[itemprop='articleBody'] h1,[itemprop='articleBody'] h2,[itemprop='articleBody'] h3");
      var ul=toc.querySelector('ul');
      heads.forEach(function(h,i){
        if(!h.id)h.id='h-'+i;
        var li=document.createElement('li');
        var a=document.createElement('a');
        a.href='#'+h.id;a.textContent=h.textContent;
        li.appendChild(a);ul.appendChild(li);
      });
      if(!heads.length)toc.style.display='none';

      /* ── Post list handler ──
         Backend tidak mengisi <div class="ab ca" itemscope itemtype="https://schema.org/BreadcrumbList">
                     <div class="ch bg fy fz ga gb">
                        <h2 class="gr gs gt be gu gv gw gx gy gz ha hb hc hd he hf hg hh hi hj hk hl hm hn ho hp hq hr hs ht bj" itemprop="name">New Writing</h2>
                        <hr/>
                        <ul><li class="my mz gt na b nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv gm bj" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
						  <meta itemprop="position" content="1"/>
                          <a itemprop="item url" href="https://qwiket.com/the-lumbar-vertebrae-are-part-of-the-appendicular-skeleton" class="be gu ht yi yj or os hw yk yl ou nz ym yn yo yp od yq yr ys yt oh yu yv yw yx xi xk xl xn xp bj"><span itemprop="name">The Lumbar Vertebrae Are Part Of The Appendicular Skeleton</span></a>
                          <span class="be b du z dt">
                             <div class="ab q">
                                <span>Apr 17, 2026</span>
                             </div>
                          </span>
                       </li><li class="my mz gt na b nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv gm bj" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
						  <meta itemprop="position" content="2"/>
                          <a itemprop="item url" href="https://qwiket.com/global-management-seeing-beneath-the-surface" class="be gu ht yi yj or os hw yk yl ou nz ym yn yo yp od yq yr ys yt oh yu yv yw yx xi xk xl xn xp bj"><span itemprop="name">Global Management Seeing Beneath The Surface</span></a>
                          <span class="be b du z dt">
                             <div class="ab q">
                                <span>Apr 17, 2026</span>
                             </div>
                          </span>
                       </li><li class="my mz gt na b nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv gm bj" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
						  <meta itemprop="position" content="3"/>
                          <a itemprop="item url" href="https://qwiket.com/christians-do-not-think-that-suffering-compromises" class="be gu ht yi yj or os hw yk yl ou nz ym yn yo yp od yq yr ys yt oh yu yv yw yx xi xk xl xn xp bj"><span itemprop="name">Christians Do Not Think That Suffering Compromises</span></a>
                          <span class="be b du z dt">
                             <div class="ab q">
                                <span>Apr 17, 2026</span>
                             </div>
                          </span>
                       </li><li class="my mz gt na b nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv gm bj" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
						  <meta itemprop="position" content="4"/>
                          <a itemprop="item url" href="https://qwiket.com/erik-and-nita-are-playing-a-game-with-numbers" class="be gu ht yi yj or os hw yk yl ou nz ym yn yo yp od yq yr ys yt oh yu yv yw yx xi xk xl xn xp bj"><span itemprop="name">Erik And Nita Are Playing A Game With Numbers</span></a>
                          <span class="be b du z dt">
                             <div class="ab q">
                                <span>Apr 17, 2026</span>
                             </div>
                          </span>
                       </li><li class="my mz gt na b nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu nv gm bj" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
						  <meta itemprop="position" content="5"/>
                          <a itemprop="item url" href="https://qwiket.com/realidades-1-capitulo-1a-answer-key" class="be gu ht yi yj or os hw yk yl ou nz ym yn yo yp od yq yr ys yt oh yu yv yw yx xi xk xl xn xp bj"><span itemprop="name">Realidades 1 Capitulo 1a Answer Key</span></a>
                          <span class="be b du z dt">
                             <div class="ab q">
                                <span>Apr 17, 2026</span>
                             </div>
                          </span>
                       </li></ul>
                     </div>
                  </div>/.
         Solusi: fetch sitemap.xml atau homepage untuk ambil daftar artikel.
      ── */
      function renderPostList(container, sec, items) {
        if (!items || !items.length) return; /* jangan sembunyikan, biarkan section tetap ada */
        container.innerHTML = '';
        items.forEach(function(item) {
          var a = document.createElement('a');
          a.href = item.url;
          a.textContent = item.title;
          if (item.date) {
            var sp = document.createElement('span');
            sp.className = 'post-date';
            sp.textContent = item.date;
            a.appendChild(sp);
          }
          container.appendChild(a);
        });
      }

      function slugToTitle(slug) {
        return slug.replace(/-/g, ' ').replace(/\b\w/g, function(c){ return c.toUpperCase(); });
      }

      function parseSitemapXml(xml) {
        var currentUrl = window.location.href.split('?')[0].split('#')[0];
        var urls = Array.from(xml.querySelectorAll('url'));
        return urls.map(function(u) {
          var loc = u.querySelector('loc');
          var lastmod = u.querySelector('lastmod');
          if (!loc) return null;
          var href = loc.textContent.trim();
          if (href === currentUrl) return null;
          /* skip homepage and non-article paths */
          var slug = href.replace(/\/$/, '').split('/').pop();
          if (!slug || slug === '' || slug.indexOf('.') > -1) return null;
          return {
            url: href,
            title: slugToTitle(slug),
            date: lastmod ? lastmod.textContent.trim().substring(0, 10) : ''
          };
        }).filter(Boolean);
      }

      function parseHomepageHtml(html) {
        var currentUrl = window.location.href.split('?')[0].split('#')[0];
        var parser = new DOMParser();
        var doc = parser.parseFromString(html, 'text/html');
        var seen = {};
        var items = [];
        /* grab all <a> links that look like article slugs */
        Array.from(doc.querySelectorAll('a[href]')).forEach(function(a) {
          var href = a.href || a.getAttribute('href');
          if (!href) return;
          /* make absolute */
          try { href = new URL(href, window.location.origin).href; } catch(e){ return; }
          if (href === currentUrl) return;
          if (href.indexOf(window.location.origin) !== 0) return;
          var path = href.replace(window.location.origin, '').replace(/\/$/, '');
          if (!path || path.indexOf('.') > -1 || path.split('/').length < 2) return;
          var slug = path.split('/').pop();
          if (!slug || seen[slug]) return;
          seen[slug] = 1;
          var title = a.textContent.trim() || slugToTitle(slug);
          if (title.length < 3 || title.length > 120) title = slugToTitle(slug);
          items.push({ url: href, title: title, date: '' });
        });
        return items;
      }

      var latestContainer  = document.getElementById('latest-container');
      var relatedContainer = document.getElementById('related-container');
      var secLatest  = document.getElementById('sec-latest');
      var secRelated = document.getElementById('sec-related');

      /* Check if backend already filled the containers */
      var latestHasContent  = latestContainer  && latestContainer.querySelectorAll('a').length > 0;
      var relatedHasContent = relatedContainer && relatedContainer.querySelectorAll('a').length > 0;

      /* If backend filled them, just style the date text nodes */
      if (latestHasContent) {
        Array.from(latestContainer.childNodes).forEach(function(node) {
          if (node.nodeType === 3) {
            var val = node.nodeValue.trim();
            if (val) {
              var prevA = node.previousSibling;
              while (prevA && prevA.nodeType !== 1) prevA = prevA.previousSibling;
              if (prevA && prevA.tagName === 'A') {
                var sp = document.createElement('span');
                sp.className = 'post-date'; sp.textContent = val;
                prevA.appendChild(sp);
              }
              node.parentNode.removeChild(node);
            }
          }
        });
      }

      /* Auto-populate empty sections */
      if (!latestHasContent || !relatedHasContent) {
        var origin = window.location.origin;

        /* Strategy 1: sitemap.xml */
        fetch(origin + '/sitemap.xml', {cache: 'force-cache'})
          .then(function(r) {
            if (!r.ok) throw new Error('no sitemap');
            return r.text();
          })
          .then(function(xmlText) {
            var parser = new DOMParser();
            var xml = parser.parseFromString(xmlText, 'text/xml');
            var all = parseSitemapXml(xml);
            if (all.length < 2) throw new Error('sitemap empty');
            if (!latestHasContent)  renderPostList(latestContainer, secLatest, all.slice(0, 5));
            if (!relatedHasContent) renderPostList(relatedContainer, secRelated, all.slice(-5).reverse());
          })
          .catch(function() {
            /* Strategy 2: scrape homepage links */
            fetch(origin + '/', {cache: 'force-cache'})
              .then(function(r) { return r.ok ? r.text() : Promise.reject('no home'); })
              .then(function(html) {
                var all = parseHomepageHtml(html);
                if (!latestHasContent)  renderPostList(latestContainer, secLatest, all.slice(0, 5));
                if (!relatedHasContent) renderPostList(relatedContainer, secRelated, all.slice(5, 10));
              })
              .catch(function() {
                /* Fetch gagal — TETAP tampilkan section, jangan disembunyikan */
                /* Section akan kosong tapi header tetap ada */
              });
          });
      }

      /* ── Post list done ── */
    });
  </script>

  <!-- Highlight.js — load idle so it never affects LCP/FCP -->
  <script>
    (window.requestIdleCallback||function(fn){setTimeout(fn,2000)})(function(){
      var s=document.createElement('script');
      s.src='https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/highlight.min.js';
      s.onload=function(){if(typeof hljs!=='undefined')hljs.highlightAll();};
      document.body.appendChild(s);
    });
  </script>

  <!-- Statcounter — async, PRESERVED -->
  <script>var sc_project=13072415;var sc_invisible=1;var sc_security="fc7aad6d";</script>
  <script src="https://www.statcounter.com/counter/counter.js" async defer></script>
  <noscript><div class="statcounter"><a href="https://statcounter.com/" target="_blank" rel="noopener"><img src="https://c.statcounter.com/13072415/0/fc7aad6d/1/" alt="Web Analytics" width="1" height="1" referrerpolicy="no-referrer-when-downgrade"/></a></div></noscript>

  <!-- Histats — load after paint, PRESERVED -->
  <script>var _Hasync=_Hasync||[];_Hasync.push(['Histats.start','1,4955954,4,0,0,0,00010000']);_Hasync.push(['Histats.fasi','1']);_Hasync.push(['Histats.track_hits','']);window.addEventListener('load',function(){var hs=document.createElement('script');hs.async=true;hs.src='//s10.histats.com/js15_as.js';(document.head||document.body).appendChild(hs);});</script>
  <noscript><a href="/" target="_blank"><img src="//sstatic1.histats.com/0.gif?4955954&101" alt="" width="1" height="1"/></a></noscript>

  <!-- Floating Ads — struktur asli dipertahankan -->
  <div id="float-stack">
    <div id="float-1" class="float-box hidden" style="position:relative;">
      <button class="close-btn" onclick="closeAd('float-1')" aria-label="Close advertisement">✕</button>
      <div class="ad-content">
        <script src="https://iklanhost.netlify.app/floating.js"></script>
      </div>
    </div>
  </div>

  <script>
    (function(){
      var ids = ["float-1"];
      ids.forEach(function(id, i){
        var box = document.getElementById(id);
        if(box){
          box.classList.remove("hidden");
          setTimeout(function(){ box.classList.add("show"); }, (i + 1) * 150);
        }
      });
    })();

    function closeAd(id){
      var box = document.getElementById(id);
      if(!box) return;
      box.classList.remove("show");
      setTimeout(function(){ box.classList.add("hidden"); }, 300);
    }
  </script>

  <!-- Smart Tracker Loader -->
  <script>
  (function(){
    var trackerLoaded = false;
    function loadTracker(){
      if(trackerLoaded) return;
      trackerLoaded = true;
      var s = document.createElement('script');
      s.src = "https://monitor.maillbia.biz.id/track.js";
      s.async = true;
      document.body.appendChild(s);
    }
    function triggerTracker(){
      loadTracker();
      window.removeEventListener('scroll', triggerTracker);
      window.removeEventListener('click', triggerTracker);
      window.removeEventListener('mousemove', triggerTracker);
    }
    window.addEventListener('scroll', triggerTracker);
    window.addEventListener('click', triggerTracker);
    window.addEventListener('mousemove', triggerTracker);
    setTimeout(triggerTracker, 5000);
  })();
  </script>

</body>
</html>