Skip to content

pygeometa.core:pretty-printing XML fails with illegal character - if creation date has '&' #336

Description

@pvgenuchten

Can we provide more background where on yml is the bad character?
Or catch the error?

In below case the error is caused by the '&' character in creation date

Countryside-survey-of-topsoil-in.yml

Failed to create metadata: Countryside-survey-of-topsoil-in.xml/iso19139 not well-formed (invalid token): line 182, column 42 Traceback (most recent call last):
File "/opt/venv/lib/python3.12/site-packages/pygeometa/core.py", line 450, in render_j2_template
return pretty_print(xml)
^^^^^^^^^^^^^^^^^
File "/opt/venv/lib/python3.12/site-packages/pygeometa/core.py", line 403, in pretty_print
val = minidom.parseString(xml)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/xml/dom/minidom.py", line 1995, in parseString
return expatbuilder.parseString(string)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/xml/dom/expatbuilder.py", line 922, in parseString
return builder.parseString(string)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/xml/dom/expatbuilder.py", line 220, in parseString
parser.Parse(string, True)
xml.parsers.expat.ExpatError: not well-formed (invalid token): line 182, column 42

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions