<?xml version="1.0" encoding="UTF-8"?>
<!--
  xraytools.com (Phase 24, 2026-08-08).

  Written by hand into git, because the deploy is an FTP upload of tracked files and the server
  runs nothing on a schedule. The worked-example URLs, though, are GENERATED from $XRT_PAGES in
  header.php and must never be retyped. They drifted anyway: by Phase 28 three curated examples
  had been added to header.php and not here, and nothing compared the two, so the rule was being
  remembered rather than enforced. tools/asset-check.php now asserts they agree in BOTH
  directions. A missing entry is a result nobody can find; an extra one is a URL published
  forever for an example that no longer exists.

  NOTE the wording above avoids a double hyphen, which is illegal inside an XML comment. The
  first draft of this very paragraph carried one and made the file unparseable, which is the
  same defect this header was already recording about the first draft of the file.

  THE WORKED EXAMPLES ARE LISTED DELIBERATELY. They are the only URLs here carrying a query
  string, and each is canonical to itself (see xrt_canonical_url) because each is a real
  document with real numbers: "NaCl (200) with Cu radiation" is a thing somebody searches for.
  Every other parameterised URL a visitor can produce is canonical to its bare page instead, so
  the infinite tail of somebody's own inputs collapses onto the bare pages listed above.

  THAT SENTENCE COUNTED THEM until 2026-08-09, and said seven while eight were listed: Phase 39
  added a page to $XRT_PAGES, the URL block below followed it, and the prose above did not. The
  count is gone rather than corrected, for the reason the paragraph two above already gives about
  the example URLs. asset-check.php compares this file against $XRT_PAGES in both directions, so
  a missing or stray page URL fails; nothing can compare a numeral in a comment to anything.

  EVERY URL HERE IS A PATH as of Phase 44, not index.php?page=x. The old form still resolves,
  because index.php 301s it onto the new one, but a sitemap listing a URL that redirects asks a
  crawler to spend two requests reaching one document and tells it the destination is not the
  address. Regenerate this block from xrt_canonical_url() rather than editing a URL by hand.

  AND NOTE HOW THE FIRST DRAFT OF THAT PARAGRAPH FAILED: it used the dash convention every PHP
  comment in this project uses, which is ILLEGAL inside an XML comment, so the file stopped
  parsing. That is the third time this header's own warning has been earned by the paragraph
  being added directly beneath it.

  THE HOME ENTRY IS THE BARE ORIGIN as of Phase 41.2, not index.php?page=home. A sitemap URL
  whose page declares a DIFFERENT canonical is a contradiction a crawler resolves by ignoring
  the sitemap entry, so this file has to follow xrt_canonical_url and not merely coexist with
  it. asset-check.php now compares the bare page URLs against $XRT_PAGES in both directions,
  which is what it always claimed to do and did not: the check named "lists every routed page"
  asserted only that there were at least seven of them.

  No lastmod: it would need updating on every content edit and a wrong one is worse than none.
  No priority: Google has ignored it since 2015.

  Note for anyone editing the prose above: a double hyphen is ILLEGAL inside an XML comment, so
  this file cannot use the dash convention the PHP comments here use. Caught by the well-formed
  check in asset-check.php, which exists because a malformed sitemap is silently ignored by a
  crawler rather than reported to anyone.
