| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Closes #9297.
|
|
Closes #9303.
|
|
|
|
Closes #9293.
|
|
The PR event doesn't include the actual commits, just a count and a URL
to fetch it.
But we can checkout the entire git history, we don't have so many
commits that we need to optimize this just yet.
And then we might as well use `git` itself to walk the commit history.
(Using the remote commits URL would be useful only if we'd want to do a
shallow clone because we have too many commits)
Signed-off-by: Edwin Török <[email protected]>
|
|
to avoid warnings with some GHC versions.
|
|
|
|
Header and footer references may be absolute in the reference.docx.
E.g. editing it with dotnet's Open-XML-SDK causes this error:
```
+ pandoc test.md -t docx --reference-doc referenceh.docx -o test.docx
word//word/header1.xml missing in reference docx
```
There was already code in pandoc to handle relative vs absolute paths in
references, so use it.
Signed-off-by: Edwin Török <[email protected]>
|
|
|
|
Hopefully. See #9286.
|
|
These styles were going into an office:styles element in content.xml,
but this is invalid. Instead they must go in styles.xml. See #9287.
The variable `highlighting-styles` no longer has any effect on
the default opendocument template, and highlighting styles are
not included in opendocument output.
|
|
This should fix a regression from 3.1.9 that led to incorrect
alignments in tables (and possibly other issues).
Closes #9284.
|
|
* Ensure that chunks not based on sections (those with the
"preamble" class) get unique identifiers, by appending chunk number.
* This will also ensure that they get unique path names when
the path is generated from the identifier.
Closes #9281.
|
|
Suggested at #9279.
|
|
Closes #9279.
|
|
I don't think we need to support IE < 9 any more!
|
|
This CI action has been broken for a long time, giving us false
negatives.
|
|
|
|
|
|
Triggered only when the golden docx or the validator script changes.
Signed-off-by: Edwin Török <[email protected]>
|
|
Fixes #9273
```
[
{
"Description": "The element has unexpected child element 'http://schemas.openxmlformats.org/wordprocessingml/2006/main:b'.",
"Path": {
"NamespacesDefinitions": [
"xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\""
],
"Namespaces": {
},
"XPath": "/w:document[1]/w:body[1]/w:p[1]/w:r[7]/w:rPr[1]",
"PartUri": "/word/document.xml"
},
"Id": "Sch_UnexpectedElementContentExpectingComplex",
"ErrorType": "Schema"
}
]
```
Signed-off-by: Edwin Török <[email protected]>
|
|
The validator just prints errors, but always exited with nonzero.
Signed-off-by: Edwin Török <[email protected]>
|
|
when used with `--natbib` or `--biblatex`. These will treat a
bare number as a page locator, and they will be able to localize
it.
We borrow the code for stripping the locator label from the suffix
from Citeproc code. Note that the recognition of the locator label
is locale-sensitive; if `lang` is `de`, then `S. 33` is a page
reference, and `p. 33` is not!
Closes #9275.
|
|
The argument can apparently be omitted, and then we just have
a fragment URL. Closes #9246.
|
|
`make validate-docx-golden-tests` now passes
Fixes https://github.com/jgm/pandoc/issues/9269
Signed-off-by: Edwin Török <[email protected]>
|
|
Copying `endnotePr` causes validation errors, because it is now
referencing something that doesn't exist in the document:
```
{
"FilePath": "test/docx/golden/custom_style_reference.docx",
"ValidationErrors": "[{\"Description\":\"Element 'w:endnote' referenced by 'endnote@http://schemas.openxmlformats.org/wordprocessingml/2006/main:id' does not exist in part '/MainDocumentPart/EndnotesPart'. The reference value is '0'.\",\"Path\":{\"NamespacesDefinitions\":[\"xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\"],\"Namespaces\":{},\"XPath\":\"/w:settings[1]/w:endnotePr[1]/w:endnote[2]\",\"PartUri\":\"/word/settings.xml\"},\"Id\":\"Sem_MissingReferenceElement\",\"ErrorType\":\"Semantic\"},{\"Description\":\"Element 'w:endnote' referenced by 'endnote@http://schemas.openxmlformats.org/wordprocessingml/2006/main:id' does not exist in part '/MainDocumentPart/EndnotesPart'. The reference value is '-1'.\",\"Path\":{\"NamespacesDefinitions\":[\"xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\"],\"Namespaces\":{},\"XPath\":\"/w:settings[1]/w:endnotePr[1]/w:endnote[1]\",\"PartUri\":\"/word/settings.xml\"},\"Id\":\"Sem_MissingReferenceElement\",\"ErrorType\":\"Semantic\"}]"
}
```
For now don't copy this element, it wasn't copied before, and it doesn't
seem necessary to fix the ordering problems we had with settings.
Fixes: c9bf4da74 ("Docx writer: ensure that elements in settings are ordered correctly.")
Signed-off-by: Edwin Török <[email protected]>
|
|
```
{
"FilePath": "test/docx/golden/tables.docx",
"ValidationErrors": "[{\"Description\":\"The attribute 'http://schemas.openxmlformats.org/wordprocessingml/2006/main:val' has invalid value 'true'. The Enumeration constraint failed.\",\"Path\":{\"NamespacesDefinitions\":[\"xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\"],\"Namespaces\":{},\"XPath\":\"/w:document[1]/w:body[1]/w:tbl[1]/w:tr[1]/w:trPr[1]/w:tblHeader[1]\",\"PartUri\":\"/word/document.xml\"},\"Id\":\"Sch_AttributeValueDataTypeDetailed\",\"ErrorType\":\"Schema\"}]"
}
```
Although this one might actually be a bug in Open-XML-SDK similar to
this, or a subtle difference between standard versions:
https://github.com/dotnet/Open-XML-SDK/issues/780
Signed-off-by: Edwin Török <[email protected]>
|
|
They are equivalent, but OOXML-Validator complains:
```
{
"FilePath": "test/docx/golden/tables_separated_with_rawblock.docx",
"ValidationErrors": "[{\"Description\":\"The attribute 'http://schemas.openxmlformats.org/wordprocessingml/2006/main:val' has invalid value 'start'. The Enumeration constraint failed.\",\"Path\":{\"NamespacesDefinitions\":[\"xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\"],\"Namespaces\":{},\"XPath\":\"/w:document[1]/w:body[1]/w:tbl[2]/w:tblPr[1]/w:jc[1]\",\"PartUri\":\"/word/document.xml\"},\"Id\":\"Sch_AttributeValueDataTypeDetailed\",\"ErrorType\":\"Schema\"},{\"Description\":\"The attribute 'http://schemas.openxmlformats.org/wordprocessingml/2006/main:val' has invalid value 'start'. The Enumeration constraint failed.\",\"Path\":{\"NamespacesDefinitions\":[\"xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\"],\"Namespaces\":{},\"XPath\":\"/w:document[1]/w:body[1]/w:tbl[1]/w:tblPr[1]/w:jc[1]\",\"PartUri\":\"/word/document.xml\"},\"Id\":\"Sch_AttributeValueDataTypeDetailed\",\"ErrorType\":\"Schema\"}]"
}
```
pandoc already uses 'left' elsewhere, so be consistent, we still produce
the transitional schema, not the strict one which would have the 'start'
attribute.
Signed-off-by: Edwin Török <[email protected]>
|
|
From `make validate-docx-golden-tests2`:
```
{
"FilePath": "test/docx/golden/definition_list.docx",
"ValidationErrors": "[{\"Description\":\"The element has unexpected child element 'http://schemas.openxmlformats.org/wordprocessingml/2006/main:i'.\",\"Path\":{\"NamespacesDefinitions\":[\"xmlns:w=\\\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\\\"\"],\"Namespaces\":{},\"XPath\":\"/w:document[1]/w:body[1]/w:p[3]/w:r[3]/w:rPr[1]\",\"PartUri\":\"/word/document.xml\"},\"Id\":\"Sch_UnexpectedElementContentExpectingComplex\",\"ErrorType\":\"Schema\"}]"
},
```
Signed-off-by: Edwin Török <[email protected]>
|
|
xmllint doesn't warn about this (maybe because the tag is empty?), but
the order doesn't match wml.xsd:
```
<w:rPr>
<w:color w:val="007020"/>
<w:b/>
</w:rPr>
```
And OOXMLValidatorCLI does warn about it:
```
{
"Description": "The element has unexpected child element 'http://schemas.openxmlformats.org/wordprocessingml/2006/main:b'.",
"Path": {
"NamespacesDefinitions": [
"xmlns:w=\"http://schemas.openxmlformats.org/wordprocessingml/2006/main\""
],
"Namespaces": {
},
"XPath": "/w:styles[1]/w:style[40]/w:rPr[1]",
"PartUri": "/word/styles.xml"
},
"Id": "Sch_UnexpectedElementContentExpectingComplex",
"ErrorType": "Schema"
}
```
Signed-off-by: Edwin Török <[email protected]>
|
|
Add a validation rule based on OOXML-Validator which uses the
Open-XML-SDK shipped and maintained as part of dotnet.
This catches a few more issues compared to the .xsd.
Unfortunately currently this executable always exits with 0 even when
validation failed. That can be fixed later by invoking it from a script.
Signed-off-by: Edwin Török <[email protected]>
|
|
annotationRef is not valid for `w:rPr`, only for `w:r` according to
wml.xsd.
See https://github.com/jgm/pandoc/issues/9269
Signed-off-by: Edwin Török <[email protected]>
|
|
This detects if a tag gets added/removed, or moves within the hierarchy.
Signed-off-by: Edwin Török <[email protected]>
|
|
Fixes:
```
pandoc-lua-engine> option -j: Could not parse num-threads
pandoc-lua-engine>
pandoc-lua-engine> Usage: test-pandoc-lua-engine [-p|--pattern PATTERN] [-t|--timeout DURATION]
pandoc-lua-engine> [-l|--list-tests] [-j|--num-threads NUMBER]
pandoc-lua-engine> [-q|--quiet] [--hide-successes]
pandoc-lua-engine> [--color never|always|auto] [--ansi-tricks ARG]
pandoc-lua-engine> [--accept] [--no-create] [--size-cutoff n]
pandoc-lua-engine> [--delete-output never|onpass|always]
```
Signed-off-by: Edwin Török <[email protected]>
|
|
These generate "no matching global declaration" so they can't
be validated.
|
|
We only need look at xml files in word.
|
|
The length here seems to refer to length in bytes (so twice as long in
hex):
```
./tmp/numbering-pretty.xml:4: element nsid: Schemas validity error : Element '{http://schemas.openxmlformats.org/wordprocessingml/2006/main}nsid', attribute '{http://schemas.openxmlformats.org/wordprocessingml/2006/main}val': [facet 'length'] The value 'A990' has a length of '2'; this differs from the allowed length of '4'.
```
[This](https://learn.microsoft.com/en-us/dotnet/api/documentformat.openxml.wordprocessing.nsid?view=openxml-2.8.1) also documents the longer values.
Signed-off-by: Edwin Török <[email protected]>
|
|
|
|
|
|
This checks files other than document.xml in a docx container.
Thanks to @edwintorok.
|
|
|
|
|
|
|