
Pptx Official
- 1.1k installs
- 44k repo stars
- Updated July 27, 2026
- sickn33/antigravity-awesome-skills
pptx-official is an agent skill that creates, edits, and analyzes PowerPoint .pptx files by treating them as ZIP archives of XML for developers who need programmatic slide workflows inside coding agents.
About
pptx-official is a community antigravity-awesome-skills workflow added 2026-02-27 that teaches coding agents to create, edit, and analyze Microsoft PowerPoint .pptx files without leaving the terminal or IDE. The skill explains that a .pptx file is a ZIP archive containing XML files and embedded resources agents can read or modify with filesystem and scripting tools. Developers reach for pptx-official when automating pitch decks, engineering review slides, or extracting speaker notes from existing presentations during build sprints. Separate tool paths cover reading slide content, generating new decks, and patching individual XML parts inside the archive structure.
- Convert .pptx files to clean markdown for fast text extraction
- Unpack presentations into raw XML for editing speaker notes, layouts, animations and design elements
- Rebuild modified XML back into valid .pptx files
- Supports full read-edit-analyze cycle for presentations inside agent sessions
- Works with python-ooxml tooling included in the skill
Pptx Official by the numbers
- 1,085 all-time installs (skills.sh)
- +94 installs in the week ending Jul 28, 2026 (Skillselion tracking)
- Ranked #239 of 1,901 Documentation skills by installs in the Skillselion catalog
- Security screen: LOW risk (skills.sh audit)
- Data as of Jul 28, 2026 (Skillselion catalog sync)
npx skills add https://github.com/sickn33/antigravity-awesome-skills --skill pptx-officialAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 1.1k |
|---|---|
| repo stars | ★ 44k |
| Security audit | 3 / 3 scanners passed |
| Last updated | July 27, 2026 |
| Repository | sickn33/antigravity-awesome-skills ↗ |
How do you programmatically edit PowerPoint pptx files?
Let their coding agent create, edit, or extract content from PowerPoint files without leaving the workflow.
Who is it for?
Developers who want coding agents to generate, patch, or audit PowerPoint presentations as ZIP/XML artifacts in automated workflows.
Skip if: Developers who only need PDF exports or Google Slides API integrations without direct .pptx ZIP manipulation.
When should I use this skill?
A developer asks to create, edit, analyze, or extract content from a .pptx PowerPoint file in an agent session.
What you get
Updated .pptx archive, extracted slide XML content, and agent-documented edit or creation workflow.
- .pptx presentation file
- extracted slide XML
- speaker notes text
By the numbers
- Community skill date_added 2026-02-27 in antigravity-awesome-skills
Files
PPTX creation, editing, and analysis
Overview
A user may ask you to create, edit, or analyze the contents of a .pptx file. A .pptx file is essentially a ZIP archive containing XML files and other resources that you can read or edit. You have different tools and workflows available for different tasks.
Reading and analyzing content
Text extraction
If you just need to read the text contents of a presentation, you should convert the document to markdown:
# Convert document to markdown
python -m markitdown path-to-file.pptxRaw XML access
You need raw XML access for: comments, speaker notes, slide layouts, animations, design elements, and complex formatting. For any of these features, you'll need to unpack a presentation and read its raw XML contents.
Unpacking a file
python ooxml/scripts/unpack.py <office_file> <output_dir>
Note: The unpack.py script is located at skills/pptx/ooxml/scripts/unpack.py relative to the project root. If the script doesn't exist at this path, use find . -name "unpack.py" to locate it.
Key file structures
ppt/presentation.xml- Main presentation metadata and slide referencesppt/slides/slide{N}.xml- Individual slide contents (slide1.xml, slide2.xml, etc.)ppt/notesSlides/notesSlide{N}.xml- Speaker notes for each slideppt/comments/modernComment_*.xml- Comments for specific slidesppt/slideLayouts/- Layout templates for slidesppt/slideMasters/- Master slide templatesppt/theme/- Theme and styling informationppt/media/- Images and other media files
Typography and color extraction
When given an example design to emulate: Always analyze the presentation's typography and colors first using the methods below: 1. Read theme file: Check ppt/theme/theme1.xml for colors (<a:clrScheme>) and fonts (<a:fontScheme>) 2. Sample slide content: Examine ppt/slides/slide1.xml for actual font usage (<a:rPr>) and colors 3. Search for patterns: Use grep to find color (<a:solidFill>, <a:srgbClr>) and font references across all XML files
Creating a new PowerPoint presentation without a template
When creating a new PowerPoint presentation from scratch, use the html2pptx workflow to convert HTML slides to PowerPoint with accurate positioning.
Design Principles
CRITICAL: Before creating any presentation, analyze the content and choose appropriate design elements: 1. Consider the subject matter: What is this presentation about? What tone, industry, or mood does it suggest? 2. Check for branding: If the user mentions a company/organization, consider their brand colors and identity 3. Match palette to content: Select colors that reflect the subject 4. State your approach: Explain your design choices before writing code
Requirements:
- ✅ State your content-informed design approach BEFORE writing code
- ✅ Use web-safe fonts only: Arial, Helvetica, Times New Roman, Georgia, Courier New, Verdana, Tahoma, Trebuchet MS, Impact
- ✅ Create clear visual hierarchy through size, weight, and color
- ✅ Ensure readability: strong contrast, appropriately sized text, clean alignment
- ✅ Be consistent: repeat patterns, spacing, and visual language across slides
Color Palette Selection
Choosing colors creatively:
- Think beyond defaults: What colors genuinely match this specific topic? Avoid autopilot choices.
- Consider multiple angles: Topic, industry, mood, energy level, target audience, brand identity (if mentioned)
- Be adventurous: Try unexpected combinations - a healthcare presentation doesn't ha
HTML to PowerPoint Guide
Convert HTML slides to PowerPoint presentations with accurate positioning using the html2pptx.js library.
Table of Contents
1. Creating HTML Slides 2. Using the html2pptx Library 3. Using PptxGenJS
---
Creating HTML Slides
Every HTML slide must include proper body dimensions:
Layout Dimensions
- 16:9 (default):
width: 720pt; height: 405pt - 4:3:
width: 720pt; height: 540pt - 16:10:
width: 720pt; height: 450pt
Supported Elements
<p>,<h1>-<h6>- Text with styling<ul>,<ol>- Lists (never use manual bullets •, -, *)<b>,<strong>- Bold text (inline formatting)<i>,<em>- Italic text (inline formatting)<u>- Underlined text (inline formatting)<span>- Inline formatting with CSS styles (bold, italic, underline, color)<br>- Line breaks<div>with bg/border - Becomes shape<img>- Imagesclass="placeholder"- Reserved space for charts (returns{ id, x, y, w, h })
Critical Text Rules
ALL text MUST be inside `<p>`, `<h1>`-`<h6>`, `<ul>`, or `<ol>` tags:
- ✅ Correct:
<div><p>Text here</p></div> - ❌ Wrong:
<div>Text here</div>- Text will NOT appear in PowerPoint - ❌ Wrong:
<span>Text</span>- Text will NOT appear in PowerPoint - Text in
<div>or<span>without a text tag will be silently ignored
*NEVER use manual bullet symbols (•, -, , etc.)** - Use <ul> or <ol> lists instead
ONLY use web-safe fonts that are universally available:
- ✅ Web-safe fonts:
Arial,Helvetica,Times New Roman,Georgia,Courier New,Verdana,Tahoma,Trebuchet MS,Impact,Comic Sans MS - ❌ Wrong:
'Segoe UI','SF Pro','Roboto', custom fonts - Might cause rendering issues
Styling
- Use
display: flexon body to prevent margin collapse from breaking overflow validation - Use
marginfor spacing (padding included in size) - Inline formatting: Use
<b>,<i>,<u>tags OR<span>with CSS styles <span>supports:font-weight: bold,font-style: italic,text-decoration: underline,color: #rrggbb<span>does NOT support:margin,padding(not supported in PowerPoint text runs)- Example:
<span style="font-weight: bold; color: #667eea;">Bold blue text</span> - Flexbox works - positions calculated from rendered layout
- Use hex colors with
#prefix in CSS - Text alignment: Use CSS
text-align(center,right, etc.) when needed as a hint to PptxGenJS for text formatting if text lengths are slightly off
Shape Styling (DIV elements only)
IMPORTANT: Backgrounds, borders, and shadows only work on `<div>` elements, NOT on text elements (`<p>`, `<h1>`-`<h6>`, `<ul>`, `<ol>`)
- Backgrounds: CSS
backgroundorbackground-coloron<div>elements only - Example:
<div style="background: #f0f0f0;">- Creates a shape with background - Borders: CSS
borderon<div>elements converts to PowerPoint shape borders - Supports uniform borders:
border: 2px solid #333333 - Supports partial borders:
border-left,border-right,border-top,border-bottom(rendered as line shapes) - Example:
<div style="border-left: 8pt solid #E76F51;"> - Border radius: CSS
border-radiuson<div>elements for rounded corners border-radius: 50%or higher creates circular shape- Percentages <50% calculated relative to shape's smaller dimension
- Supports px and pt units (e.g.,
border-radius: 8pt;,border-radius: 12px;) - Example:
<div style="border-radius: 25%;">on 100x200px box = 25% of 100px = 25px radius - Box shadows: CSS
box-shadowon<div>elements converts to PowerPoint shadows - Supports outer shadows only (inset shadows are ignored to prevent corruption)
- Example:
<div style="box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.3);"> - Note: Inset/inner shadows are not supported by PowerPoint and will be skipped
Icons & Gradients
- CRITICAL: Never use CSS gradients (`linear-gradient`, `radial-gradient`) - They don't convert to PowerPoint
- ALWAYS create gradient/icon PNGs FIRST using Sharp, then reference in HTML
- For gradients: Rasterize SVG to PNG background images
- For icons: Rasterize react-icons SVG to PNG images
- All visual effects must be pre-rendered as raster images before HTML rendering
Rasterizing Icons with Sharp:
const React = require('react');
const ReactDOMServer = require('react-dom/server');
const sharp = require('sharp');
const { FaHome } = require('react-icons/fa');
async function rasterizeIconPng(IconComponent, color, size = "256", filename) {
const svgString = ReactDOMServer.renderToStaticMarkup(
React.createElement(IconComponent, { color: `#${color}`, size: size })
);
// Convert SVG to PNG using Sharp
await sharp(Buffer.from(svgString))
.png()
.toFile(filename);
return filename;
}
// Usage: Rasterize icon before using in HTML
const iconPath = await rasterizeIconPng(FaHome, "4472c4", "256", "home-icon.png");
// Then reference in HTML: <img src="home-icon.png" style="width: 40pt; height: 40pt;">Rasterizing Gradients with Sharp:
const sharp = require('sharp');
async function createGradientBackground(filename) {
const svg = `<svg xmlns="http://www.w3.org/2000/svg" width="1000" height="562.5">
<defs>
<linearGradient id="g" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" style="stop-color:#COLOR1"/>
<stop offset="100%" style="stop-color:#COLOR2"/>
</linearGradient>
</defs>
<rect width="100%" height="100%" fill="url(#g)"/>
</svg>`;
await sharp(Buffer.from(svg))
.png()
.toFile(filename);
return filename;
}
// Usage: Create gradient background before HTML
const bgPath = await createGradientBackground("gradient-bg.png");
// Then in HTML: <body style="background-image: url('gradient-bg.png');">Example
<!DOCTYPE html>
<html>
<head>
<style>
html { background: #ffffff; }
body {
width: 720pt; height: 405pt; margin: 0; padding: 0;
background: #f5f5f5; font-family: Arial, sans-serif;
display: flex;
}
.content { margin: 30pt; padding: 40pt; background: #ffffff; border-radius: 8pt; }
h1 { color: #2d3748; font-size: 32pt; }
.box {
background: #70ad47; padding: 20pt; border: 3px solid #5a8f37;
border-radius: 12pt; box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.25);
}
</style>
</head>
<body>
<div class="content">
<h1>Recipe Title</h1>
<ul>
<li><b>Item:</b> Description</li>
</ul>
<p>Text with <b>bold</b>, <i>italic</i>, <u>underline</u>.</p>
<div id="chart" class="placeholder" style="width: 350pt; height: 200pt;"></div>
<!-- Text MUST be in <p> tags -->
<div class="box">
<p>5</p>
</div>
</div>
</body>
</html>Using the html2pptx Library
Dependencies
These libraries have been globally installed and are available to use:
pptxgenjsplaywrightsharp
Basic Usage
const pptxgen = require('pptxgenjs');
const html2pptx = require('./html2pptx');
const pptx = new pptxgen();
pptx.layout = 'LAYOUT_16x9'; // Must match HTML body dimensions
const { slide, placeholders } = await html2pptx('slide1.html', pptx);
// Add chart to placeholder area
if (placeholders.length > 0) {
slide.addChart(pptx.charts.LINE, chartData, placeholders[0]);
}
await pptx.writeFile('output.pptx');API Reference
Function Signature
await html2pptx(htmlFile, pres, options)Parameters
htmlFile(string): Path to HTML file (absolute or relative)pres(pptxgen): PptxGenJS presentation instance with layout already setoptions(object, optional):tmpDir(string): Temporary directory for generated files (default:process.env.TMPDIR || '/tmp')slide(object): Existing slide to reuse (default: creates new slide)
Returns
{
slide: pptxgenSlide, // The created/updated slide
placeholders: [ // Array of placeholder positions
{ id: string, x: number, y: number, w: number, h: number },
...
]
}Validation
The library automatically validates and collects all errors before throwing:
1. HTML dimensions must match presentation layout - Reports dimension mismatches 2. Content must not overflow body - Reports overflow with exact measurements 3. CSS gradients - Reports unsupported gradient usage 4. Text element styling - Reports backgrounds/borders/shadows on text elements (only allowed on divs)
All validation errors are collected and reported together in a single error message, allowing you to fix all issues at once instead of one at a time.
Working with Placeholders
const { slide, placeholders } = await html2pptx('slide.html', pptx);
// Use first placeholder
slide.addChart(pptx.charts.BAR, data, placeholders[0]);
// Find by ID
const chartArea = placeholders.find(p => p.id === 'chart-area');
slide.addChart(pptx.charts.LINE, data, chartArea);Complete Example
const pptxgen = require('pptxgenjs');
const html2pptx = require('./html2pptx');
async function createPresentation() {
const pptx = new pptxgen();
pptx.layout = 'LAYOUT_16x9';
pptx.author = 'Your Name';
pptx.title = 'My Presentation';
// Slide 1: Title
const { slide: slide1 } = await html2pptx('slides/title.html', pptx);
// Slide 2: Content with chart
const { slide: slide2, placeholders } = await html2pptx('slides/data.html', pptx);
const chartData = [{
name: 'Sales',
labels: ['Q1', 'Q2', 'Q3', 'Q4'],
values: [4500, 5500, 6200, 7100]
}];
slide2.addChart(pptx.charts.BAR, chartData, {
...placeholders[0],
showTitle: true,
title: 'Quarterly Sales',
showCatAxisTitle: true,
catAxisTitle: 'Quarter',
showValAxisTitle: true,
valAxisTitle: 'Sales ($000s)'
});
// Save
await pptx.writeFile({ fileName: 'presentation.pptx' });
console.log('Presentation created successfully!');
}
createPresentation().catch(console.error);Using PptxGenJS
After converting HTML to slides with html2pptx, you'll use PptxGenJS to add dynamic content like charts, images, and additional elements.
⚠️ Critical Rules
Colors
- NEVER use `#` prefix with hex colors in PptxGenJS - causes file corruption
- ✅ Correct:
color: "FF0000",fill: { color: "0066CC" } - ❌ Wrong:
color: "#FF0000"(breaks document)
Adding Images
Always calculate aspect ratios from actual image dimensions:
// Get image dimensions: identify image.png | grep -o '[0-9]* x [0-9]*'
const imgWidth = 1860, imgHeight = 1519; // From actual file
const aspectRatio = imgWidth / imgHeight;
const h = 3; // Max height
const w = h * aspectRatio;
const x = (10 - w) / 2; // Center on 16:9 slide
slide.addImage({ path: "chart.png", x, y: 1.5, w, h });Adding Text
// Rich text with formatting
slide.addText([
{ text: "Bold ", options: { bold: true } },
{ text: "Italic ", options: { italic: true } },
{ text: "Normal" }
], {
x: 1, y: 2, w: 8, h: 1
});Adding Shapes
// Rectangle
slide.addShape(pptx.shapes.RECTANGLE, {
x: 1, y: 1, w: 3, h: 2,
fill: { color: "4472C4" },
line: { color: "000000", width: 2 }
});
// Circle
slide.addShape(pptx.shapes.OVAL, {
x: 5, y: 1, w: 2, h: 2,
fill: { color: "ED7D31" }
});
// Rounded rectangle
slide.addShape(pptx.shapes.ROUNDED_RECTANGLE, {
x: 1, y: 4, w: 3, h: 1.5,
fill: { color: "70AD47" },
rectRadius: 0.2
});Adding Charts
Required for most charts: Axis labels using catAxisTitle (category) and valAxisTitle (value).
Chart Data Format:
- Use single series with all labels for simple bar/line charts
- Each series creates a separate legend entry
- Labels array defines X-axis values
Time Series Data - Choose Correct Granularity:
- < 30 days: Use daily grouping (e.g., "10-01", "10-02") - avoid monthly aggregation that creates single-point charts
- 30-365 days: Use monthly grouping (e.g., "2024-01", "2024-02")
- > 365 days: Use yearly grouping (e.g., "2023", "2024")
- Validate: Charts with only 1 data point likely indicate incorrect aggregation for the time period
const { slide, placeholders } = await html2pptx('slide.html', pptx);
// CORRECT: Single series with all labels
slide.addChart(pptx.charts.BAR, [{
name: "Sales 2024",
labels: ["Q1", "Q2", "Q3", "Q4"],
values: [4500, 5500, 6200, 7100]
}], {
...placeholders[0], // Use placeholder position
barDir: 'col', // 'col' = vertical bars, 'bar' = horizontal
showTitle: true,
title: 'Quarterly Sales',
showLegend: false, // No legend needed for single series
// Required axis labels
showCatAxisTitle: true,
catAxisTitle: 'Quarter',
showValAxisTitle: true,
valAxisTitle: 'Sales ($000s)',
// Optional: Control scaling (adjust min based on data range for better visualization)
valAxisMaxVal: 8000,
valAxisMinVal: 0, // Use 0 for counts/amounts; for clustered data (e.g., 4500-7100), consider starting closer to min value
valAxisMajorUnit: 2000, // Control y-axis label spacing to prevent crowding
catAxisLabelRotate: 45, // Rotate labels if crowded
dataLabelPosition: 'outEnd',
dataLabelColor: '000000',
// Use single color for single-series charts
chartColors: ["4472C4"] // All bars same color
});Scatter Chart
IMPORTANT: Scatter chart data format is unusual - first series contains X-axis values, subsequent series contain Y-values:
// Prepare data
const data1 = [{ x: 10, y: 20 }, { x: 15, y: 25 }, { x: 20, y: 30 }];
const data2 = [{ x: 12, y: 18 }, { x: 18, y: 22 }];
const allXValues = [...data1.map(d => d.x), ...data2.map(d => d.x)];
slide.addChart(pptx.charts.SCATTER, [
{ name: 'X-Axis', values: allXValues }, // First series = X values
{ name: 'Series 1', values: data1.map(d => d.y) }, // Y values only
{ name: 'Series 2', values: data2.map(d => d.y) } // Y values only
], {
x: 1, y: 1, w: 8, h: 4,
lineSize: 0, // 0 = no connecting lines
lineDataSymbol: 'circle',
lineDataSymbolSize: 6,
showCatAxisTitle: true,
catAxisTitle: 'X Axis',
showValAxisTitle: true,
valAxisTitle: 'Y Axis',
chartColors: ["4472C4", "ED7D31"]
});Line Chart
slide.addChart(pptx.charts.LINE, [{
name: "Temperature",
labels: ["Jan", "Feb", "Mar", "Apr"],
values: [32, 35, 42, 55]
}], {
x: 1, y: 1, w: 8, h: 4,
lineSize: 4,
lineSmooth: true,
// Required axis labels
showCatAxisTitle: true,
catAxisTitle: 'Month',
showValAxisTitle: true,
valAxisTitle: 'Temperature (°F)',
// Optional: Y-axis range (set min based on data range for better visualization)
valAxisMinVal: 0, // For ranges starting at 0 (counts, percentages, etc.)
valAxisMaxVal: 60,
valAxisMajorUnit: 20, // Control y-axis label spacing to prevent crowding (e.g., 10, 20, 25)
// valAxisMinVal: 30, // PREFERRED: For data clustered in a range (e.g., 32-55 or ratings 3-5), start axis closer to min value to show variation
// Optional: Chart colors
chartColors: ["4472C4", "ED7D31", "A5A5A5"]
});Pie Chart (No Axis Labels Required)
CRITICAL: Pie charts require a single data series with all categories in the labels array and corresponding values in the values array.
slide.addChart(pptx.charts.PIE, [{
name: "Market Share",
labels: ["Product A", "Product B", "Other"], // All categories in one array
values: [35, 45, 20] // All values in one array
}], {
x: 2, y: 1, w: 6, h: 4,
showPercent: true,
showLegend: true,
legendPos: 'r', // right
chartColors: ["4472C4", "ED7D31", "A5A5A5"]
});Multiple Data Series
slide.addChart(pptx.charts.LINE, [
{
name: "Product A",
labels: ["Q1", "Q2", "Q3", "Q4"],
values: [10, 20, 30, 40]
},
{
name: "Product B",
labels: ["Q1", "Q2", "Q3", "Q4"],
values: [15, 25, 20, 35]
}
], {
x: 1, y: 1, w: 8, h: 4,
showCatAxisTitle: true,
catAxisTitle: 'Quarter',
showValAxisTitle: true,
valAxisTitle: 'Revenue ($M)'
});Chart Colors
CRITICAL: Use hex colors without the # prefix - including # causes file corruption.
Align chart colors with your chosen design palette, ensuring sufficient contrast and distinctiveness for data visualization. Adjust colors for:
- Strong contrast between adjacent series
- Readability against slide backgrounds
- Accessibility (avoid red-green only combinations)
// Example: Ocean palette-inspired chart colors (adjusted for contrast)
const chartColors = ["16A085", "FF6B9D", "2C3E50", "F39C12", "9B59B6"];
// Single-series chart: Use one color for all bars/points
slide.addChart(pptx.charts.BAR, [{
name: "Sales",
labels: ["Q1", "Q2", "Q3", "Q4"],
values: [4500, 5500, 6200, 7100]
}], {
...placeholders[0],
chartColors: ["16A085"], // All bars same color
showLegend: false
});
// Multi-series chart: Each series gets a different color
slide.addChart(pptx.charts.LINE, [
{ name: "Product A", labels: ["Q1", "Q2", "Q3"], values: [10, 20, 30] },
{ name: "Product B", labels: ["Q1", "Q2", "Q3"], values: [15, 25, 20] }
], {
...placeholders[0],
chartColors: ["16A085", "FF6B9D"] // One color per series
});Adding Tables
Tables can be added with basic or advanced formatting:
Basic Table
slide.addTable([
["Header 1", "Header 2", "Header 3"],
["Row 1, Col 1", "Row 1, Col 2", "Row 1, Col 3"],
["Row 2, Col 1", "Row 2, Col 2", "Row 2, Col 3"]
], {
x: 0.5,
y: 1,
w: 9,
h: 3,
border: { pt: 1, color: "999999" },
fill: { color: "F1F1F1" }
});Table with Custom Formatting
const tableData = [
// Header row with custom styling
[
{ text: "Product", options: { fill: { color: "4472C4" }, color: "FFFFFF", bold: true } },
{ text: "Revenue", options: { fill: { color: "4472C4" }, color: "FFFFFF", bold: true } },
{ text: "Growth", options: { fill: { color: "4472C4" }, color: "FFFFFF", bold: true } }
],
// Data rows
["Product A", "$50M", "+15%"],
["Product B", "$35M", "+22%"],
["Product C", "$28M", "+8%"]
];
slide.addTable(tableData, {
x: 1,
y: 1.5,
w: 8,
h: 3,
colW: [3, 2.5, 2.5], // Column widths
rowH: [0.5, 0.6, 0.6, 0.6], // Row heights
border: { pt: 1, color: "CCCCCC" },
align: "center",
valign: "middle",
fontSize: 14
});Table with Merged Cells
const mergedTableData = [
[
{ text: "Q1 Results", options: { colspan: 3, fill: { color: "4472C4" }, color: "FFFFFF", bold: true } }
],
["Product", "Sales", "Market Share"],
["Product A", "$25M", "35%"],
["Product B", "$18M", "25%"]
];
slide.addTable(mergedTableData, {
x: 1,
y: 1,
w: 8,
h: 2.5,
colW: [3, 2.5, 2.5],
border: { pt: 1, color: "DDDDDD" }
});Table Options
Common table options:
x, y, w, h- Position and sizecolW- Array of column widths (in inches)rowH- Array of row heights (in inches)border- Border style:{ pt: 1, color: "999999" }fill- Background color (no # prefix)align- Text alignment: "left", "center", "right"valign- Vertical alignment: "top", "middle", "bottom"fontSize- Text sizeautoPage- Auto-create new slides if content overflows
© 2025 Anthropic, PBC. All rights reserved.
LICENSE: Use of these materials (including all code, prompts, assets, files,
and other components of this Skill) is governed by your agreement with
Anthropic regarding use of Anthropic's services. If no separate agreement
exists, use is governed by Anthropic's Consumer Terms of Service or
Commercial Terms of Service, as applicable:
https://www.anthropic.com/legal/consumer-terms
https://www.anthropic.com/legal/commercial-terms
Your applicable agreement is referred to as the "Agreement." "Services" are
as defined in the Agreement.
ADDITIONAL RESTRICTIONS: Notwithstanding anything in the Agreement to the
contrary, users may not:
- Extract these materials from the Services or retain copies of these
materials outside the Services
- Reproduce or copy these materials, except for temporary copies created
automatically during authorized use of the Services
- Create derivative works based on these materials
- Distribute, sublicense, or transfer these materials to any third party
- Make, offer to sell, sell, or import any inventions embodied in these
materials
- Reverse engineer, decompile, or disassemble these materials
The receipt, viewing, or possession of these materials does not convey or
imply any license or right beyond those expressly granted above.
Anthropic retains all right, title, and interest in these materials,
including all copyrights, patents, and other intellectual property rights.
Office Open XML Technical Reference for PowerPoint
Important: Read this entire document before starting. Critical XML schema rules and formatting requirements are covered throughout. Incorrect implementation can create invalid PPTX files that PowerPoint cannot open.
Technical Guidelines
Schema Compliance
- Element ordering in `<p:txBody>`:
<a:bodyPr>,<a:lstStyle>,<a:p> - Whitespace: Add
xml:space='preserve'to<a:t>elements with leading/trailing spaces - Unicode: Escape characters in ASCII content:
"becomes“ - Images: Add to
ppt/media/, reference in slide XML, set dimensions to fit slide bounds - Relationships: Update
ppt/slides/_rels/slideN.xml.relsfor each slide's resources - Dirty attribute: Add
dirty="0"to<a:rPr>and<a:endParaRPr>elements to indicate clean state
Presentation Structure
Basic Slide Structure
<!-- ppt/slides/slide1.xml -->
<p:sld>
<p:cSld>
<p:spTree>
<p:nvGrpSpPr>...</p:nvGrpSpPr>
<p:grpSpPr>...</p:grpSpPr>
<!-- Shapes go here -->
</p:spTree>
</p:cSld>
</p:sld>Text Box / Shape with Text
<p:sp>
<p:nvSpPr>
<p:cNvPr id="2" name="Title"/>
<p:cNvSpPr>
<a:spLocks noGrp="1"/>
</p:cNvSpPr>
<p:nvPr>
<p:ph type="ctrTitle"/>
</p:nvPr>
</p:nvSpPr>
<p:spPr>
<a:xfrm>
<a:off x="838200" y="365125"/>
<a:ext cx="7772400" cy="1470025"/>
</a:xfrm>
</p:spPr>
<p:txBody>
<a:bodyPr/>
<a:lstStyle/>
<a:p>
<a:r>
<a:t>Slide Title</a:t>
</a:r>
</a:p>
</p:txBody>
</p:sp>Text Formatting
<!-- Bold -->
<a:r>
<a:rPr b="1"/>
<a:t>Bold Text</a:t>
</a:r>
<!-- Italic -->
<a:r>
<a:rPr i="1"/>
<a:t>Italic Text</a:t>
</a:r>
<!-- Underline -->
<a:r>
<a:rPr u="sng"/>
<a:t>Underlined</a:t>
</a:r>
<!-- Highlight -->
<a:r>
<a:rPr>
<a:highlight>
<a:srgbClr val="FFFF00"/>
</a:highlight>
</a:rPr>
<a:t>Highlighted Text</a:t>
</a:r>
<!-- Font and Size -->
<a:r>
<a:rPr sz="2400" typeface="Arial">
<a:solidFill>
<a:srgbClr val="FF0000"/>
</a:solidFill>
</a:rPr>
<a:t>Colored Arial 24pt</a:t>
</a:r>
<!-- Complete formatting example -->
<a:r>
<a:rPr lang="en-US" sz="1400" b="1" dirty="0">
<a:solidFill>
<a:srgbClr val="FAFAFA"/>
</a:solidFill>
</a:rPr>
<a:t>Formatted text</a:t>
</a:r>Lists
<!-- Bullet list -->
<a:p>
<a:pPr lvl="0">
<a:buChar char="•"/>
</a:pPr>
<a:r>
<a:t>First bullet point</a:t>
</a:r>
</a:p>
<!-- Numbered list -->
<a:p>
<a:pPr lvl="0">
<a:buAutoNum type="arabicPeriod"/>
</a:pPr>
<a:r>
<a:t>First numbered item</a:t>
</a:r>
</a:p>
<!-- Second level indent -->
<a:p>
<a:pPr lvl="1">
<a:buChar char="•"/>
</a:pPr>
<a:r>
<a:t>Indented bullet</a:t>
</a:r>
</a:p>Shapes
<!-- Rectangle -->
<p:sp>
<p:nvSpPr>
<p:cNvPr id="3" name="Rectangle"/>
<p:cNvSpPr/>
<p:nvPr/>
</p:nvSpPr>
<p:spPr>
<a:xfrm>
<a:off x="1000000" y="1000000"/>
<a:ext cx="3000000" cy="2000000"/>
</a:xfrm>
<a:prstGeom prst="rect">
<a:avLst/>
</a:prstGeom>
<a:solidFill>
<a:srgbClr val="FF0000"/>
</a:solidFill>
<a:ln w="25400">
<a:solidFill>
<a:srgbClr val="000000"/>
</a:solidFill>
</a:ln>
</p:spPr>
</p:sp>
<!-- Rounded Rectangle -->
<p:sp>
<p:spPr>
<a:prstGeom prst="roundRect">
<a:avLst/>
</a:prstGeom>
</p:spPr>
</p:sp>
<!-- Circle/Ellipse -->
<p:sp>
<p:spPr>
<a:prstGeom prst="ellipse">
<a:avLst/>
</a:prstGeom>
</p:spPr>
</p:sp>Images
<p:pic>
<p:nvPicPr>
<p:cNvPr id="4" name="Picture">
<a:hlinkClick r:id="" action="ppaction://media"/>
</p:cNvPr>
<p:cNvPicPr>
<a:picLocks noChangeAspect="1"/>
</p:cNvPicPr>
<p:nvPr/>
</p:nvPicPr>
<p:blipFill>
<a:blip r:embed="rId2"/>
<a:stretch>
<a:fillRect/>
</a:stretch>
</p:blipFill>
<p:spPr>
<a:xfrm>
<a:off x="1000000" y="1000000"/>
<a:ext cx="3000000" cy="2000000"/>
</a:xfrm>
<a:prstGeom prst="rect">
<a:avLst/>
</a:prstGeom>
</p:spPr>
</p:pic>Tables
<p:graphicFrame>
<p:nvGraphicFramePr>
<p:cNvPr id="5" name="Table"/>
<p:cNvGraphicFramePr>
<a:graphicFrameLocks noGrp="1"/>
</p:cNvGraphicFramePr>
<p:nvPr/>
</p:nvGraphicFramePr>
<p:xfrm>
<a:off x="1000000" y="1000000"/>
<a:ext cx="6000000" cy="2000000"/>
</p:xfrm>
<a:graphic>
<a:graphicData uri="http://schemas.openxmlformats.org/drawingml/2006/table">
<a:tbl>
<a:tblGrid>
<a:gridCol w="3000000"/>
<a:gridCol w="3000000"/>
</a:tblGrid>
<a:tr h="500000">
<a:tc>
<a:txBody>
<a:bodyPr/>
<a:lstStyle/>
<a:p>
<a:r>
<a:t>Cell 1</a:t>
</a:r>
</a:p>
</a:txBody>
</a:tc>
<a:tc>
<a:txBody>
<a:bodyPr/>
<a:lstStyle/>
<a:p>
<a:r>
<a:t>Cell 2</a:t>
</a:r>
</a:p>
</a:txBody>
</a:tc>
</a:tr>
</a:tbl>
</a:graphicData>
</a:graphic>
</p:graphicFrame>Slide Layouts
<!-- Title Slide Layout -->
<p:sp>
<p:nvSpPr>
<p:nvPr>
<p:ph type="ctrTitle"/>
</p:nvPr>
</p:nvSpPr>
<!-- Title content -->
</p:sp>
<p:sp>
<p:nvSpPr>
<p:nvPr>
<p:ph type="subTitle" idx="1"/>
</p:nvPr>
</p:nvSpPr>
<!-- Subtitle content -->
</p:sp>
<!-- Content Slide Layout -->
<p:sp>
<p:nvSpPr>
<p:nvPr>
<p:ph type="title"/>
</p:nvPr>
</p:nvSpPr>
<!-- Slide title -->
</p:sp>
<p:sp>
<p:nvSpPr>
<p:nvPr>
<p:ph type="body" idx="1"/>
</p:nvPr>
</p:nvSpPr>
<!-- Content body -->
</p:sp>File Updates
When adding content, update these files:
`ppt/_rels/presentation.xml.rels`:
<Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slide" Target="slides/slide1.xml"/>
<Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideMaster" Target="slideMasters/slideMaster1.xml"/>`ppt/slides/_rels/slide1.xml.rels`:
<Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout" Target="../slideLayouts/slideLayout1.xml"/>
<Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/image" Target="../media/image1.png"/>`[Content_Types].xml`:
<Default Extension="png" ContentType="image/png"/>
<Default Extension="jpg" ContentType="image/jpeg"/>
<Override PartName="/ppt/slides/slide1.xml" ContentType="application/vnd.openxmlformats-officedocument.presentationml.slide+xml"/>`ppt/presentation.xml`:
<p:sldIdLst>
<p:sldId id="256" r:id="rId1"/>
<p:sldId id="257" r:id="rId2"/>
</p:sldIdLst>`docProps/app.xml`: Update slide count and statistics
<Slides>2</Slides>
<Paragraphs>10</Paragraphs>
<Words>50</Words>Slide Operations
Adding a New Slide
When adding a slide to the end of the presentation:
1. Create the slide file (ppt/slides/slideN.xml) 2. Update `[Content_Types].xml`: Add Override for the new slide 3. Update `ppt/_rels/presentation.xml.rels`: Add relationship for the new slide 4. Update `ppt/presentation.xml`: Add slide ID to <p:sldIdLst> 5. Create slide relationships (ppt/slides/_rels/slideN.xml.rels) if needed 6. Update `docProps/app.xml`: Increment slide count and update statistics (if present)
Duplicating a Slide
1. Copy the source slide XML file with a new name 2. Update all IDs in the new slide to be unique 3. Follow the "Adding a New Slide" steps above 4. CRITICAL: Remove or update any notes slide references in _rels files 5. Remove references to unused media files
Reordering Slides
1. Update `ppt/presentation.xml`: Reorder <p:sldId> elements in <p:sldIdLst> 2. The order of <p:sldId> elements determines slide order 3. Keep slide IDs and relationship IDs unchanged
Example:
<!-- Original order -->
<p:sldIdLst>
<p:sldId id="256" r:id="rId2"/>
<p:sldId id="257" r:id="rId3"/>
<p:sldId id="258" r:id="rId4"/>
</p:sldIdLst>
<!-- After moving slide 3 to position 2 -->
<p:sldIdLst>
<p:sldId id="256" r:id="rId2"/>
<p:sldId id="258" r:id="rId4"/>
<p:sldId id="257" r:id="rId3"/>
</p:sldIdLst>Deleting a Slide
1. Remove from `ppt/presentation.xml`: Delete the <p:sldId> entry 2. Remove from `ppt/_rels/presentation.xml.rels`: Delete the relationship 3. Remove from `[Content_Types].xml`: Delete the Override entry 4. Delete files: Remove ppt/slides/slideN.xml and ppt/slides/_rels/slideN.xml.rels 5. Update `docProps/app.xml`: Decrement slide count and update statistics 6. Clean up unused media: Remove orphaned images from ppt/media/
Note: Don't renumber remaining slides - keep their original IDs and filenames.
Common Errors to Avoid
- Encodings: Escape unicode characters in ASCII content:
"becomes“ - Images: Add to
ppt/media/and update relationship files - Lists: Omit bullets from list headers
- IDs: Use valid hexadecimal values for UUIDs
- Themes: Check all themes in
themedirectory for colors
Validation Checklist for Template-Based Presentations
Before Packing, Always:
- Clean unused resources: Remove unreferenced media, fonts, and notes directories
- Fix Content_Types.xml: Declare ALL slides, layouts, and themes present in the package
- Fix relationship IDs:
- Remove font embed references if not using embedded fonts
- Remove broken references: Check all
_relsfiles for references to deleted resources
Common Template Duplication Pitfalls:
- Multiple slides referencing the same notes slide after duplication
- Image/media references from template slides that no longer exist
- Font embedding references when fonts aren't included
- Missing slideLayout declarations for layouts 12-25
- docProps directory may not unpack - this is optional
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xs:schema xmlns="http://schemas.openxmlformats.org/package/2006/content-types"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://schemas.openxmlformats.org/package/2006/content-types"
elementFormDefault="qualified" attributeFormDefault="unqualified" blockDefault="#all">
<xs:element name="Types" type="CT_Types"/>
<xs:element name="Default" type="CT_Default"/>
<xs:element name="Override" type="CT_Override"/>
<xs:complexType name="CT_Types">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="Default"/>
<xs:element ref="Override"/>
</xs:choice>
</xs:complexType>
<xs:complexType name="CT_Default">
<xs:attribute name="Extension" type="ST_Extension" use="required"/>
<xs:attribute name="ContentType" type="ST_ContentType" use="required"/>
</xs:complexType>
<xs:complexType name="CT_Override">
<xs:attribute name="ContentType" type="ST_ContentType" use="required"/>
<xs:attribute name="PartName" type="xs:anyURI" use="required"/>
</xs:complexType>
<xs:simpleType name="ST_ContentType">
<xs:restriction base="xs:string">
<xs:pattern
value="(((([\p{IsBasicLatin}-[\p{Cc}\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))/((([\p{IsBasicLatin}-[\p{Cc}\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))((\s+)*;(\s+)*(((([\p{IsBasicLatin}-[\p{Cc}\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+))=((([\p{IsBasicLatin}-[\p{Cc}\(\)<>@,;:\\"/\[\]\?=\{\}\s\t]])+)|("(([\p{IsLatin-1Supplement}\p{IsBasicLatin}-[\p{Cc}"\n\r]]|(\s+))|(\\[\p{IsBasicLatin}]))*"))))*)"
/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="ST_Extension">
<xs:restriction base="xs:string">
<xs:pattern
value="([!$&'\(\)\*\+,:=]|(%[0-9a-fA-F][0-9a-fA-F])|[:@]|[a-zA-Z0-9\-_~])+"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="http://schemas.openxmlformats.org/package/2006/metadata/core-properties"
xmlns="http://schemas.openxmlformats.org/package/2006/metadata/core-properties"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:dcterms="http://purl.org/dc/terms/" elementFormDefault="qualified" blockDefault="#all">
<xs:import namespace="http://purl.org/dc/elements/1.1/"
schemaLocation="http://dublincore.org/schemas/xmls/qdc/2003/04/02/dc.xsd"/>
<xs:import namespace="http://purl.org/dc/terms/"
schemaLocation="http://dublincore.org/schemas/xmls/qdc/2003/04/02/dcterms.xsd"/>
<xs:import id="xml" namespace="http://www.w3.org/XML/1998/namespace"/>
<xs:element name="coreProperties" type="CT_CoreProperties"/>
<xs:complexType name="CT_CoreProperties">
<xs:all>
<xs:element name="category" minOccurs="0" maxOccurs="1" type="xs:string"/>
<xs:element name="contentStatus" minOccurs="0" maxOccurs="1" type="xs:string"/>
<xs:element ref="dcterms:created" minOccurs="0" maxOccurs="1"/>
<xs:element ref="dc:creator" minOccurs="0" maxOccurs="1"/>
<xs:element ref="dc:description" minOccurs="0" maxOccurs="1"/>
<xs:element ref="dc:identifier" minOccurs="0" maxOccurs="1"/>
<xs:element name="keywords" minOccurs="0" maxOccurs="1" type="CT_Keywords"/>
<xs:element ref="dc:language" minOccurs="0" maxOccurs="1"/>
<xs:element name="lastModifiedBy" minOccurs="0" maxOccurs="1" type="xs:string"/>
<xs:element name="lastPrinted" minOccurs="0" maxOccurs="1" type="xs:dateTime"/>
<xs:element ref="dcterms:modified" minOccurs="0" maxOccurs="1"/>
<xs:element name="revision" minOccurs="0" maxOccurs="1" type="xs:string"/>
<xs:element ref="dc:subject" minOccurs="0" maxOccurs="1"/>
<xs:element ref="dc:title" minOccurs="0" maxOccurs="1"/>
<xs:element name="version" minOccurs="0" maxOccurs="1" type="xs:string"/>
</xs:all>
</xs:complexType>
<xs:complexType name="CT_Keywords" mixed="true">
<xs:sequence>
<xs:element name="value" minOccurs="0" maxOccurs="unbounded" type="CT_Keyword"/>
</xs:sequence>
<xs:attribute ref="xml:lang" use="optional"/>
</xs:complexType>
<xs:complexType name="CT_Keyword">
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute ref="xml:lang" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:schema>
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns="http://schemas.openxmlformats.org/package/2006/digital-signature"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://schemas.openxmlformats.org/package/2006/digital-signature"
elementFormDefault="qualified" attributeFormDefault="unqualified" blockDefault="#all">
<xsd:element name="SignatureTime" type="CT_SignatureTime"/>
<xsd:element name="RelationshipReference" type="CT_RelationshipReference"/>
<xsd:element name="RelationshipsGroupReference" type="CT_RelationshipsGroupReference"/>
<xsd:complexType name="CT_SignatureTime">
<xsd:sequence>
<xsd:element name="Format" type="ST_Format"/>
<xsd:element name="Value" type="ST_Value"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_RelationshipReference">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="SourceId" type="xsd:string" use="required"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="CT_RelationshipsGroupReference">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="SourceType" type="xsd:anyURI" use="required"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="ST_Format">
<xsd:restriction base="xsd:string">
<xsd:pattern
value="(YYYY)|(YYYY-MM)|(YYYY-MM-DD)|(YYYY-MM-DDThh:mmTZD)|(YYYY-MM-DDThh:mm:ssTZD)|(YYYY-MM-DDThh:mm:ss.sTZD)"
/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_Value">
<xsd:restriction base="xsd:string">
<xsd:pattern
value="(([0-9][0-9][0-9][0-9]))|(([0-9][0-9][0-9][0-9])-((0[1-9])|(1(0|1|2))))|(([0-9][0-9][0-9][0-9])-((0[1-9])|(1(0|1|2)))-((0[1-9])|(1[0-9])|(2[0-9])|(3(0|1))))|(([0-9][0-9][0-9][0-9])-((0[1-9])|(1(0|1|2)))-((0[1-9])|(1[0-9])|(2[0-9])|(3(0|1)))T((0[0-9])|(1[0-9])|(2(0|1|2|3))):((0[0-9])|(1[0-9])|(2[0-9])|(3[0-9])|(4[0-9])|(5[0-9]))(((\+|-)((0[0-9])|(1[0-9])|(2(0|1|2|3))):((0[0-9])|(1[0-9])|(2[0-9])|(3[0-9])|(4[0-9])|(5[0-9])))|Z))|(([0-9][0-9][0-9][0-9])-((0[1-9])|(1(0|1|2)))-((0[1-9])|(1[0-9])|(2[0-9])|(3(0|1)))T((0[0-9])|(1[0-9])|(2(0|1|2|3))):((0[0-9])|(1[0-9])|(2[0-9])|(3[0-9])|(4[0-9])|(5[0-9])):((0[0-9])|(1[0-9])|(2[0-9])|(3[0-9])|(4[0-9])|(5[0-9]))(((\+|-)((0[0-9])|(1[0-9])|(2(0|1|2|3))):((0[0-9])|(1[0-9])|(2[0-9])|(3[0-9])|(4[0-9])|(5[0-9])))|Z))|(([0-9][0-9][0-9][0-9])-((0[1-9])|(1(0|1|2)))-((0[1-9])|(1[0-9])|(2[0-9])|(3(0|1)))T((0[0-9])|(1[0-9])|(2(0|1|2|3))):((0[0-9])|(1[0-9])|(2[0-9])|(3[0-9])|(4[0-9])|(5[0-9])):(((0[0-9])|(1[0-9])|(2[0-9])|(3[0-9])|(4[0-9])|(5[0-9]))\.[0-9])(((\+|-)((0[0-9])|(1[0-9])|(2(0|1|2|3))):((0[0-9])|(1[0-9])|(2[0-9])|(3[0-9])|(4[0-9])|(5[0-9])))|Z))"
/>
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xsd:schema xmlns="http://schemas.openxmlformats.org/package/2006/relationships"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://schemas.openxmlformats.org/package/2006/relationships"
elementFormDefault="qualified" attributeFormDefault="unqualified" blockDefault="#all">
<xsd:element name="Relationships" type="CT_Relationships"/>
<xsd:element name="Relationship" type="CT_Relationship"/>
<xsd:complexType name="CT_Relationships">
<xsd:sequence>
<xsd:element ref="Relationship" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_Relationship">
<xsd:simpleContent>
<xsd:extension base="xsd:string">
<xsd:attribute name="TargetMode" type="ST_TargetMode" use="optional"/>
<xsd:attribute name="Target" type="xsd:anyURI" use="required"/>
<xsd:attribute name="Type" type="xsd:anyURI" use="required"/>
<xsd:attribute name="Id" type="xsd:ID" use="required"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:simpleType name="ST_TargetMode">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="External"/>
<xsd:enumeration value="Internal"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"
xmlns="http://schemas.openxmlformats.org/drawingml/2006/chartDrawing"
targetNamespace="http://schemas.openxmlformats.org/drawingml/2006/chartDrawing"
elementFormDefault="qualified">
<xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/main"
schemaLocation="dml-main.xsd"/>
<xsd:complexType name="CT_ShapeNonVisual">
<xsd:sequence>
<xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/>
<xsd:element name="cNvSpPr" type="a:CT_NonVisualDrawingShapeProps" minOccurs="1" maxOccurs="1"
/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_Shape">
<xsd:sequence>
<xsd:element name="nvSpPr" type="CT_ShapeNonVisual" minOccurs="1" maxOccurs="1"/>
<xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="1" maxOccurs="1"/>
<xsd:element name="style" type="a:CT_ShapeStyle" minOccurs="0" maxOccurs="1"/>
<xsd:element name="txBody" type="a:CT_TextBody" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="macro" type="xsd:string" use="optional"/>
<xsd:attribute name="textlink" type="xsd:string" use="optional"/>
<xsd:attribute name="fLocksText" type="xsd:boolean" use="optional" default="true"/>
<xsd:attribute name="fPublished" type="xsd:boolean" use="optional" default="false"/>
</xsd:complexType>
<xsd:complexType name="CT_ConnectorNonVisual">
<xsd:sequence>
<xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/>
<xsd:element name="cNvCxnSpPr" type="a:CT_NonVisualConnectorProperties" minOccurs="1"
maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_Connector">
<xsd:sequence>
<xsd:element name="nvCxnSpPr" type="CT_ConnectorNonVisual" minOccurs="1" maxOccurs="1"/>
<xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="1" maxOccurs="1"/>
<xsd:element name="style" type="a:CT_ShapeStyle" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="macro" type="xsd:string" use="optional"/>
<xsd:attribute name="fPublished" type="xsd:boolean" use="optional" default="false"/>
</xsd:complexType>
<xsd:complexType name="CT_PictureNonVisual">
<xsd:sequence>
<xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/>
<xsd:element name="cNvPicPr" type="a:CT_NonVisualPictureProperties" minOccurs="1"
maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_Picture">
<xsd:sequence>
<xsd:element name="nvPicPr" type="CT_PictureNonVisual" minOccurs="1" maxOccurs="1"/>
<xsd:element name="blipFill" type="a:CT_BlipFillProperties" minOccurs="1" maxOccurs="1"/>
<xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="1" maxOccurs="1"/>
<xsd:element name="style" type="a:CT_ShapeStyle" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="macro" type="xsd:string" use="optional" default=""/>
<xsd:attribute name="fPublished" type="xsd:boolean" use="optional" default="false"/>
</xsd:complexType>
<xsd:complexType name="CT_GraphicFrameNonVisual">
<xsd:sequence>
<xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/>
<xsd:element name="cNvGraphicFramePr" type="a:CT_NonVisualGraphicFrameProperties"
minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_GraphicFrame">
<xsd:sequence>
<xsd:element name="nvGraphicFramePr" type="CT_GraphicFrameNonVisual" minOccurs="1"
maxOccurs="1"/>
<xsd:element name="xfrm" type="a:CT_Transform2D" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="a:graphic" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="macro" type="xsd:string" use="optional"/>
<xsd:attribute name="fPublished" type="xsd:boolean" use="optional" default="false"/>
</xsd:complexType>
<xsd:complexType name="CT_GroupShapeNonVisual">
<xsd:sequence>
<xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/>
<xsd:element name="cNvGrpSpPr" type="a:CT_NonVisualGroupDrawingShapeProps" minOccurs="1"
maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_GroupShape">
<xsd:sequence>
<xsd:element name="nvGrpSpPr" type="CT_GroupShapeNonVisual" minOccurs="1" maxOccurs="1"/>
<xsd:element name="grpSpPr" type="a:CT_GroupShapeProperties" minOccurs="1" maxOccurs="1"/>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="sp" type="CT_Shape"/>
<xsd:element name="grpSp" type="CT_GroupShape"/>
<xsd:element name="graphicFrame" type="CT_GraphicFrame"/>
<xsd:element name="cxnSp" type="CT_Connector"/>
<xsd:element name="pic" type="CT_Picture"/>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
<xsd:group name="EG_ObjectChoices">
<xsd:sequence>
<xsd:choice minOccurs="1" maxOccurs="1">
<xsd:element name="sp" type="CT_Shape"/>
<xsd:element name="grpSp" type="CT_GroupShape"/>
<xsd:element name="graphicFrame" type="CT_GraphicFrame"/>
<xsd:element name="cxnSp" type="CT_Connector"/>
<xsd:element name="pic" type="CT_Picture"/>
</xsd:choice>
</xsd:sequence>
</xsd:group>
<xsd:simpleType name="ST_MarkerCoordinate">
<xsd:restriction base="xsd:double">
<xsd:minInclusive value="0.0"/>
<xsd:maxInclusive value="1.0"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="CT_Marker">
<xsd:sequence>
<xsd:element name="x" type="ST_MarkerCoordinate" minOccurs="1" maxOccurs="1"/>
<xsd:element name="y" type="ST_MarkerCoordinate" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_RelSizeAnchor">
<xsd:sequence>
<xsd:element name="from" type="CT_Marker"/>
<xsd:element name="to" type="CT_Marker"/>
<xsd:group ref="EG_ObjectChoices"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_AbsSizeAnchor">
<xsd:sequence>
<xsd:element name="from" type="CT_Marker"/>
<xsd:element name="ext" type="a:CT_PositiveSize2D"/>
<xsd:group ref="EG_ObjectChoices"/>
</xsd:sequence>
</xsd:complexType>
<xsd:group name="EG_Anchor">
<xsd:choice>
<xsd:element name="relSizeAnchor" type="CT_RelSizeAnchor"/>
<xsd:element name="absSizeAnchor" type="CT_AbsSizeAnchor"/>
</xsd:choice>
</xsd:group>
<xsd:complexType name="CT_Drawing">
<xsd:sequence>
<xsd:group ref="EG_Anchor" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://schemas.openxmlformats.org/drawingml/2006/diagram"
xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
xmlns:s="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes"
targetNamespace="http://schemas.openxmlformats.org/drawingml/2006/diagram"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
schemaLocation="shared-relationshipReference.xsd"/>
<xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/main"
schemaLocation="dml-main.xsd"/>
<xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes"
schemaLocation="shared-commonSimpleTypes.xsd"/>
<xsd:complexType name="CT_CTName">
<xsd:attribute name="lang" type="xsd:string" use="optional" default=""/>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:complexType name="CT_CTDescription">
<xsd:attribute name="lang" type="xsd:string" use="optional" default=""/>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:complexType name="CT_CTCategory">
<xsd:attribute name="type" type="xsd:anyURI" use="required"/>
<xsd:attribute name="pri" type="xsd:unsignedInt" use="required"/>
</xsd:complexType>
<xsd:complexType name="CT_CTCategories">
<xsd:sequence minOccurs="0" maxOccurs="unbounded">
<xsd:element name="cat" type="CT_CTCategory" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="ST_ClrAppMethod">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="span"/>
<xsd:enumeration value="cycle"/>
<xsd:enumeration value="repeat"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_HueDir">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="cw"/>
<xsd:enumeration value="ccw"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="CT_Colors">
<xsd:sequence>
<xsd:group ref="a:EG_ColorChoice" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="meth" type="ST_ClrAppMethod" use="optional" default="span"/>
<xsd:attribute name="hueDir" type="ST_HueDir" use="optional" default="cw"/>
</xsd:complexType>
<xsd:complexType name="CT_CTStyleLabel">
<xsd:sequence>
<xsd:element name="fillClrLst" type="CT_Colors" minOccurs="0" maxOccurs="1"/>
<xsd:element name="linClrLst" type="CT_Colors" minOccurs="0" maxOccurs="1"/>
<xsd:element name="effectClrLst" type="CT_Colors" minOccurs="0" maxOccurs="1"/>
<xsd:element name="txLinClrLst" type="CT_Colors" minOccurs="0" maxOccurs="1"/>
<xsd:element name="txFillClrLst" type="CT_Colors" minOccurs="0" maxOccurs="1"/>
<xsd:element name="txEffectClrLst" type="CT_Colors" minOccurs="0" maxOccurs="1"/>
<xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:complexType name="CT_ColorTransform">
<xsd:sequence>
<xsd:element name="title" type="CT_CTName" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="desc" type="CT_CTDescription" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="catLst" type="CT_CTCategories" minOccurs="0"/>
<xsd:element name="styleLbl" type="CT_CTStyleLabel" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="uniqueId" type="xsd:string" use="optional" default=""/>
<xsd:attribute name="minVer" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:element name="colorsDef" type="CT_ColorTransform"/>
<xsd:complexType name="CT_ColorTransformHeader">
<xsd:sequence>
<xsd:element name="title" type="CT_CTName" minOccurs="1" maxOccurs="unbounded"/>
<xsd:element name="desc" type="CT_CTDescription" minOccurs="1" maxOccurs="unbounded"/>
<xsd:element name="catLst" type="CT_CTCategories" minOccurs="0"/>
<xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="uniqueId" type="xsd:string" use="required"/>
<xsd:attribute name="minVer" type="xsd:string" use="optional"/>
<xsd:attribute name="resId" type="xsd:int" use="optional" default="0"/>
</xsd:complexType>
<xsd:element name="colorsDefHdr" type="CT_ColorTransformHeader"/>
<xsd:complexType name="CT_ColorTransformHeaderLst">
<xsd:sequence>
<xsd:element name="colorsDefHdr" type="CT_ColorTransformHeader" minOccurs="0"
maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="colorsDefHdrLst" type="CT_ColorTransformHeaderLst"/>
<xsd:simpleType name="ST_PtType">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="node"/>
<xsd:enumeration value="asst"/>
<xsd:enumeration value="doc"/>
<xsd:enumeration value="pres"/>
<xsd:enumeration value="parTrans"/>
<xsd:enumeration value="sibTrans"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="CT_Pt">
<xsd:sequence>
<xsd:element name="prSet" type="CT_ElemPropSet" minOccurs="0" maxOccurs="1"/>
<xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="0" maxOccurs="1"/>
<xsd:element name="t" type="a:CT_TextBody" minOccurs="0" maxOccurs="1"/>
<xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="modelId" type="ST_ModelId" use="required"/>
<xsd:attribute name="type" type="ST_PtType" use="optional" default="node"/>
<xsd:attribute name="cxnId" type="ST_ModelId" use="optional" default="0"/>
</xsd:complexType>
<xsd:complexType name="CT_PtList">
<xsd:sequence>
<xsd:element name="pt" type="CT_Pt" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="ST_CxnType">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="parOf"/>
<xsd:enumeration value="presOf"/>
<xsd:enumeration value="presParOf"/>
<xsd:enumeration value="unknownRelationship"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="CT_Cxn">
<xsd:sequence>
<xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="modelId" type="ST_ModelId" use="required"/>
<xsd:attribute name="type" type="ST_CxnType" use="optional" default="parOf"/>
<xsd:attribute name="srcId" type="ST_ModelId" use="required"/>
<xsd:attribute name="destId" type="ST_ModelId" use="required"/>
<xsd:attribute name="srcOrd" type="xsd:unsignedInt" use="required"/>
<xsd:attribute name="destOrd" type="xsd:unsignedInt" use="required"/>
<xsd:attribute name="parTransId" type="ST_ModelId" use="optional" default="0"/>
<xsd:attribute name="sibTransId" type="ST_ModelId" use="optional" default="0"/>
<xsd:attribute name="presId" type="xsd:string" use="optional" default=""/>
</xsd:complexType>
<xsd:complexType name="CT_CxnList">
<xsd:sequence>
<xsd:element name="cxn" type="CT_Cxn" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_DataModel">
<xsd:sequence>
<xsd:element name="ptLst" type="CT_PtList"/>
<xsd:element name="cxnLst" type="CT_CxnList" minOccurs="0" maxOccurs="1"/>
<xsd:element name="bg" type="a:CT_BackgroundFormatting" minOccurs="0"/>
<xsd:element name="whole" type="a:CT_WholeE2oFormatting" minOccurs="0"/>
<xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="dataModel" type="CT_DataModel"/>
<xsd:attributeGroup name="AG_IteratorAttributes">
<xsd:attribute name="axis" type="ST_AxisTypes" use="optional" default="none"/>
<xsd:attribute name="ptType" type="ST_ElementTypes" use="optional" default="all"/>
<xsd:attribute name="hideLastTrans" type="ST_Booleans" use="optional" default="true"/>
<xsd:attribute name="st" type="ST_Ints" use="optional" default="1"/>
<xsd:attribute name="cnt" type="ST_UnsignedInts" use="optional" default="0"/>
<xsd:attribute name="step" type="ST_Ints" use="optional" default="1"/>
</xsd:attributeGroup>
<xsd:attributeGroup name="AG_ConstraintAttributes">
<xsd:attribute name="type" type="ST_ConstraintType" use="required"/>
<xsd:attribute name="for" type="ST_ConstraintRelationship" use="optional" default="self"/>
<xsd:attribute name="forName" type="xsd:string" use="optional" default=""/>
<xsd:attribute name="ptType" type="ST_ElementType" use="optional" default="all"/>
</xsd:attributeGroup>
<xsd:attributeGroup name="AG_ConstraintRefAttributes">
<xsd:attribute name="refType" type="ST_ConstraintType" use="optional" default="none"/>
<xsd:attribute name="refFor" type="ST_ConstraintRelationship" use="optional" default="self"/>
<xsd:attribute name="refForName" type="xsd:string" use="optional" default=""/>
<xsd:attribute name="refPtType" type="ST_ElementType" use="optional" default="all"/>
</xsd:attributeGroup>
<xsd:complexType name="CT_Constraint">
<xsd:sequence>
<xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attributeGroup ref="AG_ConstraintAttributes"/>
<xsd:attributeGroup ref="AG_ConstraintRefAttributes"/>
<xsd:attribute name="op" type="ST_BoolOperator" use="optional" default="none"/>
<xsd:attribute name="val" type="xsd:double" use="optional" default="0"/>
<xsd:attribute name="fact" type="xsd:double" use="optional" default="1"/>
</xsd:complexType>
<xsd:complexType name="CT_Constraints">
<xsd:sequence>
<xsd:element name="constr" type="CT_Constraint" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_NumericRule">
<xsd:sequence>
<xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attributeGroup ref="AG_ConstraintAttributes"/>
<xsd:attribute name="val" type="xsd:double" use="optional" default="NaN"/>
<xsd:attribute name="fact" type="xsd:double" use="optional" default="NaN"/>
<xsd:attribute name="max" type="xsd:double" use="optional" default="NaN"/>
</xsd:complexType>
<xsd:complexType name="CT_Rules">
<xsd:sequence>
<xsd:element name="rule" type="CT_NumericRule" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_PresentationOf">
<xsd:sequence>
<xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attributeGroup ref="AG_IteratorAttributes"/>
</xsd:complexType>
<xsd:simpleType name="ST_LayoutShapeType" final="restriction">
<xsd:union memberTypes="a:ST_ShapeType ST_OutputShapeType"/>
</xsd:simpleType>
<xsd:simpleType name="ST_Index1">
<xsd:restriction base="xsd:unsignedInt">
<xsd:minInclusive value="1"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="CT_Adj">
<xsd:attribute name="idx" type="ST_Index1" use="required"/>
<xsd:attribute name="val" type="xsd:double" use="required"/>
</xsd:complexType>
<xsd:complexType name="CT_AdjLst">
<xsd:sequence>
<xsd:element name="adj" type="CT_Adj" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_Shape">
<xsd:sequence>
<xsd:element name="adjLst" type="CT_AdjLst" minOccurs="0" maxOccurs="1"/>
<xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="rot" type="xsd:double" use="optional" default="0"/>
<xsd:attribute name="type" type="ST_LayoutShapeType" use="optional" default="none"/>
<xsd:attribute ref="r:blip" use="optional"/>
<xsd:attribute name="zOrderOff" type="xsd:int" use="optional" default="0"/>
<xsd:attribute name="hideGeom" type="xsd:boolean" use="optional" default="false"/>
<xsd:attribute name="lkTxEntry" type="xsd:boolean" use="optional" default="false"/>
<xsd:attribute name="blipPhldr" type="xsd:boolean" use="optional" default="false"/>
</xsd:complexType>
<xsd:complexType name="CT_Parameter">
<xsd:attribute name="type" type="ST_ParameterId" use="required"/>
<xsd:attribute name="val" type="ST_ParameterVal" use="required"/>
</xsd:complexType>
<xsd:complexType name="CT_Algorithm">
<xsd:sequence>
<xsd:element name="param" type="CT_Parameter" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="type" type="ST_AlgorithmType" use="required"/>
<xsd:attribute name="rev" type="xsd:unsignedInt" use="optional" default="0"/>
</xsd:complexType>
<xsd:complexType name="CT_LayoutNode">
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="alg" type="CT_Algorithm" minOccurs="0" maxOccurs="1"/>
<xsd:element name="shape" type="CT_Shape" minOccurs="0" maxOccurs="1"/>
<xsd:element name="presOf" type="CT_PresentationOf" minOccurs="0" maxOccurs="1"/>
<xsd:element name="constrLst" type="CT_Constraints" minOccurs="0" maxOccurs="1"/>
<xsd:element name="ruleLst" type="CT_Rules" minOccurs="0" maxOccurs="1"/>
<xsd:element name="varLst" type="CT_LayoutVariablePropertySet" minOccurs="0" maxOccurs="1"/>
<xsd:element name="forEach" type="CT_ForEach"/>
<xsd:element name="layoutNode" type="CT_LayoutNode"/>
<xsd:element name="choose" type="CT_Choose"/>
<xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
</xsd:choice>
<xsd:attribute name="name" type="xsd:string" use="optional" default=""/>
<xsd:attribute name="styleLbl" type="xsd:string" use="optional" default=""/>
<xsd:attribute name="chOrder" type="ST_ChildOrderType" use="optional" default="b"/>
<xsd:attribute name="moveWith" type="xsd:string" use="optional" default=""/>
</xsd:complexType>
<xsd:complexType name="CT_ForEach">
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="alg" type="CT_Algorithm" minOccurs="0" maxOccurs="1"/>
<xsd:element name="shape" type="CT_Shape" minOccurs="0" maxOccurs="1"/>
<xsd:element name="presOf" type="CT_PresentationOf" minOccurs="0" maxOccurs="1"/>
<xsd:element name="constrLst" type="CT_Constraints" minOccurs="0" maxOccurs="1"/>
<xsd:element name="ruleLst" type="CT_Rules" minOccurs="0" maxOccurs="1"/>
<xsd:element name="forEach" type="CT_ForEach"/>
<xsd:element name="layoutNode" type="CT_LayoutNode"/>
<xsd:element name="choose" type="CT_Choose"/>
<xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
</xsd:choice>
<xsd:attribute name="name" type="xsd:string" use="optional" default=""/>
<xsd:attribute name="ref" type="xsd:string" use="optional" default=""/>
<xsd:attributeGroup ref="AG_IteratorAttributes"/>
</xsd:complexType>
<xsd:complexType name="CT_When">
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="alg" type="CT_Algorithm" minOccurs="0" maxOccurs="1"/>
<xsd:element name="shape" type="CT_Shape" minOccurs="0" maxOccurs="1"/>
<xsd:element name="presOf" type="CT_PresentationOf" minOccurs="0" maxOccurs="1"/>
<xsd:element name="constrLst" type="CT_Constraints" minOccurs="0" maxOccurs="1"/>
<xsd:element name="ruleLst" type="CT_Rules" minOccurs="0" maxOccurs="1"/>
<xsd:element name="forEach" type="CT_ForEach"/>
<xsd:element name="layoutNode" type="CT_LayoutNode"/>
<xsd:element name="choose" type="CT_Choose"/>
<xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
</xsd:choice>
<xsd:attribute name="name" type="xsd:string" use="optional" default=""/>
<xsd:attributeGroup ref="AG_IteratorAttributes"/>
<xsd:attribute name="func" type="ST_FunctionType" use="required"/>
<xsd:attribute name="arg" type="ST_FunctionArgument" use="optional" default="none"/>
<xsd:attribute name="op" type="ST_FunctionOperator" use="required"/>
<xsd:attribute name="val" type="ST_FunctionValue" use="required"/>
</xsd:complexType>
<xsd:complexType name="CT_Otherwise">
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="alg" type="CT_Algorithm" minOccurs="0" maxOccurs="1"/>
<xsd:element name="shape" type="CT_Shape" minOccurs="0" maxOccurs="1"/>
<xsd:element name="presOf" type="CT_PresentationOf" minOccurs="0" maxOccurs="1"/>
<xsd:element name="constrLst" type="CT_Constraints" minOccurs="0" maxOccurs="1"/>
<xsd:element name="ruleLst" type="CT_Rules" minOccurs="0" maxOccurs="1"/>
<xsd:element name="forEach" type="CT_ForEach"/>
<xsd:element name="layoutNode" type="CT_LayoutNode"/>
<xsd:element name="choose" type="CT_Choose"/>
<xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
</xsd:choice>
<xsd:attribute name="name" type="xsd:string" use="optional" default=""/>
</xsd:complexType>
<xsd:complexType name="CT_Choose">
<xsd:sequence>
<xsd:element name="if" type="CT_When" maxOccurs="unbounded"/>
<xsd:element name="else" type="CT_Otherwise" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="optional" default=""/>
</xsd:complexType>
<xsd:complexType name="CT_SampleData">
<xsd:sequence>
<xsd:element name="dataModel" type="CT_DataModel" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="useDef" type="xsd:boolean" use="optional" default="false"/>
</xsd:complexType>
<xsd:complexType name="CT_Category">
<xsd:attribute name="type" type="xsd:anyURI" use="required"/>
<xsd:attribute name="pri" type="xsd:unsignedInt" use="required"/>
</xsd:complexType>
<xsd:complexType name="CT_Categories">
<xsd:sequence>
<xsd:element name="cat" type="CT_Category" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_Name">
<xsd:attribute name="lang" type="xsd:string" use="optional" default=""/>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:complexType name="CT_Description">
<xsd:attribute name="lang" type="xsd:string" use="optional" default=""/>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:complexType name="CT_DiagramDefinition">
<xsd:sequence>
<xsd:element name="title" type="CT_Name" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="desc" type="CT_Description" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="catLst" type="CT_Categories" minOccurs="0"/>
<xsd:element name="sampData" type="CT_SampleData" minOccurs="0"/>
<xsd:element name="styleData" type="CT_SampleData" minOccurs="0"/>
<xsd:element name="clrData" type="CT_SampleData" minOccurs="0"/>
<xsd:element name="layoutNode" type="CT_LayoutNode"/>
<xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="uniqueId" type="xsd:string" use="optional" default=""/>
<xsd:attribute name="minVer" type="xsd:string" use="optional"/>
<xsd:attribute name="defStyle" type="xsd:string" use="optional" default=""/>
</xsd:complexType>
<xsd:element name="layoutDef" type="CT_DiagramDefinition"/>
<xsd:complexType name="CT_DiagramDefinitionHeader">
<xsd:sequence>
<xsd:element name="title" type="CT_Name" minOccurs="1" maxOccurs="unbounded"/>
<xsd:element name="desc" type="CT_Description" minOccurs="1" maxOccurs="unbounded"/>
<xsd:element name="catLst" type="CT_Categories" minOccurs="0"/>
<xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="uniqueId" type="xsd:string" use="required"/>
<xsd:attribute name="minVer" type="xsd:string" use="optional"/>
<xsd:attribute name="defStyle" type="xsd:string" use="optional" default=""/>
<xsd:attribute name="resId" type="xsd:int" use="optional" default="0"/>
</xsd:complexType>
<xsd:element name="layoutDefHdr" type="CT_DiagramDefinitionHeader"/>
<xsd:complexType name="CT_DiagramDefinitionHeaderLst">
<xsd:sequence>
<xsd:element name="layoutDefHdr" type="CT_DiagramDefinitionHeader" minOccurs="0"
maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="layoutDefHdrLst" type="CT_DiagramDefinitionHeaderLst"/>
<xsd:complexType name="CT_RelIds">
<xsd:attribute ref="r:dm" use="required"/>
<xsd:attribute ref="r:lo" use="required"/>
<xsd:attribute ref="r:qs" use="required"/>
<xsd:attribute ref="r:cs" use="required"/>
</xsd:complexType>
<xsd:element name="relIds" type="CT_RelIds"/>
<xsd:simpleType name="ST_ParameterVal">
<xsd:union
memberTypes="ST_DiagramHorizontalAlignment ST_VerticalAlignment ST_ChildDirection ST_ChildAlignment ST_SecondaryChildAlignment ST_LinearDirection ST_SecondaryLinearDirection ST_StartingElement ST_BendPoint ST_ConnectorRouting ST_ArrowheadStyle ST_ConnectorDimension ST_RotationPath ST_CenterShapeMapping ST_NodeHorizontalAlignment ST_NodeVerticalAlignment ST_FallbackDimension ST_TextDirection ST_PyramidAccentPosition ST_PyramidAccentTextMargin ST_TextBlockDirection ST_TextAnchorHorizontal ST_TextAnchorVertical ST_DiagramTextAlignment ST_AutoTextRotation ST_GrowDirection ST_FlowDirection ST_ContinueDirection ST_Breakpoint ST_Offset ST_HierarchyAlignment xsd:int xsd:double xsd:boolean xsd:string ST_ConnectorPoint"
/>
</xsd:simpleType>
<xsd:simpleType name="ST_ModelId">
<xsd:union memberTypes="xsd:int s:ST_Guid"/>
</xsd:simpleType>
<xsd:simpleType name="ST_PrSetCustVal">
<xsd:union memberTypes="s:ST_Percentage xsd:int"/>
</xsd:simpleType>
<xsd:complexType name="CT_ElemPropSet">
<xsd:sequence>
<xsd:element name="presLayoutVars" type="CT_LayoutVariablePropertySet" minOccurs="0"
maxOccurs="1"/>
<xsd:element name="style" type="a:CT_ShapeStyle" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="presAssocID" type="ST_ModelId" use="optional"/>
<xsd:attribute name="presName" type="xsd:string" use="optional"/>
<xsd:attribute name="presStyleLbl" type="xsd:string" use="optional"/>
<xsd:attribute name="presStyleIdx" type="xsd:int" use="optional"/>
<xsd:attribute name="presStyleCnt" type="xsd:int" use="optional"/>
<xsd:attribute name="loTypeId" type="xsd:string" use="optional"/>
<xsd:attribute name="loCatId" type="xsd:string" use="optional"/>
<xsd:attribute name="qsTypeId" type="xsd:string" use="optional"/>
<xsd:attribute name="qsCatId" type="xsd:string" use="optional"/>
<xsd:attribute name="csTypeId" type="xsd:string" use="optional"/>
<xsd:attribute name="csCatId" type="xsd:string" use="optional"/>
<xsd:attribute name="coherent3DOff" type="xsd:boolean" use="optional"/>
<xsd:attribute name="phldrT" type="xsd:string" use="optional"/>
<xsd:attribute name="phldr" type="xsd:boolean" use="optional"/>
<xsd:attribute name="custAng" type="xsd:int" use="optional"/>
<xsd:attribute name="custFlipVert" type="xsd:boolean" use="optional"/>
<xsd:attribute name="custFlipHor" type="xsd:boolean" use="optional"/>
<xsd:attribute name="custSzX" type="xsd:int" use="optional"/>
<xsd:attribute name="custSzY" type="xsd:int" use="optional"/>
<xsd:attribute name="custScaleX" type="ST_PrSetCustVal" use="optional"/>
<xsd:attribute name="custScaleY" type="ST_PrSetCustVal" use="optional"/>
<xsd:attribute name="custT" type="xsd:boolean" use="optional"/>
<xsd:attribute name="custLinFactX" type="ST_PrSetCustVal" use="optional"/>
<xsd:attribute name="custLinFactY" type="ST_PrSetCustVal" use="optional"/>
<xsd:attribute name="custLinFactNeighborX" type="ST_PrSetCustVal" use="optional"/>
<xsd:attribute name="custLinFactNeighborY" type="ST_PrSetCustVal" use="optional"/>
<xsd:attribute name="custRadScaleRad" type="ST_PrSetCustVal" use="optional"/>
<xsd:attribute name="custRadScaleInc" type="ST_PrSetCustVal" use="optional"/>
</xsd:complexType>
<xsd:simpleType name="ST_Direction" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="norm"/>
<xsd:enumeration value="rev"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_HierBranchStyle" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="l"/>
<xsd:enumeration value="r"/>
<xsd:enumeration value="hang"/>
<xsd:enumeration value="std"/>
<xsd:enumeration value="init"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_AnimOneStr" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="none"/>
<xsd:enumeration value="one"/>
<xsd:enumeration value="branch"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_AnimLvlStr" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="none"/>
<xsd:enumeration value="lvl"/>
<xsd:enumeration value="ctr"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="CT_OrgChart">
<xsd:attribute name="val" type="xsd:boolean" default="false" use="optional"/>
</xsd:complexType>
<xsd:simpleType name="ST_NodeCount">
<xsd:restriction base="xsd:int">
<xsd:minInclusive value="-1"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="CT_ChildMax">
<xsd:attribute name="val" type="ST_NodeCount" default="-1" use="optional"/>
</xsd:complexType>
<xsd:complexType name="CT_ChildPref">
<xsd:attribute name="val" type="ST_NodeCount" default="-1" use="optional"/>
</xsd:complexType>
<xsd:complexType name="CT_BulletEnabled">
<xsd:attribute name="val" type="xsd:boolean" default="false" use="optional"/>
</xsd:complexType>
<xsd:complexType name="CT_Direction">
<xsd:attribute name="val" type="ST_Direction" default="norm" use="optional"/>
</xsd:complexType>
<xsd:complexType name="CT_HierBranchStyle">
<xsd:attribute name="val" type="ST_HierBranchStyle" default="std" use="optional"/>
</xsd:complexType>
<xsd:complexType name="CT_AnimOne">
<xsd:attribute name="val" type="ST_AnimOneStr" default="one" use="optional"/>
</xsd:complexType>
<xsd:complexType name="CT_AnimLvl">
<xsd:attribute name="val" type="ST_AnimLvlStr" default="none" use="optional"/>
</xsd:complexType>
<xsd:simpleType name="ST_ResizeHandlesStr" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="exact"/>
<xsd:enumeration value="rel"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="CT_ResizeHandles">
<xsd:attribute name="val" type="ST_ResizeHandlesStr" default="rel" use="optional"/>
</xsd:complexType>
<xsd:complexType name="CT_LayoutVariablePropertySet">
<xsd:sequence>
<xsd:element name="orgChart" type="CT_OrgChart" minOccurs="0" maxOccurs="1"/>
<xsd:element name="chMax" type="CT_ChildMax" minOccurs="0" maxOccurs="1"/>
<xsd:element name="chPref" type="CT_ChildPref" minOccurs="0" maxOccurs="1"/>
<xsd:element name="bulletEnabled" type="CT_BulletEnabled" minOccurs="0" maxOccurs="1"/>
<xsd:element name="dir" type="CT_Direction" minOccurs="0" maxOccurs="1"/>
<xsd:element name="hierBranch" type="CT_HierBranchStyle" minOccurs="0" maxOccurs="1"/>
<xsd:element name="animOne" type="CT_AnimOne" minOccurs="0" maxOccurs="1"/>
<xsd:element name="animLvl" type="CT_AnimLvl" minOccurs="0" maxOccurs="1"/>
<xsd:element name="resizeHandles" type="CT_ResizeHandles" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_SDName">
<xsd:attribute name="lang" type="xsd:string" use="optional" default=""/>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:complexType name="CT_SDDescription">
<xsd:attribute name="lang" type="xsd:string" use="optional" default=""/>
<xsd:attribute name="val" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:complexType name="CT_SDCategory">
<xsd:attribute name="type" type="xsd:anyURI" use="required"/>
<xsd:attribute name="pri" type="xsd:unsignedInt" use="required"/>
</xsd:complexType>
<xsd:complexType name="CT_SDCategories">
<xsd:sequence minOccurs="0" maxOccurs="unbounded">
<xsd:element name="cat" type="CT_SDCategory" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_TextProps">
<xsd:sequence>
<xsd:group ref="a:EG_Text3D" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_StyleLabel">
<xsd:sequence>
<xsd:element name="scene3d" type="a:CT_Scene3D" minOccurs="0" maxOccurs="1"/>
<xsd:element name="sp3d" type="a:CT_Shape3D" minOccurs="0" maxOccurs="1"/>
<xsd:element name="txPr" type="CT_TextProps" minOccurs="0" maxOccurs="1"/>
<xsd:element name="style" type="a:CT_ShapeStyle" minOccurs="0" maxOccurs="1"/>
<xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:complexType name="CT_StyleDefinition">
<xsd:sequence>
<xsd:element name="title" type="CT_SDName" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="desc" type="CT_SDDescription" minOccurs="0" maxOccurs="unbounded"/>
<xsd:element name="catLst" type="CT_SDCategories" minOccurs="0"/>
<xsd:element name="scene3d" type="a:CT_Scene3D" minOccurs="0" maxOccurs="1"/>
<xsd:element name="styleLbl" type="CT_StyleLabel" minOccurs="1" maxOccurs="unbounded"/>
<xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="uniqueId" type="xsd:string" use="optional" default=""/>
<xsd:attribute name="minVer" type="xsd:string" use="optional"/>
</xsd:complexType>
<xsd:element name="styleDef" type="CT_StyleDefinition"/>
<xsd:complexType name="CT_StyleDefinitionHeader">
<xsd:sequence>
<xsd:element name="title" type="CT_SDName" minOccurs="1" maxOccurs="unbounded"/>
<xsd:element name="desc" type="CT_SDDescription" minOccurs="1" maxOccurs="unbounded"/>
<xsd:element name="catLst" type="CT_SDCategories" minOccurs="0"/>
<xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="uniqueId" type="xsd:string" use="required"/>
<xsd:attribute name="minVer" type="xsd:string" use="optional"/>
<xsd:attribute name="resId" type="xsd:int" use="optional" default="0"/>
</xsd:complexType>
<xsd:element name="styleDefHdr" type="CT_StyleDefinitionHeader"/>
<xsd:complexType name="CT_StyleDefinitionHeaderLst">
<xsd:sequence>
<xsd:element name="styleDefHdr" type="CT_StyleDefinitionHeader" minOccurs="0"
maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="styleDefHdrLst" type="CT_StyleDefinitionHeaderLst"/>
<xsd:simpleType name="ST_AlgorithmType" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="composite"/>
<xsd:enumeration value="conn"/>
<xsd:enumeration value="cycle"/>
<xsd:enumeration value="hierChild"/>
<xsd:enumeration value="hierRoot"/>
<xsd:enumeration value="pyra"/>
<xsd:enumeration value="lin"/>
<xsd:enumeration value="sp"/>
<xsd:enumeration value="tx"/>
<xsd:enumeration value="snake"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_AxisType" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="self"/>
<xsd:enumeration value="ch"/>
<xsd:enumeration value="des"/>
<xsd:enumeration value="desOrSelf"/>
<xsd:enumeration value="par"/>
<xsd:enumeration value="ancst"/>
<xsd:enumeration value="ancstOrSelf"/>
<xsd:enumeration value="followSib"/>
<xsd:enumeration value="precedSib"/>
<xsd:enumeration value="follow"/>
<xsd:enumeration value="preced"/>
<xsd:enumeration value="root"/>
<xsd:enumeration value="none"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_AxisTypes">
<xsd:list itemType="ST_AxisType"/>
</xsd:simpleType>
<xsd:simpleType name="ST_BoolOperator" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="none"/>
<xsd:enumeration value="equ"/>
<xsd:enumeration value="gte"/>
<xsd:enumeration value="lte"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_ChildOrderType" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="b"/>
<xsd:enumeration value="t"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_ConstraintType" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="none"/>
<xsd:enumeration value="alignOff"/>
<xsd:enumeration value="begMarg"/>
<xsd:enumeration value="bendDist"/>
<xsd:enumeration value="begPad"/>
<xsd:enumeration value="b"/>
<xsd:enumeration value="bMarg"/>
<xsd:enumeration value="bOff"/>
<xsd:enumeration value="ctrX"/>
<xsd:enumeration value="ctrXOff"/>
<xsd:enumeration value="ctrY"/>
<xsd:enumeration value="ctrYOff"/>
<xsd:enumeration value="connDist"/>
<xsd:enumeration value="diam"/>
<xsd:enumeration value="endMarg"/>
<xsd:enumeration value="endPad"/>
<xsd:enumeration value="h"/>
<xsd:enumeration value="hArH"/>
<xsd:enumeration value="hOff"/>
<xsd:enumeration value="l"/>
<xsd:enumeration value="lMarg"/>
<xsd:enumeration value="lOff"/>
<xsd:enumeration value="r"/>
<xsd:enumeration value="rMarg"/>
<xsd:enumeration value="rOff"/>
<xsd:enumeration value="primFontSz"/>
<xsd:enumeration value="pyraAcctRatio"/>
<xsd:enumeration value="secFontSz"/>
<xsd:enumeration value="sibSp"/>
<xsd:enumeration value="secSibSp"/>
<xsd:enumeration value="sp"/>
<xsd:enumeration value="stemThick"/>
<xsd:enumeration value="t"/>
<xsd:enumeration value="tMarg"/>
<xsd:enumeration value="tOff"/>
<xsd:enumeration value="userA"/>
<xsd:enumeration value="userB"/>
<xsd:enumeration value="userC"/>
<xsd:enumeration value="userD"/>
<xsd:enumeration value="userE"/>
<xsd:enumeration value="userF"/>
<xsd:enumeration value="userG"/>
<xsd:enumeration value="userH"/>
<xsd:enumeration value="userI"/>
<xsd:enumeration value="userJ"/>
<xsd:enumeration value="userK"/>
<xsd:enumeration value="userL"/>
<xsd:enumeration value="userM"/>
<xsd:enumeration value="userN"/>
<xsd:enumeration value="userO"/>
<xsd:enumeration value="userP"/>
<xsd:enumeration value="userQ"/>
<xsd:enumeration value="userR"/>
<xsd:enumeration value="userS"/>
<xsd:enumeration value="userT"/>
<xsd:enumeration value="userU"/>
<xsd:enumeration value="userV"/>
<xsd:enumeration value="userW"/>
<xsd:enumeration value="userX"/>
<xsd:enumeration value="userY"/>
<xsd:enumeration value="userZ"/>
<xsd:enumeration value="w"/>
<xsd:enumeration value="wArH"/>
<xsd:enumeration value="wOff"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_ConstraintRelationship" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="self"/>
<xsd:enumeration value="ch"/>
<xsd:enumeration value="des"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_ElementType" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="all"/>
<xsd:enumeration value="doc"/>
<xsd:enumeration value="node"/>
<xsd:enumeration value="norm"/>
<xsd:enumeration value="nonNorm"/>
<xsd:enumeration value="asst"/>
<xsd:enumeration value="nonAsst"/>
<xsd:enumeration value="parTrans"/>
<xsd:enumeration value="pres"/>
<xsd:enumeration value="sibTrans"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_ElementTypes">
<xsd:list itemType="ST_ElementType"/>
</xsd:simpleType>
<xsd:simpleType name="ST_ParameterId" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="horzAlign"/>
<xsd:enumeration value="vertAlign"/>
<xsd:enumeration value="chDir"/>
<xsd:enumeration value="chAlign"/>
<xsd:enumeration value="secChAlign"/>
<xsd:enumeration value="linDir"/>
<xsd:enumeration value="secLinDir"/>
<xsd:enumeration value="stElem"/>
<xsd:enumeration value="bendPt"/>
<xsd:enumeration value="connRout"/>
<xsd:enumeration value="begSty"/>
<xsd:enumeration value="endSty"/>
<xsd:enumeration value="dim"/>
<xsd:enumeration value="rotPath"/>
<xsd:enumeration value="ctrShpMap"/>
<xsd:enumeration value="nodeHorzAlign"/>
<xsd:enumeration value="nodeVertAlign"/>
<xsd:enumeration value="fallback"/>
<xsd:enumeration value="txDir"/>
<xsd:enumeration value="pyraAcctPos"/>
<xsd:enumeration value="pyraAcctTxMar"/>
<xsd:enumeration value="txBlDir"/>
<xsd:enumeration value="txAnchorHorz"/>
<xsd:enumeration value="txAnchorVert"/>
<xsd:enumeration value="txAnchorHorzCh"/>
<xsd:enumeration value="txAnchorVertCh"/>
<xsd:enumeration value="parTxLTRAlign"/>
<xsd:enumeration value="parTxRTLAlign"/>
<xsd:enumeration value="shpTxLTRAlignCh"/>
<xsd:enumeration value="shpTxRTLAlignCh"/>
<xsd:enumeration value="autoTxRot"/>
<xsd:enumeration value="grDir"/>
<xsd:enumeration value="flowDir"/>
<xsd:enumeration value="contDir"/>
<xsd:enumeration value="bkpt"/>
<xsd:enumeration value="off"/>
<xsd:enumeration value="hierAlign"/>
<xsd:enumeration value="bkPtFixedVal"/>
<xsd:enumeration value="stBulletLvl"/>
<xsd:enumeration value="stAng"/>
<xsd:enumeration value="spanAng"/>
<xsd:enumeration value="ar"/>
<xsd:enumeration value="lnSpPar"/>
<xsd:enumeration value="lnSpAfParP"/>
<xsd:enumeration value="lnSpCh"/>
<xsd:enumeration value="lnSpAfChP"/>
<xsd:enumeration value="rtShortDist"/>
<xsd:enumeration value="alignTx"/>
<xsd:enumeration value="pyraLvlNode"/>
<xsd:enumeration value="pyraAcctBkgdNode"/>
<xsd:enumeration value="pyraAcctTxNode"/>
<xsd:enumeration value="srcNode"/>
<xsd:enumeration value="dstNode"/>
<xsd:enumeration value="begPts"/>
<xsd:enumeration value="endPts"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_Ints">
<xsd:list itemType="xsd:int"/>
</xsd:simpleType>
<xsd:simpleType name="ST_UnsignedInts">
<xsd:list itemType="xsd:unsignedInt"/>
</xsd:simpleType>
<xsd:simpleType name="ST_Booleans">
<xsd:list itemType="xsd:boolean"/>
</xsd:simpleType>
<xsd:simpleType name="ST_FunctionType" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="cnt"/>
<xsd:enumeration value="pos"/>
<xsd:enumeration value="revPos"/>
<xsd:enumeration value="posEven"/>
<xsd:enumeration value="posOdd"/>
<xsd:enumeration value="var"/>
<xsd:enumeration value="depth"/>
<xsd:enumeration value="maxDepth"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_FunctionOperator" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="equ"/>
<xsd:enumeration value="neq"/>
<xsd:enumeration value="gt"/>
<xsd:enumeration value="lt"/>
<xsd:enumeration value="gte"/>
<xsd:enumeration value="lte"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_DiagramHorizontalAlignment" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="l"/>
<xsd:enumeration value="ctr"/>
<xsd:enumeration value="r"/>
<xsd:enumeration value="none"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_VerticalAlignment" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="t"/>
<xsd:enumeration value="mid"/>
<xsd:enumeration value="b"/>
<xsd:enumeration value="none"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_ChildDirection" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="horz"/>
<xsd:enumeration value="vert"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_ChildAlignment" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="t"/>
<xsd:enumeration value="b"/>
<xsd:enumeration value="l"/>
<xsd:enumeration value="r"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_SecondaryChildAlignment" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="none"/>
<xsd:enumeration value="t"/>
<xsd:enumeration value="b"/>
<xsd:enumeration value="l"/>
<xsd:enumeration value="r"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_LinearDirection" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="fromL"/>
<xsd:enumeration value="fromR"/>
<xsd:enumeration value="fromT"/>
<xsd:enumeration value="fromB"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_SecondaryLinearDirection" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="none"/>
<xsd:enumeration value="fromL"/>
<xsd:enumeration value="fromR"/>
<xsd:enumeration value="fromT"/>
<xsd:enumeration value="fromB"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_StartingElement" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="node"/>
<xsd:enumeration value="trans"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_RotationPath" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="none"/>
<xsd:enumeration value="alongPath"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_CenterShapeMapping" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="none"/>
<xsd:enumeration value="fNode"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_BendPoint" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="beg"/>
<xsd:enumeration value="def"/>
<xsd:enumeration value="end"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_ConnectorRouting" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="stra"/>
<xsd:enumeration value="bend"/>
<xsd:enumeration value="curve"/>
<xsd:enumeration value="longCurve"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_ArrowheadStyle" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="auto"/>
<xsd:enumeration value="arr"/>
<xsd:enumeration value="noArr"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_ConnectorDimension" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="1D"/>
<xsd:enumeration value="2D"/>
<xsd:enumeration value="cust"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_ConnectorPoint" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="auto"/>
<xsd:enumeration value="bCtr"/>
<xsd:enumeration value="ctr"/>
<xsd:enumeration value="midL"/>
<xsd:enumeration value="midR"/>
<xsd:enumeration value="tCtr"/>
<xsd:enumeration value="bL"/>
<xsd:enumeration value="bR"/>
<xsd:enumeration value="tL"/>
<xsd:enumeration value="tR"/>
<xsd:enumeration value="radial"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_NodeHorizontalAlignment" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="l"/>
<xsd:enumeration value="ctr"/>
<xsd:enumeration value="r"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_NodeVerticalAlignment" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="t"/>
<xsd:enumeration value="mid"/>
<xsd:enumeration value="b"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_FallbackDimension" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="1D"/>
<xsd:enumeration value="2D"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_TextDirection" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="fromT"/>
<xsd:enumeration value="fromB"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_PyramidAccentPosition" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="bef"/>
<xsd:enumeration value="aft"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_PyramidAccentTextMargin" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="step"/>
<xsd:enumeration value="stack"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_TextBlockDirection" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="horz"/>
<xsd:enumeration value="vert"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_TextAnchorHorizontal" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="none"/>
<xsd:enumeration value="ctr"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_TextAnchorVertical" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="t"/>
<xsd:enumeration value="mid"/>
<xsd:enumeration value="b"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_DiagramTextAlignment" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="l"/>
<xsd:enumeration value="ctr"/>
<xsd:enumeration value="r"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_AutoTextRotation" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="none"/>
<xsd:enumeration value="upr"/>
<xsd:enumeration value="grav"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_GrowDirection" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="tL"/>
<xsd:enumeration value="tR"/>
<xsd:enumeration value="bL"/>
<xsd:enumeration value="bR"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_FlowDirection" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="row"/>
<xsd:enumeration value="col"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_ContinueDirection" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="revDir"/>
<xsd:enumeration value="sameDir"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_Breakpoint" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="endCnv"/>
<xsd:enumeration value="bal"/>
<xsd:enumeration value="fixed"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_Offset" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="ctr"/>
<xsd:enumeration value="off"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_HierarchyAlignment" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="tL"/>
<xsd:enumeration value="tR"/>
<xsd:enumeration value="tCtrCh"/>
<xsd:enumeration value="tCtrDes"/>
<xsd:enumeration value="bL"/>
<xsd:enumeration value="bR"/>
<xsd:enumeration value="bCtrCh"/>
<xsd:enumeration value="bCtrDes"/>
<xsd:enumeration value="lT"/>
<xsd:enumeration value="lB"/>
<xsd:enumeration value="lCtrCh"/>
<xsd:enumeration value="lCtrDes"/>
<xsd:enumeration value="rT"/>
<xsd:enumeration value="rB"/>
<xsd:enumeration value="rCtrCh"/>
<xsd:enumeration value="rCtrDes"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_FunctionValue" final="restriction">
<xsd:union
memberTypes="xsd:int xsd:boolean ST_Direction ST_HierBranchStyle ST_AnimOneStr ST_AnimLvlStr ST_ResizeHandlesStr"
/>
</xsd:simpleType>
<xsd:simpleType name="ST_VariableType" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="none"/>
<xsd:enumeration value="orgChart"/>
<xsd:enumeration value="chMax"/>
<xsd:enumeration value="chPref"/>
<xsd:enumeration value="bulEnabled"/>
<xsd:enumeration value="dir"/>
<xsd:enumeration value="hierBranch"/>
<xsd:enumeration value="animOne"/>
<xsd:enumeration value="animLvl"/>
<xsd:enumeration value="resizeHandles"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_FunctionArgument" final="restriction">
<xsd:union memberTypes="ST_VariableType"/>
</xsd:simpleType>
<xsd:simpleType name="ST_OutputShapeType" final="restriction">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="none"/>
<xsd:enumeration value="conn"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://schemas.openxmlformats.org/drawingml/2006/lockedCanvas"
xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
elementFormDefault="qualified"
targetNamespace="http://schemas.openxmlformats.org/drawingml/2006/lockedCanvas">
<xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/main"
schemaLocation="dml-main.xsd"/>
<xsd:element name="lockedCanvas" type="a:CT_GvmlGroupShape"/>
</xsd:schema>
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://schemas.openxmlformats.org/drawingml/2006/picture"
xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" elementFormDefault="qualified"
targetNamespace="http://schemas.openxmlformats.org/drawingml/2006/picture">
<xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/main"
schemaLocation="dml-main.xsd"/>
<xsd:complexType name="CT_PictureNonVisual">
<xsd:sequence>
<xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/>
<xsd:element name="cNvPicPr" type="a:CT_NonVisualPictureProperties" minOccurs="1"
maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_Picture">
<xsd:sequence minOccurs="1" maxOccurs="1">
<xsd:element name="nvPicPr" type="CT_PictureNonVisual" minOccurs="1" maxOccurs="1"/>
<xsd:element name="blipFill" type="a:CT_BlipFillProperties" minOccurs="1" maxOccurs="1"/>
<xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="pic" type="CT_Picture"/>
</xsd:schema>
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"
xmlns="http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing"
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
targetNamespace="http://schemas.openxmlformats.org/drawingml/2006/spreadsheetDrawing"
elementFormDefault="qualified">
<xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/main"
schemaLocation="dml-main.xsd"/>
<xsd:import schemaLocation="shared-relationshipReference.xsd"
namespace="http://schemas.openxmlformats.org/officeDocument/2006/relationships"/>
<xsd:element name="from" type="CT_Marker"/>
<xsd:element name="to" type="CT_Marker"/>
<xsd:complexType name="CT_AnchorClientData">
<xsd:attribute name="fLocksWithSheet" type="xsd:boolean" use="optional" default="true"/>
<xsd:attribute name="fPrintsWithSheet" type="xsd:boolean" use="optional" default="true"/>
</xsd:complexType>
<xsd:complexType name="CT_ShapeNonVisual">
<xsd:sequence>
<xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/>
<xsd:element name="cNvSpPr" type="a:CT_NonVisualDrawingShapeProps" minOccurs="1" maxOccurs="1"
/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_Shape">
<xsd:sequence>
<xsd:element name="nvSpPr" type="CT_ShapeNonVisual" minOccurs="1" maxOccurs="1"/>
<xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="1" maxOccurs="1"/>
<xsd:element name="style" type="a:CT_ShapeStyle" minOccurs="0" maxOccurs="1"/>
<xsd:element name="txBody" type="a:CT_TextBody" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="macro" type="xsd:string" use="optional"/>
<xsd:attribute name="textlink" type="xsd:string" use="optional"/>
<xsd:attribute name="fLocksText" type="xsd:boolean" use="optional" default="true"/>
<xsd:attribute name="fPublished" type="xsd:boolean" use="optional" default="false"/>
</xsd:complexType>
<xsd:complexType name="CT_ConnectorNonVisual">
<xsd:sequence>
<xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/>
<xsd:element name="cNvCxnSpPr" type="a:CT_NonVisualConnectorProperties" minOccurs="1"
maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_Connector">
<xsd:sequence>
<xsd:element name="nvCxnSpPr" type="CT_ConnectorNonVisual" minOccurs="1" maxOccurs="1"/>
<xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="1" maxOccurs="1"/>
<xsd:element name="style" type="a:CT_ShapeStyle" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="macro" type="xsd:string" use="optional"/>
<xsd:attribute name="fPublished" type="xsd:boolean" use="optional" default="false"/>
</xsd:complexType>
<xsd:complexType name="CT_PictureNonVisual">
<xsd:sequence>
<xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/>
<xsd:element name="cNvPicPr" type="a:CT_NonVisualPictureProperties" minOccurs="1"
maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_Picture">
<xsd:sequence>
<xsd:element name="nvPicPr" type="CT_PictureNonVisual" minOccurs="1" maxOccurs="1"/>
<xsd:element name="blipFill" type="a:CT_BlipFillProperties" minOccurs="1" maxOccurs="1"/>
<xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="1" maxOccurs="1"/>
<xsd:element name="style" type="a:CT_ShapeStyle" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="macro" type="xsd:string" use="optional" default=""/>
<xsd:attribute name="fPublished" type="xsd:boolean" use="optional" default="false"/>
</xsd:complexType>
<xsd:complexType name="CT_GraphicalObjectFrameNonVisual">
<xsd:sequence>
<xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/>
<xsd:element name="cNvGraphicFramePr" type="a:CT_NonVisualGraphicFrameProperties"
minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_GraphicalObjectFrame">
<xsd:sequence>
<xsd:element name="nvGraphicFramePr" type="CT_GraphicalObjectFrameNonVisual" minOccurs="1"
maxOccurs="1"/>
<xsd:element name="xfrm" type="a:CT_Transform2D" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="a:graphic" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="macro" type="xsd:string" use="optional"/>
<xsd:attribute name="fPublished" type="xsd:boolean" use="optional" default="false"/>
</xsd:complexType>
<xsd:complexType name="CT_GroupShapeNonVisual">
<xsd:sequence>
<xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/>
<xsd:element name="cNvGrpSpPr" type="a:CT_NonVisualGroupDrawingShapeProps" minOccurs="1"
maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_GroupShape">
<xsd:sequence>
<xsd:element name="nvGrpSpPr" type="CT_GroupShapeNonVisual" minOccurs="1" maxOccurs="1"/>
<xsd:element name="grpSpPr" type="a:CT_GroupShapeProperties" minOccurs="1" maxOccurs="1"/>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element name="sp" type="CT_Shape"/>
<xsd:element name="grpSp" type="CT_GroupShape"/>
<xsd:element name="graphicFrame" type="CT_GraphicalObjectFrame"/>
<xsd:element name="cxnSp" type="CT_Connector"/>
<xsd:element name="pic" type="CT_Picture"/>
</xsd:choice>
</xsd:sequence>
</xsd:complexType>
<xsd:group name="EG_ObjectChoices">
<xsd:sequence>
<xsd:choice minOccurs="1" maxOccurs="1">
<xsd:element name="sp" type="CT_Shape"/>
<xsd:element name="grpSp" type="CT_GroupShape"/>
<xsd:element name="graphicFrame" type="CT_GraphicalObjectFrame"/>
<xsd:element name="cxnSp" type="CT_Connector"/>
<xsd:element name="pic" type="CT_Picture"/>
<xsd:element name="contentPart" type="CT_Rel"/>
</xsd:choice>
</xsd:sequence>
</xsd:group>
<xsd:complexType name="CT_Rel">
<xsd:attribute ref="r:id" use="required"/>
</xsd:complexType>
<xsd:simpleType name="ST_ColID">
<xsd:restriction base="xsd:int">
<xsd:minInclusive value="0"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_RowID">
<xsd:restriction base="xsd:int">
<xsd:minInclusive value="0"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="CT_Marker">
<xsd:sequence>
<xsd:element name="col" type="ST_ColID"/>
<xsd:element name="colOff" type="a:ST_Coordinate"/>
<xsd:element name="row" type="ST_RowID"/>
<xsd:element name="rowOff" type="a:ST_Coordinate"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="ST_EditAs">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="twoCell"/>
<xsd:enumeration value="oneCell"/>
<xsd:enumeration value="absolute"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="CT_TwoCellAnchor">
<xsd:sequence>
<xsd:element name="from" type="CT_Marker"/>
<xsd:element name="to" type="CT_Marker"/>
<xsd:group ref="EG_ObjectChoices"/>
<xsd:element name="clientData" type="CT_AnchorClientData" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="editAs" type="ST_EditAs" use="optional" default="twoCell"/>
</xsd:complexType>
<xsd:complexType name="CT_OneCellAnchor">
<xsd:sequence>
<xsd:element name="from" type="CT_Marker"/>
<xsd:element name="ext" type="a:CT_PositiveSize2D"/>
<xsd:group ref="EG_ObjectChoices"/>
<xsd:element name="clientData" type="CT_AnchorClientData" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_AbsoluteAnchor">
<xsd:sequence>
<xsd:element name="pos" type="a:CT_Point2D"/>
<xsd:element name="ext" type="a:CT_PositiveSize2D"/>
<xsd:group ref="EG_ObjectChoices"/>
<xsd:element name="clientData" type="CT_AnchorClientData" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:group name="EG_Anchor">
<xsd:choice>
<xsd:element name="twoCellAnchor" type="CT_TwoCellAnchor"/>
<xsd:element name="oneCellAnchor" type="CT_OneCellAnchor"/>
<xsd:element name="absoluteAnchor" type="CT_AbsoluteAnchor"/>
</xsd:choice>
</xsd:group>
<xsd:complexType name="CT_Drawing">
<xsd:sequence>
<xsd:group ref="EG_Anchor" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="wsDr" type="CT_Drawing"/>
</xsd:schema>
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"
xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
xmlns:dpct="http://schemas.openxmlformats.org/drawingml/2006/picture"
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
xmlns="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing"
targetNamespace="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing"
elementFormDefault="qualified">
<xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/main"
schemaLocation="dml-main.xsd"/>
<xsd:import schemaLocation="wml.xsd"
namespace="http://schemas.openxmlformats.org/wordprocessingml/2006/main"/>
<xsd:import namespace="http://schemas.openxmlformats.org/drawingml/2006/picture"
schemaLocation="dml-picture.xsd"/>
<xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
schemaLocation="shared-relationshipReference.xsd"/>
<xsd:complexType name="CT_EffectExtent">
<xsd:attribute name="l" type="a:ST_Coordinate" use="required"/>
<xsd:attribute name="t" type="a:ST_Coordinate" use="required"/>
<xsd:attribute name="r" type="a:ST_Coordinate" use="required"/>
<xsd:attribute name="b" type="a:ST_Coordinate" use="required"/>
</xsd:complexType>
<xsd:simpleType name="ST_WrapDistance">
<xsd:restriction base="xsd:unsignedInt"/>
</xsd:simpleType>
<xsd:complexType name="CT_Inline">
<xsd:sequence>
<xsd:element name="extent" type="a:CT_PositiveSize2D"/>
<xsd:element name="effectExtent" type="CT_EffectExtent" minOccurs="0"/>
<xsd:element name="docPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/>
<xsd:element name="cNvGraphicFramePr" type="a:CT_NonVisualGraphicFrameProperties"
minOccurs="0" maxOccurs="1"/>
<xsd:element ref="a:graphic" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="distT" type="ST_WrapDistance" use="optional"/>
<xsd:attribute name="distB" type="ST_WrapDistance" use="optional"/>
<xsd:attribute name="distL" type="ST_WrapDistance" use="optional"/>
<xsd:attribute name="distR" type="ST_WrapDistance" use="optional"/>
</xsd:complexType>
<xsd:simpleType name="ST_WrapText">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="bothSides"/>
<xsd:enumeration value="left"/>
<xsd:enumeration value="right"/>
<xsd:enumeration value="largest"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="CT_WrapPath">
<xsd:sequence>
<xsd:element name="start" type="a:CT_Point2D" minOccurs="1" maxOccurs="1"/>
<xsd:element name="lineTo" type="a:CT_Point2D" minOccurs="2" maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="edited" type="xsd:boolean" use="optional"/>
</xsd:complexType>
<xsd:complexType name="CT_WrapNone"/>
<xsd:complexType name="CT_WrapSquare">
<xsd:sequence>
<xsd:element name="effectExtent" type="CT_EffectExtent" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="wrapText" type="ST_WrapText" use="required"/>
<xsd:attribute name="distT" type="ST_WrapDistance" use="optional"/>
<xsd:attribute name="distB" type="ST_WrapDistance" use="optional"/>
<xsd:attribute name="distL" type="ST_WrapDistance" use="optional"/>
<xsd:attribute name="distR" type="ST_WrapDistance" use="optional"/>
</xsd:complexType>
<xsd:complexType name="CT_WrapTight">
<xsd:sequence>
<xsd:element name="wrapPolygon" type="CT_WrapPath" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="wrapText" type="ST_WrapText" use="required"/>
<xsd:attribute name="distL" type="ST_WrapDistance" use="optional"/>
<xsd:attribute name="distR" type="ST_WrapDistance" use="optional"/>
</xsd:complexType>
<xsd:complexType name="CT_WrapThrough">
<xsd:sequence>
<xsd:element name="wrapPolygon" type="CT_WrapPath" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="wrapText" type="ST_WrapText" use="required"/>
<xsd:attribute name="distL" type="ST_WrapDistance" use="optional"/>
<xsd:attribute name="distR" type="ST_WrapDistance" use="optional"/>
</xsd:complexType>
<xsd:complexType name="CT_WrapTopBottom">
<xsd:sequence>
<xsd:element name="effectExtent" type="CT_EffectExtent" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="distT" type="ST_WrapDistance" use="optional"/>
<xsd:attribute name="distB" type="ST_WrapDistance" use="optional"/>
</xsd:complexType>
<xsd:group name="EG_WrapType">
<xsd:sequence>
<xsd:choice minOccurs="1" maxOccurs="1">
<xsd:element name="wrapNone" type="CT_WrapNone" minOccurs="1" maxOccurs="1"/>
<xsd:element name="wrapSquare" type="CT_WrapSquare" minOccurs="1" maxOccurs="1"/>
<xsd:element name="wrapTight" type="CT_WrapTight" minOccurs="1" maxOccurs="1"/>
<xsd:element name="wrapThrough" type="CT_WrapThrough" minOccurs="1" maxOccurs="1"/>
<xsd:element name="wrapTopAndBottom" type="CT_WrapTopBottom" minOccurs="1" maxOccurs="1"/>
</xsd:choice>
</xsd:sequence>
</xsd:group>
<xsd:simpleType name="ST_PositionOffset">
<xsd:restriction base="xsd:int"/>
</xsd:simpleType>
<xsd:simpleType name="ST_AlignH">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="left"/>
<xsd:enumeration value="right"/>
<xsd:enumeration value="center"/>
<xsd:enumeration value="inside"/>
<xsd:enumeration value="outside"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_RelFromH">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="margin"/>
<xsd:enumeration value="page"/>
<xsd:enumeration value="column"/>
<xsd:enumeration value="character"/>
<xsd:enumeration value="leftMargin"/>
<xsd:enumeration value="rightMargin"/>
<xsd:enumeration value="insideMargin"/>
<xsd:enumeration value="outsideMargin"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="CT_PosH">
<xsd:sequence>
<xsd:choice minOccurs="1" maxOccurs="1">
<xsd:element name="align" type="ST_AlignH" minOccurs="1" maxOccurs="1"/>
<xsd:element name="posOffset" type="ST_PositionOffset" minOccurs="1" maxOccurs="1"/>
</xsd:choice>
</xsd:sequence>
<xsd:attribute name="relativeFrom" type="ST_RelFromH" use="required"/>
</xsd:complexType>
<xsd:simpleType name="ST_AlignV">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="top"/>
<xsd:enumeration value="bottom"/>
<xsd:enumeration value="center"/>
<xsd:enumeration value="inside"/>
<xsd:enumeration value="outside"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="ST_RelFromV">
<xsd:restriction base="xsd:token">
<xsd:enumeration value="margin"/>
<xsd:enumeration value="page"/>
<xsd:enumeration value="paragraph"/>
<xsd:enumeration value="line"/>
<xsd:enumeration value="topMargin"/>
<xsd:enumeration value="bottomMargin"/>
<xsd:enumeration value="insideMargin"/>
<xsd:enumeration value="outsideMargin"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="CT_PosV">
<xsd:sequence>
<xsd:choice minOccurs="1" maxOccurs="1">
<xsd:element name="align" type="ST_AlignV" minOccurs="1" maxOccurs="1"/>
<xsd:element name="posOffset" type="ST_PositionOffset" minOccurs="1" maxOccurs="1"/>
</xsd:choice>
</xsd:sequence>
<xsd:attribute name="relativeFrom" type="ST_RelFromV" use="required"/>
</xsd:complexType>
<xsd:complexType name="CT_Anchor">
<xsd:sequence>
<xsd:element name="simplePos" type="a:CT_Point2D"/>
<xsd:element name="positionH" type="CT_PosH"/>
<xsd:element name="positionV" type="CT_PosV"/>
<xsd:element name="extent" type="a:CT_PositiveSize2D"/>
<xsd:element name="effectExtent" type="CT_EffectExtent" minOccurs="0"/>
<xsd:group ref="EG_WrapType"/>
<xsd:element name="docPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/>
<xsd:element name="cNvGraphicFramePr" type="a:CT_NonVisualGraphicFrameProperties"
minOccurs="0" maxOccurs="1"/>
<xsd:element ref="a:graphic" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="distT" type="ST_WrapDistance" use="optional"/>
<xsd:attribute name="distB" type="ST_WrapDistance" use="optional"/>
<xsd:attribute name="distL" type="ST_WrapDistance" use="optional"/>
<xsd:attribute name="distR" type="ST_WrapDistance" use="optional"/>
<xsd:attribute name="simplePos" type="xsd:boolean"/>
<xsd:attribute name="relativeHeight" type="xsd:unsignedInt" use="required"/>
<xsd:attribute name="behindDoc" type="xsd:boolean" use="required"/>
<xsd:attribute name="locked" type="xsd:boolean" use="required"/>
<xsd:attribute name="layoutInCell" type="xsd:boolean" use="required"/>
<xsd:attribute name="hidden" type="xsd:boolean" use="optional"/>
<xsd:attribute name="allowOverlap" type="xsd:boolean" use="required"/>
</xsd:complexType>
<xsd:complexType name="CT_TxbxContent">
<xsd:group ref="w:EG_BlockLevelElts" minOccurs="1" maxOccurs="unbounded"/>
</xsd:complexType>
<xsd:complexType name="CT_TextboxInfo">
<xsd:sequence>
<xsd:element name="txbxContent" type="CT_TxbxContent" minOccurs="1" maxOccurs="1"/>
<xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:unsignedShort" use="optional" default="0"/>
</xsd:complexType>
<xsd:complexType name="CT_LinkedTextboxInformation">
<xsd:sequence>
<xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:unsignedShort" use="required"/>
<xsd:attribute name="seq" type="xsd:unsignedShort" use="required"/>
</xsd:complexType>
<xsd:complexType name="CT_WordprocessingShape">
<xsd:sequence minOccurs="1" maxOccurs="1">
<xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="0" maxOccurs="1"/>
<xsd:choice minOccurs="1" maxOccurs="1">
<xsd:element name="cNvSpPr" type="a:CT_NonVisualDrawingShapeProps" minOccurs="1"
maxOccurs="1"/>
<xsd:element name="cNvCnPr" type="a:CT_NonVisualConnectorProperties" minOccurs="1"
maxOccurs="1"/>
</xsd:choice>
<xsd:element name="spPr" type="a:CT_ShapeProperties" minOccurs="1" maxOccurs="1"/>
<xsd:element name="style" type="a:CT_ShapeStyle" minOccurs="0" maxOccurs="1"/>
<xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
<xsd:choice minOccurs="0" maxOccurs="1">
<xsd:element name="txbx" type="CT_TextboxInfo" minOccurs="1" maxOccurs="1"/>
<xsd:element name="linkedTxbx" type="CT_LinkedTextboxInformation" minOccurs="1"
maxOccurs="1"/>
</xsd:choice>
<xsd:element name="bodyPr" type="a:CT_TextBodyProperties" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="normalEastAsianFlow" type="xsd:boolean" use="optional" default="false"/>
</xsd:complexType>
<xsd:complexType name="CT_GraphicFrame">
<xsd:sequence>
<xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="1" maxOccurs="1"/>
<xsd:element name="cNvFrPr" type="a:CT_NonVisualGraphicFrameProperties" minOccurs="1"
maxOccurs="1"/>
<xsd:element name="xfrm" type="a:CT_Transform2D" minOccurs="1" maxOccurs="1"/>
<xsd:element ref="a:graphic" minOccurs="1" maxOccurs="1"/>
<xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_WordprocessingContentPartNonVisual">
<xsd:sequence>
<xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="0" maxOccurs="1"/>
<xsd:element name="cNvContentPartPr" type="a:CT_NonVisualContentPartProperties" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_WordprocessingContentPart">
<xsd:sequence>
<xsd:element name="nvContentPartPr" type="CT_WordprocessingContentPartNonVisual" minOccurs="0" maxOccurs="1"/>
<xsd:element name="xfrm" type="a:CT_Transform2D" minOccurs="0" maxOccurs="1"/>
<xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="bwMode" type="a:ST_BlackWhiteMode" use="optional"/>
<xsd:attribute ref="r:id" use="required"/>
</xsd:complexType>
<xsd:complexType name="CT_WordprocessingGroup">
<xsd:sequence minOccurs="1" maxOccurs="1">
<xsd:element name="cNvPr" type="a:CT_NonVisualDrawingProps" minOccurs="0" maxOccurs="1"/>
<xsd:element name="cNvGrpSpPr" type="a:CT_NonVisualGroupDrawingShapeProps" minOccurs="1"
maxOccurs="1"/>
<xsd:element name="grpSpPr" type="a:CT_GroupShapeProperties" minOccurs="1" maxOccurs="1"/>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element ref="wsp"/>
<xsd:element name="grpSp" type="CT_WordprocessingGroup"/>
<xsd:element name="graphicFrame" type="CT_GraphicFrame"/>
<xsd:element ref="dpct:pic"/>
<xsd:element name="contentPart" type="CT_WordprocessingContentPart"/>
</xsd:choice>
<xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_WordprocessingCanvas">
<xsd:sequence minOccurs="1" maxOccurs="1">
<xsd:element name="bg" type="a:CT_BackgroundFormatting" minOccurs="0" maxOccurs="1"/>
<xsd:element name="whole" type="a:CT_WholeE2oFormatting" minOccurs="0" maxOccurs="1"/>
<xsd:choice minOccurs="0" maxOccurs="unbounded">
<xsd:element ref="wsp"/>
<xsd:element ref="dpct:pic"/>
<xsd:element name="contentPart" type="CT_WordprocessingContentPart"/>
<xsd:element ref="wgp"/>
<xsd:element name="graphicFrame" type="CT_GraphicFrame"/>
</xsd:choice>
<xsd:element name="extLst" type="a:CT_OfficeArtExtensionList" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="wpc" type="CT_WordprocessingCanvas"/>
<xsd:element name="wgp" type="CT_WordprocessingGroup"/>
<xsd:element name="wsp" type="CT_WordprocessingShape"/>
<xsd:element name="inline" type="CT_Inline"/>
<xsd:element name="anchor" type="CT_Anchor"/>
</xsd:schema>
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://schemas.openxmlformats.org/officeDocument/2006/characteristics"
targetNamespace="http://schemas.openxmlformats.org/officeDocument/2006/characteristics"
elementFormDefault="qualified">
<xsd:complexType name="CT_AdditionalCharacteristics">
<xsd:sequence>
<xsd:element name="characteristic" type="CT_Characteristic" minOccurs="0"
maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_Characteristic">
<xsd:attribute name="name" type="xsd:string" use="required"/>
<xsd:attribute name="relation" type="ST_Relation" use="required"/>
<xsd:attribute name="val" type="xsd:string" use="required"/>
<xsd:attribute name="vocabulary" type="xsd:anyURI" use="optional"/>
</xsd:complexType>
<xsd:simpleType name="ST_Relation">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="ge"/>
<xsd:enumeration value="le"/>
<xsd:enumeration value="gt"/>
<xsd:enumeration value="lt"/>
<xsd:enumeration value="eq"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:element name="additionalCharacteristics" type="CT_AdditionalCharacteristics"/>
</xsd:schema>
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="http://schemas.openxmlformats.org/officeDocument/2006/customXml"
xmlns:s="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes"
targetNamespace="http://schemas.openxmlformats.org/officeDocument/2006/customXml"
elementFormDefault="qualified" attributeFormDefault="qualified" blockDefault="#all">
<xsd:import namespace="http://schemas.openxmlformats.org/officeDocument/2006/sharedTypes"
schemaLocation="shared-commonSimpleTypes.xsd"/>
<xsd:complexType name="CT_DatastoreSchemaRef">
<xsd:attribute name="uri" type="xsd:string" use="required"/>
</xsd:complexType>
<xsd:complexType name="CT_DatastoreSchemaRefs">
<xsd:sequence>
<xsd:element name="schemaRef" type="CT_DatastoreSchemaRef" minOccurs="0" maxOccurs="unbounded"
/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CT_DatastoreItem">
<xsd:sequence>
<xsd:element name="schemaRefs" type="CT_DatastoreSchemaRefs" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="itemID" type="s:ST_Guid" use="required"/>
</xsd:complexType>
<xsd:element name="datastoreItem" type="CT_DatastoreItem"/>
</xsd:schema>
<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="urn:schemas-microsoft-com:office:powerpoint"
targetNamespace="urn:schemas-microsoft-com:office:powerpoint" elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xsd:element name="iscomment" type="CT_Empty"/>
<xsd:element name="textdata" type="CT_Rel"/>
<xsd:complexType name="CT_Empty"/>
<xsd:complexType name="CT_Rel">
<xsd:attribute name="id" type="xsd:string"/>
</xsd:complexType>
</xsd:schema>
Related skills
How it compares
Use pptx-official when agents must directly manipulate .pptx ZIP/XML internals rather than calling a hosted slides API.
FAQ
How does pptx-official read PowerPoint files?
pptx-official treats each .pptx as a ZIP archive of XML and resource files, letting agents unzip the package, parse slide XML, and inspect embedded assets before applying targeted edits.
Can agents create new decks with pptx-official?
pptx-official documents distinct workflows for reading, creating, and editing .pptx files so agents can assemble new slide XML packages or patch existing Office Open XML parts programmatically.
Is Pptx Official safe to install?
skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.