User:RailML Coord Common/Tools

From railML 2 Wiki
Jump to navigation Jump to search

In compliance with Dev:Syntactic_Guidelines

Syntax checks

Redundant multiplicities


Xpath for empty nodes

//*[text() and not(normalize-space()) and not(*)]

Content checks

Missing documentation


Only (wiki) links

 //xs:element[not(xs:annotation/xs:documentation[not(starts-with(text(), "See http"))])]

Missing (wiki) links

 //xs:element[not(xs:annotation/xs:documentation[starts-with(text(), "See http")])]

Formatting checks

Find and remove tabulators


Lines not ending with a tag


Lines not starting with a tag

^ *[^ <]

Check indentation

awk "BEGINFILE { indent=0 } /^ *<\/[^>]+>$/ { indent=indent-2 } /[^ ]/ { here=match($0, /</)-1 ; if (indent != here) print FILENAME, \":\", FNR, \":\", $0 } /^ *<[^/!?][^>]*[^/]>$/ { indent=here+2 }" *.xsd


List unmerged revisions in other branches

On Windows command line, from directory you want to merge to

FOR /F %B IN ('svn list .. -r HEAD') DO @FOR /F %R IN ('svn mergeinfo --show-revs eligible ..\%B') DO @ECHO %B%R