Microsoft Word(OOXML/DOCX)文档格式验证

Microsoft Word(OOXML/DOCX)文档格式验证,xml,xsd,openxml,docx,xsd-validation,Xml,Xsd,Openxml,Docx,Xsd Validation,有人熟悉OOXML模式吗? 我需要构建一个模式,根据特定的规则验证特定文档的样式,但我找不到特定的引用,甚至找不到可以开始使用的示例。OOXML的引用是。预先警告该规范是复杂的;希望在取得任何进展之前,必须大量阅读/学习OOXML规范和XML技术 另请参见: Word文档通常只是一个简单的段落和表格序列(表格单元格包含段落),尽管您可以使用/nest内容控件对段落进行分组,还有其他更奇特的对象,如AltChunk 您可能感兴趣的其他事项: sectPr(控制页眉/页脚、页面大小/方向等

有人熟悉OOXML模式吗?
我需要构建一个模式,根据特定的规则验证特定文档的样式,但我找不到特定的引用,甚至找不到可以开始使用的示例。

OOXML的引用是。预先警告该规范是复杂的;希望在取得任何进展之前,必须大量阅读/学习OOXML规范和XML技术

另请参见:


Word文档通常只是一个简单的段落和表格序列(表格单元格包含段落),尽管您可以使用/nest内容控件对段落进行分组,还有其他更奇特的对象,如AltChunk

您可能感兴趣的其他事项:

  • sectPr(控制页眉/页脚、页面大小/方向等),因为这表示新的部分/章节

  • 大纲级别

段落样式只是段落的设置。考虑到这种结构,schematron可能并不像docbook或TEI那样有用

但是,通过XSLT将主要文档部分(word/document.xml)转换为更简单的内容可能是一种很好的方法


这完全取决于约束的外观。

“验证样式”-您的意思是“标题1”必须出现在“标题2”之前?你更喜欢哪种编程语言?是的,没错,直到现在我还没有找到合适的样式模式。我不介意,但是java isb很好,我想你需要自己动手。例如:从docx中提取所有段落样式,然后测试每个转换是否符合您的规则。你可以使用docx4j(或者poi,我想是这样)来实现这一点。是的,我听说了这个库(docx4j),我想我将从这一点开始。感谢您的帮助似乎没有用于样式验证的纯xml模式OOXML的样式相关方面的词汇表和语法包含在XSD中。但是,请务必认识到,XSD通常只代表标准规范的一部分。如果您希望检查DOCX文件中与规范相关的所有样式,则必须编写附加代码;单靠XSD验证是不够的。谢谢@kjhughes的帮助。我想我应该从docx4j库开始。如果你喜欢Java,是的,docx4j很好,会非常有用。如果您喜欢XPath,请考虑SimaTalon或XSLT来执行检查。如果您还必须转换输入或根据输入生成报告,XSLT还具有提供强大转换功能的附加优势。