name: Demos
on:
    push:
        branches:
            - master
    pull_request:
        branches:
            - master

jobs:
    build:
        name: Build
        runs-on: ubuntu-latest
        steps:
            - name: Checkout Repo
              uses: actions/checkout@master
            - name: Install Dependencies
              run: npm ci
            - name: Build
              run: npm run build
            - name: Archive Production Artifact
              uses: actions/upload-artifact@master
              with:
                  name: build
                  path: build
    demos:
        name: Run Demos and Validate
        needs: [build]
        runs-on: ubuntu-latest
        steps:
            - name: Checkout Repo
              uses: actions/checkout@master
            - name: Install Dependencies
              run: npm ci
            - name: Download Artifact
              uses: actions/download-artifact@master
              with:
                  name: build
                  path: build
            - name: Run Demo
              run: npm run ts-node -- ./demo/1-basic.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/2-declaritive-styles.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/3-numbering-and-bullet-points.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/4-basic-table.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/5-images.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/6-page-borders.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/7-landscape.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/8-header-footer.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/9-images-in-header-and-footer.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/10-my-cv.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/11-declaritive-styles-2.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/12-scaling-images.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/13-xml-styles.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/14-page-numbers.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/15-page-break-before.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/16-multiple-sections.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/17-footnotes.ts
            - name: Extract Word Document
              run: npm run extract
            # element r: Schemas validity error : Element '{http://schemas.openxmlformats.org/wordprocessingml/2006/main}r': This element is not expected.
            # - name: Validate XML
            #   uses: ChristophWurst/xmllint-action@v1
            #   with:
            #     xml-file: build/extracted-doc/word/document.xml
            #     xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/18-image-from-buffer.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/19-export-to-base64.ts
            # Base 64 No longer works, abruptly. Node issue?
            # - name: Extract Word Document
            #   run: npm run extract
            # - name: Validate XML
            #   uses: ChristophWurst/xmllint-action@v1
            #   with:
            #       xml-file: build/extracted-doc/word/document.xml
            #       xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/20-table-cell-borders.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/21-bookmarks.ts
            - name: Extract Word Document
              run: npm run extract
            # Bad ID - need numeric ID
            # - name: Validate XML
            #   uses: ChristophWurst/xmllint-action@v1
            #   with:
            #     xml-file: build/extracted-doc/word/document.xml
            #     xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/22-right-to-left-text.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/23-base64-images.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/24-images-to-table-cell.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/25-table-xml-styles.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/26-paragraph-borders.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/27-declaritive-styles-3.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/28-table-of-contents.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/29-numbered-lists.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/30-template-document.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/31-tables.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/32-merge-and-shade-table-cells.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/33-sequential-captions.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/34-floating-tables.ts
            - name: Extract Word Document
              run: npm run extract
            # element tblpPr: Schemas validity error : Element '{http://schemas.openxmlformats.org/wordprocessingml/2006/main}tblpPr', attribute 'overlap': The attribute 'overlap' is not allowed.
            # element tblpPr: Schemas validity error : Element '{http://schemas.openxmlformats.org/wordprocessingml/2006/main}tblpPr': Element content is not allowed, because the content type is empty.
            # - name: Validate XML
            #   uses: ChristophWurst/xmllint-action@v1
            #   with:
            #     xml-file: build/extracted-doc/word/document.xml
            #     xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/35-hyperlinks.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/36-image-to-table-cell.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/37-images-to-header-and-footer.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/38-text-wrapping.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/39-page-numbers.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/40-line-numbers.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/41-merge-table-cells-2.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/42-restart-page-numbers.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/43-images-to-table-cell-2.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/44-multiple-columns.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/45-highlighting-text.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/46-shading-text.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/47-number-of-total-pages-section.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/48-vertical-align.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/49-table-borders.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/50-readme-demo.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/51-character-styles.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/52-japanese.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/53-chinese.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/54-custom-properties.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/55-math.ts
            - name: Extract Word Document
              run: npm run extract
            #: element subHide: Schemas validity error : Element '{http://schemas.openxmlformats.org/officeDocument/2006/math}subHide': This element is not expected. Expected is ( {http://schemas.openxmlformats.org/officeDocument/2006/math}ctrlPr ).
            #: element e: Schemas validity error : Element '{http://schemas.openxmlformats.org/officeDocument/2006/math}e': This element is not expected. Expected is ( {http://schemas.openxmlformats.org/officeDocument/2006/math}sub ).
            #: element e: Schemas validity error : Element '{http://schemas.openxmlformats.org/officeDocument/2006/math}e': This element is not expected. Expected is ( {http://schemas.openxmlformats.org/officeDocument/2006/math}sup ).
            #: element e: Schemas validity error : Element '{http://schemas.openxmlformats.org/officeDocument/2006/math}e': This element is not expected. Expected is ( {http://schemas.openxmlformats.org/officeDocument/2006/math}sub ).
            # - name: Validate XML
            #   uses: ChristophWurst/xmllint-action@v1
            #   with:
            #     xml-file: build/extracted-doc/word/document.xml
            #     xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/56-background-color.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/57-add-parent-numbered-lists.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/58-section-types.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/59-header-footer-margins.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/60-track-revisions.ts
            - name: Extract Word Document
              run: npm run extract
            # element r: Schemas validity error : Element '{http://schemas.openxmlformats.org/wordprocessingml/2006/main}r': This element is not expected.
            # - name: Validate XML
            #   uses: ChristophWurst/xmllint-action@v1
            #   with:
            #     xml-file: build/extracted-doc/word/document.xml
            #     xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/61-text-frame.ts
            - name: Extract Word Document
              run: npm run extract
            # element left: Schemas validity error : Element '{http://schemas.openxmlformats.org/wordprocessingml/2006/main}left': This element is not expected. Expected is one of ( {http://schemas.openxmlformats.org/wordprocessingml/2006/main}right, {http://schemas.openxmlformats.org/wordprocessingml/2006/main}between, {http://schemas.openxmlformats.org/wordprocessingml/2006/main}bar ).
            # - name: Validate XML
            #   uses: ChristophWurst/xmllint-action@v1
            #   with:
            #     xml-file: build/extracted-doc/word/document.xml
            #     xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/62-paragraph-spacing.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/63-odd-even-header-footer.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/64-complex-numbering-text.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/65-page-sizes.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/66-fields.ts
            - name: Extract Word Document
              run: npm run extract
            # element bookmarkStart: Schemas validity error : Element '{http://schemas.openxmlformats.org/wordprocessingml/2006/main}bookmarkStart', attribute '{http://schemas.openxmlformats.org/wordprocessingml/2006/main}id': '-irrswq-ln94j4fdgdjxs' is not a valid value of the atomic type '{http://schemas.openxmlformats.org/wordprocessingml/2006/main}ST_DecimalNumber'.
            # element bookmarkEnd: Schemas validity error : Element '{http://schemas.openxmlformats.org/wordprocessingml/2006/main}bookmarkEnd', attribute '{http://schemas.openxmlformats.org/wordprocessingml/2006/main}id': '-irrswq-ln94j4fdgdjxs' is not a valid value of the atomic type '{http://schemas.openxmlformats.org/wordprocessingml/2006/main}ST_DecimalNumber'.
            # - name: Validate XML
            #   uses: ChristophWurst/xmllint-action@v1
            #   with:
            #     xml-file: build/extracted-doc/word/document.xml
            #     xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/67-column-break.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/68-numbering-instances-and-starting-number.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/69-different-width-columns.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/70-line-numbers-suppression.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd
            - name: Run Demo
              run: npm run ts-node -- ./demo/71-page-borders-2.ts
            - name: Extract Word Document
              run: npm run extract
            - name: Validate XML
              uses: ChristophWurst/xmllint-action@v1
              with:
                  xml-file: build/extracted-doc/word/document.xml
                  xml-schema-file: ooxml-schemas/microsoft/wml-2010.xsd