tidy コマンドで XML を整形して出力する
XML をファイルとして保存して、 -xml
, -indent
オプションで整形できる
tidy -xml -indent ./myfile.xml
-xml
オプション
- input するファイルのフォーマットが XML であることを指定
-indent
オプション
- 各要素をインデントして出力する
manual
TIDY(1) TIDY(1)
NAME
tidy - validate, correct, and pretty-print HTML files
SYNOPSIS
tidy [option ...] [file ...] [option ...] [file ...]
DESCRIPTION
Tidy reads HTML, XHTML and XML files and writes cleaned up markup.
For HTML varians, it detects and corrects many common coding errors and strives to produce visually equivalent markup that is both W3C complaint and works on most browsers.
A common use of Tidy is to convert plain HTML to XHTML.
For generic XML files, Tidy is limited to correcting basic well-formedness errors and pretty printing.
If no markup file is specified, Tidy reads the standard input.
If no output file is specified, Tidy writes markup to the standard output.
If no error file is specified, Tidy writes messages to the standard error.
OPTIONS
Processing directives
-indent or -i to indent element content
-omit to omit optional end tags
-wrap <column> to wrap text at the specified <column> (default is 68)
-upper or -u to force tags to upper case (default is lower case)
-clean or -c to replace FONT, NOBR and CENTER tags by CSS
-bare or -b to strip out smart quotes and em dashes, etc.
-numeric or -n to output numeric rather than named entities
-errors or -e to only show errors
-quiet or -q to suppress nonessential output
-xml to specify the input is well formed XML
-asxml to convert HTML to well formed XHTML
-asxhtml to convert HTML to well formed XHTML
-ashtml to force XHTML to well formed HTML
-access <level>
to do additional accessibility checks (<level> = 1, 2, 3)
Character encodings
-raw to output values above 127 without conversion to entities
-ascii to use US-ASCII for output, ISO-8859-1 for input
-latin1 to use ISO-8859-1 for both input and output
-iso2022 to use ISO-2022 for both input and output
-utf8 to use UTF-8 for both input and output
-mac to use MacRoman for input, US-ASCII for output
-utf16le to use UTF-16LE for both input and output
-utf16be to use UTF-16BE for both input and output
-utf16 to use UTF-16 for both input and output
-win1252 to use Windows-1252 for input, US-ASCII for output
-big5 to use Big5 for both input and output
-shiftjis to use Shift_JIS for both input and output
-language <lang>
to set the two-letter language code <lang> (for future use)
File manipulation
-output or -o <file>
to write output to the specified <file>
-f <file> to write errors to the specified <file>
-config <file> to set configuration options from the specified <file>
-modify or -m to modify the original input files
Miscellaneous
-version or -v to show the version of Tidy
-help, -h or -?
to list the command line options
-help-config to list all configuration options
-show-config to list the current configuration settings
USAGE
Use --blah blarg for any configuration option "blah" with argument "blarg"
Input/Output default to stdin/stdout respectively Single letter options apart from -f and -o may be combined as in: tidy -f errs.txt -imu foo.html
For further info on HTML see http://www.w3.org/MarkUp
For more information about HTML Tidy, visit the project home page at http://tidy.sourceforge.net. Here, you will find links to documentation, mail-
ing lists (with searchable archives) and links to report bugs.
ENVIRONMENT
HTML_TIDY Name of the default configuration file. This should be an absolute path, since you will probably invoke tidy from different directo-
ries. The value of HTML_TIDY will be parsed after the compiled-in default (defined with -DCONFIG_FILE), but before any of the files
specified using -config.
EXIT STATUS
0 All input files were processed successfully.
1 There were warnings.
2 There were errors.
SEE ALSO
HTML Tidy Project Page at http://tidy.sourceforge.net
Dave Raggett's Tidy Overview at http://www.w3.org/People/Raggett/tidy/
Tidy Quick Reference at http://tidy.sourceforge.net/docs/quickref.html
For information about TidyLib, see http://tidy.sourceforge.net/libintro.html
AUTHORS
Dave Raggett <dsr@w3.org>.
Terry Teague <terry_teague@users.sourceforge.net>.
Bjoern Hoehrmann <bjoern@hoehrmann.de>
Charles Reitzel <creitzel@rcn.com>
This manual page was written by Matej Vela <vela@debian.org> and updated by Charles Reitzel.
December 1, 2002 TIDY(1)
実行例
https://samltool.io/ で公開されている SAML レスポンスを
saml.xml
として保存% tidy -xml -indent ./saml.xml No warnings or errors were found. <samlp:Response xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ID="_621c4c4ae5d60c768cc2" Version="2.0" IssueInstant="2014-10-14T14:32:17Z" Destination="https://app.auth0.com/tester/samlp"> <saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"> urn:matugit.auth0.com</saml:Issuer> <samlp:Status> <samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success" /> </samlp:Status> <saml:Assertion xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" Version="2.0" ID="_5VK7LT7FliUkkaQuW6r4brF0DG5E3X76" IssueInstant="2014-10-14T14:32:17.251Z"> <saml:Issuer>urn:matugit.auth0.com</saml:Issuer> <Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> <SignedInfo> <CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" /> <Reference URI="#_5VK7LT7FliUkkaQuW6r4brF0DG5E3X76"> <Transforms> <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /> <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>ZDkfGO3H1Tu50hawzQVjsACzJwc=</DigestValue> </Reference> </SignedInfo> <SignatureValue> 1Fgpt7AaHcME2gTA158achvGQVqDwHSHsHF3/a5s7djeO1AaZ84Gz5eiWD+cdIz6hoT1j2v/7Qtfj5bsMNxulBnSzfL4TT4++AK/zFO4ad2mwABFjMMNiogwwT3tzy3aRwjgSfl3VKESoz3Zp8KL/JNm/TRKz95TD7H6WnfKZoLwErGzNw6gVs1y9XYxIEg46GzUb07g23TFmrv3wHlx2TpKUN/ne4Z28KAQzXqVyykJVaKQ/gbBNC/8AQKlol8fLGSheOKQ0vgEE1vFnVVCEmp30YapdKeWW2qcqHb7Oqdm+9b2mOUkqbaxH5ixBbYaqZaQCt5WF4P5BxnMe4Bp8w==</SignatureValue> <KeyInfo> <X509Data> <X509Certificate> MIIDODCCAiCgAwIBAgIJAN7O9hef05RJMA0GCSqGSIb3DQEBBQUAMBwxGjAYBgNVBAMTEW1hdHVnaXQuYXV0aDAuY29tMB4XDTEzMDYxNjEzMjQwNloXDTI3MDIyMzEzMjQwNlowHDEaMBgGA1UEAxMRbWF0dWdpdC5hdXRoMC5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQD8kEfEcLiyMK0q4E4xT/mglcXsf9oCWdTjB0vswFXQPCDgUk5daJmO4oRrCIuWgtChDyMc5M5MTexqrCntQlKpnexkzDxCvPX/IRJstjJDSH+WXljRYDbXTgAZAjjjAKqDBIeUWaw1FcUy3SOmQVtyUdfjXNqLzxKS8SUWYY3Ia6PT/uoUjUFmUuJEFpBlB79GW+Tv/ZidY53gHyhEYOBzm1vKZS1vtPfxxpBqu7Vkf+5lq3RYjuoVUYN03TIJveaa7BBL0je8z7UvvOGgrGuodSKHneq7ueex4OCscCJZbK7MlfbmFiuSniVCg/yMrx/okDme38sOXH1A/zJu2lYpAgMBAAGjfTB7MB0GA1UdDgQWBBQL3cuDXNXu4USrpv44dzfGyHIXDTBMBgNVHSMERTBDgBQL3cuDXNXu4USrpv44dzfGyHIXDaEgpB4wHDEaMBgGA1UEAxMRbWF0dWdpdC5hdXRoMC5jb22CCQDezvYXn9OUSTAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQCAtAmKHoX7OerzFUQ0Ojrg9C1uzT6fOLIlXyaDswk2tLE6ftFhSiVzT1TtgTFv2o6IA47tW6bqL7t6Z5JN/L8cno+kxeKOgPz2CvbUTJmtROvFV/TDkFsYmFJZ8+6nZOAtXRZPWFpa6KE4Lc5+7J94sX2AiYPFCnXRvZGMhJ6qtc+jh54QEIlxZtkxWUBGs2fhOQm+Ux0uy1qxSzhp3lmvNa79KdvmQirSitDovyidalpwX750WGNfQoISe94e3clWa4uKXgZ7AYmhd1w4kNs7seFdtvCcqQJrKYT2cBTINztL6SeqeF/xC//lGDo9UJic4pcrqj1P3WGHYIslOWBQ</X509Certificate> </X509Data> </KeyInfo> </Signature> <saml:Subject> <saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"> github|175880</saml:NameID> <saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"> <saml:SubjectConfirmationData NotOnOrAfter="2014-10-14T15:32:17.251Z" Recipient="https://app.auth0.com/tester/samlp" /> </saml:SubjectConfirmation> </saml:Subject> <saml:Conditions NotBefore="2014-10-14T14:32:17.251Z" NotOnOrAfter="2014-10-14T15:32:17.251Z"> <saml:AudienceRestriction> <saml:Audience>urn:foo</saml:Audience> </saml:AudienceRestriction> </saml:Conditions> <saml:AttributeStatement xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <saml:Attribute Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier"> <saml:AttributeValue xsi:type="xs:anyType"> github|175880</saml:AttributeValue> </saml:Attribute> <saml:Attribute Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"> <saml:AttributeValue xsi:type="xs:anyType"> matiasw@gmail.com</saml:AttributeValue> </saml:Attribute> <saml:Attribute Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name"> <saml:AttributeValue xsi:type="xs:anyType">Matias Woloski</saml:AttributeValue> </saml:Attribute> <saml:Attribute Name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn"> <saml:AttributeValue xsi:type="xs:anyType"> matiasw@gmail.com</saml:AttributeValue> </saml:Attribute> <saml:Attribute Name="http://schemas.auth0.com/identities/default/access_token"> <saml:AttributeValue xsi:type="xs:anyType"> 3a7d0dfeffe12812c37112daa830abef570089b4</saml:AttributeValue> </saml:Attribute> <saml:Attribute Name="http://schemas.auth0.com/identities/default/provider"> <saml:AttributeValue xsi:type="xs:anyType"> github</saml:AttributeValue> </saml:Attribute> <saml:Attribute Name="http://schemas.auth0.com/identities/default/connection"> <saml:AttributeValue xsi:type="xs:anyType"> github</saml:AttributeValue> </saml:Attribute> <saml:Attribute Name="http://schemas.auth0.com/identities/default/isSocial"> <saml:AttributeValue xsi:type="xs:anyType"> true</saml:AttributeValue> </saml:Attribute> </saml:AttributeStatement> <saml:AuthnStatement AuthnInstant="2014-10-14T14:32:17.251Z"> <saml:AuthnContext> <saml:AuthnContextClassRef> urn:oasis:names:tc:SAML:2.0:ac:classes:unspecified</saml:AuthnContextClassRef> </saml:AuthnContext> </saml:AuthnStatement> </saml:Assertion> </samlp:Response> To learn more about HTML Tidy see http://tidy.sourceforge.net Please send bug reports to html-tidy@w3.org HTML and CSS specifications are available from http://www.w3.org/ Lobby your company to join W3C, see http://www.w3.org/Consortium
この記事を試した環境
% sw_vers
ProductName: Mac OS X
ProductVersion: 10.15.7
BuildVersion: 19H114
% tidy -version
HTML Tidy for Mac OS X released on 31 October 2006 - Apple Inc. build 17.2