xmlsquishsource. compose. build.
中文

XML DSL & project guide

Create your first entry

Bind the exact namespace URI on xs:entry. Ordinary XML becomes output; xs:* elements control composition.

Jump to a chapter
On this page

1. Bind the namespace

Comparison is exact and case-sensitive. The address identifies the vocabulary; the build never fetches it over the network.

<xs:entry xmlns:xs="https://xmlsquish.moesegfault.dev/ns">
  <Prompt>Hello, xmlsquish.</Prompt>
</xs:entry>

2. Declare a build target

Create xmlsquish.toml at the project root and point the target entry at this XML file.

manifest-version = 1

[package]
name = "hello"
version = "1.0.0"
source-root = "."

[target.prompt]
entry = "prompt.xml"

3. Save, build, and inspect

Save the entry above as prompt.xml, then build from the project root and read the raw result through its logical artifact locator.

xmlsquish build --target prompt
xmlsquish inspect artifact target/xmlsquish/artifacts/prompt.prompt --format=raw

Expected output:

<Prompt>Hello, xmlsquish.</Prompt>

The public contract is the logical locator target/xmlsquish/artifacts/prompt.prompt—not the publisher's internal physical storage path.