### Install OOXML CLI Source: https://ooxml.dev/cli Install the CLI globally using npm. Requires Node.js 20 or later. ```bash npm install --global @ooxml-dev/cli ``` -------------------------------- ### RTL paragraph with start alignment Source: https://ooxml.dev/docs/bidirectional-text Shows that the w:jc value 'start' resolves to the right edge when w:bidi is present. ```xml ``` -------------------------------- ### Formatted paragraph XML example Source: https://ooxml.dev/docs/paragraphs An example of a paragraph (w:p) with centered justification and runs containing bold and italic formatting. ```xml ``` -------------------------------- ### Basic 2x2 Table Example Source: https://ooxml.dev/docs/tables A minimal OOXML table with two columns and one row, including table properties, borders, and a grid. The table width is set to 5000 dxa and each column is 2500 dxa wide. ```xml ``` -------------------------------- ### RTL paragraph with start indent Source: https://ooxml.dev/docs/bidirectional-text Uses the w:ind element with a start attribute, which appears on the right side for RTL paragraphs. ```xml ``` -------------------------------- ### RTL paragraph with center alignment Source: https://ooxml.dev/docs/bidirectional-text Demonstrates a paragraph with w:bidi enabled and center alignment using w:jc. ```xml ``` -------------------------------- ### Authenticate and Search OOXML Source: https://ooxml.dev/cli Log in to the service and perform searches or inspect specific elements like w:p. ```bash ooxml login ooxml search "paragraph spacing" ooxml element w:p ``` -------------------------------- ### LTR paragraph with inline Arabic run Source: https://ooxml.dev/docs/bidirectional-text Shows how to use w:rtl on a run to set the reading order for specific text within an LTR paragraph. ```xml ``` -------------------------------- ### Add research-ooxml skill to coding agent Source: https://ooxml.dev/cli Integrate the CLI with a coding agent to enable spec search and schema evidence capabilities. ```bash npx skills add superdoc/ooxml-dev --skill research-ooxml -g -y ``` -------------------------------- ### Content_Types.xml configuration Source: https://ooxml.dev/docs/creating-documents Defines the content types for the package, including defaults for relationships and XML files, and an override for the main document part. ```xml ``` -------------------------------- ### OOXML file structure (document.docx ZIP archive) Source: https://ooxml.dev/docs Shows the typical layout of a .docx file as a ZIP archive, with the main content in word/document.xml. The tree includes [Content_Types].xml, relationship files, and document parts. ```text document.docx/ ├── [Content_Types].xml ├── _rels/ │ └── .rels ├── word/ │ ├── document.xml # Main content │ ├── styles.xml # Style definitions │ └── numbering.xml # List definitions └── docProps/ └── core.xml ``` -------------------------------- ### ooxml_namespace Source: https://ooxml.dev/mcp Shows what's known about a namespace URI: vocabularies, profiles, symbol counts. ```APIDOC ## ooxml_namespace ### Description Shows what's known about a namespace URI: vocabularies, profiles, symbol counts. ### Method MCP Tool ### Endpoint `ooxml_namespace` ### Parameters - **namespace_uri** (string) - Required - The namespace URI to query. ### Response Returns vocabularies, profiles, and symbol counts for the namespace. ### Response Example ```json { "namespace_uri": "http://schemas.openxmlformats.org/wordprocessingml/2006/main", "vocabularies": ["WordprocessingML"], "profiles": ["..."], "symbol_counts": { "elements": 100, "types": 50 } } ``` ``` -------------------------------- ### ooxml_preset_shape Source: https://ooxml.dev/mcp Looks up the ordered adjustment-guide names for a DrawingML preset shape from Part 1 Annex D. ```APIDOC ## ooxml_preset_shape ### Description Looks up the ordered adjustment-guide names for a DrawingML preset shape from Part 1 Annex D. ### Method MCP Tool ### Endpoint `ooxml_preset_shape` ### Parameters - **shape_name** (string) - Required - The name of the preset shape, e.g., "roundRect". ### Response Returns the ordered list of adjustment-guide names. ### Response Example ```json { "shape_name": "roundRect", "adjustment_guides": ["adj1", "adj2"] } ``` ``` -------------------------------- ### word/document.xml content Source: https://ooxml.dev/docs/creating-documents The main document part containing the body content, here demonstrating a simple 'Hello, World!' paragraph. ```xml Hello, World! ``` -------------------------------- ### ASCII diagram of Word's group rendering for 3 paragraphs Source: https://ooxml.dev/docs/paragraph-borders Visualizes how Word renders a group of three paragraphs with top, between, and bottom borders. Shows that the top border comes from the first paragraph, bottom from the last, and between borders are drawn between paragraphs, with left/right borders bridging spacing gaps. ```text ┌─────────────────────────────┐ ← top border (from A) │ Paragraph A text │ ├─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─┤ ← between border │ Paragraph B text │ ├─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─┤ ← between border │ Paragraph C text │ └─────────────────────────────┘ ← bottom border (from C) - A: top + left + right + between-as-bottom - B: left + right + between-as-bottom (top suppressed) - C: left + right + bottom (top suppressed) - Left/right borders bridge paragraph spacing gaps ``` -------------------------------- ### Basic paragraph with all four borders Source: https://ooxml.dev/docs/paragraph-borders Defines a paragraph with top, left, bottom, and right borders using w:pBdr. The w:sz values set border thickness (12 for top/bottom, 12 for left/right) and w:space sets spacing (1 for top/bottom, 4 for left/right). The color is black (000000). ```xml ``` -------------------------------- ### RTL paragraph with dot leader tab stop Source: https://ooxml.dev/docs/bidirectional-text Demonstrates a paragraph with bidirectional layout enabled and a tab stop configured with a dot leader. ```xml ``` -------------------------------- ### ooxml_parts Source: https://ooxml.dev/mcp Browses the specification structure. Filter by part (1-4) to explore sections. ```APIDOC ## ooxml_parts ### Description Browses the specification structure. Filter by part (1-4) to explore sections. ### Method MCP Tool ### Endpoint `ooxml_parts` ### Parameters - **part** (integer) - Optional - The part number (1-4) to filter by. ### Response Returns a list of sections in the specified part. ### Response Example ```json { "part": 1, "sections": [ { "section_id": "17.3.2", "title": "Paragraph Properties" } ] } ``` ``` -------------------------------- ### Paragraph structure hierarchy Source: https://ooxml.dev/docs/paragraphs A visual representation of the XML tree structure for a paragraph (w:p), including properties and run elements. ```text w:p (paragraph) ├── w:pPr (paragraph properties) │ ├── w:pStyle (style reference) │ ├── w:jc (justification) │ └── w:spacing (line spacing) └── w:r (run) ├── w:rPr (run properties) │ ├── w:b (bold) │ ├── w:i (italic) │ └── w:sz (font size) └── w:t (text) ``` -------------------------------- ### ooxml_package_part Source: https://ooxml.dev/mcp Looks up OPC part types by content type, source relationship type, or query substring. Covers Word, Excel, PowerPoint, and cross-cutting parts. ```APIDOC ## ooxml_package_part ### Description Looks up OPC part types by content type, source relationship type, or query substring. Covers Word, Excel, PowerPoint, and cross-cutting parts. ### Method MCP Tool ### Endpoint `ooxml_package_part` ### Parameters - **content_type** (string) - Optional - The content type to look up. - **relationship_type** (string) - Optional - The source relationship type to look up. - **query** (string) - Optional - A substring to search for. ### Response Returns matching OPC part types with their metadata. ### Response Example ```json { "results": [ { "content_type": "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml", "relationship_type": "...", "root_namespace": "...", "typical_path": "/word/document.xml" } ] } ``` ``` -------------------------------- ### ooxml_type Source: https://ooxml.dev/mcp Looks up a complexType or simpleType by qname. Tries complexType first, then simpleType. ```APIDOC ## ooxml_type ### Description Looks up a complexType or simpleType by qname. Tries complexType first, then simpleType. ### Method MCP Tool ### Endpoint `ooxml_type` ### Parameters - **qname** (string) - Required - The qualified name of the type, e.g., "w:CT_P". ### Response Returns the type definition. ### Response Example ```json { "qname": "w:CT_P", "kind": "complexType", "definition": "..." } ``` ``` -------------------------------- ### RTL paragraph with Arabic text Source: https://ooxml.dev/docs/bidirectional-text Sets the paragraph base direction to right-to-left using the w:bidi element. ```xml ``` -------------------------------- ### OOXML Bidirectional Text Structure Source: https://ooxml.dev/docs/bidirectional-text The hierarchy of paragraph and run properties involved in bidirectional text layout. ```text w:pPr (paragraph properties) ├── w:bidi Paragraph base direction (RTL layout) ├── w:jc Alignment — start/end are logical, flip with bidi ├── w:ind Indentation — start/end flip with bidi └── w:tabs └── w:tab Tab stops — measured from leading edge (right for RTL) w:rPr (run properties) ├── w:rtl Run reading order (right-to-left) ├── w:cs Treat run as complex script ├── w:rFonts @w:cs — complex script font └── w:lang @w:bidi — bidi language (ar-SA, he-IL, etc.) ``` -------------------------------- ### ooxml_search Source: https://ooxml.dev/mcp Performs natural-language semantic search across the ECMA-376 spec PDFs. Use it to ask questions like 'How do paragraph borders work?' or 'What controls table cell margins?'. ```APIDOC ## ooxml_search ### Description Performs natural-language semantic search across the ECMA-376 spec PDFs. Use it to ask questions like 'How do paragraph borders work?' or 'What controls table cell margins?'. ### Method MCP Tool ### Endpoint `ooxml_search` ### Parameters - **query** (string) - Required - The natural-language question to search for. ### Response Returns a list of relevant spec sections with their content. ### Response Example ```json { "results": [ { "section_id": "17.3.2", "content": "..." } ] } ``` ``` -------------------------------- ### Grouped paragraphs with no separator (nil between) Source: https://ooxml.dev/docs/paragraph-borders Shows two consecutive paragraphs with identical border properties and w:between val="nil", which groups them into a single continuous bordered box without a divider. The between border is set to nil, meaning 'group without a separator'. ```xml ``` -------------------------------- ### ooxml_element Source: https://ooxml.dev/mcp Looks up an OOXML element by qname. Returns vocabulary, namespace, declared @type, and source. ```APIDOC ## ooxml_element ### Description Looks up an OOXML element by qname. Returns vocabulary, namespace, declared @type, and source. ### Method MCP Tool ### Endpoint `ooxml_element` ### Parameters - **qname** (string) - Required - The qualified name of the element, e.g., "w:p". ### Response Returns the element's vocabulary, namespace, declared type, and source. ### Response Example ```json { "qname": "w:p", "vocabulary": "WordprocessingML", "namespace": "http://schemas.openxmlformats.org/wordprocessingml/2006/main", "type": "CT_P", "source": "..." } ``` ``` -------------------------------- ### Document with alternating paragraph directions Source: https://ooxml.dev/docs/bidirectional-text Illustrates a document structure containing both RTL and LTR paragraphs. ```xml ``` -------------------------------- ### _rels/.rels relationship definition Source: https://ooxml.dev/docs/creating-documents Establishes the package-level relationships, specifically linking the package to the main document part. ```xml ``` -------------------------------- ### OOXML Table Structure Diagram Source: https://ooxml.dev/docs/tables ASCII diagram showing the hierarchical structure of a table: w:tbl contains w:tblPr, w:tblGrid, and w:tr, which contains w:tc with w:tcPr and w:p. ```text w:tbl (table) ├── w:tblPr (table properties) │ ├── w:tblW (table width) │ └── w:tblBorders (borders) ├── w:tblGrid (column grid) │ └── w:gridCol (column definition) └── w:tr (table row) └── w:tc (table cell) ├── w:tcPr (cell properties) └── w:p (content) ``` -------------------------------- ### ooxml_enum Source: https://ooxml.dev/mcp Lists enumeration values for a simpleType, in declaration order. ```APIDOC ## ooxml_enum ### Description Lists enumeration values for a simpleType, in declaration order. ### Method MCP Tool ### Endpoint `ooxml_enum` ### Parameters - **qname** (string) - Required - The qualified name of the simpleType. ### Response Returns a list of enumeration values. ### Response Example ```json { "qname": "w:ST_Border", "values": [ "none", "single", "double" ] } ``` ``` -------------------------------- ### Two paragraphs grouped with a between border Source: https://ooxml.dev/docs/paragraph-borders Shows two consecutive paragraphs with identical border definitions and a w:between element. Word groups them into a single bordered box, drawing the between border as a horizontal separator between group members. The between border uses w:sz="6" and w:space="1". ```xml ``` -------------------------------- ### ooxml_section Source: https://ooxml.dev/mcp Retrieves a specific section from the ECMA-376 specification by its ID (e.g., '17.3.2' for paragraph properties). ```APIDOC ## ooxml_section ### Description Retrieves a specific section from the ECMA-376 specification by its ID (e.g., '17.3.2' for paragraph properties). ### Method MCP Tool ### Endpoint `ooxml_section` ### Parameters - **section_id** (string) - Required - The section ID to retrieve, e.g., "17.3.2". ### Response Returns the content of the specified section. ### Response Example ```json { "section_id": "17.3.2", "content": "..." } ``` ``` -------------------------------- ### ooxml_attributes Source: https://ooxml.dev/mcp Lists the attributes of an element or complexType. Walks inheritance and unfolds attributeGroup refs recursively. ```APIDOC ## ooxml_attributes ### Description Lists the attributes of an element or complexType. Walks inheritance and unfolds attributeGroup refs recursively. ### Method MCP Tool ### Endpoint `ooxml_attributes` ### Parameters - **qname** (string) - Required - The qualified name of the element or complexType. ### Response Returns a list of attributes. ### Response Example ```json { "qname": "w:CT_R", "attributes": [ "w:rsidR", "w:rsidRPr" ] } ``` ``` -------------------------------- ### ooxml_children Source: https://ooxml.dev/mcp Lists the legal children of an element, complexType, or group in document order. Walks inheritance to union content from base types. ```APIDOC ## ooxml_children ### Description Lists the legal children of an element, complexType, or group in document order. Walks inheritance to union content from base types. ### Method MCP Tool ### Endpoint `ooxml_children` ### Parameters - **qname** (string) - Required - The qualified name of the element, complexType, or group. ### Response Returns a list of child elements in document order. ### Response Example ```json { "qname": "w:CT_Tbl", "children": [ "w:tr", "w:tblPr" ] } ``` ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.