diff --git a/.github/workflows/check-pretext-schema.yml b/.github/workflows/check-pretext-schema.yml
new file mode 100644
index 0000000..23d271e
--- /dev/null
+++ b/.github/workflows/check-pretext-schema.yml
@@ -0,0 +1,87 @@
+name: Check PreTeXt Schema for Updates
+
+on:
+ schedule:
+ # Runs every Monday at 08:00 UTC
+ - cron: "0 8 * * 1"
+ workflow_dispatch: {}
+
+jobs:
+ check-schema:
+ runs-on: ubuntu-latest
+ permissions:
+ issues: write
+ contents: read
+
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v4
+
+ - name: Download latest pretext-dev.rng
+ run: |
+ curl -fsSL \
+ "https://raw.githubusercontent.com/PreTeXtBook/pretext/refs/heads/master/schema/pretext-dev.rng" \
+ -o /tmp/pretext-dev-latest.rng
+
+ - name: Compare with stored schema
+ id: compare
+ run: |
+ STORED="extension/assets/schema/pretext-dev.rng"
+ LATEST="/tmp/pretext-dev-latest.rng"
+
+ if [ ! -f "$STORED" ]; then
+ echo "changed=true" >> "$GITHUB_OUTPUT"
+ echo "reason=Stored schema file not found" >> "$GITHUB_OUTPUT"
+ exit 0
+ fi
+
+ STORED_HASH=$(sha256sum "$STORED" | cut -d ' ' -f1)
+ LATEST_HASH=$(sha256sum "$LATEST" | cut -d ' ' -f1)
+
+ echo "Stored hash: $STORED_HASH"
+ echo "Latest hash: $LATEST_HASH"
+
+ if [ "$STORED_HASH" != "$LATEST_HASH" ]; then
+ echo "changed=true" >> "$GITHUB_OUTPUT"
+ echo "reason=SHA-256 hash mismatch" >> "$GITHUB_OUTPUT"
+ else
+ echo "changed=false" >> "$GITHUB_OUTPUT"
+ fi
+
+ - name: Check for existing open schema update issue
+ if: steps.compare.outputs.changed == 'true'
+ id: existing-issue
+ env:
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ run: |
+ ISSUE_NUMBER=$(gh issue list \
+ --label "schema-update" \
+ --state open \
+ --json number \
+ --jq '.[0].number // empty')
+ echo "issue_number=${ISSUE_NUMBER}" >> "$GITHUB_OUTPUT"
+
+ - name: Create issue for schema update
+ if: steps.compare.outputs.changed == 'true' && steps.existing-issue.outputs.issue_number == ''
+ env:
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ run: |
+ LATEST_COMMIT=$(curl -fsSL \
+ "https://api.github.com/repos/PreTeXtBook/pretext/commits?path=schema/pretext-dev.rng&per_page=1" \
+ | python3 -c "import sys,json; data=json.load(sys.stdin); print(data[0]['sha'][:7] if data else 'unknown')")
+
+ gh issue create \
+ --title "Schema update needed: pretext-dev.rng has changed upstream" \
+ --label "schema-update" \
+ --body "The PreTeXt schema file \`pretext-dev.rng\` in the [PreTeXtBook/pretext](https://github.com/PreTeXtBook/pretext) repository has changed since our last update.
+
+ **Latest upstream commit:** \`${LATEST_COMMIT}\`
+
+ ## Steps to update
+
+ 1. Run \`npm run refresh:schemas\` from the workspace root to download the latest schema and regenerate \`packages/schema/src/schema.ts\`.
+ 2. Review the diff to understand what changed in the schema.
+ 3. Update any element descriptions or extra metadata in \`packages/schema/src/schema.ts\` as needed.
+ 4. Commit the updated \`extension/assets/schema/pretext-dev.rng\` and \`packages/schema/src/schema.ts\`.
+
+ This issue was created automatically by the [check-pretext-schema workflow](https://github.com/${{ github.repository }}/actions/workflows/check-pretext-schema.yml)."
diff --git a/.github/workflows/publish-schema.yml b/.github/workflows/publish-schema.yml
new file mode 100644
index 0000000..25a4fd2
--- /dev/null
+++ b/.github/workflows/publish-schema.yml
@@ -0,0 +1,68 @@
+name: Publish Schema Package
+
+on:
+ workflow_dispatch:
+ inputs:
+ level:
+ description: "Release level"
+ required: true
+ type: choice
+ default: "patch"
+ options:
+ - "patch"
+ - "minor"
+ - "major"
+
+permissions:
+ id-token: write
+ contents: write
+
+jobs:
+ publish:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Setup Node.js
+ uses: actions/setup-node@v4
+ with:
+ node-version: "24"
+ registry-url: "https://registry.npmjs.org"
+
+ - name: Install Dependencies
+ run: npm install
+
+ - name: Build Package
+ run: npx nx build schema
+
+ - name: Bump Version
+ run: |
+ cd packages/schema
+ npm version ${{ inputs.level }}
+ cd ../..
+
+ - name: Get Version
+ id: version
+ run: echo "VERSION=$(jq -r '.version' packages/schema/package.json)" >> $GITHUB_OUTPUT
+
+ - name: Publish to npm
+ run: |
+ cd packages/schema
+ npm publish --provenance
+
+ - name: Commit and Push
+ run: |
+ git config user.name "${{ github.actor }}"
+ git config user.email "${{ github.actor }}@users.noreply.github.com"
+ git add packages/schema/package.json
+ git commit -m "chore(schema): bump to v${{ steps.version.outputs.VERSION }}"
+ git push origin main
+
+ - name: Create Release
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ run: |
+ gh release create "schema-v${{ steps.version.outputs.VERSION }}" \
+ --repo="$GITHUB_REPOSITORY" \
+ --title="Schema Package v${{ steps.version.outputs.VERSION }}"
diff --git a/package-lock.json b/package-lock.json
index 8ca6364..7496b32 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -6782,6 +6782,10 @@
"resolved": "packages/latex-pretext",
"link": true
},
+ "node_modules/@pretextbook/schema": {
+ "resolved": "packages/schema",
+ "link": true
+ },
"node_modules/@pretextbook/visual-editor": {
"resolved": "packages/visual-editor",
"link": true
@@ -27229,6 +27233,7 @@
"version": "0.0.3",
"license": "MIT",
"dependencies": {
+ "@pretextbook/schema": "*",
"vscode-languageserver": "^9.0.1"
}
},
@@ -27239,7 +27244,7 @@
},
"packages/latex-pretext": {
"name": "@pretextbook/latex-pretext",
- "version": "0.0.2",
+ "version": "0.0.3",
"license": "MIT",
"dependencies": {
"@unified-latex/unified-latex-to-pretext": "github:pretextplus/unified-latex#release/unified-latex-to-pretext",
@@ -27260,6 +27265,11 @@
"eslint-config-prettier": "^10.1.8"
}
},
+ "packages/schema": {
+ "name": "@pretextbook/schema",
+ "version": "0.0.1",
+ "license": "MIT"
+ },
"packages/visual-editor": {
"name": "@pretextbook/visual-editor",
"version": "0.0.1",
diff --git a/package.json b/package.json
index 27d326b..a9fd0e3 100644
--- a/package.json
+++ b/package.json
@@ -16,7 +16,7 @@
"build": "nx build vscode-extension",
"build:dev": "nx build:dev vscode-extension",
"watch": "NX_TUI=false nx build:watch vscode-extension --outputStyle=stream",
- "refresh:schemas": "node ./scripts/getSchemas.js && node ./packages/completions/scripts/generate-default-schema.mjs",
+ "refresh:schemas": "node ./scripts/getSchemas.js && node ./packages/schema/scripts/generate-schema.mjs",
"lint": "nx run-many -t eslint:lint",
"test": "nx run-many -t test"
},
diff --git a/packages/completions/package.json b/packages/completions/package.json
index 4fd0852..edee0fe 100644
--- a/packages/completions/package.json
+++ b/packages/completions/package.json
@@ -28,12 +28,9 @@
"src/**/*",
"README.md"
],
- "scripts": {
- "fetch:dev-schema": "node ../../scripts/getSchemas.js --only-pretext-dev",
- "generate:schema": "node ./scripts/generate-default-schema.mjs",
- "prebuild": "npm run fetch:dev-schema && npm run generate:schema"
- },
+ "scripts": {},
"dependencies": {
+ "@pretextbook/schema": "*",
"vscode-languageserver": "^9.0.1"
},
"publishConfig": {
diff --git a/packages/completions/project.json b/packages/completions/project.json
index 12ef24f..04fad72 100644
--- a/packages/completions/project.json
+++ b/packages/completions/project.json
@@ -8,7 +8,7 @@
"targets": {
"build": {
"executor": "nx:run-commands",
- "dependsOn": ["refresh-schema", "^build"],
+ "dependsOn": ["^build"],
"options": {
"cwd": "packages/completions",
"command": "tsc --build tsconfig.lib.json"
@@ -27,14 +27,6 @@
"cache": true,
"inputs": ["default", "^default"]
},
- "refresh-schema": {
- "executor": "nx:run-commands",
- "options": {
- "cwd": "packages/completions",
- "command": "npm run fetch:dev-schema && npm run generate:schema"
- },
- "cache": false
- },
"test": {
"executor": "nx:run-commands",
"options": {
diff --git a/packages/completions/scripts/generate-default-schema.mjs b/packages/completions/scripts/generate-default-schema.mjs
index 5f441cb..5a56360 100644
--- a/packages/completions/scripts/generate-default-schema.mjs
+++ b/packages/completions/scripts/generate-default-schema.mjs
@@ -1,185 +1,17 @@
-import fs from "fs";
+// This script is deprecated. The PreTeXt schema is now generated and maintained
+// in packages/schema. Run `packages/schema/scripts/generate-schema.mjs` instead,
+// or use `npm run refresh:schemas` from the workspace root.
+
+import { execFileSync } from "child_process";
import path from "path";
import { fileURLToPath } from "url";
-import { fromXml } from "xast-util-from-xml";
-import { CONTINUE, SKIP, visit } from "unist-util-visit";
-import deepmerge from "deepmerge";
const scriptDir = path.dirname(fileURLToPath(import.meta.url));
-const workspaceRoot = path.resolve(scriptDir, "../../..");
-const schemaPath = path.join(
- workspaceRoot,
- "extension",
- "assets",
- "schema",
- "pretext-dev.rng",
-);
-const outputPath = path.join(
- workspaceRoot,
- "packages",
- "completions",
- "src",
- "default-dev-schema.ts",
-);
-
-function getAst(rngPath) {
- let rngFile = fs.readFileSync(rngPath, "utf8");
- const includeRegex = //g;
- let match = includeRegex.exec(rngFile);
-
- while (match !== null) {
- const rngDir = path.dirname(rngPath);
- const includePath = path.join(rngDir, match[2]);
- let includeContent = fs.readFileSync(includePath, "utf8");
- includeContent = includeContent.replace(/<\?xml.*?\?>/, "");
- rngFile = rngFile.replace(match[0], includeContent);
- match = includeRegex.exec(rngFile);
- }
-
- return fromXml(rngFile);
-}
-
-function getChildren(elemNode) {
- if (
- elemNode.type !== "element" ||
- !elemNode.children ||
- elemNode.children.length === 0
- ) {
- return {};
- }
-
- const elements = [];
- const attributes = [];
- const refs = [];
-
- visit(elemNode, (node, _index, parent) => {
- if (!parent) {
- return CONTINUE;
- }
-
- if (node.name === "element") {
- if (node.attributes && node.attributes.name) {
- elements.push(node.attributes.name);
- return SKIP;
- }
- } else if (node.name === "attribute") {
- if (node.attributes && node.attributes.name) {
- attributes.push(node.attributes.name);
- return SKIP;
- }
- } else if (node.name === "ref") {
- if (node.attributes && node.attributes.name) {
- refs.push(node.attributes.name);
- return SKIP;
- }
- }
-
- return CONTINUE;
- });
-
- return { elements, attributes, refs };
-}
-
-function resolveRefs(elements, aliases) {
- const resolvedElements = {};
-
- for (const elem in elements) {
- const resolvedElement = { ...elements[elem] };
- if (!resolvedElement.refs) {
- continue;
- }
-
- while (resolvedElement.refs.length > 0) {
- const ref = resolvedElement.refs.pop();
- if (ref && aliases[ref]) {
- resolvedElement.elements.push(...aliases[ref].elements);
- resolvedElement.attributes.push(...aliases[ref].attributes);
- if (aliases[ref].refs) {
- resolvedElement.refs.push(...aliases[ref].refs);
- }
- }
- }
+const newScript = path.resolve(scriptDir, "../../schema/scripts/generate-schema.mjs");
- resolvedElement.elements = [...new Set(resolvedElement.elements)];
- resolvedElement.attributes = [...new Set(resolvedElement.attributes)];
- resolvedElement.refs = undefined;
- resolvedElements[elem] = resolvedElement;
- }
-
- return resolvedElements;
-}
-
-function createSchemaElementChildren(schemaAst) {
- const tmpElementChildren = {};
- const aliasMap = {};
-
- visit(schemaAst, (node) => {
- if (node.type === "root") {
- return CONTINUE;
- }
- if (node.type !== "element") {
- return SKIP;
- }
-
- if (node.name === "start") {
- return SKIP;
- }
-
- if (node.name === "define") {
- const nodeName = node.attributes?.name;
- if (nodeName) {
- aliasMap[nodeName] = deepmerge(aliasMap[nodeName] || {}, getChildren(node));
- }
- } else if (node.name === "element") {
- const nodeName = node.attributes?.name;
- if (nodeName) {
- tmpElementChildren[nodeName] = deepmerge(
- tmpElementChildren[nodeName] || {},
- getChildren(node),
- );
- }
- }
-
- return CONTINUE;
- });
-
- return resolveRefs(tmpElementChildren, aliasMap);
-}
-
-function sortSchemaElementChildren(elementChildren) {
- const sortedNames = Object.keys(elementChildren).sort((a, b) => a.localeCompare(b));
- const sorted = {};
-
- for (const name of sortedNames) {
- sorted[name] = {
- elements: [...elementChildren[name].elements].sort((a, b) =>
- a.localeCompare(b),
- ),
- attributes: [...elementChildren[name].attributes].sort((a, b) =>
- a.localeCompare(b),
- ),
- };
- }
-
- return sorted;
-}
-
-function main() {
- const schemaAst = getAst(schemaPath);
- const elementChildren = createSchemaElementChildren(schemaAst);
- const sortedElementChildren = sortSchemaElementChildren(elementChildren);
-
- const content = `import type { CompletionSchema } from "./types";
-
-// Generated by packages/completions/scripts/generate-default-schema.mjs from extension/assets/schema/pretext-dev.rng.
-// Do not edit manually.
-export const defaultDevSchema: CompletionSchema = {
- elementChildren: ${JSON.stringify(sortedElementChildren, null, 2)}
-};
-`;
-
- fs.writeFileSync(outputPath, content);
- console.log(`Wrote default schema to ${outputPath}`);
-}
+console.warn(
+ "[DEPRECATED] generate-default-schema.mjs is deprecated. " +
+ "Delegating to packages/schema/scripts/generate-schema.mjs instead.",
+);
-main();
+execFileSync(process.execPath, [newScript], { stdio: "inherit" });
diff --git a/packages/completions/src/default-dev-schema.ts b/packages/completions/src/default-dev-schema.ts
index 2f3da8b..03ccd79 100644
--- a/packages/completions/src/default-dev-schema.ts
+++ b/packages/completions/src/default-dev-schema.ts
@@ -1,9427 +1,3 @@
-import type { CompletionSchema } from "./types";
-
-// Generated by packages/completions/scripts/generate-default-schema.mjs from extension/assets/schema/pretext-dev.rng.
-// Do not edit manually.
-export const defaultDevSchema: CompletionSchema = {
- elementChildren: {
- "abbr": {
- "elements": [
- "copyleft",
- "copyright",
- "dblprime",
- "degree",
- "ellipsis",
- "icon",
- "kbd",
- "langle",
- "ldblbracket",
- "lq",
- "lsq",
- "mdash",
- "midpoint",
- "minus",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "phonomark",
- "pilcrow",
- "plusminus",
- "prime",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "section-mark",
- "servicemark",
- "solidus",
- "swungdash",
- "times",
- "trademark"
- ],
- "attributes": []
- },
- "abstract": {
- "elements": [
- "blockquote",
- "console",
- "idx",
- "image",
- "p",
- "pre",
- "program",
- "tabular",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:id"
- ]
- },
- "acknowledgement": {
- "elements": [
- "aside",
- "biographical",
- "blockquote",
- "console",
- "historical",
- "idx",
- "image",
- "p",
- "paragraphs",
- "pre",
- "program",
- "sbsgroup",
- "sidebyside",
- "tabular",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "acro": {
- "elements": [
- "copyleft",
- "copyright",
- "dblprime",
- "degree",
- "ellipsis",
- "icon",
- "kbd",
- "langle",
- "ldblbracket",
- "lq",
- "lsq",
- "mdash",
- "midpoint",
- "minus",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "phonomark",
- "pilcrow",
- "plusminus",
- "prime",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "section-mark",
- "servicemark",
- "solidus",
- "swungdash",
- "times",
- "trademark"
- ],
- "attributes": []
- },
- "activity": {
- "elements": [
- "answer",
- "areas",
- "aside",
- "biographical",
- "blockquote",
- "blocks",
- "choices",
- "conclusion",
- "console",
- "feedback",
- "figure",
- "hint",
- "historical",
- "idx",
- "image",
- "interactive",
- "introduction",
- "list",
- "listing",
- "matches",
- "myopenmath",
- "ol",
- "p",
- "postamble",
- "postlude",
- "pre",
- "preamble",
- "prelude",
- "program",
- "response",
- "sage",
- "sbsgroup",
- "sidebyside",
- "solution",
- "statement",
- "table",
- "tabular",
- "task",
- "title",
- "video",
- "webwork"
- ],
- "attributes": [
- "adaptive",
- "attachment",
- "component",
- "indentation",
- "label",
- "language",
- "number",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "ad": {
- "elements": [],
- "attributes": []
- },
- "address": {
- "elements": [],
- "attributes": []
- },
- "affiliation": {
- "elements": [
- "department",
- "institution",
- "location"
- ],
- "attributes": []
- },
- "alert": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "icon",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "url",
- "var",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex",
- "xref"
- ],
- "attributes": []
- },
- "algorithm": {
- "elements": [
- "argument",
- "aside",
- "biographical",
- "blockquote",
- "console",
- "creator",
- "explanation",
- "figure",
- "historical",
- "idx",
- "image",
- "interactive",
- "justification",
- "list",
- "listing",
- "p",
- "pre",
- "program",
- "proof",
- "reasoning",
- "sage",
- "sbsgroup",
- "sidebyside",
- "statement",
- "table",
- "tabular",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "alteration": {
- "elements": [
- "copyleft",
- "copyright",
- "dblprime",
- "degree",
- "ellipsis",
- "flat",
- "icon",
- "kbd",
- "langle",
- "ldblbracket",
- "lq",
- "lsq",
- "mdash",
- "midpoint",
- "minus",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "phonomark",
- "pilcrow",
- "plusminus",
- "prime",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "swungdash",
- "times",
- "trademark"
- ],
- "attributes": []
- },
- "am": {
- "elements": [],
- "attributes": []
- },
- "angles": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "icon",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "url",
- "var",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex",
- "xref"
- ],
- "attributes": []
- },
- "answer": {
- "elements": [
- "argument",
- "aside",
- "biographical",
- "blockquote",
- "console",
- "explanation",
- "figure",
- "historical",
- "idx",
- "image",
- "interactive",
- "justification",
- "list",
- "listing",
- "p",
- "pre",
- "program",
- "proof",
- "reasoning",
- "sage",
- "sbsgroup",
- "sidebyside",
- "table",
- "tabular",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "appendix": {
- "elements": [
- "activity",
- "algorithm",
- "argument",
- "aside",
- "assemblage",
- "assumption",
- "author",
- "axiom",
- "biographical",
- "blockquote",
- "claim",
- "computation",
- "conclusion",
- "conjecture",
- "console",
- "convention",
- "corollary",
- "data",
- "definition",
- "example",
- "exercise",
- "exercises",
- "explanation",
- "exploration",
- "fact",
- "figure",
- "fragment",
- "glossary",
- "handout",
- "heuristic",
- "historical",
- "hypothesis",
- "identity",
- "idx",
- "image",
- "insight",
- "interactive",
- "introduction",
- "investigation",
- "justification",
- "lemma",
- "list",
- "list-of",
- "listing",
- "notation-list",
- "note",
- "objectives",
- "observation",
- "outcomes",
- "p",
- "paragraphs",
- "plaintitle",
- "poem",
- "pre",
- "principle",
- "problem",
- "program",
- "project",
- "proof",
- "proposition",
- "question",
- "reading-questions",
- "reasoning",
- "references",
- "remark",
- "sage",
- "sbsgroup",
- "section",
- "shorttitle",
- "sidebyside",
- "solutions",
- "subsection",
- "table",
- "tabular",
- "technology",
- "theorem",
- "title",
- "video",
- "warning",
- "worksheet"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "archive": {
- "elements": [],
- "attributes": [
- "from"
- ]
- },
- "area": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "icon",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "url",
- "var",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex",
- "xref"
- ],
- "attributes": [
- "correct"
- ]
- },
- "areas": {
- "elements": [
- "p"
- ],
- "attributes": []
- },
- "argument": {
- "elements": [
- "aside",
- "biographical",
- "blockquote",
- "case",
- "console",
- "figure",
- "historical",
- "idx",
- "image",
- "interactive",
- "list",
- "listing",
- "p",
- "pre",
- "program",
- "sage",
- "sbsgroup",
- "sidebyside",
- "table",
- "tabular",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "article": {
- "elements": [
- "activity",
- "algorithm",
- "argument",
- "aside",
- "assemblage",
- "assumption",
- "axiom",
- "backmatter",
- "biographical",
- "blockquote",
- "claim",
- "computation",
- "conclusion",
- "conjecture",
- "console",
- "convention",
- "corollary",
- "data",
- "definition",
- "example",
- "exercise",
- "exercises",
- "explanation",
- "exploration",
- "fact",
- "figure",
- "fragment",
- "frontmatter",
- "glossary",
- "handout",
- "heuristic",
- "historical",
- "hypothesis",
- "identity",
- "idx",
- "image",
- "insight",
- "interactive",
- "introduction",
- "investigation",
- "justification",
- "lemma",
- "list",
- "list-of",
- "listing",
- "note",
- "objectives",
- "observation",
- "outcomes",
- "p",
- "paragraphs",
- "plaintitle",
- "poem",
- "pre",
- "principle",
- "problem",
- "program",
- "project",
- "proof",
- "proposition",
- "question",
- "reading-questions",
- "reasoning",
- "references",
- "remark",
- "sage",
- "sbsgroup",
- "section",
- "shorttitle",
- "sidebyside",
- "solutions",
- "subtitle",
- "table",
- "tabular",
- "technology",
- "theorem",
- "title",
- "video",
- "warning",
- "worksheet"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "articletitle": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "icon",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "url",
- "var",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex",
- "xref"
- ],
- "attributes": []
- },
- "aside": {
- "elements": [
- "blockquote",
- "console",
- "idx",
- "image",
- "p",
- "pre",
- "program",
- "tabular",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "assemblage": {
- "elements": [
- "blockquote",
- "console",
- "idx",
- "image",
- "p",
- "pre",
- "program",
- "sbsgroup",
- "sidebyside",
- "tabular",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "assumption": {
- "elements": [
- "creator",
- "idx",
- "statement",
- "title"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "asymptote": {
- "elements": [],
- "attributes": [
- "component",
- "label"
- ]
- },
- "asymptote-preamble": {
- "elements": [],
- "attributes": []
- },
- "attr": {
- "elements": [],
- "attributes": []
- },
- "attribution": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "icon",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "line",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "url",
- "var",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex",
- "xref"
- ],
- "attributes": []
- },
- "author": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "affiliation",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "bc",
- "biography",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "department",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "icon",
- "ie",
- "init",
- "insert",
- "institution",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "location",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "personname",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "support",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex",
- "xref"
- ],
- "attributes": [
- "corresponding",
- "halign",
- "xml:id"
- ]
- },
- "author-biographies": {
- "elements": [],
- "attributes": [
- "length"
- ]
- },
- "axiom": {
- "elements": [
- "creator",
- "idx",
- "statement",
- "title"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "backmatter": {
- "elements": [
- "appendix",
- "colophon",
- "idx",
- "index",
- "references",
- "solutions",
- "title"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "bc": {
- "elements": [],
- "attributes": []
- },
- "bibinfo": {
- "elements": [
- "author",
- "copyright",
- "credit",
- "date",
- "edition",
- "editor",
- "keywords",
- "support",
- "website"
- ],
- "attributes": []
- },
- "biblio": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "author",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "editor",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "ibid",
- "icon",
- "idx",
- "ie",
- "init",
- "insert",
- "journal",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "note",
- "number",
- "obelus",
- "pages",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "publisher",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "series",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "title",
- "today",
- "trademark",
- "url",
- "var",
- "viz",
- "volume",
- "vs",
- "webwork",
- "xelatex",
- "xetex",
- "xref",
- "year"
- ],
- "attributes": [
- "component",
- "label",
- "type",
- "xml:id"
- ]
- },
- "biographical": {
- "elements": [
- "blockquote",
- "console",
- "idx",
- "image",
- "p",
- "pre",
- "program",
- "tabular",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "biography": {
- "elements": [
- "aside",
- "biographical",
- "blockquote",
- "console",
- "historical",
- "idx",
- "image",
- "p",
- "paragraphs",
- "pre",
- "program",
- "sbsgroup",
- "sidebyside",
- "tabular",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "block": {
- "elements": [
- "blockquote",
- "choice",
- "cline",
- "console",
- "image",
- "p",
- "pre",
- "program",
- "tabular",
- "video"
- ],
- "attributes": [
- "correct",
- "order"
- ]
- },
- "blockquote": {
- "elements": [
- "attribution",
- "idx",
- "p",
- "title"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "blocks": {
- "elements": [
- "block"
- ],
- "attributes": [
- "layout",
- "randomize"
- ]
- },
- "blurb": {
- "elements": [],
- "attributes": [
- "shelf"
- ]
- },
- "book": {
- "elements": [
- "backmatter",
- "chapter",
- "frontmatter",
- "handout",
- "idx",
- "part",
- "plaintitle",
- "shorttitle",
- "subtitle",
- "title",
- "worksheet"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "brandlogo": {
- "elements": [],
- "attributes": [
- "source",
- "url"
- ]
- },
- "c": {
- "elements": [],
- "attributes": []
- },
- "ca": {
- "elements": [],
- "attributes": []
- },
- "caption": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "icon",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "url",
- "var",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex",
- "xref"
- ],
- "attributes": []
- },
- "case": {
- "elements": [
- "aside",
- "biographical",
- "blockquote",
- "console",
- "figure",
- "historical",
- "idx",
- "image",
- "interactive",
- "list",
- "listing",
- "p",
- "pre",
- "program",
- "sage",
- "sbsgroup",
- "sidebyside",
- "table",
- "tabular",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "direction",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "cd": {
- "elements": [
- "cline"
- ],
- "attributes": [
- "latexsep"
- ]
- },
- "cell": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "icon",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "line",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "p",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "url",
- "var",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex",
- "xref"
- ],
- "attributes": [
- "bottom",
- "colspan",
- "halign",
- "right"
- ]
- },
- "chapter": {
- "elements": [
- "activity",
- "algorithm",
- "argument",
- "aside",
- "assemblage",
- "assumption",
- "author",
- "axiom",
- "biographical",
- "blockquote",
- "claim",
- "computation",
- "conclusion",
- "conjecture",
- "console",
- "convention",
- "corollary",
- "data",
- "definition",
- "example",
- "exercise",
- "exercises",
- "explanation",
- "exploration",
- "fact",
- "figure",
- "fragment",
- "glossary",
- "handout",
- "heuristic",
- "historical",
- "hypothesis",
- "identity",
- "idx",
- "image",
- "insight",
- "interactive",
- "introduction",
- "investigation",
- "justification",
- "lemma",
- "list",
- "list-of",
- "listing",
- "note",
- "objectives",
- "observation",
- "outcomes",
- "p",
- "paragraphs",
- "plaintitle",
- "poem",
- "pre",
- "principle",
- "problem",
- "program",
- "project",
- "proof",
- "proposition",
- "question",
- "reading-questions",
- "reasoning",
- "references",
- "remark",
- "sage",
- "sbsgroup",
- "section",
- "shorttitle",
- "sidebyside",
- "solutions",
- "table",
- "tabular",
- "technology",
- "theorem",
- "title",
- "video",
- "warning",
- "worksheet"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "checkpoint": {
- "elements": [
- "feedback",
- "prompt"
- ],
- "attributes": [
- "answer",
- "answer-variable",
- "line"
- ]
- },
- "choice": {
- "elements": [
- "blockquote",
- "cline",
- "console",
- "feedback",
- "image",
- "p",
- "pre",
- "program",
- "statement",
- "tabular",
- "video"
- ],
- "attributes": [
- "correct"
- ]
- },
- "choices": {
- "elements": [
- "choice"
- ],
- "attributes": [
- "randomize"
- ]
- },
- "chord": {
- "elements": [
- "alteration"
- ],
- "attributes": [
- "bass",
- "bps",
- "mode",
- "parentheses",
- "root",
- "suspended"
- ]
- },
- "claim": {
- "elements": [
- "argument",
- "aside",
- "biographical",
- "blockquote",
- "console",
- "creator",
- "explanation",
- "figure",
- "historical",
- "idx",
- "image",
- "interactive",
- "justification",
- "list",
- "listing",
- "p",
- "pre",
- "program",
- "proof",
- "reasoning",
- "sage",
- "sbsgroup",
- "sidebyside",
- "statement",
- "table",
- "tabular",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "cline": {
- "elements": [],
- "attributes": []
- },
- "code": {
- "elements": [],
- "attributes": []
- },
- "col": {
- "elements": [],
- "attributes": [
- "halign",
- "right",
- "top",
- "width"
- ]
- },
- "colophon": {
- "elements": [
- "blockquote",
- "colophon-items",
- "console",
- "idx",
- "image",
- "p",
- "pre",
- "program",
- "sbsgroup",
- "sidebyside",
- "tabular",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:id"
- ]
- },
- "colophon-items": {
- "elements": [],
- "attributes": []
- },
- "computation": {
- "elements": [
- "aside",
- "biographical",
- "blockquote",
- "console",
- "figure",
- "historical",
- "idx",
- "image",
- "interactive",
- "list",
- "listing",
- "p",
- "pre",
- "program",
- "sage",
- "sbsgroup",
- "sidebyside",
- "table",
- "tabular",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "conclusion": {
- "elements": [
- "activity",
- "algorithm",
- "argument",
- "aside",
- "assemblage",
- "assumption",
- "axiom",
- "biographical",
- "blockquote",
- "claim",
- "computation",
- "conjecture",
- "console",
- "convention",
- "corollary",
- "data",
- "definition",
- "example",
- "exercise",
- "explanation",
- "exploration",
- "fact",
- "figure",
- "fragment",
- "heuristic",
- "historical",
- "hypothesis",
- "identity",
- "idx",
- "image",
- "insight",
- "interactive",
- "investigation",
- "justification",
- "lemma",
- "list",
- "list-of",
- "listing",
- "note",
- "observation",
- "p",
- "poem",
- "pre",
- "principle",
- "problem",
- "program",
- "project",
- "proof",
- "proposition",
- "question",
- "reasoning",
- "remark",
- "sage",
- "sbsgroup",
- "sidebyside",
- "table",
- "tabular",
- "technology",
- "theorem",
- "title",
- "video",
- "warning"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "conjecture": {
- "elements": [
- "creator",
- "idx",
- "statement",
- "title"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "console": {
- "elements": [
- "input",
- "output"
- ],
- "attributes": [
- "component",
- "continuation",
- "margins",
- "prompt",
- "width"
- ]
- },
- "contributor": {
- "elements": [
- "affiliation",
- "department",
- "email",
- "idx",
- "institution",
- "location",
- "personname"
- ],
- "attributes": [
- "component",
- "label",
- "xml:id"
- ]
- },
- "contributors": {
- "elements": [
- "contributor"
- ],
- "attributes": []
- },
- "convention": {
- "elements": [
- "aside",
- "biographical",
- "blockquote",
- "console",
- "figure",
- "historical",
- "idx",
- "image",
- "interactive",
- "list",
- "listing",
- "p",
- "pre",
- "program",
- "sage",
- "sbsgroup",
- "sidebyside",
- "table",
- "tabular",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "copyleft": {
- "elements": [],
- "attributes": []
- },
- "copyright": {
- "elements": [
- "holder",
- "minilicense",
- "shortlicense",
- "year"
- ],
- "attributes": []
- },
- "corollary": {
- "elements": [
- "argument",
- "aside",
- "biographical",
- "blockquote",
- "console",
- "creator",
- "explanation",
- "figure",
- "historical",
- "idx",
- "image",
- "interactive",
- "justification",
- "list",
- "listing",
- "p",
- "pre",
- "program",
- "proof",
- "reasoning",
- "sage",
- "sbsgroup",
- "sidebyside",
- "statement",
- "table",
- "tabular",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "creator": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "icon",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex"
- ],
- "attributes": []
- },
- "credit": {
- "elements": [
- "author",
- "entity",
- "role",
- "title"
- ],
- "attributes": []
- },
- "cross-references": {
- "elements": [],
- "attributes": [
- "text"
- ]
- },
- "data": {
- "elements": [
- "aside",
- "biographical",
- "blockquote",
- "console",
- "figure",
- "historical",
- "idx",
- "image",
- "interactive",
- "list",
- "listing",
- "p",
- "pre",
- "program",
- "sage",
- "sbsgroup",
- "sidebyside",
- "table",
- "tabular",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "date": {
- "elements": [
- "ad",
- "am",
- "bc",
- "ca",
- "copyleft",
- "copyright",
- "dblprime",
- "degree",
- "eg",
- "ellipsis",
- "etal",
- "etc",
- "fillin",
- "icon",
- "ie",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "lq",
- "lsq",
- "mdash",
- "midpoint",
- "minus",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "section-mark",
- "servicemark",
- "solidus",
- "swungdash",
- "tex",
- "timeofday",
- "times",
- "today",
- "trademark",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex"
- ],
- "attributes": []
- },
- "dblbrackets": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "icon",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "url",
- "var",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex",
- "xref"
- ],
- "attributes": []
- },
- "dblprime": {
- "elements": [],
- "attributes": []
- },
- "dedication": {
- "elements": [
- "idx",
- "p",
- "title"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "definition": {
- "elements": [
- "idx",
- "notation",
- "statement",
- "title"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "degree": {
- "elements": [],
- "attributes": []
- },
- "delete": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "icon",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "url",
- "var",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex",
- "xref"
- ],
- "attributes": []
- },
- "department": {
- "elements": [
- "copyleft",
- "copyright",
- "dblprime",
- "degree",
- "ellipsis",
- "icon",
- "kbd",
- "langle",
- "ldblbracket",
- "line",
- "lq",
- "lsq",
- "mdash",
- "midpoint",
- "minus",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "phonomark",
- "pilcrow",
- "plusminus",
- "prime",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "section-mark",
- "servicemark",
- "solidus",
- "swungdash",
- "times",
- "trademark"
- ],
- "attributes": []
- },
- "description": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "icon",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "line",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "p",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tabular",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex"
- ],
- "attributes": []
- },
- "division": {
- "elements": [],
- "attributes": [
- "part"
- ]
- },
- "dl": {
- "elements": [
- "li"
- ],
- "attributes": [
- "component",
- "width"
- ]
- },
- "docinfo": {
- "elements": [
- "asymptote-preamble",
- "author-biographies",
- "blurb",
- "brandlogo",
- "cross-references",
- "document-id",
- "feedback",
- "images",
- "initialism",
- "latex-image-preamble",
- "macros",
- "math-package",
- "numbering",
- "parsons",
- "programs",
- "rename"
- ],
- "attributes": [
- "xml:base",
- "xml:lang"
- ]
- },
- "document-id": {
- "elements": [],
- "attributes": [
- "edition"
- ]
- },
- "doubleflat": {
- "elements": [],
- "attributes": []
- },
- "doublesharp": {
- "elements": [],
- "attributes": []
- },
- "edition": {
- "elements": [],
- "attributes": []
- },
- "editor": {
- "elements": [
- "affiliation",
- "department",
- "email",
- "institution",
- "location",
- "personname"
- ],
- "attributes": []
- },
- "eg": {
- "elements": [],
- "attributes": []
- },
- "ellipsis": {
- "elements": [],
- "attributes": []
- },
- "em": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "icon",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "url",
- "var",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex",
- "xref"
- ],
- "attributes": []
- },
- "email": {
- "elements": [],
- "attributes": []
- },
- "entity": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "icon",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "url",
- "var",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex",
- "xref"
- ],
- "attributes": []
- },
- "etal": {
- "elements": [],
- "attributes": []
- },
- "etc": {
- "elements": [],
- "attributes": []
- },
- "event": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "icon",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "url",
- "var",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex",
- "xref"
- ],
- "attributes": []
- },
- "example": {
- "elements": [
- "answer",
- "aside",
- "biographical",
- "blockquote",
- "conclusion",
- "console",
- "figure",
- "hint",
- "historical",
- "idx",
- "image",
- "interactive",
- "introduction",
- "list",
- "listing",
- "p",
- "pre",
- "program",
- "sage",
- "sbsgroup",
- "sidebyside",
- "solution",
- "statement",
- "table",
- "tabular",
- "task",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "exercise": {
- "elements": [
- "answer",
- "areas",
- "aside",
- "biographical",
- "blockquote",
- "blocks",
- "choices",
- "conclusion",
- "console",
- "feedback",
- "figure",
- "hint",
- "historical",
- "idx",
- "image",
- "interactive",
- "introduction",
- "list",
- "listing",
- "matches",
- "myopenmath",
- "ol",
- "p",
- "postamble",
- "pre",
- "preamble",
- "program",
- "response",
- "sage",
- "sbsgroup",
- "sidebyside",
- "solution",
- "statement",
- "table",
- "tabular",
- "task",
- "title",
- "video",
- "webwork"
- ],
- "attributes": [
- "adaptive",
- "attachment",
- "component",
- "indentation",
- "label",
- "language",
- "number",
- "workspace",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "exercisegroup": {
- "elements": [
- "conclusion",
- "exercise",
- "idx",
- "introduction",
- "title"
- ],
- "attributes": [
- "cols",
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "exercises": {
- "elements": [
- "conclusion",
- "exercise",
- "exercisegroup",
- "idx",
- "interactive",
- "introduction",
- "plaintitle",
- "shorttitle",
- "subexercises",
- "title"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "explanation": {
- "elements": [
- "aside",
- "biographical",
- "blockquote",
- "case",
- "console",
- "figure",
- "historical",
- "idx",
- "image",
- "interactive",
- "list",
- "listing",
- "p",
- "pre",
- "program",
- "sage",
- "sbsgroup",
- "sidebyside",
- "table",
- "tabular",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "exploration": {
- "elements": [
- "answer",
- "areas",
- "aside",
- "biographical",
- "blockquote",
- "blocks",
- "choices",
- "conclusion",
- "console",
- "feedback",
- "figure",
- "hint",
- "historical",
- "idx",
- "image",
- "interactive",
- "introduction",
- "list",
- "listing",
- "matches",
- "myopenmath",
- "ol",
- "p",
- "postamble",
- "postlude",
- "pre",
- "preamble",
- "prelude",
- "program",
- "response",
- "sage",
- "sbsgroup",
- "sidebyside",
- "solution",
- "statement",
- "table",
- "tabular",
- "task",
- "title",
- "video",
- "webwork"
- ],
- "attributes": [
- "adaptive",
- "attachment",
- "component",
- "indentation",
- "label",
- "language",
- "number",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "fact": {
- "elements": [
- "argument",
- "aside",
- "biographical",
- "blockquote",
- "console",
- "creator",
- "explanation",
- "figure",
- "historical",
- "idx",
- "image",
- "interactive",
- "justification",
- "list",
- "listing",
- "p",
- "pre",
- "program",
- "proof",
- "reasoning",
- "sage",
- "sbsgroup",
- "sidebyside",
- "statement",
- "table",
- "tabular",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "feedback": {
- "elements": [
- "argument",
- "aside",
- "biographical",
- "blockquote",
- "console",
- "explanation",
- "figure",
- "historical",
- "idx",
- "image",
- "interactive",
- "justification",
- "list",
- "listing",
- "p",
- "pre",
- "program",
- "proof",
- "reasoning",
- "sage",
- "sbsgroup",
- "sidebyside",
- "table",
- "tabular",
- "title",
- "url",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "figure": {
- "elements": [
- "caption",
- "idx",
- "image",
- "interactive",
- "sbsgroup",
- "score",
- "sidebyside",
- "tabular",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "landscape",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "fillin": {
- "elements": [],
- "attributes": [
- "characters",
- "cols",
- "fill",
- "rows"
- ]
- },
- "flat": {
- "elements": [],
- "attributes": []
- },
- "fn": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "icon",
- "idx",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "url",
- "var",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex",
- "xref"
- ],
- "attributes": [
- "component",
- "label",
- "xml:id"
- ]
- },
- "foreign": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "icon",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "url",
- "var",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex",
- "xref"
- ],
- "attributes": [
- "xml:lang"
- ]
- },
- "fragment": {
- "elements": [
- "code",
- "fragref",
- "title"
- ],
- "attributes": [
- "filename",
- "xml:id"
- ]
- },
- "fragref": {
- "elements": [],
- "attributes": [
- "ref"
- ]
- },
- "frontmatter": {
- "elements": [
- "abstract",
- "acknowledgement",
- "bibinfo",
- "biography",
- "colophon",
- "dedication",
- "idx",
- "preface",
- "title",
- "titlepage"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "genus": {
- "elements": [],
- "attributes": []
- },
- "gi": {
- "elements": [
- "aside",
- "biographical",
- "blockquote",
- "console",
- "historical",
- "idx",
- "image",
- "p",
- "pre",
- "program",
- "sbsgroup",
- "sidebyside",
- "tabular",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "glossary": {
- "elements": [
- "gi",
- "headnote",
- "idx",
- "plaintitle",
- "shorttitle",
- "title"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "h": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "icon",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex"
- ],
- "attributes": [
- "sortby"
- ]
- },
- "handout": {
- "elements": [
- "activity",
- "algorithm",
- "argument",
- "aside",
- "assemblage",
- "assumption",
- "axiom",
- "biographical",
- "blockquote",
- "claim",
- "computation",
- "conclusion",
- "conjecture",
- "console",
- "convention",
- "corollary",
- "data",
- "definition",
- "example",
- "exercise",
- "explanation",
- "exploration",
- "fact",
- "figure",
- "fragment",
- "heuristic",
- "historical",
- "hypothesis",
- "identity",
- "idx",
- "image",
- "insight",
- "interactive",
- "introduction",
- "investigation",
- "justification",
- "lemma",
- "list",
- "list-of",
- "listing",
- "note",
- "objectives",
- "observation",
- "outcomes",
- "p",
- "page",
- "plaintitle",
- "poem",
- "pre",
- "principle",
- "problem",
- "program",
- "project",
- "proof",
- "proposition",
- "question",
- "reasoning",
- "remark",
- "sage",
- "sbsgroup",
- "shorttitle",
- "sidebyside",
- "table",
- "tabular",
- "technology",
- "theorem",
- "title",
- "video",
- "warning"
- ],
- "attributes": [
- "bottom",
- "component",
- "label",
- "left",
- "margin",
- "right",
- "top",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "headnote": {
- "elements": [
- "aside",
- "biographical",
- "blockquote",
- "console",
- "historical",
- "image",
- "p",
- "pre",
- "program",
- "sbsgroup",
- "sidebyside",
- "tabular",
- "video"
- ],
- "attributes": []
- },
- "heuristic": {
- "elements": [
- "creator",
- "idx",
- "statement",
- "title"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "hint": {
- "elements": [
- "argument",
- "aside",
- "biographical",
- "blockquote",
- "console",
- "explanation",
- "figure",
- "historical",
- "idx",
- "image",
- "interactive",
- "justification",
- "list",
- "listing",
- "p",
- "pre",
- "program",
- "proof",
- "reasoning",
- "sage",
- "sbsgroup",
- "sidebyside",
- "table",
- "tabular",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "historical": {
- "elements": [
- "blockquote",
- "console",
- "idx",
- "image",
- "p",
- "pre",
- "program",
- "tabular",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "holder": {
- "elements": [],
- "attributes": []
- },
- "hypothesis": {
- "elements": [
- "creator",
- "idx",
- "statement",
- "title"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "ibid": {
- "elements": [],
- "attributes": []
- },
- "icon": {
- "elements": [],
- "attributes": [
- "name"
- ]
- },
- "identity": {
- "elements": [
- "argument",
- "aside",
- "biographical",
- "blockquote",
- "console",
- "creator",
- "explanation",
- "figure",
- "historical",
- "idx",
- "image",
- "interactive",
- "justification",
- "list",
- "listing",
- "p",
- "pre",
- "program",
- "proof",
- "reasoning",
- "sage",
- "sbsgroup",
- "sidebyside",
- "statement",
- "table",
- "tabular",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "idx": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "h",
- "icon",
- "idx",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "see",
- "seealso",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex"
- ],
- "attributes": [
- "component",
- "finish",
- "label",
- "sortby",
- "start",
- "xml:id"
- ]
- },
- "ie": {
- "elements": [],
- "attributes": []
- },
- "image": {
- "elements": [
- "asymptote",
- "description",
- "latex-image",
- "sageplot",
- "shortdescription"
- ],
- "attributes": [
- "archive",
- "component",
- "decorative",
- "margins",
- "pg-name",
- "rotate",
- "source",
- "width",
- "xml:id"
- ]
- },
- "images": {
- "elements": [
- "archive"
- ],
- "attributes": []
- },
- "index": {
- "elements": [
- "idx",
- "index-list",
- "plaintitle",
- "shorttitle",
- "title"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "index-list": {
- "elements": [],
- "attributes": []
- },
- "init": {
- "elements": [
- "copyleft",
- "copyright",
- "dblprime",
- "degree",
- "ellipsis",
- "icon",
- "kbd",
- "langle",
- "ldblbracket",
- "lq",
- "lsq",
- "mdash",
- "midpoint",
- "minus",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "phonomark",
- "pilcrow",
- "plusminus",
- "prime",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "section-mark",
- "servicemark",
- "solidus",
- "swungdash",
- "times",
- "trademark"
- ],
- "attributes": []
- },
- "initialism": {
- "elements": [],
- "attributes": []
- },
- "input": {
- "elements": [],
- "attributes": [
- "continuation",
- "onclick",
- "onkeypress",
- "prompt",
- "style",
- "type",
- "value"
- ]
- },
- "insert": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "icon",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "url",
- "var",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex",
- "xref"
- ],
- "attributes": []
- },
- "insight": {
- "elements": [
- "aside",
- "biographical",
- "blockquote",
- "console",
- "figure",
- "historical",
- "idx",
- "image",
- "interactive",
- "list",
- "listing",
- "p",
- "pre",
- "program",
- "sage",
- "sbsgroup",
- "sidebyside",
- "table",
- "tabular",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "institution": {
- "elements": [
- "copyleft",
- "copyright",
- "dblprime",
- "degree",
- "ellipsis",
- "icon",
- "kbd",
- "langle",
- "ldblbracket",
- "line",
- "lq",
- "lsq",
- "mdash",
- "midpoint",
- "minus",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "phonomark",
- "pilcrow",
- "plusminus",
- "prime",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "section-mark",
- "servicemark",
- "solidus",
- "swungdash",
- "times",
- "trademark"
- ],
- "attributes": []
- },
- "instruction": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "icon",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex"
- ],
- "attributes": []
- },
- "instructions": {
- "elements": [
- "blockquote",
- "console",
- "idx",
- "image",
- "p",
- "pre",
- "program",
- "tabular",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "interactive": {
- "elements": [
- "instructions",
- "sbsgroup",
- "sidebyside",
- "slate",
- "static"
- ],
- "attributes": [
- "aspect",
- "component",
- "iframe",
- "label",
- "platform",
- "preview",
- "source",
- "version",
- "width",
- "xml:id"
- ]
- },
- "interlude": {
- "elements": [
- "blockquote",
- "console",
- "image",
- "p",
- "pre",
- "program",
- "tabular",
- "video"
- ],
- "attributes": []
- },
- "intertext": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "icon",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "url",
- "var",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex",
- "xref"
- ],
- "attributes": []
- },
- "introduction": {
- "elements": [
- "activity",
- "algorithm",
- "argument",
- "aside",
- "assemblage",
- "assumption",
- "axiom",
- "biographical",
- "blockquote",
- "claim",
- "computation",
- "conjecture",
- "console",
- "convention",
- "corollary",
- "data",
- "definition",
- "example",
- "exercise",
- "explanation",
- "exploration",
- "fact",
- "figure",
- "fragment",
- "heuristic",
- "historical",
- "hypothesis",
- "identity",
- "idx",
- "image",
- "insight",
- "interactive",
- "investigation",
- "justification",
- "lemma",
- "list",
- "list-of",
- "listing",
- "note",
- "observation",
- "p",
- "poem",
- "pre",
- "principle",
- "problem",
- "program",
- "project",
- "proof",
- "proposition",
- "question",
- "reasoning",
- "remark",
- "sage",
- "sbsgroup",
- "sidebyside",
- "table",
- "tabular",
- "technology",
- "theorem",
- "title",
- "video",
- "warning"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "investigation": {
- "elements": [
- "answer",
- "areas",
- "aside",
- "biographical",
- "blockquote",
- "blocks",
- "choices",
- "conclusion",
- "console",
- "feedback",
- "figure",
- "hint",
- "historical",
- "idx",
- "image",
- "interactive",
- "introduction",
- "list",
- "listing",
- "matches",
- "myopenmath",
- "ol",
- "p",
- "postamble",
- "postlude",
- "pre",
- "preamble",
- "prelude",
- "program",
- "response",
- "sage",
- "sbsgroup",
- "sidebyside",
- "solution",
- "statement",
- "table",
- "tabular",
- "task",
- "title",
- "video",
- "webwork"
- ],
- "attributes": [
- "adaptive",
- "attachment",
- "component",
- "indentation",
- "label",
- "language",
- "number",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "iotest": {
- "elements": [
- "input",
- "output"
- ],
- "attributes": []
- },
- "journal": {
- "elements": [
- "copyleft",
- "copyright",
- "dblprime",
- "degree",
- "ellipsis",
- "icon",
- "kbd",
- "langle",
- "ldblbracket",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "phonomark",
- "pilcrow",
- "plusminus",
- "prime",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "section-mark",
- "servicemark",
- "solidus",
- "swungdash",
- "times",
- "trademark"
- ],
- "attributes": []
- },
- "justification": {
- "elements": [
- "aside",
- "biographical",
- "blockquote",
- "case",
- "console",
- "figure",
- "historical",
- "idx",
- "image",
- "interactive",
- "list",
- "listing",
- "p",
- "pre",
- "program",
- "sage",
- "sbsgroup",
- "sidebyside",
- "table",
- "tabular",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "kbd": {
- "elements": [],
- "attributes": [
- "name"
- ]
- },
- "keyword": {
- "elements": [
- "copyleft",
- "copyright",
- "dblprime",
- "degree",
- "ellipsis",
- "icon",
- "kbd",
- "langle",
- "ldblbracket",
- "lq",
- "lsq",
- "mdash",
- "midpoint",
- "minus",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "phonomark",
- "pilcrow",
- "plusminus",
- "prime",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "section-mark",
- "servicemark",
- "solidus",
- "swungdash",
- "times",
- "trademark"
- ],
- "attributes": [
- "primary"
- ]
- },
- "keywords": {
- "elements": [
- "keyword",
- "title"
- ],
- "attributes": [
- "authority",
- "variant"
- ]
- },
- "langle": {
- "elements": [],
- "attributes": []
- },
- "latex": {
- "elements": [],
- "attributes": []
- },
- "latex-image": {
- "elements": [],
- "attributes": [
- "component",
- "label"
- ]
- },
- "latex-image-preamble": {
- "elements": [],
- "attributes": []
- },
- "ldblbracket": {
- "elements": [],
- "attributes": []
- },
- "lemma": {
- "elements": [
- "argument",
- "aside",
- "biographical",
- "blockquote",
- "console",
- "creator",
- "explanation",
- "figure",
- "historical",
- "idx",
- "image",
- "interactive",
- "justification",
- "list",
- "listing",
- "p",
- "pre",
- "program",
- "proof",
- "reasoning",
- "sage",
- "sbsgroup",
- "sidebyside",
- "statement",
- "table",
- "tabular",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "letter": {
- "elements": [],
- "attributes": []
- },
- "li": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "aside",
- "attr",
- "bc",
- "biographical",
- "blockquote",
- "c",
- "ca",
- "cd",
- "chord",
- "console",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "dl",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "figure",
- "fillin",
- "flat",
- "fn",
- "foreign",
- "historical",
- "icon",
- "idx",
- "ie",
- "image",
- "init",
- "insert",
- "interactive",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "list",
- "listing",
- "lq",
- "lsq",
- "m",
- "md",
- "mdash",
- "mdn",
- "me",
- "men",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "notation",
- "obelus",
- "ol",
- "p",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "pre",
- "prefigure",
- "pretext",
- "prime",
- "program",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "sage",
- "sbsgroup",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "sidebyside",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "table",
- "tabular",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "title",
- "today",
- "trademark",
- "ul",
- "url",
- "var",
- "video",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex",
- "xref"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "line": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "icon",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "url",
- "var",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex",
- "xref"
- ],
- "attributes": [
- "indent"
- ]
- },
- "list": {
- "elements": [
- "conclusion",
- "dl",
- "idx",
- "introduction",
- "ol",
- "plaintitle",
- "shorttitle",
- "title",
- "ul"
- ],
- "attributes": [
- "component",
- "label",
- "landscape",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "list-of": {
- "elements": [],
- "attributes": [
- "divisions",
- "elements",
- "empty",
- "scope"
- ]
- },
- "listing": {
- "elements": [
- "console",
- "idx",
- "plaintitle",
- "program",
- "shorttitle",
- "title"
- ],
- "attributes": [
- "component",
- "label",
- "landscape",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "location": {
- "elements": [
- "copyleft",
- "copyright",
- "dblprime",
- "degree",
- "ellipsis",
- "icon",
- "kbd",
- "langle",
- "ldblbracket",
- "line",
- "lq",
- "lsq",
- "mdash",
- "midpoint",
- "minus",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "phonomark",
- "pilcrow",
- "plusminus",
- "prime",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "section-mark",
- "servicemark",
- "solidus",
- "swungdash",
- "times",
- "trademark"
- ],
- "attributes": []
- },
- "lq": {
- "elements": [],
- "attributes": []
- },
- "lsq": {
- "elements": [],
- "attributes": []
- },
- "m": {
- "elements": [
- "fillin",
- "var"
- ],
- "attributes": []
- },
- "macro-file": {
- "elements": [],
- "attributes": []
- },
- "macros": {
- "elements": [],
- "attributes": []
- },
- "mag": {
- "elements": [],
- "attributes": []
- },
- "match": {
- "elements": [
- "premise",
- "response"
- ],
- "attributes": [
- "order"
- ]
- },
- "matches": {
- "elements": [
- "match"
- ],
- "attributes": []
- },
- "math-package": {
- "elements": [],
- "attributes": [
- "latex-name",
- "mathjax-name"
- ]
- },
- "md": {
- "elements": [
- "fillin",
- "intertext",
- "mrow",
- "var",
- "xref"
- ],
- "attributes": [
- "alignat-columns",
- "alignment",
- "break",
- "number"
- ]
- },
- "mdash": {
- "elements": [],
- "attributes": []
- },
- "mdn": {
- "elements": [
- "fillin",
- "intertext",
- "mrow",
- "var"
- ],
- "attributes": [
- "alignat-columns",
- "alignment",
- "break",
- "number"
- ]
- },
- "me": {
- "elements": [
- "fillin",
- "idx",
- "var",
- "xref"
- ],
- "attributes": [
- "component",
- "label",
- "xml:id"
- ]
- },
- "memo": {
- "elements": [],
- "attributes": []
- },
- "men": {
- "elements": [
- "fillin",
- "idx",
- "var",
- "xref"
- ],
- "attributes": [
- "component",
- "label",
- "xml:id"
- ]
- },
- "midpoint": {
- "elements": [],
- "attributes": []
- },
- "minilicense": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "icon",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex"
- ],
- "attributes": []
- },
- "minus": {
- "elements": [],
- "attributes": []
- },
- "mrow": {
- "elements": [
- "fillin",
- "idx",
- "var",
- "xref"
- ],
- "attributes": [
- "break",
- "component",
- "label",
- "number",
- "tag",
- "xml:id"
- ]
- },
- "myopenmath": {
- "elements": [],
- "attributes": [
- "params",
- "problem"
- ]
- },
- "n": {
- "elements": [],
- "attributes": [
- "acc",
- "octave",
- "pc"
- ]
- },
- "name": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "icon",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex"
- ],
- "attributes": []
- },
- "natural": {
- "elements": [],
- "attributes": []
- },
- "nb": {
- "elements": [],
- "attributes": []
- },
- "nbsp": {
- "elements": [],
- "attributes": []
- },
- "ndash": {
- "elements": [],
- "attributes": []
- },
- "notation": {
- "elements": [
- "description",
- "usage"
- ],
- "attributes": []
- },
- "notation-list": {
- "elements": [],
- "attributes": []
- },
- "note": {
- "elements": [
- "aside",
- "biographical",
- "blockquote",
- "console",
- "figure",
- "historical",
- "idx",
- "image",
- "interactive",
- "list",
- "listing",
- "p",
- "pre",
- "program",
- "sage",
- "sbsgroup",
- "sidebyside",
- "table",
- "tabular",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "number": {
- "elements": [],
- "attributes": []
- },
- "numbering": {
- "elements": [
- "division"
- ],
- "attributes": []
- },
- "obelus": {
- "elements": [],
- "attributes": []
- },
- "objectives": {
- "elements": [
- "conclusion",
- "dl",
- "idx",
- "introduction",
- "ol",
- "title",
- "ul"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "observation": {
- "elements": [
- "aside",
- "biographical",
- "blockquote",
- "console",
- "figure",
- "historical",
- "idx",
- "image",
- "interactive",
- "list",
- "listing",
- "p",
- "pre",
- "program",
- "sage",
- "sbsgroup",
- "sidebyside",
- "table",
- "tabular",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "ol": {
- "elements": [
- "li"
- ],
- "attributes": [
- "cols",
- "component",
- "marker"
- ]
- },
- "outcomes": {
- "elements": [
- "conclusion",
- "dl",
- "idx",
- "introduction",
- "ol",
- "title",
- "ul"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "output": {
- "elements": [],
- "attributes": []
- },
- "p": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "area",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "cd",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "dl",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "fn",
- "foreign",
- "icon",
- "idx",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "line",
- "lq",
- "lsq",
- "m",
- "md",
- "mdash",
- "mdn",
- "me",
- "men",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "notation",
- "obelus",
- "ol",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "ul",
- "url",
- "var",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex",
- "xref"
- ],
- "attributes": [
- "component",
- "label",
- "xml:id"
- ]
- },
- "page": {
- "elements": [
- "activity",
- "algorithm",
- "argument",
- "aside",
- "assemblage",
- "assumption",
- "axiom",
- "biographical",
- "blockquote",
- "claim",
- "computation",
- "conjecture",
- "console",
- "convention",
- "corollary",
- "data",
- "definition",
- "example",
- "exercise",
- "explanation",
- "exploration",
- "fact",
- "figure",
- "fragment",
- "heuristic",
- "historical",
- "hypothesis",
- "identity",
- "image",
- "insight",
- "interactive",
- "investigation",
- "justification",
- "lemma",
- "list",
- "list-of",
- "listing",
- "note",
- "observation",
- "p",
- "poem",
- "pre",
- "principle",
- "problem",
- "program",
- "project",
- "proof",
- "proposition",
- "question",
- "reasoning",
- "remark",
- "sage",
- "sbsgroup",
- "sidebyside",
- "table",
- "tabular",
- "technology",
- "theorem",
- "video",
- "warning"
- ],
- "attributes": []
- },
- "pages": {
- "elements": [],
- "attributes": [
- "end",
- "start"
- ]
- },
- "paragraphs": {
- "elements": [
- "activity",
- "algorithm",
- "argument",
- "aside",
- "assemblage",
- "assumption",
- "axiom",
- "biographical",
- "blockquote",
- "claim",
- "computation",
- "conjecture",
- "console",
- "convention",
- "corollary",
- "data",
- "definition",
- "example",
- "exercise",
- "explanation",
- "exploration",
- "fact",
- "figure",
- "fragment",
- "heuristic",
- "historical",
- "hypothesis",
- "identity",
- "idx",
- "image",
- "insight",
- "interactive",
- "investigation",
- "justification",
- "lemma",
- "list",
- "list-of",
- "listing",
- "note",
- "observation",
- "p",
- "poem",
- "pre",
- "principle",
- "problem",
- "program",
- "project",
- "proof",
- "proposition",
- "question",
- "reasoning",
- "remark",
- "sage",
- "sbsgroup",
- "sidebyside",
- "table",
- "tabular",
- "technology",
- "theorem",
- "title",
- "video",
- "warning"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "parsons": {
- "elements": [],
- "attributes": [
- "language"
- ]
- },
- "part": {
- "elements": [
- "chapter",
- "idx",
- "plaintitle",
- "shorttitle",
- "title"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "per": {
- "elements": [],
- "attributes": [
- "base",
- "exp",
- "prefix"
- ]
- },
- "permille": {
- "elements": [],
- "attributes": []
- },
- "personname": {
- "elements": [
- "copyleft",
- "copyright",
- "dblprime",
- "degree",
- "ellipsis",
- "icon",
- "kbd",
- "langle",
- "ldblbracket",
- "lq",
- "lsq",
- "mdash",
- "midpoint",
- "minus",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "phonomark",
- "pilcrow",
- "plusminus",
- "prime",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "section-mark",
- "servicemark",
- "solidus",
- "swungdash",
- "times",
- "trademark"
- ],
- "attributes": []
- },
- "pf": {
- "elements": [],
- "attributes": [
- "language"
- ]
- },
- "pg-code": {
- "elements": [],
- "attributes": []
- },
- "pg-macros": {
- "elements": [
- "macro-file"
- ],
- "attributes": []
- },
- "phonomark": {
- "elements": [],
- "attributes": []
- },
- "pilcrow": {
- "elements": [],
- "attributes": []
- },
- "plaintitle": {
- "elements": [],
- "attributes": []
- },
- "plusminus": {
- "elements": [],
- "attributes": []
- },
- "pm": {
- "elements": [],
- "attributes": []
- },
- "poem": {
- "elements": [
- "author",
- "idx",
- "line",
- "stanza",
- "title"
- ],
- "attributes": [
- "component",
- "halign",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "postamble": {
- "elements": [],
- "attributes": [
- "indent",
- "visible"
- ]
- },
- "postlude": {
- "elements": [
- "blockquote",
- "console",
- "image",
- "p",
- "pre",
- "program",
- "tabular",
- "video"
- ],
- "attributes": []
- },
- "pre": {
- "elements": [
- "cline"
- ],
- "attributes": []
- },
- "preamble": {
- "elements": [],
- "attributes": [
- "indent",
- "visible"
- ]
- },
- "preface": {
- "elements": [
- "aside",
- "attribution",
- "biographical",
- "blockquote",
- "console",
- "contributors",
- "historical",
- "idx",
- "image",
- "p",
- "paragraphs",
- "pre",
- "program",
- "sbsgroup",
- "sidebyside",
- "tabular",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "prefigure": {
- "elements": [],
- "attributes": []
- },
- "prelude": {
- "elements": [
- "blockquote",
- "console",
- "image",
- "p",
- "pre",
- "program",
- "tabular",
- "video"
- ],
- "attributes": []
- },
- "premise": {
- "elements": [
- "blockquote",
- "console",
- "image",
- "p",
- "pre",
- "program",
- "tabular",
- "video"
- ],
- "attributes": []
- },
- "pretext": {
- "elements": [
- "article",
- "book",
- "docinfo",
- "letter",
- "memo"
- ],
- "attributes": [
- "xml:lang"
- ]
- },
- "prime": {
- "elements": [],
- "attributes": []
- },
- "principle": {
- "elements": [
- "creator",
- "idx",
- "statement",
- "title"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "problem": {
- "elements": [
- "answer",
- "aside",
- "biographical",
- "blockquote",
- "conclusion",
- "console",
- "figure",
- "hint",
- "historical",
- "idx",
- "image",
- "interactive",
- "introduction",
- "list",
- "listing",
- "p",
- "pre",
- "program",
- "sage",
- "sbsgroup",
- "sidebyside",
- "solution",
- "statement",
- "table",
- "tabular",
- "task",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "program": {
- "elements": [
- "checkpoint",
- "code",
- "postamble",
- "preamble",
- "stdin",
- "tests"
- ],
- "attributes": [
- "add-files",
- "autorun",
- "chatcodes",
- "codelens",
- "compile-also",
- "compiler-args",
- "component",
- "database",
- "download",
- "extra-compiler-args",
- "filename",
- "hidecode",
- "highlight-lines",
- "include",
- "interactive",
- "interpreter-args",
- "label",
- "language",
- "line-numbers",
- "linker-args",
- "margins",
- "starting-step",
- "timelimit",
- "width",
- "xml:id"
- ]
- },
- "programs": {
- "elements": [],
- "attributes": [
- "compiler-args",
- "download",
- "interpreter-args",
- "language",
- "linenumbers",
- "linker-args",
- "timeout"
- ]
- },
- "project": {
- "elements": [
- "answer",
- "areas",
- "aside",
- "biographical",
- "blockquote",
- "blocks",
- "choices",
- "conclusion",
- "console",
- "feedback",
- "figure",
- "hint",
- "historical",
- "idx",
- "image",
- "interactive",
- "introduction",
- "list",
- "listing",
- "matches",
- "myopenmath",
- "ol",
- "p",
- "postamble",
- "postlude",
- "pre",
- "preamble",
- "prelude",
- "program",
- "response",
- "sage",
- "sbsgroup",
- "sidebyside",
- "solution",
- "statement",
- "table",
- "tabular",
- "task",
- "title",
- "video",
- "webwork"
- ],
- "attributes": [
- "adaptive",
- "attachment",
- "component",
- "indentation",
- "label",
- "language",
- "number",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "prompt": {
- "elements": [
- "blockquote",
- "console",
- "image",
- "p",
- "pre",
- "program",
- "tabular",
- "video"
- ],
- "attributes": []
- },
- "proof": {
- "elements": [
- "aside",
- "biographical",
- "blockquote",
- "case",
- "console",
- "figure",
- "historical",
- "idx",
- "image",
- "interactive",
- "list",
- "listing",
- "p",
- "pre",
- "program",
- "sage",
- "sbsgroup",
- "sidebyside",
- "table",
- "tabular",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "proposition": {
- "elements": [
- "argument",
- "aside",
- "biographical",
- "blockquote",
- "console",
- "creator",
- "explanation",
- "figure",
- "historical",
- "idx",
- "image",
- "interactive",
- "justification",
- "list",
- "listing",
- "p",
- "pre",
- "program",
- "proof",
- "reasoning",
- "sage",
- "sbsgroup",
- "sidebyside",
- "statement",
- "table",
- "tabular",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "ps": {
- "elements": [],
- "attributes": []
- },
- "publisher": {
- "elements": [],
- "attributes": []
- },
- "pubtitle": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "icon",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "url",
- "var",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex",
- "xref"
- ],
- "attributes": []
- },
- "q": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "area",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "icon",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "url",
- "var",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex",
- "xref"
- ],
- "attributes": []
- },
- "quantity": {
- "elements": [
- "mag",
- "per",
- "unit"
- ],
- "attributes": []
- },
- "question": {
- "elements": [
- "answer",
- "aside",
- "biographical",
- "blockquote",
- "conclusion",
- "console",
- "figure",
- "hint",
- "historical",
- "idx",
- "image",
- "interactive",
- "introduction",
- "list",
- "listing",
- "p",
- "pre",
- "program",
- "sage",
- "sbsgroup",
- "sidebyside",
- "solution",
- "statement",
- "table",
- "tabular",
- "task",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "rangle": {
- "elements": [],
- "attributes": []
- },
- "rdblbracket": {
- "elements": [],
- "attributes": []
- },
- "reading-questions": {
- "elements": [
- "conclusion",
- "exercise",
- "idx",
- "introduction",
- "plaintitle",
- "shorttitle",
- "title"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "reasoning": {
- "elements": [
- "aside",
- "biographical",
- "blockquote",
- "case",
- "console",
- "figure",
- "historical",
- "idx",
- "image",
- "interactive",
- "list",
- "listing",
- "p",
- "pre",
- "program",
- "sage",
- "sbsgroup",
- "sidebyside",
- "table",
- "tabular",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "references": {
- "elements": [
- "biblio",
- "conclusion",
- "idx",
- "introduction",
- "plaintitle",
- "shorttitle",
- "title"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "registered": {
- "elements": [],
- "attributes": []
- },
- "remark": {
- "elements": [
- "aside",
- "biographical",
- "blockquote",
- "console",
- "figure",
- "historical",
- "idx",
- "image",
- "interactive",
- "list",
- "listing",
- "p",
- "pre",
- "program",
- "sage",
- "sbsgroup",
- "sidebyside",
- "table",
- "tabular",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "rename": {
- "elements": [],
- "attributes": [
- "element",
- "xml:lang"
- ]
- },
- "response": {
- "elements": [
- "blockquote",
- "console",
- "image",
- "p",
- "pre",
- "program",
- "tabular",
- "video"
- ],
- "attributes": []
- },
- "role": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "icon",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex"
- ],
- "attributes": []
- },
- "row": {
- "elements": [
- "cell"
- ],
- "attributes": [
- "bottom",
- "halign",
- "header",
- "left",
- "valign"
- ]
- },
- "rq": {
- "elements": [],
- "attributes": []
- },
- "rsq": {
- "elements": [],
- "attributes": []
- },
- "sage": {
- "elements": [
- "input",
- "output"
- ],
- "attributes": [
- "auto-evaluate",
- "component",
- "doctest",
- "language",
- "tolerance",
- "type"
- ]
- },
- "sageplot": {
- "elements": [],
- "attributes": [
- "aspect",
- "component",
- "label",
- "variant"
- ]
- },
- "sbsgroup": {
- "elements": [
- "sidebyside"
- ],
- "attributes": [
- "component",
- "margins",
- "valign",
- "valigns",
- "width",
- "widths"
- ]
- },
- "scaledeg": {
- "elements": [],
- "attributes": []
- },
- "score": {
- "elements": [],
- "attributes": [
- "musescore",
- "musescoreuser"
- ]
- },
- "section": {
- "elements": [
- "activity",
- "algorithm",
- "argument",
- "aside",
- "assemblage",
- "assumption",
- "author",
- "axiom",
- "biographical",
- "blockquote",
- "claim",
- "computation",
- "conclusion",
- "conjecture",
- "console",
- "convention",
- "corollary",
- "data",
- "definition",
- "example",
- "exercise",
- "exercises",
- "explanation",
- "exploration",
- "fact",
- "figure",
- "fragment",
- "glossary",
- "handout",
- "heuristic",
- "historical",
- "hypothesis",
- "identity",
- "idx",
- "image",
- "insight",
- "interactive",
- "introduction",
- "investigation",
- "justification",
- "lemma",
- "list",
- "list-of",
- "listing",
- "note",
- "objectives",
- "observation",
- "outcomes",
- "p",
- "paragraphs",
- "plaintitle",
- "poem",
- "pre",
- "principle",
- "problem",
- "program",
- "project",
- "proof",
- "proposition",
- "question",
- "reading-questions",
- "reasoning",
- "references",
- "remark",
- "sage",
- "sbsgroup",
- "shorttitle",
- "sidebyside",
- "solutions",
- "subsection",
- "table",
- "tabular",
- "technology",
- "theorem",
- "title",
- "video",
- "warning",
- "worksheet"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "section-mark": {
- "elements": [],
- "attributes": []
- },
- "see": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "icon",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex"
- ],
- "attributes": []
- },
- "seealso": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "icon",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex"
- ],
- "attributes": []
- },
- "series": {
- "elements": [],
- "attributes": []
- },
- "servicemark": {
- "elements": [],
- "attributes": []
- },
- "sharp": {
- "elements": [],
- "attributes": []
- },
- "shortdescription": {
- "elements": [
- "var"
- ],
- "attributes": []
- },
- "shortlicense": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "fn",
- "foreign",
- "icon",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "url",
- "var",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex",
- "xref"
- ],
- "attributes": []
- },
- "shorttitle": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "icon",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex"
- ],
- "attributes": []
- },
- "sidebyside": {
- "elements": [
- "console",
- "dl",
- "exercise",
- "figure",
- "image",
- "interactive",
- "list",
- "listing",
- "ol",
- "p",
- "poem",
- "pre",
- "program",
- "slate",
- "stack",
- "table",
- "tabular",
- "task",
- "ul",
- "video"
- ],
- "attributes": [
- "component",
- "margins",
- "valign",
- "valigns",
- "width",
- "widths"
- ]
- },
- "slate": {
- "elements": [
- "input",
- "p",
- "sidebyside",
- "tabular",
- "xhtml:button"
- ],
- "attributes": [
- "aspect",
- "axis",
- "component",
- "grid",
- "label",
- "material",
- "source",
- "surface",
- "xml:id"
- ]
- },
- "solidus": {
- "elements": [],
- "attributes": []
- },
- "solution": {
- "elements": [
- "argument",
- "aside",
- "biographical",
- "blockquote",
- "console",
- "explanation",
- "figure",
- "historical",
- "idx",
- "image",
- "interactive",
- "justification",
- "list",
- "listing",
- "p",
- "pre",
- "program",
- "proof",
- "reasoning",
- "sage",
- "sbsgroup",
- "sidebyside",
- "table",
- "tabular",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "solutions": {
- "elements": [
- "conclusion",
- "idx",
- "introduction",
- "plaintitle",
- "shorttitle",
- "title"
- ],
- "attributes": [
- "admit",
- "component",
- "divisional",
- "inline",
- "label",
- "project",
- "reading",
- "scope",
- "worksheet",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "species": {
- "elements": [],
- "attributes": []
- },
- "sq": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "area",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "icon",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "url",
- "var",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex",
- "xref"
- ],
- "attributes": []
- },
- "stack": {
- "elements": [
- "console",
- "dl",
- "image",
- "ol",
- "p",
- "pre",
- "program",
- "slate",
- "tabular",
- "ul",
- "video"
- ],
- "attributes": []
- },
- "stale": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "icon",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "url",
- "var",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex",
- "xref"
- ],
- "attributes": []
- },
- "stanza": {
- "elements": [
- "idx",
- "line",
- "title"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "statement": {
- "elements": [
- "aside",
- "biographical",
- "blockquote",
- "console",
- "figure",
- "historical",
- "image",
- "instruction",
- "interactive",
- "list",
- "listing",
- "ol",
- "p",
- "pre",
- "program",
- "sage",
- "sbsgroup",
- "sidebyside",
- "table",
- "tabular",
- "video"
- ],
- "attributes": [
- "correct"
- ]
- },
- "static": {
- "elements": [
- "image"
- ],
- "attributes": []
- },
- "stdin": {
- "elements": [],
- "attributes": []
- },
- "subexercises": {
- "elements": [
- "conclusion",
- "exercise",
- "exercisegroup",
- "idx",
- "introduction",
- "plaintitle",
- "shorttitle",
- "title"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "subsection": {
- "elements": [
- "activity",
- "algorithm",
- "argument",
- "aside",
- "assemblage",
- "assumption",
- "author",
- "axiom",
- "biographical",
- "blockquote",
- "claim",
- "computation",
- "conclusion",
- "conjecture",
- "console",
- "convention",
- "corollary",
- "data",
- "definition",
- "example",
- "exercise",
- "exercises",
- "explanation",
- "exploration",
- "fact",
- "figure",
- "fragment",
- "glossary",
- "handout",
- "heuristic",
- "historical",
- "hypothesis",
- "identity",
- "idx",
- "image",
- "insight",
- "interactive",
- "introduction",
- "investigation",
- "justification",
- "lemma",
- "list",
- "list-of",
- "listing",
- "note",
- "objectives",
- "observation",
- "outcomes",
- "p",
- "paragraphs",
- "plaintitle",
- "poem",
- "pre",
- "principle",
- "problem",
- "program",
- "project",
- "proof",
- "proposition",
- "question",
- "reading-questions",
- "reasoning",
- "references",
- "remark",
- "sage",
- "sbsgroup",
- "shorttitle",
- "sidebyside",
- "solutions",
- "subsubsection",
- "table",
- "tabular",
- "technology",
- "theorem",
- "title",
- "video",
- "warning",
- "worksheet"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "subsubsection": {
- "elements": [
- "activity",
- "algorithm",
- "argument",
- "aside",
- "assemblage",
- "assumption",
- "author",
- "axiom",
- "biographical",
- "blockquote",
- "claim",
- "computation",
- "conjecture",
- "console",
- "convention",
- "corollary",
- "data",
- "definition",
- "example",
- "exercise",
- "exercises",
- "explanation",
- "exploration",
- "fact",
- "figure",
- "fragment",
- "glossary",
- "handout",
- "heuristic",
- "historical",
- "hypothesis",
- "identity",
- "idx",
- "image",
- "insight",
- "interactive",
- "investigation",
- "justification",
- "lemma",
- "list",
- "list-of",
- "listing",
- "note",
- "objectives",
- "observation",
- "outcomes",
- "p",
- "paragraphs",
- "plaintitle",
- "poem",
- "pre",
- "principle",
- "problem",
- "program",
- "project",
- "proof",
- "proposition",
- "question",
- "reading-questions",
- "reasoning",
- "references",
- "remark",
- "sage",
- "sbsgroup",
- "shorttitle",
- "sidebyside",
- "solutions",
- "table",
- "tabular",
- "technology",
- "theorem",
- "title",
- "video",
- "warning",
- "worksheet"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "subtitle": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "icon",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "line",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "url",
- "var",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex",
- "xref"
- ],
- "attributes": []
- },
- "support": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "cd",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "dl",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "fn",
- "foreign",
- "icon",
- "idx",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "lq",
- "lsq",
- "m",
- "md",
- "mdash",
- "mdn",
- "me",
- "men",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "notation",
- "obelus",
- "ol",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "ul",
- "url",
- "var",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex",
- "xref"
- ],
- "attributes": []
- },
- "swungdash": {
- "elements": [],
- "attributes": []
- },
- "table": {
- "elements": [
- "idx",
- "plaintitle",
- "shorttitle",
- "tabular",
- "title"
- ],
- "attributes": [
- "component",
- "label",
- "landscape",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "tabular": {
- "elements": [
- "col",
- "row"
- ],
- "attributes": [
- "bottom",
- "component",
- "halign",
- "left",
- "margins",
- "right",
- "row-headers",
- "top",
- "valign",
- "width"
- ]
- },
- "tag": {
- "elements": [],
- "attributes": []
- },
- "tage": {
- "elements": [],
- "attributes": []
- },
- "task": {
- "elements": [
- "answer",
- "aside",
- "biographical",
- "blockquote",
- "conclusion",
- "console",
- "figure",
- "hint",
- "historical",
- "idx",
- "image",
- "interactive",
- "introduction",
- "list",
- "listing",
- "p",
- "pre",
- "program",
- "sage",
- "sbsgroup",
- "sidebyside",
- "solution",
- "statement",
- "table",
- "tabular",
- "task",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "workspace",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "taxon": {
- "elements": [
- "genus",
- "species"
- ],
- "attributes": [
- "ncbi"
- ]
- },
- "technology": {
- "elements": [
- "aside",
- "biographical",
- "blockquote",
- "console",
- "figure",
- "historical",
- "idx",
- "image",
- "interactive",
- "list",
- "listing",
- "p",
- "pre",
- "program",
- "sage",
- "sbsgroup",
- "sidebyside",
- "table",
- "tabular",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "term": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "icon",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "url",
- "var",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex",
- "xref"
- ],
- "attributes": []
- },
- "tests": {
- "elements": [
- "iotest"
- ],
- "attributes": [
- "visible"
- ]
- },
- "tex": {
- "elements": [],
- "attributes": []
- },
- "theorem": {
- "elements": [
- "argument",
- "aside",
- "biographical",
- "blockquote",
- "console",
- "creator",
- "explanation",
- "figure",
- "historical",
- "idx",
- "image",
- "interactive",
- "justification",
- "list",
- "listing",
- "p",
- "pre",
- "program",
- "proof",
- "reasoning",
- "sage",
- "sbsgroup",
- "sidebyside",
- "statement",
- "table",
- "tabular",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "timeofday": {
- "elements": [],
- "attributes": []
- },
- "times": {
- "elements": [],
- "attributes": []
- },
- "timesignature": {
- "elements": [],
- "attributes": [
- "bottom",
- "top"
- ]
- },
- "title": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "icon",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "line",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "url",
- "var",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex",
- "xref"
- ],
- "attributes": []
- },
- "titlepage": {
- "elements": [
- "titlepage-items"
- ],
- "attributes": []
- },
- "titlepage-items": {
- "elements": [],
- "attributes": []
- },
- "today": {
- "elements": [],
- "attributes": []
- },
- "trademark": {
- "elements": [],
- "attributes": []
- },
- "ul": {
- "elements": [
- "li"
- ],
- "attributes": [
- "cols",
- "component",
- "marker"
- ]
- },
- "unit": {
- "elements": [],
- "attributes": [
- "base",
- "exp",
- "prefix"
- ]
- },
- "url": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "icon",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex"
- ],
- "attributes": [
- "href",
- "visual"
- ]
- },
- "usage": {
- "elements": [
- "m"
- ],
- "attributes": []
- },
- "var": {
- "elements": [],
- "attributes": [
- "category",
- "evaluator",
- "form",
- "name",
- "width"
- ]
- },
- "video": {
- "elements": [],
- "attributes": [
- "aspect",
- "component",
- "end",
- "href",
- "label",
- "margins",
- "play-at",
- "preview",
- "source",
- "start",
- "vimeo",
- "width",
- "xml:id",
- "youtube",
- "youtubeplaylist"
- ]
- },
- "viz": {
- "elements": [],
- "attributes": []
- },
- "volume": {
- "elements": [],
- "attributes": []
- },
- "vs": {
- "elements": [],
- "attributes": []
- },
- "warning": {
- "elements": [
- "aside",
- "biographical",
- "blockquote",
- "console",
- "figure",
- "historical",
- "idx",
- "image",
- "interactive",
- "list",
- "listing",
- "p",
- "pre",
- "program",
- "sage",
- "sbsgroup",
- "sidebyside",
- "table",
- "tabular",
- "title",
- "video"
- ],
- "attributes": [
- "component",
- "label",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "website": {
- "elements": [
- "address",
- "name",
- "url"
- ],
- "attributes": []
- },
- "webwork": {
- "elements": [
- "conclusion",
- "description",
- "hint",
- "introduction",
- "pg-code",
- "pg-macros",
- "solution",
- "statement",
- "task"
- ],
- "attributes": [
- "component",
- "copy",
- "label",
- "seed",
- "source",
- "xml:id"
- ]
- },
- "worksheet": {
- "elements": [
- "activity",
- "algorithm",
- "argument",
- "aside",
- "assemblage",
- "assumption",
- "axiom",
- "biographical",
- "blockquote",
- "claim",
- "computation",
- "conclusion",
- "conjecture",
- "console",
- "convention",
- "corollary",
- "data",
- "definition",
- "example",
- "exercise",
- "explanation",
- "exploration",
- "fact",
- "figure",
- "fragment",
- "heuristic",
- "historical",
- "hypothesis",
- "identity",
- "idx",
- "image",
- "insight",
- "interactive",
- "introduction",
- "investigation",
- "justification",
- "lemma",
- "list",
- "list-of",
- "listing",
- "note",
- "objectives",
- "observation",
- "outcomes",
- "p",
- "page",
- "plaintitle",
- "poem",
- "pre",
- "principle",
- "problem",
- "program",
- "project",
- "proof",
- "proposition",
- "question",
- "reasoning",
- "remark",
- "sage",
- "sbsgroup",
- "shorttitle",
- "sidebyside",
- "table",
- "tabular",
- "technology",
- "theorem",
- "title",
- "video",
- "warning"
- ],
- "attributes": [
- "bottom",
- "component",
- "label",
- "left",
- "margin",
- "right",
- "top",
- "xml:base",
- "xml:id",
- "xml:lang"
- ]
- },
- "xelatex": {
- "elements": [],
- "attributes": []
- },
- "xetex": {
- "elements": [],
- "attributes": []
- },
- "xhtml:button": {
- "elements": [],
- "attributes": [
- "id",
- "type"
- ]
- },
- "xref": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "icon",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex"
- ],
- "attributes": [
- "detail",
- "first",
- "last",
- "provisional",
- "ref",
- "text"
- ]
- },
- "year": {
- "elements": [
- "abbr",
- "acro",
- "ad",
- "alert",
- "am",
- "angles",
- "articletitle",
- "attr",
- "bc",
- "c",
- "ca",
- "chord",
- "copyleft",
- "copyright",
- "dblbrackets",
- "dblprime",
- "degree",
- "delete",
- "doubleflat",
- "doublesharp",
- "eg",
- "ellipsis",
- "em",
- "email",
- "etal",
- "etc",
- "fillin",
- "flat",
- "foreign",
- "icon",
- "ie",
- "init",
- "insert",
- "kbd",
- "langle",
- "latex",
- "ldblbracket",
- "lq",
- "lsq",
- "m",
- "mdash",
- "midpoint",
- "minus",
- "n",
- "natural",
- "nb",
- "nbsp",
- "ndash",
- "obelus",
- "permille",
- "pf",
- "phonomark",
- "pilcrow",
- "plusminus",
- "pm",
- "prefigure",
- "pretext",
- "prime",
- "ps",
- "pubtitle",
- "q",
- "quantity",
- "rangle",
- "rdblbracket",
- "registered",
- "rq",
- "rsq",
- "scaledeg",
- "section-mark",
- "servicemark",
- "sharp",
- "solidus",
- "sq",
- "stale",
- "swungdash",
- "tag",
- "tage",
- "taxon",
- "term",
- "tex",
- "timeofday",
- "times",
- "timesignature",
- "today",
- "trademark",
- "viz",
- "vs",
- "webwork",
- "xelatex",
- "xetex"
- ],
- "attributes": []
- }
-}
-};
+// Re-exported from @pretextbook/schema for backwards compatibility.
+// The canonical schema data lives in packages/schema/src/schema.ts.
+export { pretextDevSchema as defaultDevSchema } from "@pretextbook/schema";
diff --git a/packages/schema/README.md b/packages/schema/README.md
new file mode 100644
index 0000000..1574a85
--- /dev/null
+++ b/packages/schema/README.md
@@ -0,0 +1,55 @@
+# @pretextbook/schema
+
+PreTeXt schema data and types, for use by other PreTeXt packages.
+
+## Overview
+
+This package provides TypeScript types and generated schema data for the [PreTeXt](https://pretextbook.org/) XML language. The schema data is derived from the official PreTeXt RelaxNG schema (`pretext-dev.rng`) and describes which child elements and attributes are permitted inside each PreTeXt element.
+
+Extra metadata (such as short descriptions for elements) can be added on top of the generated data.
+
+## Usage
+
+```typescript
+import { pretextDevSchema, type PretextSchema } from "@pretextbook/schema";
+
+// Access allowed child elements and attributes for a given element
+const bookChildren = pretextDevSchema.elementChildren["book"];
+console.log(bookChildren.elements); // ["chapter", "backmatter", ...]
+console.log(bookChildren.attributes); // ["xml:id", "xml:lang", ...]
+```
+
+## Types
+
+### `PretextSchemaElement`
+
+```typescript
+type PretextSchemaElement = {
+ elements: string[]; // Allowed child element names
+ attributes: string[]; // Allowed attribute names
+ description?: string; // Optional short description
+};
+```
+
+### `PretextSchemaElementChildren`
+
+A map from element name to its `PretextSchemaElement` descriptor.
+
+### `PretextSchema`
+
+```typescript
+type PretextSchema = {
+ elementChildren: PretextSchemaElementChildren;
+};
+```
+
+## Updating the Schema
+
+The schema data in `src/schema.ts` is generated automatically from the official PreTeXt RelaxNG schema. To regenerate it:
+
+```bash
+npm run fetch:dev-schema # Download latest pretext-dev.rng
+npm run generate:schema # Regenerate src/schema.ts
+```
+
+A GitHub Actions workflow (`check-pretext-schema.yml`) runs weekly to detect upstream schema changes and file an issue when the schema should be updated.
diff --git a/packages/schema/package.json b/packages/schema/package.json
new file mode 100644
index 0000000..447ccf4
--- /dev/null
+++ b/packages/schema/package.json
@@ -0,0 +1,39 @@
+{
+ "name": "@pretextbook/schema",
+ "version": "0.0.1",
+ "description": "PreTeXt schema data and types",
+ "author": "PreTeXt Contributors",
+ "license": "MIT",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/PreTeXtBook/pretext-tools.git"
+ },
+ "bugs": {
+ "url": "https://github.com/PreTeXtBook/pretext-tools/issues"
+ },
+ "homepage": "https://github.com/PreTeXtBook/pretext-tools/tree/main/packages/schema",
+ "private": false,
+ "type": "module",
+ "main": "./src/index.ts",
+ "module": "./src/index.ts",
+ "types": "./src/index.ts",
+ "exports": {
+ ".": {
+ "types": "./src/index.ts",
+ "import": "./src/index.ts",
+ "default": "./src/index.ts"
+ }
+ },
+ "files": [
+ "src/**/*",
+ "README.md"
+ ],
+ "scripts": {
+ "fetch:dev-schema": "node ../../scripts/getSchemas.js --only-pretext-dev",
+ "generate:schema": "node ./scripts/generate-schema.mjs",
+ "prebuild": "npm run fetch:dev-schema && npm run generate:schema"
+ },
+ "publishConfig": {
+ "access": "public"
+ }
+}
diff --git a/packages/schema/project.json b/packages/schema/project.json
new file mode 100644
index 0000000..e45b8cc
--- /dev/null
+++ b/packages/schema/project.json
@@ -0,0 +1,39 @@
+{
+ "name": "@pretextbook/schema",
+ "$schema": "../../node_modules/nx/schemas/project-schema.json",
+ "sourceRoot": "packages/schema/src",
+ "projectType": "library",
+ "private": false,
+ "tags": [],
+ "targets": {
+ "build": {
+ "executor": "nx:run-commands",
+ "dependsOn": ["refresh-schema", "^build"],
+ "options": {
+ "cwd": "packages/schema",
+ "command": "tsc --build tsconfig.lib.json"
+ },
+ "cache": true,
+ "inputs": ["default", "^default"],
+ "outputs": ["{workspaceRoot}/dist/out-tsc"]
+ },
+ "typecheck": {
+ "executor": "nx:run-commands",
+ "dependsOn": ["build", "^typecheck"],
+ "options": {
+ "cwd": "packages/schema",
+ "command": "tsc --build --emitDeclarationOnly"
+ },
+ "cache": true,
+ "inputs": ["default", "^default"]
+ },
+ "refresh-schema": {
+ "executor": "nx:run-commands",
+ "options": {
+ "cwd": "packages/schema",
+ "command": "npm run fetch:dev-schema && npm run generate:schema"
+ },
+ "cache": false
+ }
+ }
+}
diff --git a/packages/schema/scripts/generate-schema.mjs b/packages/schema/scripts/generate-schema.mjs
new file mode 100644
index 0000000..5afcd8b
--- /dev/null
+++ b/packages/schema/scripts/generate-schema.mjs
@@ -0,0 +1,185 @@
+import fs from "fs";
+import path from "path";
+import { fileURLToPath } from "url";
+import { fromXml } from "xast-util-from-xml";
+import { CONTINUE, SKIP, visit } from "unist-util-visit";
+import deepmerge from "deepmerge";
+
+const scriptDir = path.dirname(fileURLToPath(import.meta.url));
+const workspaceRoot = path.resolve(scriptDir, "../../..");
+const schemaPath = path.join(
+ workspaceRoot,
+ "extension",
+ "assets",
+ "schema",
+ "pretext-dev.rng",
+);
+const outputPath = path.join(
+ workspaceRoot,
+ "packages",
+ "schema",
+ "src",
+ "schema.ts",
+);
+
+function getAst(rngPath) {
+ let rngFile = fs.readFileSync(rngPath, "utf8");
+ const includeRegex = //g;
+ let match = includeRegex.exec(rngFile);
+
+ while (match !== null) {
+ const rngDir = path.dirname(rngPath);
+ const includePath = path.join(rngDir, match[2]);
+ let includeContent = fs.readFileSync(includePath, "utf8");
+ includeContent = includeContent.replace(/<\?xml.*?\?>/, "");
+ rngFile = rngFile.replace(match[0], includeContent);
+ match = includeRegex.exec(rngFile);
+ }
+
+ return fromXml(rngFile);
+}
+
+function getChildren(elemNode) {
+ if (
+ elemNode.type !== "element" ||
+ !elemNode.children ||
+ elemNode.children.length === 0
+ ) {
+ return {};
+ }
+
+ const elements = [];
+ const attributes = [];
+ const refs = [];
+
+ visit(elemNode, (node, _index, parent) => {
+ if (!parent) {
+ return CONTINUE;
+ }
+
+ if (node.name === "element") {
+ if (node.attributes && node.attributes.name) {
+ elements.push(node.attributes.name);
+ return SKIP;
+ }
+ } else if (node.name === "attribute") {
+ if (node.attributes && node.attributes.name) {
+ attributes.push(node.attributes.name);
+ return SKIP;
+ }
+ } else if (node.name === "ref") {
+ if (node.attributes && node.attributes.name) {
+ refs.push(node.attributes.name);
+ return SKIP;
+ }
+ }
+
+ return CONTINUE;
+ });
+
+ return { elements, attributes, refs };
+}
+
+function resolveRefs(elements, aliases) {
+ const resolvedElements = {};
+
+ for (const elem in elements) {
+ const resolvedElement = { ...elements[elem] };
+ if (!resolvedElement.refs) {
+ continue;
+ }
+
+ while (resolvedElement.refs.length > 0) {
+ const ref = resolvedElement.refs.pop();
+ if (ref && aliases[ref]) {
+ resolvedElement.elements.push(...aliases[ref].elements);
+ resolvedElement.attributes.push(...aliases[ref].attributes);
+ if (aliases[ref].refs) {
+ resolvedElement.refs.push(...aliases[ref].refs);
+ }
+ }
+ }
+
+ resolvedElement.elements = [...new Set(resolvedElement.elements)];
+ resolvedElement.attributes = [...new Set(resolvedElement.attributes)];
+ resolvedElement.refs = undefined;
+ resolvedElements[elem] = resolvedElement;
+ }
+
+ return resolvedElements;
+}
+
+function createSchemaElementChildren(schemaAst) {
+ const tmpElementChildren = {};
+ const aliasMap = {};
+
+ visit(schemaAst, (node) => {
+ if (node.type === "root") {
+ return CONTINUE;
+ }
+ if (node.type !== "element") {
+ return SKIP;
+ }
+
+ if (node.name === "start") {
+ return SKIP;
+ }
+
+ if (node.name === "define") {
+ const nodeName = node.attributes?.name;
+ if (nodeName) {
+ aliasMap[nodeName] = deepmerge(aliasMap[nodeName] || {}, getChildren(node));
+ }
+ } else if (node.name === "element") {
+ const nodeName = node.attributes?.name;
+ if (nodeName) {
+ tmpElementChildren[nodeName] = deepmerge(
+ tmpElementChildren[nodeName] || {},
+ getChildren(node),
+ );
+ }
+ }
+
+ return CONTINUE;
+ });
+
+ return resolveRefs(tmpElementChildren, aliasMap);
+}
+
+function sortSchemaElementChildren(elementChildren) {
+ const sortedNames = Object.keys(elementChildren).sort((a, b) => a.localeCompare(b));
+ const sorted = {};
+
+ for (const name of sortedNames) {
+ sorted[name] = {
+ elements: [...elementChildren[name].elements].sort((a, b) =>
+ a.localeCompare(b),
+ ),
+ attributes: [...elementChildren[name].attributes].sort((a, b) =>
+ a.localeCompare(b),
+ ),
+ };
+ }
+
+ return sorted;
+}
+
+function main() {
+ const schemaAst = getAst(schemaPath);
+ const elementChildren = createSchemaElementChildren(schemaAst);
+ const sortedElementChildren = sortSchemaElementChildren(elementChildren);
+
+ const content = `import type { PretextSchema } from "./types";
+
+// Generated by packages/schema/scripts/generate-schema.mjs from extension/assets/schema/pretext-dev.rng.
+// Do not edit manually.
+export const pretextDevSchema: PretextSchema = {
+ elementChildren: ${JSON.stringify(sortedElementChildren, null, 2)}
+};
+`;
+
+ fs.writeFileSync(outputPath, content);
+ console.log(`Wrote PreTeXt schema to ${outputPath}`);
+}
+
+main();
diff --git a/packages/schema/src/index.ts b/packages/schema/src/index.ts
new file mode 100644
index 0000000..d0bb0ac
--- /dev/null
+++ b/packages/schema/src/index.ts
@@ -0,0 +1,2 @@
+export * from "./types";
+export * from "./schema";
diff --git a/packages/schema/src/schema.ts b/packages/schema/src/schema.ts
new file mode 100644
index 0000000..0805658
--- /dev/null
+++ b/packages/schema/src/schema.ts
@@ -0,0 +1,9427 @@
+import type { PretextSchema } from "./types";
+
+// Generated by packages/schema/scripts/generate-schema.mjs from extension/assets/schema/pretext-dev.rng.
+// Do not edit manually.
+export const pretextDevSchema: PretextSchema = {
+ elementChildren: {
+ "abbr": {
+ "elements": [
+ "copyleft",
+ "copyright",
+ "dblprime",
+ "degree",
+ "ellipsis",
+ "icon",
+ "kbd",
+ "langle",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "mdash",
+ "midpoint",
+ "minus",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "prime",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "section-mark",
+ "servicemark",
+ "solidus",
+ "swungdash",
+ "times",
+ "trademark"
+ ],
+ "attributes": []
+ },
+ "abstract": {
+ "elements": [
+ "blockquote",
+ "console",
+ "idx",
+ "image",
+ "p",
+ "pre",
+ "program",
+ "tabular",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:id"
+ ]
+ },
+ "acknowledgement": {
+ "elements": [
+ "aside",
+ "biographical",
+ "blockquote",
+ "console",
+ "historical",
+ "idx",
+ "image",
+ "p",
+ "paragraphs",
+ "pre",
+ "program",
+ "sbsgroup",
+ "sidebyside",
+ "tabular",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "acro": {
+ "elements": [
+ "copyleft",
+ "copyright",
+ "dblprime",
+ "degree",
+ "ellipsis",
+ "icon",
+ "kbd",
+ "langle",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "mdash",
+ "midpoint",
+ "minus",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "prime",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "section-mark",
+ "servicemark",
+ "solidus",
+ "swungdash",
+ "times",
+ "trademark"
+ ],
+ "attributes": []
+ },
+ "activity": {
+ "elements": [
+ "answer",
+ "areas",
+ "aside",
+ "biographical",
+ "blockquote",
+ "blocks",
+ "choices",
+ "conclusion",
+ "console",
+ "feedback",
+ "figure",
+ "hint",
+ "historical",
+ "idx",
+ "image",
+ "interactive",
+ "introduction",
+ "list",
+ "listing",
+ "matches",
+ "myopenmath",
+ "ol",
+ "p",
+ "postamble",
+ "postlude",
+ "pre",
+ "preamble",
+ "prelude",
+ "program",
+ "response",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "solution",
+ "statement",
+ "table",
+ "tabular",
+ "task",
+ "title",
+ "video",
+ "webwork"
+ ],
+ "attributes": [
+ "adaptive",
+ "attachment",
+ "component",
+ "indentation",
+ "label",
+ "language",
+ "number",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "ad": {
+ "elements": [],
+ "attributes": []
+ },
+ "address": {
+ "elements": [],
+ "attributes": []
+ },
+ "affiliation": {
+ "elements": [
+ "department",
+ "institution",
+ "location"
+ ],
+ "attributes": []
+ },
+ "alert": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "icon",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "url",
+ "var",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex",
+ "xref"
+ ],
+ "attributes": []
+ },
+ "algorithm": {
+ "elements": [
+ "argument",
+ "aside",
+ "biographical",
+ "blockquote",
+ "console",
+ "creator",
+ "explanation",
+ "figure",
+ "historical",
+ "idx",
+ "image",
+ "interactive",
+ "justification",
+ "list",
+ "listing",
+ "p",
+ "pre",
+ "program",
+ "proof",
+ "reasoning",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "statement",
+ "table",
+ "tabular",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "alteration": {
+ "elements": [
+ "copyleft",
+ "copyright",
+ "dblprime",
+ "degree",
+ "ellipsis",
+ "flat",
+ "icon",
+ "kbd",
+ "langle",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "mdash",
+ "midpoint",
+ "minus",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "prime",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "swungdash",
+ "times",
+ "trademark"
+ ],
+ "attributes": []
+ },
+ "am": {
+ "elements": [],
+ "attributes": []
+ },
+ "angles": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "icon",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "url",
+ "var",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex",
+ "xref"
+ ],
+ "attributes": []
+ },
+ "answer": {
+ "elements": [
+ "argument",
+ "aside",
+ "biographical",
+ "blockquote",
+ "console",
+ "explanation",
+ "figure",
+ "historical",
+ "idx",
+ "image",
+ "interactive",
+ "justification",
+ "list",
+ "listing",
+ "p",
+ "pre",
+ "program",
+ "proof",
+ "reasoning",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "table",
+ "tabular",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "appendix": {
+ "elements": [
+ "activity",
+ "algorithm",
+ "argument",
+ "aside",
+ "assemblage",
+ "assumption",
+ "author",
+ "axiom",
+ "biographical",
+ "blockquote",
+ "claim",
+ "computation",
+ "conclusion",
+ "conjecture",
+ "console",
+ "convention",
+ "corollary",
+ "data",
+ "definition",
+ "example",
+ "exercise",
+ "exercises",
+ "explanation",
+ "exploration",
+ "fact",
+ "figure",
+ "fragment",
+ "glossary",
+ "handout",
+ "heuristic",
+ "historical",
+ "hypothesis",
+ "identity",
+ "idx",
+ "image",
+ "insight",
+ "interactive",
+ "introduction",
+ "investigation",
+ "justification",
+ "lemma",
+ "list",
+ "list-of",
+ "listing",
+ "notation-list",
+ "note",
+ "objectives",
+ "observation",
+ "outcomes",
+ "p",
+ "paragraphs",
+ "plaintitle",
+ "poem",
+ "pre",
+ "principle",
+ "problem",
+ "program",
+ "project",
+ "proof",
+ "proposition",
+ "question",
+ "reading-questions",
+ "reasoning",
+ "references",
+ "remark",
+ "sage",
+ "sbsgroup",
+ "section",
+ "shorttitle",
+ "sidebyside",
+ "solutions",
+ "subsection",
+ "table",
+ "tabular",
+ "technology",
+ "theorem",
+ "title",
+ "video",
+ "warning",
+ "worksheet"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "archive": {
+ "elements": [],
+ "attributes": [
+ "from"
+ ]
+ },
+ "area": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "icon",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "url",
+ "var",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex",
+ "xref"
+ ],
+ "attributes": [
+ "correct"
+ ]
+ },
+ "areas": {
+ "elements": [
+ "p"
+ ],
+ "attributes": []
+ },
+ "argument": {
+ "elements": [
+ "aside",
+ "biographical",
+ "blockquote",
+ "case",
+ "console",
+ "figure",
+ "historical",
+ "idx",
+ "image",
+ "interactive",
+ "list",
+ "listing",
+ "p",
+ "pre",
+ "program",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "table",
+ "tabular",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "article": {
+ "elements": [
+ "activity",
+ "algorithm",
+ "argument",
+ "aside",
+ "assemblage",
+ "assumption",
+ "axiom",
+ "backmatter",
+ "biographical",
+ "blockquote",
+ "claim",
+ "computation",
+ "conclusion",
+ "conjecture",
+ "console",
+ "convention",
+ "corollary",
+ "data",
+ "definition",
+ "example",
+ "exercise",
+ "exercises",
+ "explanation",
+ "exploration",
+ "fact",
+ "figure",
+ "fragment",
+ "frontmatter",
+ "glossary",
+ "handout",
+ "heuristic",
+ "historical",
+ "hypothesis",
+ "identity",
+ "idx",
+ "image",
+ "insight",
+ "interactive",
+ "introduction",
+ "investigation",
+ "justification",
+ "lemma",
+ "list",
+ "list-of",
+ "listing",
+ "note",
+ "objectives",
+ "observation",
+ "outcomes",
+ "p",
+ "paragraphs",
+ "plaintitle",
+ "poem",
+ "pre",
+ "principle",
+ "problem",
+ "program",
+ "project",
+ "proof",
+ "proposition",
+ "question",
+ "reading-questions",
+ "reasoning",
+ "references",
+ "remark",
+ "sage",
+ "sbsgroup",
+ "section",
+ "shorttitle",
+ "sidebyside",
+ "solutions",
+ "subtitle",
+ "table",
+ "tabular",
+ "technology",
+ "theorem",
+ "title",
+ "video",
+ "warning",
+ "worksheet"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "articletitle": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "icon",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "url",
+ "var",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex",
+ "xref"
+ ],
+ "attributes": []
+ },
+ "aside": {
+ "elements": [
+ "blockquote",
+ "console",
+ "idx",
+ "image",
+ "p",
+ "pre",
+ "program",
+ "tabular",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "assemblage": {
+ "elements": [
+ "blockquote",
+ "console",
+ "idx",
+ "image",
+ "p",
+ "pre",
+ "program",
+ "sbsgroup",
+ "sidebyside",
+ "tabular",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "assumption": {
+ "elements": [
+ "creator",
+ "idx",
+ "statement",
+ "title"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "asymptote": {
+ "elements": [],
+ "attributes": [
+ "component",
+ "label"
+ ]
+ },
+ "asymptote-preamble": {
+ "elements": [],
+ "attributes": []
+ },
+ "attr": {
+ "elements": [],
+ "attributes": []
+ },
+ "attribution": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "icon",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "line",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "url",
+ "var",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex",
+ "xref"
+ ],
+ "attributes": []
+ },
+ "author": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "affiliation",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "bc",
+ "biography",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "department",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "icon",
+ "ie",
+ "init",
+ "insert",
+ "institution",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "location",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "personname",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "support",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex",
+ "xref"
+ ],
+ "attributes": [
+ "corresponding",
+ "halign",
+ "xml:id"
+ ]
+ },
+ "author-biographies": {
+ "elements": [],
+ "attributes": [
+ "length"
+ ]
+ },
+ "axiom": {
+ "elements": [
+ "creator",
+ "idx",
+ "statement",
+ "title"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "backmatter": {
+ "elements": [
+ "appendix",
+ "colophon",
+ "idx",
+ "index",
+ "references",
+ "solutions",
+ "title"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "bc": {
+ "elements": [],
+ "attributes": []
+ },
+ "bibinfo": {
+ "elements": [
+ "author",
+ "copyright",
+ "credit",
+ "date",
+ "edition",
+ "editor",
+ "keywords",
+ "support",
+ "website"
+ ],
+ "attributes": []
+ },
+ "biblio": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "author",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "editor",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "ibid",
+ "icon",
+ "idx",
+ "ie",
+ "init",
+ "insert",
+ "journal",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "note",
+ "number",
+ "obelus",
+ "pages",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "publisher",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "series",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "title",
+ "today",
+ "trademark",
+ "url",
+ "var",
+ "viz",
+ "volume",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex",
+ "xref",
+ "year"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "type",
+ "xml:id"
+ ]
+ },
+ "biographical": {
+ "elements": [
+ "blockquote",
+ "console",
+ "idx",
+ "image",
+ "p",
+ "pre",
+ "program",
+ "tabular",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "biography": {
+ "elements": [
+ "aside",
+ "biographical",
+ "blockquote",
+ "console",
+ "historical",
+ "idx",
+ "image",
+ "p",
+ "paragraphs",
+ "pre",
+ "program",
+ "sbsgroup",
+ "sidebyside",
+ "tabular",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "block": {
+ "elements": [
+ "blockquote",
+ "choice",
+ "cline",
+ "console",
+ "image",
+ "p",
+ "pre",
+ "program",
+ "tabular",
+ "video"
+ ],
+ "attributes": [
+ "correct",
+ "order"
+ ]
+ },
+ "blockquote": {
+ "elements": [
+ "attribution",
+ "idx",
+ "p",
+ "title"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "blocks": {
+ "elements": [
+ "block"
+ ],
+ "attributes": [
+ "layout",
+ "randomize"
+ ]
+ },
+ "blurb": {
+ "elements": [],
+ "attributes": [
+ "shelf"
+ ]
+ },
+ "book": {
+ "elements": [
+ "backmatter",
+ "chapter",
+ "frontmatter",
+ "handout",
+ "idx",
+ "part",
+ "plaintitle",
+ "shorttitle",
+ "subtitle",
+ "title",
+ "worksheet"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "brandlogo": {
+ "elements": [],
+ "attributes": [
+ "source",
+ "url"
+ ]
+ },
+ "c": {
+ "elements": [],
+ "attributes": []
+ },
+ "ca": {
+ "elements": [],
+ "attributes": []
+ },
+ "caption": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "icon",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "url",
+ "var",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex",
+ "xref"
+ ],
+ "attributes": []
+ },
+ "case": {
+ "elements": [
+ "aside",
+ "biographical",
+ "blockquote",
+ "console",
+ "figure",
+ "historical",
+ "idx",
+ "image",
+ "interactive",
+ "list",
+ "listing",
+ "p",
+ "pre",
+ "program",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "table",
+ "tabular",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "direction",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "cd": {
+ "elements": [
+ "cline"
+ ],
+ "attributes": [
+ "latexsep"
+ ]
+ },
+ "cell": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "icon",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "line",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "p",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "url",
+ "var",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex",
+ "xref"
+ ],
+ "attributes": [
+ "bottom",
+ "colspan",
+ "halign",
+ "right"
+ ]
+ },
+ "chapter": {
+ "elements": [
+ "activity",
+ "algorithm",
+ "argument",
+ "aside",
+ "assemblage",
+ "assumption",
+ "author",
+ "axiom",
+ "biographical",
+ "blockquote",
+ "claim",
+ "computation",
+ "conclusion",
+ "conjecture",
+ "console",
+ "convention",
+ "corollary",
+ "data",
+ "definition",
+ "example",
+ "exercise",
+ "exercises",
+ "explanation",
+ "exploration",
+ "fact",
+ "figure",
+ "fragment",
+ "glossary",
+ "handout",
+ "heuristic",
+ "historical",
+ "hypothesis",
+ "identity",
+ "idx",
+ "image",
+ "insight",
+ "interactive",
+ "introduction",
+ "investigation",
+ "justification",
+ "lemma",
+ "list",
+ "list-of",
+ "listing",
+ "note",
+ "objectives",
+ "observation",
+ "outcomes",
+ "p",
+ "paragraphs",
+ "plaintitle",
+ "poem",
+ "pre",
+ "principle",
+ "problem",
+ "program",
+ "project",
+ "proof",
+ "proposition",
+ "question",
+ "reading-questions",
+ "reasoning",
+ "references",
+ "remark",
+ "sage",
+ "sbsgroup",
+ "section",
+ "shorttitle",
+ "sidebyside",
+ "solutions",
+ "table",
+ "tabular",
+ "technology",
+ "theorem",
+ "title",
+ "video",
+ "warning",
+ "worksheet"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "checkpoint": {
+ "elements": [
+ "feedback",
+ "prompt"
+ ],
+ "attributes": [
+ "answer",
+ "answer-variable",
+ "line"
+ ]
+ },
+ "choice": {
+ "elements": [
+ "blockquote",
+ "cline",
+ "console",
+ "feedback",
+ "image",
+ "p",
+ "pre",
+ "program",
+ "statement",
+ "tabular",
+ "video"
+ ],
+ "attributes": [
+ "correct"
+ ]
+ },
+ "choices": {
+ "elements": [
+ "choice"
+ ],
+ "attributes": [
+ "randomize"
+ ]
+ },
+ "chord": {
+ "elements": [
+ "alteration"
+ ],
+ "attributes": [
+ "bass",
+ "bps",
+ "mode",
+ "parentheses",
+ "root",
+ "suspended"
+ ]
+ },
+ "claim": {
+ "elements": [
+ "argument",
+ "aside",
+ "biographical",
+ "blockquote",
+ "console",
+ "creator",
+ "explanation",
+ "figure",
+ "historical",
+ "idx",
+ "image",
+ "interactive",
+ "justification",
+ "list",
+ "listing",
+ "p",
+ "pre",
+ "program",
+ "proof",
+ "reasoning",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "statement",
+ "table",
+ "tabular",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "cline": {
+ "elements": [],
+ "attributes": []
+ },
+ "code": {
+ "elements": [],
+ "attributes": []
+ },
+ "col": {
+ "elements": [],
+ "attributes": [
+ "halign",
+ "right",
+ "top",
+ "width"
+ ]
+ },
+ "colophon": {
+ "elements": [
+ "blockquote",
+ "colophon-items",
+ "console",
+ "idx",
+ "image",
+ "p",
+ "pre",
+ "program",
+ "sbsgroup",
+ "sidebyside",
+ "tabular",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:id"
+ ]
+ },
+ "colophon-items": {
+ "elements": [],
+ "attributes": []
+ },
+ "computation": {
+ "elements": [
+ "aside",
+ "biographical",
+ "blockquote",
+ "console",
+ "figure",
+ "historical",
+ "idx",
+ "image",
+ "interactive",
+ "list",
+ "listing",
+ "p",
+ "pre",
+ "program",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "table",
+ "tabular",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "conclusion": {
+ "elements": [
+ "activity",
+ "algorithm",
+ "argument",
+ "aside",
+ "assemblage",
+ "assumption",
+ "axiom",
+ "biographical",
+ "blockquote",
+ "claim",
+ "computation",
+ "conjecture",
+ "console",
+ "convention",
+ "corollary",
+ "data",
+ "definition",
+ "example",
+ "exercise",
+ "explanation",
+ "exploration",
+ "fact",
+ "figure",
+ "fragment",
+ "heuristic",
+ "historical",
+ "hypothesis",
+ "identity",
+ "idx",
+ "image",
+ "insight",
+ "interactive",
+ "investigation",
+ "justification",
+ "lemma",
+ "list",
+ "list-of",
+ "listing",
+ "note",
+ "observation",
+ "p",
+ "poem",
+ "pre",
+ "principle",
+ "problem",
+ "program",
+ "project",
+ "proof",
+ "proposition",
+ "question",
+ "reasoning",
+ "remark",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "table",
+ "tabular",
+ "technology",
+ "theorem",
+ "title",
+ "video",
+ "warning"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "conjecture": {
+ "elements": [
+ "creator",
+ "idx",
+ "statement",
+ "title"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "console": {
+ "elements": [
+ "input",
+ "output"
+ ],
+ "attributes": [
+ "component",
+ "continuation",
+ "margins",
+ "prompt",
+ "width"
+ ]
+ },
+ "contributor": {
+ "elements": [
+ "affiliation",
+ "department",
+ "email",
+ "idx",
+ "institution",
+ "location",
+ "personname"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:id"
+ ]
+ },
+ "contributors": {
+ "elements": [
+ "contributor"
+ ],
+ "attributes": []
+ },
+ "convention": {
+ "elements": [
+ "aside",
+ "biographical",
+ "blockquote",
+ "console",
+ "figure",
+ "historical",
+ "idx",
+ "image",
+ "interactive",
+ "list",
+ "listing",
+ "p",
+ "pre",
+ "program",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "table",
+ "tabular",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "copyleft": {
+ "elements": [],
+ "attributes": []
+ },
+ "copyright": {
+ "elements": [
+ "holder",
+ "minilicense",
+ "shortlicense",
+ "year"
+ ],
+ "attributes": []
+ },
+ "corollary": {
+ "elements": [
+ "argument",
+ "aside",
+ "biographical",
+ "blockquote",
+ "console",
+ "creator",
+ "explanation",
+ "figure",
+ "historical",
+ "idx",
+ "image",
+ "interactive",
+ "justification",
+ "list",
+ "listing",
+ "p",
+ "pre",
+ "program",
+ "proof",
+ "reasoning",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "statement",
+ "table",
+ "tabular",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "creator": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "icon",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex"
+ ],
+ "attributes": []
+ },
+ "credit": {
+ "elements": [
+ "author",
+ "entity",
+ "role",
+ "title"
+ ],
+ "attributes": []
+ },
+ "cross-references": {
+ "elements": [],
+ "attributes": [
+ "text"
+ ]
+ },
+ "data": {
+ "elements": [
+ "aside",
+ "biographical",
+ "blockquote",
+ "console",
+ "figure",
+ "historical",
+ "idx",
+ "image",
+ "interactive",
+ "list",
+ "listing",
+ "p",
+ "pre",
+ "program",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "table",
+ "tabular",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "date": {
+ "elements": [
+ "ad",
+ "am",
+ "bc",
+ "ca",
+ "copyleft",
+ "copyright",
+ "dblprime",
+ "degree",
+ "eg",
+ "ellipsis",
+ "etal",
+ "etc",
+ "fillin",
+ "icon",
+ "ie",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "mdash",
+ "midpoint",
+ "minus",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "section-mark",
+ "servicemark",
+ "solidus",
+ "swungdash",
+ "tex",
+ "timeofday",
+ "times",
+ "today",
+ "trademark",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex"
+ ],
+ "attributes": []
+ },
+ "dblbrackets": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "icon",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "url",
+ "var",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex",
+ "xref"
+ ],
+ "attributes": []
+ },
+ "dblprime": {
+ "elements": [],
+ "attributes": []
+ },
+ "dedication": {
+ "elements": [
+ "idx",
+ "p",
+ "title"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "definition": {
+ "elements": [
+ "idx",
+ "notation",
+ "statement",
+ "title"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "degree": {
+ "elements": [],
+ "attributes": []
+ },
+ "delete": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "icon",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "url",
+ "var",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex",
+ "xref"
+ ],
+ "attributes": []
+ },
+ "department": {
+ "elements": [
+ "copyleft",
+ "copyright",
+ "dblprime",
+ "degree",
+ "ellipsis",
+ "icon",
+ "kbd",
+ "langle",
+ "ldblbracket",
+ "line",
+ "lq",
+ "lsq",
+ "mdash",
+ "midpoint",
+ "minus",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "prime",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "section-mark",
+ "servicemark",
+ "solidus",
+ "swungdash",
+ "times",
+ "trademark"
+ ],
+ "attributes": []
+ },
+ "description": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "icon",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "line",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "p",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tabular",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex"
+ ],
+ "attributes": []
+ },
+ "division": {
+ "elements": [],
+ "attributes": [
+ "part"
+ ]
+ },
+ "dl": {
+ "elements": [
+ "li"
+ ],
+ "attributes": [
+ "component",
+ "width"
+ ]
+ },
+ "docinfo": {
+ "elements": [
+ "asymptote-preamble",
+ "author-biographies",
+ "blurb",
+ "brandlogo",
+ "cross-references",
+ "document-id",
+ "feedback",
+ "images",
+ "initialism",
+ "latex-image-preamble",
+ "macros",
+ "math-package",
+ "numbering",
+ "parsons",
+ "programs",
+ "rename"
+ ],
+ "attributes": [
+ "xml:base",
+ "xml:lang"
+ ]
+ },
+ "document-id": {
+ "elements": [],
+ "attributes": [
+ "edition"
+ ]
+ },
+ "doubleflat": {
+ "elements": [],
+ "attributes": []
+ },
+ "doublesharp": {
+ "elements": [],
+ "attributes": []
+ },
+ "edition": {
+ "elements": [],
+ "attributes": []
+ },
+ "editor": {
+ "elements": [
+ "affiliation",
+ "department",
+ "email",
+ "institution",
+ "location",
+ "personname"
+ ],
+ "attributes": []
+ },
+ "eg": {
+ "elements": [],
+ "attributes": []
+ },
+ "ellipsis": {
+ "elements": [],
+ "attributes": []
+ },
+ "em": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "icon",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "url",
+ "var",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex",
+ "xref"
+ ],
+ "attributes": []
+ },
+ "email": {
+ "elements": [],
+ "attributes": []
+ },
+ "entity": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "icon",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "url",
+ "var",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex",
+ "xref"
+ ],
+ "attributes": []
+ },
+ "etal": {
+ "elements": [],
+ "attributes": []
+ },
+ "etc": {
+ "elements": [],
+ "attributes": []
+ },
+ "event": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "icon",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "url",
+ "var",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex",
+ "xref"
+ ],
+ "attributes": []
+ },
+ "example": {
+ "elements": [
+ "answer",
+ "aside",
+ "biographical",
+ "blockquote",
+ "conclusion",
+ "console",
+ "figure",
+ "hint",
+ "historical",
+ "idx",
+ "image",
+ "interactive",
+ "introduction",
+ "list",
+ "listing",
+ "p",
+ "pre",
+ "program",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "solution",
+ "statement",
+ "table",
+ "tabular",
+ "task",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "exercise": {
+ "elements": [
+ "answer",
+ "areas",
+ "aside",
+ "biographical",
+ "blockquote",
+ "blocks",
+ "choices",
+ "conclusion",
+ "console",
+ "feedback",
+ "figure",
+ "hint",
+ "historical",
+ "idx",
+ "image",
+ "interactive",
+ "introduction",
+ "list",
+ "listing",
+ "matches",
+ "myopenmath",
+ "ol",
+ "p",
+ "postamble",
+ "pre",
+ "preamble",
+ "program",
+ "response",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "solution",
+ "statement",
+ "table",
+ "tabular",
+ "task",
+ "title",
+ "video",
+ "webwork"
+ ],
+ "attributes": [
+ "adaptive",
+ "attachment",
+ "component",
+ "indentation",
+ "label",
+ "language",
+ "number",
+ "workspace",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "exercisegroup": {
+ "elements": [
+ "conclusion",
+ "exercise",
+ "idx",
+ "introduction",
+ "title"
+ ],
+ "attributes": [
+ "cols",
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "exercises": {
+ "elements": [
+ "conclusion",
+ "exercise",
+ "exercisegroup",
+ "idx",
+ "interactive",
+ "introduction",
+ "plaintitle",
+ "shorttitle",
+ "subexercises",
+ "title"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "explanation": {
+ "elements": [
+ "aside",
+ "biographical",
+ "blockquote",
+ "case",
+ "console",
+ "figure",
+ "historical",
+ "idx",
+ "image",
+ "interactive",
+ "list",
+ "listing",
+ "p",
+ "pre",
+ "program",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "table",
+ "tabular",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "exploration": {
+ "elements": [
+ "answer",
+ "areas",
+ "aside",
+ "biographical",
+ "blockquote",
+ "blocks",
+ "choices",
+ "conclusion",
+ "console",
+ "feedback",
+ "figure",
+ "hint",
+ "historical",
+ "idx",
+ "image",
+ "interactive",
+ "introduction",
+ "list",
+ "listing",
+ "matches",
+ "myopenmath",
+ "ol",
+ "p",
+ "postamble",
+ "postlude",
+ "pre",
+ "preamble",
+ "prelude",
+ "program",
+ "response",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "solution",
+ "statement",
+ "table",
+ "tabular",
+ "task",
+ "title",
+ "video",
+ "webwork"
+ ],
+ "attributes": [
+ "adaptive",
+ "attachment",
+ "component",
+ "indentation",
+ "label",
+ "language",
+ "number",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "fact": {
+ "elements": [
+ "argument",
+ "aside",
+ "biographical",
+ "blockquote",
+ "console",
+ "creator",
+ "explanation",
+ "figure",
+ "historical",
+ "idx",
+ "image",
+ "interactive",
+ "justification",
+ "list",
+ "listing",
+ "p",
+ "pre",
+ "program",
+ "proof",
+ "reasoning",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "statement",
+ "table",
+ "tabular",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "feedback": {
+ "elements": [
+ "argument",
+ "aside",
+ "biographical",
+ "blockquote",
+ "console",
+ "explanation",
+ "figure",
+ "historical",
+ "idx",
+ "image",
+ "interactive",
+ "justification",
+ "list",
+ "listing",
+ "p",
+ "pre",
+ "program",
+ "proof",
+ "reasoning",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "table",
+ "tabular",
+ "title",
+ "url",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "figure": {
+ "elements": [
+ "caption",
+ "idx",
+ "image",
+ "interactive",
+ "sbsgroup",
+ "score",
+ "sidebyside",
+ "tabular",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "landscape",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "fillin": {
+ "elements": [],
+ "attributes": [
+ "characters",
+ "cols",
+ "fill",
+ "rows"
+ ]
+ },
+ "flat": {
+ "elements": [],
+ "attributes": []
+ },
+ "fn": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "icon",
+ "idx",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "url",
+ "var",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex",
+ "xref"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:id"
+ ]
+ },
+ "foreign": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "icon",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "url",
+ "var",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex",
+ "xref"
+ ],
+ "attributes": [
+ "xml:lang"
+ ]
+ },
+ "fragment": {
+ "elements": [
+ "code",
+ "fragref",
+ "title"
+ ],
+ "attributes": [
+ "filename",
+ "xml:id"
+ ]
+ },
+ "fragref": {
+ "elements": [],
+ "attributes": [
+ "ref"
+ ]
+ },
+ "frontmatter": {
+ "elements": [
+ "abstract",
+ "acknowledgement",
+ "bibinfo",
+ "biography",
+ "colophon",
+ "dedication",
+ "idx",
+ "preface",
+ "title",
+ "titlepage"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "genus": {
+ "elements": [],
+ "attributes": []
+ },
+ "gi": {
+ "elements": [
+ "aside",
+ "biographical",
+ "blockquote",
+ "console",
+ "historical",
+ "idx",
+ "image",
+ "p",
+ "pre",
+ "program",
+ "sbsgroup",
+ "sidebyside",
+ "tabular",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "glossary": {
+ "elements": [
+ "gi",
+ "headnote",
+ "idx",
+ "plaintitle",
+ "shorttitle",
+ "title"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "h": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "icon",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex"
+ ],
+ "attributes": [
+ "sortby"
+ ]
+ },
+ "handout": {
+ "elements": [
+ "activity",
+ "algorithm",
+ "argument",
+ "aside",
+ "assemblage",
+ "assumption",
+ "axiom",
+ "biographical",
+ "blockquote",
+ "claim",
+ "computation",
+ "conclusion",
+ "conjecture",
+ "console",
+ "convention",
+ "corollary",
+ "data",
+ "definition",
+ "example",
+ "exercise",
+ "explanation",
+ "exploration",
+ "fact",
+ "figure",
+ "fragment",
+ "heuristic",
+ "historical",
+ "hypothesis",
+ "identity",
+ "idx",
+ "image",
+ "insight",
+ "interactive",
+ "introduction",
+ "investigation",
+ "justification",
+ "lemma",
+ "list",
+ "list-of",
+ "listing",
+ "note",
+ "objectives",
+ "observation",
+ "outcomes",
+ "p",
+ "page",
+ "plaintitle",
+ "poem",
+ "pre",
+ "principle",
+ "problem",
+ "program",
+ "project",
+ "proof",
+ "proposition",
+ "question",
+ "reasoning",
+ "remark",
+ "sage",
+ "sbsgroup",
+ "shorttitle",
+ "sidebyside",
+ "table",
+ "tabular",
+ "technology",
+ "theorem",
+ "title",
+ "video",
+ "warning"
+ ],
+ "attributes": [
+ "bottom",
+ "component",
+ "label",
+ "left",
+ "margin",
+ "right",
+ "top",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "headnote": {
+ "elements": [
+ "aside",
+ "biographical",
+ "blockquote",
+ "console",
+ "historical",
+ "image",
+ "p",
+ "pre",
+ "program",
+ "sbsgroup",
+ "sidebyside",
+ "tabular",
+ "video"
+ ],
+ "attributes": []
+ },
+ "heuristic": {
+ "elements": [
+ "creator",
+ "idx",
+ "statement",
+ "title"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "hint": {
+ "elements": [
+ "argument",
+ "aside",
+ "biographical",
+ "blockquote",
+ "console",
+ "explanation",
+ "figure",
+ "historical",
+ "idx",
+ "image",
+ "interactive",
+ "justification",
+ "list",
+ "listing",
+ "p",
+ "pre",
+ "program",
+ "proof",
+ "reasoning",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "table",
+ "tabular",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "historical": {
+ "elements": [
+ "blockquote",
+ "console",
+ "idx",
+ "image",
+ "p",
+ "pre",
+ "program",
+ "tabular",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "holder": {
+ "elements": [],
+ "attributes": []
+ },
+ "hypothesis": {
+ "elements": [
+ "creator",
+ "idx",
+ "statement",
+ "title"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "ibid": {
+ "elements": [],
+ "attributes": []
+ },
+ "icon": {
+ "elements": [],
+ "attributes": [
+ "name"
+ ]
+ },
+ "identity": {
+ "elements": [
+ "argument",
+ "aside",
+ "biographical",
+ "blockquote",
+ "console",
+ "creator",
+ "explanation",
+ "figure",
+ "historical",
+ "idx",
+ "image",
+ "interactive",
+ "justification",
+ "list",
+ "listing",
+ "p",
+ "pre",
+ "program",
+ "proof",
+ "reasoning",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "statement",
+ "table",
+ "tabular",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "idx": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "h",
+ "icon",
+ "idx",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "see",
+ "seealso",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex"
+ ],
+ "attributes": [
+ "component",
+ "finish",
+ "label",
+ "sortby",
+ "start",
+ "xml:id"
+ ]
+ },
+ "ie": {
+ "elements": [],
+ "attributes": []
+ },
+ "image": {
+ "elements": [
+ "asymptote",
+ "description",
+ "latex-image",
+ "sageplot",
+ "shortdescription"
+ ],
+ "attributes": [
+ "archive",
+ "component",
+ "decorative",
+ "margins",
+ "pg-name",
+ "rotate",
+ "source",
+ "width",
+ "xml:id"
+ ]
+ },
+ "images": {
+ "elements": [
+ "archive"
+ ],
+ "attributes": []
+ },
+ "index": {
+ "elements": [
+ "idx",
+ "index-list",
+ "plaintitle",
+ "shorttitle",
+ "title"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "index-list": {
+ "elements": [],
+ "attributes": []
+ },
+ "init": {
+ "elements": [
+ "copyleft",
+ "copyright",
+ "dblprime",
+ "degree",
+ "ellipsis",
+ "icon",
+ "kbd",
+ "langle",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "mdash",
+ "midpoint",
+ "minus",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "prime",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "section-mark",
+ "servicemark",
+ "solidus",
+ "swungdash",
+ "times",
+ "trademark"
+ ],
+ "attributes": []
+ },
+ "initialism": {
+ "elements": [],
+ "attributes": []
+ },
+ "input": {
+ "elements": [],
+ "attributes": [
+ "continuation",
+ "onclick",
+ "onkeypress",
+ "prompt",
+ "style",
+ "type",
+ "value"
+ ]
+ },
+ "insert": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "icon",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "url",
+ "var",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex",
+ "xref"
+ ],
+ "attributes": []
+ },
+ "insight": {
+ "elements": [
+ "aside",
+ "biographical",
+ "blockquote",
+ "console",
+ "figure",
+ "historical",
+ "idx",
+ "image",
+ "interactive",
+ "list",
+ "listing",
+ "p",
+ "pre",
+ "program",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "table",
+ "tabular",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "institution": {
+ "elements": [
+ "copyleft",
+ "copyright",
+ "dblprime",
+ "degree",
+ "ellipsis",
+ "icon",
+ "kbd",
+ "langle",
+ "ldblbracket",
+ "line",
+ "lq",
+ "lsq",
+ "mdash",
+ "midpoint",
+ "minus",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "prime",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "section-mark",
+ "servicemark",
+ "solidus",
+ "swungdash",
+ "times",
+ "trademark"
+ ],
+ "attributes": []
+ },
+ "instruction": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "icon",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex"
+ ],
+ "attributes": []
+ },
+ "instructions": {
+ "elements": [
+ "blockquote",
+ "console",
+ "idx",
+ "image",
+ "p",
+ "pre",
+ "program",
+ "tabular",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "interactive": {
+ "elements": [
+ "instructions",
+ "sbsgroup",
+ "sidebyside",
+ "slate",
+ "static"
+ ],
+ "attributes": [
+ "aspect",
+ "component",
+ "iframe",
+ "label",
+ "platform",
+ "preview",
+ "source",
+ "version",
+ "width",
+ "xml:id"
+ ]
+ },
+ "interlude": {
+ "elements": [
+ "blockquote",
+ "console",
+ "image",
+ "p",
+ "pre",
+ "program",
+ "tabular",
+ "video"
+ ],
+ "attributes": []
+ },
+ "intertext": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "icon",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "url",
+ "var",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex",
+ "xref"
+ ],
+ "attributes": []
+ },
+ "introduction": {
+ "elements": [
+ "activity",
+ "algorithm",
+ "argument",
+ "aside",
+ "assemblage",
+ "assumption",
+ "axiom",
+ "biographical",
+ "blockquote",
+ "claim",
+ "computation",
+ "conjecture",
+ "console",
+ "convention",
+ "corollary",
+ "data",
+ "definition",
+ "example",
+ "exercise",
+ "explanation",
+ "exploration",
+ "fact",
+ "figure",
+ "fragment",
+ "heuristic",
+ "historical",
+ "hypothesis",
+ "identity",
+ "idx",
+ "image",
+ "insight",
+ "interactive",
+ "investigation",
+ "justification",
+ "lemma",
+ "list",
+ "list-of",
+ "listing",
+ "note",
+ "observation",
+ "p",
+ "poem",
+ "pre",
+ "principle",
+ "problem",
+ "program",
+ "project",
+ "proof",
+ "proposition",
+ "question",
+ "reasoning",
+ "remark",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "table",
+ "tabular",
+ "technology",
+ "theorem",
+ "title",
+ "video",
+ "warning"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "investigation": {
+ "elements": [
+ "answer",
+ "areas",
+ "aside",
+ "biographical",
+ "blockquote",
+ "blocks",
+ "choices",
+ "conclusion",
+ "console",
+ "feedback",
+ "figure",
+ "hint",
+ "historical",
+ "idx",
+ "image",
+ "interactive",
+ "introduction",
+ "list",
+ "listing",
+ "matches",
+ "myopenmath",
+ "ol",
+ "p",
+ "postamble",
+ "postlude",
+ "pre",
+ "preamble",
+ "prelude",
+ "program",
+ "response",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "solution",
+ "statement",
+ "table",
+ "tabular",
+ "task",
+ "title",
+ "video",
+ "webwork"
+ ],
+ "attributes": [
+ "adaptive",
+ "attachment",
+ "component",
+ "indentation",
+ "label",
+ "language",
+ "number",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "iotest": {
+ "elements": [
+ "input",
+ "output"
+ ],
+ "attributes": []
+ },
+ "journal": {
+ "elements": [
+ "copyleft",
+ "copyright",
+ "dblprime",
+ "degree",
+ "ellipsis",
+ "icon",
+ "kbd",
+ "langle",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "prime",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "section-mark",
+ "servicemark",
+ "solidus",
+ "swungdash",
+ "times",
+ "trademark"
+ ],
+ "attributes": []
+ },
+ "justification": {
+ "elements": [
+ "aside",
+ "biographical",
+ "blockquote",
+ "case",
+ "console",
+ "figure",
+ "historical",
+ "idx",
+ "image",
+ "interactive",
+ "list",
+ "listing",
+ "p",
+ "pre",
+ "program",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "table",
+ "tabular",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "kbd": {
+ "elements": [],
+ "attributes": [
+ "name"
+ ]
+ },
+ "keyword": {
+ "elements": [
+ "copyleft",
+ "copyright",
+ "dblprime",
+ "degree",
+ "ellipsis",
+ "icon",
+ "kbd",
+ "langle",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "mdash",
+ "midpoint",
+ "minus",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "prime",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "section-mark",
+ "servicemark",
+ "solidus",
+ "swungdash",
+ "times",
+ "trademark"
+ ],
+ "attributes": [
+ "primary"
+ ]
+ },
+ "keywords": {
+ "elements": [
+ "keyword",
+ "title"
+ ],
+ "attributes": [
+ "authority",
+ "variant"
+ ]
+ },
+ "langle": {
+ "elements": [],
+ "attributes": []
+ },
+ "latex": {
+ "elements": [],
+ "attributes": []
+ },
+ "latex-image": {
+ "elements": [],
+ "attributes": [
+ "component",
+ "label"
+ ]
+ },
+ "latex-image-preamble": {
+ "elements": [],
+ "attributes": []
+ },
+ "ldblbracket": {
+ "elements": [],
+ "attributes": []
+ },
+ "lemma": {
+ "elements": [
+ "argument",
+ "aside",
+ "biographical",
+ "blockquote",
+ "console",
+ "creator",
+ "explanation",
+ "figure",
+ "historical",
+ "idx",
+ "image",
+ "interactive",
+ "justification",
+ "list",
+ "listing",
+ "p",
+ "pre",
+ "program",
+ "proof",
+ "reasoning",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "statement",
+ "table",
+ "tabular",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "letter": {
+ "elements": [],
+ "attributes": []
+ },
+ "li": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "aside",
+ "attr",
+ "bc",
+ "biographical",
+ "blockquote",
+ "c",
+ "ca",
+ "cd",
+ "chord",
+ "console",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "dl",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "figure",
+ "fillin",
+ "flat",
+ "fn",
+ "foreign",
+ "historical",
+ "icon",
+ "idx",
+ "ie",
+ "image",
+ "init",
+ "insert",
+ "interactive",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "list",
+ "listing",
+ "lq",
+ "lsq",
+ "m",
+ "md",
+ "mdash",
+ "mdn",
+ "me",
+ "men",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "notation",
+ "obelus",
+ "ol",
+ "p",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "pre",
+ "prefigure",
+ "pretext",
+ "prime",
+ "program",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "sage",
+ "sbsgroup",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "sidebyside",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "table",
+ "tabular",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "title",
+ "today",
+ "trademark",
+ "ul",
+ "url",
+ "var",
+ "video",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex",
+ "xref"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "line": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "icon",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "url",
+ "var",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex",
+ "xref"
+ ],
+ "attributes": [
+ "indent"
+ ]
+ },
+ "list": {
+ "elements": [
+ "conclusion",
+ "dl",
+ "idx",
+ "introduction",
+ "ol",
+ "plaintitle",
+ "shorttitle",
+ "title",
+ "ul"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "landscape",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "list-of": {
+ "elements": [],
+ "attributes": [
+ "divisions",
+ "elements",
+ "empty",
+ "scope"
+ ]
+ },
+ "listing": {
+ "elements": [
+ "console",
+ "idx",
+ "plaintitle",
+ "program",
+ "shorttitle",
+ "title"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "landscape",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "location": {
+ "elements": [
+ "copyleft",
+ "copyright",
+ "dblprime",
+ "degree",
+ "ellipsis",
+ "icon",
+ "kbd",
+ "langle",
+ "ldblbracket",
+ "line",
+ "lq",
+ "lsq",
+ "mdash",
+ "midpoint",
+ "minus",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "prime",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "section-mark",
+ "servicemark",
+ "solidus",
+ "swungdash",
+ "times",
+ "trademark"
+ ],
+ "attributes": []
+ },
+ "lq": {
+ "elements": [],
+ "attributes": []
+ },
+ "lsq": {
+ "elements": [],
+ "attributes": []
+ },
+ "m": {
+ "elements": [
+ "fillin",
+ "var"
+ ],
+ "attributes": []
+ },
+ "macro-file": {
+ "elements": [],
+ "attributes": []
+ },
+ "macros": {
+ "elements": [],
+ "attributes": []
+ },
+ "mag": {
+ "elements": [],
+ "attributes": []
+ },
+ "match": {
+ "elements": [
+ "premise",
+ "response"
+ ],
+ "attributes": [
+ "order"
+ ]
+ },
+ "matches": {
+ "elements": [
+ "match"
+ ],
+ "attributes": []
+ },
+ "math-package": {
+ "elements": [],
+ "attributes": [
+ "latex-name",
+ "mathjax-name"
+ ]
+ },
+ "md": {
+ "elements": [
+ "fillin",
+ "intertext",
+ "mrow",
+ "var",
+ "xref"
+ ],
+ "attributes": [
+ "alignat-columns",
+ "alignment",
+ "break",
+ "number"
+ ]
+ },
+ "mdash": {
+ "elements": [],
+ "attributes": []
+ },
+ "mdn": {
+ "elements": [
+ "fillin",
+ "intertext",
+ "mrow",
+ "var"
+ ],
+ "attributes": [
+ "alignat-columns",
+ "alignment",
+ "break",
+ "number"
+ ]
+ },
+ "me": {
+ "elements": [
+ "fillin",
+ "idx",
+ "var",
+ "xref"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:id"
+ ]
+ },
+ "memo": {
+ "elements": [],
+ "attributes": []
+ },
+ "men": {
+ "elements": [
+ "fillin",
+ "idx",
+ "var",
+ "xref"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:id"
+ ]
+ },
+ "midpoint": {
+ "elements": [],
+ "attributes": []
+ },
+ "minilicense": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "icon",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex"
+ ],
+ "attributes": []
+ },
+ "minus": {
+ "elements": [],
+ "attributes": []
+ },
+ "mrow": {
+ "elements": [
+ "fillin",
+ "idx",
+ "var",
+ "xref"
+ ],
+ "attributes": [
+ "break",
+ "component",
+ "label",
+ "number",
+ "tag",
+ "xml:id"
+ ]
+ },
+ "myopenmath": {
+ "elements": [],
+ "attributes": [
+ "params",
+ "problem"
+ ]
+ },
+ "n": {
+ "elements": [],
+ "attributes": [
+ "acc",
+ "octave",
+ "pc"
+ ]
+ },
+ "name": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "icon",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex"
+ ],
+ "attributes": []
+ },
+ "natural": {
+ "elements": [],
+ "attributes": []
+ },
+ "nb": {
+ "elements": [],
+ "attributes": []
+ },
+ "nbsp": {
+ "elements": [],
+ "attributes": []
+ },
+ "ndash": {
+ "elements": [],
+ "attributes": []
+ },
+ "notation": {
+ "elements": [
+ "description",
+ "usage"
+ ],
+ "attributes": []
+ },
+ "notation-list": {
+ "elements": [],
+ "attributes": []
+ },
+ "note": {
+ "elements": [
+ "aside",
+ "biographical",
+ "blockquote",
+ "console",
+ "figure",
+ "historical",
+ "idx",
+ "image",
+ "interactive",
+ "list",
+ "listing",
+ "p",
+ "pre",
+ "program",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "table",
+ "tabular",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "number": {
+ "elements": [],
+ "attributes": []
+ },
+ "numbering": {
+ "elements": [
+ "division"
+ ],
+ "attributes": []
+ },
+ "obelus": {
+ "elements": [],
+ "attributes": []
+ },
+ "objectives": {
+ "elements": [
+ "conclusion",
+ "dl",
+ "idx",
+ "introduction",
+ "ol",
+ "title",
+ "ul"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "observation": {
+ "elements": [
+ "aside",
+ "biographical",
+ "blockquote",
+ "console",
+ "figure",
+ "historical",
+ "idx",
+ "image",
+ "interactive",
+ "list",
+ "listing",
+ "p",
+ "pre",
+ "program",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "table",
+ "tabular",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "ol": {
+ "elements": [
+ "li"
+ ],
+ "attributes": [
+ "cols",
+ "component",
+ "marker"
+ ]
+ },
+ "outcomes": {
+ "elements": [
+ "conclusion",
+ "dl",
+ "idx",
+ "introduction",
+ "ol",
+ "title",
+ "ul"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "output": {
+ "elements": [],
+ "attributes": []
+ },
+ "p": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "area",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "cd",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "dl",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "fn",
+ "foreign",
+ "icon",
+ "idx",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "line",
+ "lq",
+ "lsq",
+ "m",
+ "md",
+ "mdash",
+ "mdn",
+ "me",
+ "men",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "notation",
+ "obelus",
+ "ol",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "ul",
+ "url",
+ "var",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex",
+ "xref"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:id"
+ ]
+ },
+ "page": {
+ "elements": [
+ "activity",
+ "algorithm",
+ "argument",
+ "aside",
+ "assemblage",
+ "assumption",
+ "axiom",
+ "biographical",
+ "blockquote",
+ "claim",
+ "computation",
+ "conjecture",
+ "console",
+ "convention",
+ "corollary",
+ "data",
+ "definition",
+ "example",
+ "exercise",
+ "explanation",
+ "exploration",
+ "fact",
+ "figure",
+ "fragment",
+ "heuristic",
+ "historical",
+ "hypothesis",
+ "identity",
+ "image",
+ "insight",
+ "interactive",
+ "investigation",
+ "justification",
+ "lemma",
+ "list",
+ "list-of",
+ "listing",
+ "note",
+ "observation",
+ "p",
+ "poem",
+ "pre",
+ "principle",
+ "problem",
+ "program",
+ "project",
+ "proof",
+ "proposition",
+ "question",
+ "reasoning",
+ "remark",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "table",
+ "tabular",
+ "technology",
+ "theorem",
+ "video",
+ "warning"
+ ],
+ "attributes": []
+ },
+ "pages": {
+ "elements": [],
+ "attributes": [
+ "end",
+ "start"
+ ]
+ },
+ "paragraphs": {
+ "elements": [
+ "activity",
+ "algorithm",
+ "argument",
+ "aside",
+ "assemblage",
+ "assumption",
+ "axiom",
+ "biographical",
+ "blockquote",
+ "claim",
+ "computation",
+ "conjecture",
+ "console",
+ "convention",
+ "corollary",
+ "data",
+ "definition",
+ "example",
+ "exercise",
+ "explanation",
+ "exploration",
+ "fact",
+ "figure",
+ "fragment",
+ "heuristic",
+ "historical",
+ "hypothesis",
+ "identity",
+ "idx",
+ "image",
+ "insight",
+ "interactive",
+ "investigation",
+ "justification",
+ "lemma",
+ "list",
+ "list-of",
+ "listing",
+ "note",
+ "observation",
+ "p",
+ "poem",
+ "pre",
+ "principle",
+ "problem",
+ "program",
+ "project",
+ "proof",
+ "proposition",
+ "question",
+ "reasoning",
+ "remark",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "table",
+ "tabular",
+ "technology",
+ "theorem",
+ "title",
+ "video",
+ "warning"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "parsons": {
+ "elements": [],
+ "attributes": [
+ "language"
+ ]
+ },
+ "part": {
+ "elements": [
+ "chapter",
+ "idx",
+ "plaintitle",
+ "shorttitle",
+ "title"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "per": {
+ "elements": [],
+ "attributes": [
+ "base",
+ "exp",
+ "prefix"
+ ]
+ },
+ "permille": {
+ "elements": [],
+ "attributes": []
+ },
+ "personname": {
+ "elements": [
+ "copyleft",
+ "copyright",
+ "dblprime",
+ "degree",
+ "ellipsis",
+ "icon",
+ "kbd",
+ "langle",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "mdash",
+ "midpoint",
+ "minus",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "prime",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "section-mark",
+ "servicemark",
+ "solidus",
+ "swungdash",
+ "times",
+ "trademark"
+ ],
+ "attributes": []
+ },
+ "pf": {
+ "elements": [],
+ "attributes": [
+ "language"
+ ]
+ },
+ "pg-code": {
+ "elements": [],
+ "attributes": []
+ },
+ "pg-macros": {
+ "elements": [
+ "macro-file"
+ ],
+ "attributes": []
+ },
+ "phonomark": {
+ "elements": [],
+ "attributes": []
+ },
+ "pilcrow": {
+ "elements": [],
+ "attributes": []
+ },
+ "plaintitle": {
+ "elements": [],
+ "attributes": []
+ },
+ "plusminus": {
+ "elements": [],
+ "attributes": []
+ },
+ "pm": {
+ "elements": [],
+ "attributes": []
+ },
+ "poem": {
+ "elements": [
+ "author",
+ "idx",
+ "line",
+ "stanza",
+ "title"
+ ],
+ "attributes": [
+ "component",
+ "halign",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "postamble": {
+ "elements": [],
+ "attributes": [
+ "indent",
+ "visible"
+ ]
+ },
+ "postlude": {
+ "elements": [
+ "blockquote",
+ "console",
+ "image",
+ "p",
+ "pre",
+ "program",
+ "tabular",
+ "video"
+ ],
+ "attributes": []
+ },
+ "pre": {
+ "elements": [
+ "cline"
+ ],
+ "attributes": []
+ },
+ "preamble": {
+ "elements": [],
+ "attributes": [
+ "indent",
+ "visible"
+ ]
+ },
+ "preface": {
+ "elements": [
+ "aside",
+ "attribution",
+ "biographical",
+ "blockquote",
+ "console",
+ "contributors",
+ "historical",
+ "idx",
+ "image",
+ "p",
+ "paragraphs",
+ "pre",
+ "program",
+ "sbsgroup",
+ "sidebyside",
+ "tabular",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "prefigure": {
+ "elements": [],
+ "attributes": []
+ },
+ "prelude": {
+ "elements": [
+ "blockquote",
+ "console",
+ "image",
+ "p",
+ "pre",
+ "program",
+ "tabular",
+ "video"
+ ],
+ "attributes": []
+ },
+ "premise": {
+ "elements": [
+ "blockquote",
+ "console",
+ "image",
+ "p",
+ "pre",
+ "program",
+ "tabular",
+ "video"
+ ],
+ "attributes": []
+ },
+ "pretext": {
+ "elements": [
+ "article",
+ "book",
+ "docinfo",
+ "letter",
+ "memo"
+ ],
+ "attributes": [
+ "xml:lang"
+ ]
+ },
+ "prime": {
+ "elements": [],
+ "attributes": []
+ },
+ "principle": {
+ "elements": [
+ "creator",
+ "idx",
+ "statement",
+ "title"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "problem": {
+ "elements": [
+ "answer",
+ "aside",
+ "biographical",
+ "blockquote",
+ "conclusion",
+ "console",
+ "figure",
+ "hint",
+ "historical",
+ "idx",
+ "image",
+ "interactive",
+ "introduction",
+ "list",
+ "listing",
+ "p",
+ "pre",
+ "program",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "solution",
+ "statement",
+ "table",
+ "tabular",
+ "task",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "program": {
+ "elements": [
+ "checkpoint",
+ "code",
+ "postamble",
+ "preamble",
+ "stdin",
+ "tests"
+ ],
+ "attributes": [
+ "add-files",
+ "autorun",
+ "chatcodes",
+ "codelens",
+ "compile-also",
+ "compiler-args",
+ "component",
+ "database",
+ "download",
+ "extra-compiler-args",
+ "filename",
+ "hidecode",
+ "highlight-lines",
+ "include",
+ "interactive",
+ "interpreter-args",
+ "label",
+ "language",
+ "line-numbers",
+ "linker-args",
+ "margins",
+ "starting-step",
+ "timelimit",
+ "width",
+ "xml:id"
+ ]
+ },
+ "programs": {
+ "elements": [],
+ "attributes": [
+ "compiler-args",
+ "download",
+ "interpreter-args",
+ "language",
+ "linenumbers",
+ "linker-args",
+ "timeout"
+ ]
+ },
+ "project": {
+ "elements": [
+ "answer",
+ "areas",
+ "aside",
+ "biographical",
+ "blockquote",
+ "blocks",
+ "choices",
+ "conclusion",
+ "console",
+ "feedback",
+ "figure",
+ "hint",
+ "historical",
+ "idx",
+ "image",
+ "interactive",
+ "introduction",
+ "list",
+ "listing",
+ "matches",
+ "myopenmath",
+ "ol",
+ "p",
+ "postamble",
+ "postlude",
+ "pre",
+ "preamble",
+ "prelude",
+ "program",
+ "response",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "solution",
+ "statement",
+ "table",
+ "tabular",
+ "task",
+ "title",
+ "video",
+ "webwork"
+ ],
+ "attributes": [
+ "adaptive",
+ "attachment",
+ "component",
+ "indentation",
+ "label",
+ "language",
+ "number",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "prompt": {
+ "elements": [
+ "blockquote",
+ "console",
+ "image",
+ "p",
+ "pre",
+ "program",
+ "tabular",
+ "video"
+ ],
+ "attributes": []
+ },
+ "proof": {
+ "elements": [
+ "aside",
+ "biographical",
+ "blockquote",
+ "case",
+ "console",
+ "figure",
+ "historical",
+ "idx",
+ "image",
+ "interactive",
+ "list",
+ "listing",
+ "p",
+ "pre",
+ "program",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "table",
+ "tabular",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "proposition": {
+ "elements": [
+ "argument",
+ "aside",
+ "biographical",
+ "blockquote",
+ "console",
+ "creator",
+ "explanation",
+ "figure",
+ "historical",
+ "idx",
+ "image",
+ "interactive",
+ "justification",
+ "list",
+ "listing",
+ "p",
+ "pre",
+ "program",
+ "proof",
+ "reasoning",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "statement",
+ "table",
+ "tabular",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "ps": {
+ "elements": [],
+ "attributes": []
+ },
+ "publisher": {
+ "elements": [],
+ "attributes": []
+ },
+ "pubtitle": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "icon",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "url",
+ "var",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex",
+ "xref"
+ ],
+ "attributes": []
+ },
+ "q": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "area",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "icon",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "url",
+ "var",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex",
+ "xref"
+ ],
+ "attributes": []
+ },
+ "quantity": {
+ "elements": [
+ "mag",
+ "per",
+ "unit"
+ ],
+ "attributes": []
+ },
+ "question": {
+ "elements": [
+ "answer",
+ "aside",
+ "biographical",
+ "blockquote",
+ "conclusion",
+ "console",
+ "figure",
+ "hint",
+ "historical",
+ "idx",
+ "image",
+ "interactive",
+ "introduction",
+ "list",
+ "listing",
+ "p",
+ "pre",
+ "program",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "solution",
+ "statement",
+ "table",
+ "tabular",
+ "task",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "rangle": {
+ "elements": [],
+ "attributes": []
+ },
+ "rdblbracket": {
+ "elements": [],
+ "attributes": []
+ },
+ "reading-questions": {
+ "elements": [
+ "conclusion",
+ "exercise",
+ "idx",
+ "introduction",
+ "plaintitle",
+ "shorttitle",
+ "title"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "reasoning": {
+ "elements": [
+ "aside",
+ "biographical",
+ "blockquote",
+ "case",
+ "console",
+ "figure",
+ "historical",
+ "idx",
+ "image",
+ "interactive",
+ "list",
+ "listing",
+ "p",
+ "pre",
+ "program",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "table",
+ "tabular",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "references": {
+ "elements": [
+ "biblio",
+ "conclusion",
+ "idx",
+ "introduction",
+ "plaintitle",
+ "shorttitle",
+ "title"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "registered": {
+ "elements": [],
+ "attributes": []
+ },
+ "remark": {
+ "elements": [
+ "aside",
+ "biographical",
+ "blockquote",
+ "console",
+ "figure",
+ "historical",
+ "idx",
+ "image",
+ "interactive",
+ "list",
+ "listing",
+ "p",
+ "pre",
+ "program",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "table",
+ "tabular",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "rename": {
+ "elements": [],
+ "attributes": [
+ "element",
+ "xml:lang"
+ ]
+ },
+ "response": {
+ "elements": [
+ "blockquote",
+ "console",
+ "image",
+ "p",
+ "pre",
+ "program",
+ "tabular",
+ "video"
+ ],
+ "attributes": []
+ },
+ "role": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "icon",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex"
+ ],
+ "attributes": []
+ },
+ "row": {
+ "elements": [
+ "cell"
+ ],
+ "attributes": [
+ "bottom",
+ "halign",
+ "header",
+ "left",
+ "valign"
+ ]
+ },
+ "rq": {
+ "elements": [],
+ "attributes": []
+ },
+ "rsq": {
+ "elements": [],
+ "attributes": []
+ },
+ "sage": {
+ "elements": [
+ "input",
+ "output"
+ ],
+ "attributes": [
+ "auto-evaluate",
+ "component",
+ "doctest",
+ "language",
+ "tolerance",
+ "type"
+ ]
+ },
+ "sageplot": {
+ "elements": [],
+ "attributes": [
+ "aspect",
+ "component",
+ "label",
+ "variant"
+ ]
+ },
+ "sbsgroup": {
+ "elements": [
+ "sidebyside"
+ ],
+ "attributes": [
+ "component",
+ "margins",
+ "valign",
+ "valigns",
+ "width",
+ "widths"
+ ]
+ },
+ "scaledeg": {
+ "elements": [],
+ "attributes": []
+ },
+ "score": {
+ "elements": [],
+ "attributes": [
+ "musescore",
+ "musescoreuser"
+ ]
+ },
+ "section": {
+ "elements": [
+ "activity",
+ "algorithm",
+ "argument",
+ "aside",
+ "assemblage",
+ "assumption",
+ "author",
+ "axiom",
+ "biographical",
+ "blockquote",
+ "claim",
+ "computation",
+ "conclusion",
+ "conjecture",
+ "console",
+ "convention",
+ "corollary",
+ "data",
+ "definition",
+ "example",
+ "exercise",
+ "exercises",
+ "explanation",
+ "exploration",
+ "fact",
+ "figure",
+ "fragment",
+ "glossary",
+ "handout",
+ "heuristic",
+ "historical",
+ "hypothesis",
+ "identity",
+ "idx",
+ "image",
+ "insight",
+ "interactive",
+ "introduction",
+ "investigation",
+ "justification",
+ "lemma",
+ "list",
+ "list-of",
+ "listing",
+ "note",
+ "objectives",
+ "observation",
+ "outcomes",
+ "p",
+ "paragraphs",
+ "plaintitle",
+ "poem",
+ "pre",
+ "principle",
+ "problem",
+ "program",
+ "project",
+ "proof",
+ "proposition",
+ "question",
+ "reading-questions",
+ "reasoning",
+ "references",
+ "remark",
+ "sage",
+ "sbsgroup",
+ "shorttitle",
+ "sidebyside",
+ "solutions",
+ "subsection",
+ "table",
+ "tabular",
+ "technology",
+ "theorem",
+ "title",
+ "video",
+ "warning",
+ "worksheet"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "section-mark": {
+ "elements": [],
+ "attributes": []
+ },
+ "see": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "icon",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex"
+ ],
+ "attributes": []
+ },
+ "seealso": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "icon",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex"
+ ],
+ "attributes": []
+ },
+ "series": {
+ "elements": [],
+ "attributes": []
+ },
+ "servicemark": {
+ "elements": [],
+ "attributes": []
+ },
+ "sharp": {
+ "elements": [],
+ "attributes": []
+ },
+ "shortdescription": {
+ "elements": [
+ "var"
+ ],
+ "attributes": []
+ },
+ "shortlicense": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "fn",
+ "foreign",
+ "icon",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "url",
+ "var",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex",
+ "xref"
+ ],
+ "attributes": []
+ },
+ "shorttitle": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "icon",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex"
+ ],
+ "attributes": []
+ },
+ "sidebyside": {
+ "elements": [
+ "console",
+ "dl",
+ "exercise",
+ "figure",
+ "image",
+ "interactive",
+ "list",
+ "listing",
+ "ol",
+ "p",
+ "poem",
+ "pre",
+ "program",
+ "slate",
+ "stack",
+ "table",
+ "tabular",
+ "task",
+ "ul",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "margins",
+ "valign",
+ "valigns",
+ "width",
+ "widths"
+ ]
+ },
+ "slate": {
+ "elements": [
+ "input",
+ "p",
+ "sidebyside",
+ "tabular",
+ "xhtml:button"
+ ],
+ "attributes": [
+ "aspect",
+ "axis",
+ "component",
+ "grid",
+ "label",
+ "material",
+ "source",
+ "surface",
+ "xml:id"
+ ]
+ },
+ "solidus": {
+ "elements": [],
+ "attributes": []
+ },
+ "solution": {
+ "elements": [
+ "argument",
+ "aside",
+ "biographical",
+ "blockquote",
+ "console",
+ "explanation",
+ "figure",
+ "historical",
+ "idx",
+ "image",
+ "interactive",
+ "justification",
+ "list",
+ "listing",
+ "p",
+ "pre",
+ "program",
+ "proof",
+ "reasoning",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "table",
+ "tabular",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "solutions": {
+ "elements": [
+ "conclusion",
+ "idx",
+ "introduction",
+ "plaintitle",
+ "shorttitle",
+ "title"
+ ],
+ "attributes": [
+ "admit",
+ "component",
+ "divisional",
+ "inline",
+ "label",
+ "project",
+ "reading",
+ "scope",
+ "worksheet",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "species": {
+ "elements": [],
+ "attributes": []
+ },
+ "sq": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "area",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "icon",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "url",
+ "var",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex",
+ "xref"
+ ],
+ "attributes": []
+ },
+ "stack": {
+ "elements": [
+ "console",
+ "dl",
+ "image",
+ "ol",
+ "p",
+ "pre",
+ "program",
+ "slate",
+ "tabular",
+ "ul",
+ "video"
+ ],
+ "attributes": []
+ },
+ "stale": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "icon",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "url",
+ "var",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex",
+ "xref"
+ ],
+ "attributes": []
+ },
+ "stanza": {
+ "elements": [
+ "idx",
+ "line",
+ "title"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "statement": {
+ "elements": [
+ "aside",
+ "biographical",
+ "blockquote",
+ "console",
+ "figure",
+ "historical",
+ "image",
+ "instruction",
+ "interactive",
+ "list",
+ "listing",
+ "ol",
+ "p",
+ "pre",
+ "program",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "table",
+ "tabular",
+ "video"
+ ],
+ "attributes": [
+ "correct"
+ ]
+ },
+ "static": {
+ "elements": [
+ "image"
+ ],
+ "attributes": []
+ },
+ "stdin": {
+ "elements": [],
+ "attributes": []
+ },
+ "subexercises": {
+ "elements": [
+ "conclusion",
+ "exercise",
+ "exercisegroup",
+ "idx",
+ "introduction",
+ "plaintitle",
+ "shorttitle",
+ "title"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "subsection": {
+ "elements": [
+ "activity",
+ "algorithm",
+ "argument",
+ "aside",
+ "assemblage",
+ "assumption",
+ "author",
+ "axiom",
+ "biographical",
+ "blockquote",
+ "claim",
+ "computation",
+ "conclusion",
+ "conjecture",
+ "console",
+ "convention",
+ "corollary",
+ "data",
+ "definition",
+ "example",
+ "exercise",
+ "exercises",
+ "explanation",
+ "exploration",
+ "fact",
+ "figure",
+ "fragment",
+ "glossary",
+ "handout",
+ "heuristic",
+ "historical",
+ "hypothesis",
+ "identity",
+ "idx",
+ "image",
+ "insight",
+ "interactive",
+ "introduction",
+ "investigation",
+ "justification",
+ "lemma",
+ "list",
+ "list-of",
+ "listing",
+ "note",
+ "objectives",
+ "observation",
+ "outcomes",
+ "p",
+ "paragraphs",
+ "plaintitle",
+ "poem",
+ "pre",
+ "principle",
+ "problem",
+ "program",
+ "project",
+ "proof",
+ "proposition",
+ "question",
+ "reading-questions",
+ "reasoning",
+ "references",
+ "remark",
+ "sage",
+ "sbsgroup",
+ "shorttitle",
+ "sidebyside",
+ "solutions",
+ "subsubsection",
+ "table",
+ "tabular",
+ "technology",
+ "theorem",
+ "title",
+ "video",
+ "warning",
+ "worksheet"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "subsubsection": {
+ "elements": [
+ "activity",
+ "algorithm",
+ "argument",
+ "aside",
+ "assemblage",
+ "assumption",
+ "author",
+ "axiom",
+ "biographical",
+ "blockquote",
+ "claim",
+ "computation",
+ "conjecture",
+ "console",
+ "convention",
+ "corollary",
+ "data",
+ "definition",
+ "example",
+ "exercise",
+ "exercises",
+ "explanation",
+ "exploration",
+ "fact",
+ "figure",
+ "fragment",
+ "glossary",
+ "handout",
+ "heuristic",
+ "historical",
+ "hypothesis",
+ "identity",
+ "idx",
+ "image",
+ "insight",
+ "interactive",
+ "investigation",
+ "justification",
+ "lemma",
+ "list",
+ "list-of",
+ "listing",
+ "note",
+ "objectives",
+ "observation",
+ "outcomes",
+ "p",
+ "paragraphs",
+ "plaintitle",
+ "poem",
+ "pre",
+ "principle",
+ "problem",
+ "program",
+ "project",
+ "proof",
+ "proposition",
+ "question",
+ "reading-questions",
+ "reasoning",
+ "references",
+ "remark",
+ "sage",
+ "sbsgroup",
+ "shorttitle",
+ "sidebyside",
+ "solutions",
+ "table",
+ "tabular",
+ "technology",
+ "theorem",
+ "title",
+ "video",
+ "warning",
+ "worksheet"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "subtitle": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "icon",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "line",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "url",
+ "var",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex",
+ "xref"
+ ],
+ "attributes": []
+ },
+ "support": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "cd",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "dl",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "fn",
+ "foreign",
+ "icon",
+ "idx",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "m",
+ "md",
+ "mdash",
+ "mdn",
+ "me",
+ "men",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "notation",
+ "obelus",
+ "ol",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "ul",
+ "url",
+ "var",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex",
+ "xref"
+ ],
+ "attributes": []
+ },
+ "swungdash": {
+ "elements": [],
+ "attributes": []
+ },
+ "table": {
+ "elements": [
+ "idx",
+ "plaintitle",
+ "shorttitle",
+ "tabular",
+ "title"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "landscape",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "tabular": {
+ "elements": [
+ "col",
+ "row"
+ ],
+ "attributes": [
+ "bottom",
+ "component",
+ "halign",
+ "left",
+ "margins",
+ "right",
+ "row-headers",
+ "top",
+ "valign",
+ "width"
+ ]
+ },
+ "tag": {
+ "elements": [],
+ "attributes": []
+ },
+ "tage": {
+ "elements": [],
+ "attributes": []
+ },
+ "task": {
+ "elements": [
+ "answer",
+ "aside",
+ "biographical",
+ "blockquote",
+ "conclusion",
+ "console",
+ "figure",
+ "hint",
+ "historical",
+ "idx",
+ "image",
+ "interactive",
+ "introduction",
+ "list",
+ "listing",
+ "p",
+ "pre",
+ "program",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "solution",
+ "statement",
+ "table",
+ "tabular",
+ "task",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "workspace",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "taxon": {
+ "elements": [
+ "genus",
+ "species"
+ ],
+ "attributes": [
+ "ncbi"
+ ]
+ },
+ "technology": {
+ "elements": [
+ "aside",
+ "biographical",
+ "blockquote",
+ "console",
+ "figure",
+ "historical",
+ "idx",
+ "image",
+ "interactive",
+ "list",
+ "listing",
+ "p",
+ "pre",
+ "program",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "table",
+ "tabular",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "term": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "icon",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "url",
+ "var",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex",
+ "xref"
+ ],
+ "attributes": []
+ },
+ "tests": {
+ "elements": [
+ "iotest"
+ ],
+ "attributes": [
+ "visible"
+ ]
+ },
+ "tex": {
+ "elements": [],
+ "attributes": []
+ },
+ "theorem": {
+ "elements": [
+ "argument",
+ "aside",
+ "biographical",
+ "blockquote",
+ "console",
+ "creator",
+ "explanation",
+ "figure",
+ "historical",
+ "idx",
+ "image",
+ "interactive",
+ "justification",
+ "list",
+ "listing",
+ "p",
+ "pre",
+ "program",
+ "proof",
+ "reasoning",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "statement",
+ "table",
+ "tabular",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "timeofday": {
+ "elements": [],
+ "attributes": []
+ },
+ "times": {
+ "elements": [],
+ "attributes": []
+ },
+ "timesignature": {
+ "elements": [],
+ "attributes": [
+ "bottom",
+ "top"
+ ]
+ },
+ "title": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "icon",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "line",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "url",
+ "var",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex",
+ "xref"
+ ],
+ "attributes": []
+ },
+ "titlepage": {
+ "elements": [
+ "titlepage-items"
+ ],
+ "attributes": []
+ },
+ "titlepage-items": {
+ "elements": [],
+ "attributes": []
+ },
+ "today": {
+ "elements": [],
+ "attributes": []
+ },
+ "trademark": {
+ "elements": [],
+ "attributes": []
+ },
+ "ul": {
+ "elements": [
+ "li"
+ ],
+ "attributes": [
+ "cols",
+ "component",
+ "marker"
+ ]
+ },
+ "unit": {
+ "elements": [],
+ "attributes": [
+ "base",
+ "exp",
+ "prefix"
+ ]
+ },
+ "url": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "icon",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex"
+ ],
+ "attributes": [
+ "href",
+ "visual"
+ ]
+ },
+ "usage": {
+ "elements": [
+ "m"
+ ],
+ "attributes": []
+ },
+ "var": {
+ "elements": [],
+ "attributes": [
+ "category",
+ "evaluator",
+ "form",
+ "name",
+ "width"
+ ]
+ },
+ "video": {
+ "elements": [],
+ "attributes": [
+ "aspect",
+ "component",
+ "end",
+ "href",
+ "label",
+ "margins",
+ "play-at",
+ "preview",
+ "source",
+ "start",
+ "vimeo",
+ "width",
+ "xml:id",
+ "youtube",
+ "youtubeplaylist"
+ ]
+ },
+ "viz": {
+ "elements": [],
+ "attributes": []
+ },
+ "volume": {
+ "elements": [],
+ "attributes": []
+ },
+ "vs": {
+ "elements": [],
+ "attributes": []
+ },
+ "warning": {
+ "elements": [
+ "aside",
+ "biographical",
+ "blockquote",
+ "console",
+ "figure",
+ "historical",
+ "idx",
+ "image",
+ "interactive",
+ "list",
+ "listing",
+ "p",
+ "pre",
+ "program",
+ "sage",
+ "sbsgroup",
+ "sidebyside",
+ "table",
+ "tabular",
+ "title",
+ "video"
+ ],
+ "attributes": [
+ "component",
+ "label",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "website": {
+ "elements": [
+ "address",
+ "name",
+ "url"
+ ],
+ "attributes": []
+ },
+ "webwork": {
+ "elements": [
+ "conclusion",
+ "description",
+ "hint",
+ "introduction",
+ "pg-code",
+ "pg-macros",
+ "solution",
+ "statement",
+ "task"
+ ],
+ "attributes": [
+ "component",
+ "copy",
+ "label",
+ "seed",
+ "source",
+ "xml:id"
+ ]
+ },
+ "worksheet": {
+ "elements": [
+ "activity",
+ "algorithm",
+ "argument",
+ "aside",
+ "assemblage",
+ "assumption",
+ "axiom",
+ "biographical",
+ "blockquote",
+ "claim",
+ "computation",
+ "conclusion",
+ "conjecture",
+ "console",
+ "convention",
+ "corollary",
+ "data",
+ "definition",
+ "example",
+ "exercise",
+ "explanation",
+ "exploration",
+ "fact",
+ "figure",
+ "fragment",
+ "heuristic",
+ "historical",
+ "hypothesis",
+ "identity",
+ "idx",
+ "image",
+ "insight",
+ "interactive",
+ "introduction",
+ "investigation",
+ "justification",
+ "lemma",
+ "list",
+ "list-of",
+ "listing",
+ "note",
+ "objectives",
+ "observation",
+ "outcomes",
+ "p",
+ "page",
+ "plaintitle",
+ "poem",
+ "pre",
+ "principle",
+ "problem",
+ "program",
+ "project",
+ "proof",
+ "proposition",
+ "question",
+ "reasoning",
+ "remark",
+ "sage",
+ "sbsgroup",
+ "shorttitle",
+ "sidebyside",
+ "table",
+ "tabular",
+ "technology",
+ "theorem",
+ "title",
+ "video",
+ "warning"
+ ],
+ "attributes": [
+ "bottom",
+ "component",
+ "label",
+ "left",
+ "margin",
+ "right",
+ "top",
+ "xml:base",
+ "xml:id",
+ "xml:lang"
+ ]
+ },
+ "xelatex": {
+ "elements": [],
+ "attributes": []
+ },
+ "xetex": {
+ "elements": [],
+ "attributes": []
+ },
+ "xhtml:button": {
+ "elements": [],
+ "attributes": [
+ "id",
+ "type"
+ ]
+ },
+ "xref": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "icon",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex"
+ ],
+ "attributes": [
+ "detail",
+ "first",
+ "last",
+ "provisional",
+ "ref",
+ "text"
+ ]
+ },
+ "year": {
+ "elements": [
+ "abbr",
+ "acro",
+ "ad",
+ "alert",
+ "am",
+ "angles",
+ "articletitle",
+ "attr",
+ "bc",
+ "c",
+ "ca",
+ "chord",
+ "copyleft",
+ "copyright",
+ "dblbrackets",
+ "dblprime",
+ "degree",
+ "delete",
+ "doubleflat",
+ "doublesharp",
+ "eg",
+ "ellipsis",
+ "em",
+ "email",
+ "etal",
+ "etc",
+ "fillin",
+ "flat",
+ "foreign",
+ "icon",
+ "ie",
+ "init",
+ "insert",
+ "kbd",
+ "langle",
+ "latex",
+ "ldblbracket",
+ "lq",
+ "lsq",
+ "m",
+ "mdash",
+ "midpoint",
+ "minus",
+ "n",
+ "natural",
+ "nb",
+ "nbsp",
+ "ndash",
+ "obelus",
+ "permille",
+ "pf",
+ "phonomark",
+ "pilcrow",
+ "plusminus",
+ "pm",
+ "prefigure",
+ "pretext",
+ "prime",
+ "ps",
+ "pubtitle",
+ "q",
+ "quantity",
+ "rangle",
+ "rdblbracket",
+ "registered",
+ "rq",
+ "rsq",
+ "scaledeg",
+ "section-mark",
+ "servicemark",
+ "sharp",
+ "solidus",
+ "sq",
+ "stale",
+ "swungdash",
+ "tag",
+ "tage",
+ "taxon",
+ "term",
+ "tex",
+ "timeofday",
+ "times",
+ "timesignature",
+ "today",
+ "trademark",
+ "viz",
+ "vs",
+ "webwork",
+ "xelatex",
+ "xetex"
+ ],
+ "attributes": []
+ }
+}
+};
diff --git a/packages/schema/src/types.ts b/packages/schema/src/types.ts
new file mode 100644
index 0000000..460a04b
--- /dev/null
+++ b/packages/schema/src/types.ts
@@ -0,0 +1,13 @@
+export type PretextSchemaElement = {
+ elements: string[];
+ attributes: string[];
+ description?: string;
+};
+
+export type PretextSchemaElementChildren = {
+ [key: string]: PretextSchemaElement;
+};
+
+export type PretextSchema = {
+ elementChildren: PretextSchemaElementChildren;
+};
diff --git a/packages/schema/tsconfig.json b/packages/schema/tsconfig.json
new file mode 100644
index 0000000..e1c4816
--- /dev/null
+++ b/packages/schema/tsconfig.json
@@ -0,0 +1,13 @@
+{
+ "extends": "../../tsconfig.json",
+ "compilerOptions": {
+ "module": "commonjs",
+ "target": "esnext",
+ "outDir": "../../dist/out-tsc",
+ "rootDir": ".",
+ "declaration": true,
+ "types": ["node"]
+ },
+ "include": ["src/**/*.ts"],
+ "exclude": ["node_modules"]
+}
diff --git a/packages/schema/tsconfig.lib.json b/packages/schema/tsconfig.lib.json
new file mode 100644
index 0000000..14ace20
--- /dev/null
+++ b/packages/schema/tsconfig.lib.json
@@ -0,0 +1,9 @@
+{
+ "extends": "./tsconfig.json",
+ "compilerOptions": {
+ "outDir": "../../dist/out-tsc",
+ "declaration": true
+ },
+ "include": ["src/**/*.ts"],
+ "exclude": ["src/**/*.spec.ts", "src/**/*.test.ts"]
+}
diff --git a/tsconfig.json b/tsconfig.json
index 595cbb9..11b16da 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -20,6 +20,9 @@
"references": [
{
"path": "./packages/format"
+ },
+ {
+ "path": "./packages/schema"
}
]
}