-->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

  <url><loc>https://xraytools.com/</loc></url>
  <url><loc>https://xraytools.com/absorption</loc></url>
  <url><loc>https://xraytools.com/bragg</loc></url>
  <url><loc>https://xraytools.com/pxrdcalc</loc></url>
  <url><loc>https://xraytools.com/reciprocal</loc></url>
  <url><loc>https://xraytools.com/spacegroups</loc></url>
  <url><loc>https://xraytools.com/structurefactor</loc></url>
  <url><loc>https://xraytools.com/density</loc></url>
  <url><loc>https://xraytools.com/friedif</loc></url>
  <url><loc>https://xraytools.com/chncalc</loc></url>
  <url><loc>https://xraytools.com/isotopes</loc></url>
  <url><loc>https://xraytools.com/contact</loc></url>
  <url><loc>https://xraytools.com/cifparse</loc></url>

  <url><loc>https://xraytools.com/absorption?formula=NaCl&amp;density=2.17&amp;Curadiation=true&amp;Moradiation=true</loc></url>
  <url><loc>https://xraytools.com/absorption?formula=C32H26N2O2Ni&amp;density=1.237&amp;Curadiation=true&amp;Moradiation=true</loc></url>
  <url><loc>https://xraytools.com/bragg?calcmode=angstromtotwotheta&amp;dspacing2=2.820&amp;Curadiation=true&amp;Moradiation=true</loc></url>
  <url><loc>https://xraytools.com/bragg?calcmode=angstromtotwotheta&amp;dspacing2=3.3434&amp;Curadiation=true&amp;Moradiation=true</loc></url>
  <url><loc>https://xraytools.com/pxrdcalc?structure=nacl&amp;hvalue=2&amp;kvalue=0&amp;lvalue=0</loc></url>
  <url><loc>https://xraytools.com/pxrdcalc?structure=copper&amp;hvalue=1&amp;kvalue=1&amp;lvalue=1</loc></url>
  <url><loc>https://xraytools.com/pxrdcalc?structure=iron&amp;hvalue=1&amp;kvalue=1&amp;lvalue=0</loc></url>
  <url><loc>https://xraytools.com/pxrdcalc?structure=cscl&amp;hvalue=1&amp;kvalue=1&amp;lvalue=0</loc></url>
  <url><loc>https://xraytools.com/pxrdcalc?structure=quartz&amp;hvalue=1&amp;kvalue=0&amp;lvalue=1</loc></url>
  <url><loc>https://xraytools.com/pxrdcalc?structure=rutile&amp;hvalue=1&amp;kvalue=1&amp;lvalue=0</loc></url>
  <url><loc>https://xraytools.com/pxrdcalc?structure=aragonite&amp;hvalue=1&amp;kvalue=1&amp;lvalue=1</loc></url>
  <url><loc>https://xraytools.com/pxrdcalc?structure=zirconia&amp;hvalue=1&amp;kvalue=1&amp;lvalue=1</loc></url>
  <url><loc>https://xraytools.com/pxrdcalc?structure=albite&amp;hvalue=1&amp;kvalue=1&amp;lvalue=1</loc></url>
  <url><loc>https://xraytools.com/pxrdcalc?structure=zincblende&amp;hvalue=1&amp;kvalue=1&amp;lvalue=1</loc></url>
  <url><loc>https://xraytools.com/reciprocal?a=2.8665&amp;b=2.8665&amp;c=2.8665&amp;alpha=90&amp;beta=90&amp;gamma=90</loc></url>
  <url><loc>https://xraytools.com/reciprocal?a=3.6149&amp;b=3.6149&amp;c=3.6149&amp;alpha=90&amp;beta=90&amp;gamma=90</loc></url>
  <url><loc>https://xraytools.com/reciprocal?a=4.123&amp;b=4.123&amp;c=4.123&amp;alpha=90&amp;beta=90&amp;gamma=90</loc></url>
  <url><loc>https://xraytools.com/reciprocal?a=4.5941&amp;b=4.5941&amp;c=2.9589&amp;alpha=90&amp;beta=90&amp;gamma=90</loc></url>
  <url><loc>https://xraytools.com/reciprocal?a=4.9134&amp;b=4.9134&amp;c=5.4052&amp;alpha=90&amp;beta=90&amp;gamma=120</loc></url>
  <url><loc>https://xraytools.com/reciprocal?a=4.9614&amp;b=7.9671&amp;c=5.7404&amp;alpha=90&amp;beta=90&amp;gamma=90</loc></url>
  <url><loc>https://xraytools.com/reciprocal?a=5.1505&amp;b=5.2116&amp;c=5.3173&amp;alpha=90&amp;beta=99.230&amp;gamma=90</loc></url>
  <url><loc>https://xraytools.com/reciprocal?a=5.640&amp;b=5.640&amp;c=5.640&amp;alpha=90&amp;beta=90&amp;gamma=90</loc></url>
  <url><loc>https://xraytools.com/reciprocal?a=8.1372&amp;b=12.7859&amp;c=7.1582&amp;alpha=94.260&amp;beta=116.60&amp;gamma=87.680</loc></url>
  <url><loc>https://xraytools.com/reciprocal?a=5.4093&amp;b=5.4093&amp;c=5.4093&amp;alpha=90&amp;beta=90&amp;gamma=90</loc></url>
  <url><loc>https://xraytools.com/spacegroups?sg=P2_1%2Fc</loc></url>
  <url><loc>https://xraytools.com/spacegroups?sg=P2_1%2Fn</loc></url>
  <url><loc>https://xraytools.com/spacegroups?sg=P4_32_12</loc></url>
  <url><loc>https://xraytools.com/spacegroups?sg=R-3c</loc></url>
  <url><loc>https://xraytools.com/spacegroups?sg=Fd-3m&amp;h=2&amp;k=0&amp;l=0</loc></url>
  <url><loc>https://xraytools.com/structurefactor?structure=nacl&amp;h=2&amp;k=0&amp;l=0</loc></url>
  <url><loc>https://xraytools.com/structurefactor?structure=copper&amp;h=1&amp;k=1&amp;l=1</loc></url>
  <url><loc>https://xraytools.com/structurefactor?structure=iron&amp;h=1&amp;k=1&amp;l=0</loc></url>
  <url><loc>https://xraytools.com/structurefactor?structure=cscl&amp;h=1&amp;k=1&amp;l=0</loc></url>
  <url><loc>https://xraytools.com/structurefactor?structure=zincblende&amp;h=1&amp;k=1&amp;l=1</loc></url>
  <url><loc>https://xraytools.com/density?a=2.8665&amp;b=2.8665&amp;c=2.8665&amp;alpha=90&amp;beta=90&amp;gamma=90&amp;formula=Fe&amp;z=2</loc></url>
  <url><loc>https://xraytools.com/density?a=3.6149&amp;b=3.6149&amp;c=3.6149&amp;alpha=90&amp;beta=90&amp;gamma=90&amp;formula=Cu&amp;z=4</loc></url>
  <url><loc>https://xraytools.com/density?a=4.123&amp;b=4.123&amp;c=4.123&amp;alpha=90&amp;beta=90&amp;gamma=90&amp;formula=CsCl&amp;z=1</loc></url>
  <url><loc>https://xraytools.com/density?a=4.5941&amp;b=4.5941&amp;c=2.9589&amp;alpha=90&amp;beta=90&amp;gamma=90&amp;formula=TiO2&amp;z=2</loc></url>
  <url><loc>https://xraytools.com/density?a=4.9134&amp;b=4.9134&amp;c=5.4052&amp;alpha=90&amp;beta=90&amp;gamma=120&amp;formula=SiO2&amp;z=3</loc></url>
  <url><loc>https://xraytools.com/density?a=4.9614&amp;b=7.9671&amp;c=5.7404&amp;alpha=90&amp;beta=90&amp;gamma=90&amp;formula=CaCO3&amp;z=4</loc></url>
  <url><loc>https://xraytools.com/density?a=5.1505&amp;b=5.2116&amp;c=5.3173&amp;alpha=90&amp;beta=99.230&amp;gamma=90&amp;formula=ZrO2&amp;z=4</loc></url>
  <url><loc>https://xraytools.com/density?a=5.640&amp;b=5.640&amp;c=5.640&amp;alpha=90&amp;beta=90&amp;gamma=90&amp;formula=NaCl&amp;z=4</loc></url>
  <url><loc>https://xraytools.com/density?a=8.1372&amp;b=12.7859&amp;c=7.1582&amp;alpha=94.260&amp;beta=116.60&amp;gamma=87.680&amp;formula=NaAlSi3O8&amp;z=4</loc></url>
  <url><loc>https://xraytools.com/density?a=5.4093&amp;b=5.4093&amp;c=5.4093&amp;alpha=90&amp;beta=90&amp;gamma=90&amp;formula=ZnS&amp;z=4</loc></url>
  <url><loc>https://xraytools.com/friedif?formula=C32H26N2O2Ni&amp;Curadiation=true&amp;Moradiation=true&amp;Crradiation=true</loc></url>
  <url><loc>https://xraytools.com/friedif?formula=(CH3)4N%2B&amp;Curadiation=true&amp;Moradiation=true&amp;Crradiation=true</loc></url>
  <url><loc>https://xraytools.com/chncalc?formula=C9H8O4</loc></url>
  <url><loc>https://xraytools.com/chncalc?formula=C32H26N2O2Ni</loc></url>
  <url><loc>https://xraytools.com/chncalc?formula=Cu(NO3)2</loc></url>
  <url><loc>https://xraytools.com/isotopes?formula=C32H26N2O2Ni</loc></url>
  <url><loc>https://xraytools.com/isotopes?formula=CH2Br2</loc></url>
  <url><loc>https://xraytools.com/isotopes?formula=SnCl4</loc></url>
  <url><loc>https://xraytools.com/isotopes?formula=SO4^2-</loc></url>

</urlset>
