function xml-validate & "C:\tools\xmllint.exe" --noout --valid $args[0]
.\xmllint --valid .\config.xml 2>&1 | Select-String "error" The output hit like a puzzle piece clicking into place: xmllint for windows
She could manually hunt for the bug, but that meant scanning thousands of lines of nested <Transaction> , <Party> , and obscure <AdjustmentReasonCode> tags. Or she could spin up a Linux VM and wait 15 minutes. function xml-validate & "C:\tools\xmllint