def testPartXML(self):
        part1 = Document('testdocs/test.docx').part_by_name['/word/document.xml']
        self.assertEquals(
            list(part1.xml().getroot().iterchildren())[0].tag,
            '{http://schemas.openxmlformats.org/wordprocessingml/2006/main}body')
        self.assertEquals(part1.xpath('//@w:val', part1.xml().getroot().nsmap)[2], 'Funotenzeichen')
        part2 = Document('testdocs/test.docx').part_by_name['/[Content_Types].xml']
        xmlns = {'ct': 'http://schemas.openxmlformats.org/package/2006/content-types'}
        self.assertEqual(part2.xpath('/ct:Types/ct:Override/@PartName', xmlns)[0],
                         '/word/document.xml')

        part3 = Document('testdocs/testutf16.docx').part_by_name['/word/document.xml']
        self.assertEquals(
            part3.xml().xpath('//*[local-name() = "lang"]/@*[local-name() = "val"]')[0],
            'en-US')

        part4 = Document('testdocs/testascii.docx').part_by_name['/word/document.xml']
        self.assertEquals(
            part4.xml().xpath('//*[local-name() = "lang"]/@*[local-name() = "val"]')[0],
            'en-US')

        doc5 = Document('testdocs/macros-non-standard.xlsm')
        self.assertEqual(doc5.features.macros[0].name, '/xl/new_name.bin')

        part6 = Document('testdocs/non-standard-namespace.docx').part_by_name['/word/document.xml']
        self.assertEquals(part1.xpath('//@fake:val', part6.xml().getroot().nsmap)[2], 'Funotenzeichen')
Exemple #2
0
    def testPartXML(self):
        part1 = Document(
            'testdocs/test.docx').part_by_name['/word/document.xml']
        self.assertEquals(
            list(part1.xml().getroot().iterchildren())[0].tag,
            '{http://schemas.openxmlformats.org/wordprocessingml/2006/main}body'
        )
        self.assertEquals(
            part1.xpath('//@w:val',
                        part1.xml().getroot().nsmap)[2], 'Funotenzeichen')
        part2 = Document(
            'testdocs/test.docx').part_by_name['/[Content_Types].xml']
        xmlns = {
            'ct':
            'http://schemas.openxmlformats.org/package/2006/content-types'
        }
        self.assertEqual(
            part2.xpath('/ct:Types/ct:Override/@PartName', xmlns)[0],
            '/word/document.xml')

        part3 = Document(
            'testdocs/testutf16.docx').part_by_name['/word/document.xml']
        self.assertEquals(
            part3.xml().xpath(
                '//*[local-name() = "lang"]/@*[local-name() = "val"]')[0],
            'en-US')

        part4 = Document(
            'testdocs/testascii.docx').part_by_name['/word/document.xml']
        self.assertEquals(
            part4.xml().xpath(
                '//*[local-name() = "lang"]/@*[local-name() = "val"]')[0],
            'en-US')

        doc5 = Document('testdocs/macros-non-standard.xlsm')
        self.assertEqual(doc5.features.macros[0].name, '/xl/new_name.bin')

        part6 = Document('testdocs/non-standard-namespace.docx'
                         ).part_by_name['/word/document.xml']
        self.assertEquals(
            part1.xpath('//@fake:val',
                        part6.xml().getroot().nsmap)[2], 'Funotenzeichen')