User:RailML Coord Common/Tools: Difference between revisions
Jump to navigation
Jump to search
(SVN) |
m (Ferri Leberl moved page User:Thomas Nygreen/Tools to User:RailML Coord Common/Tools: Automatically moved page while renaming the user "Thomas Nygreen" to "RailML Coord Common") |
||
(2 intermediate revisions by one other user not shown) | |||
Line 8: | Line 8: | ||
=== Xpath for empty nodes === | === Xpath for empty nodes === | ||
//*[text() and not(normalize-space()) and not(*)] | //*[text() and not(normalize-space()) and not(*)] | ||
== Content checks == | |||
=== Missing documentation === | |||
//xs:element[not(xs:annotation/xs:documentation)] | |||
//xs:attribute[not(xs:annotation/xs: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 == | == Formatting checks == | ||
Line 21: | Line 33: | ||
=== Check indentation === | === Check indentation === | ||
"BEGINFILE { indent=0 } /^ *<\/[^>]+>$/ { indent=indent-2 } /[^ ]/ { here=match($0, /</)-1 ; if (indent != here) print FILENAME, \":\", FNR, \":\", $0 } /^ *<[^/!?][^>]*[^/]>$/ { indent=here+2 }" *.xsd | awk "BEGINFILE { indent=0 } /^ *<\/[^>]+>$/ { indent=indent-2 } /[^ ]/ { here=match($0, /</)-1 ; if (indent != here) print FILENAME, \":\", FNR, \":\", $0 } /^ *<[^/!?][^>]*[^/]>$/ { indent=here+2 }" *.xsd | ||
== SVN == | == SVN == |
Latest revision as of 19:46, 15 December 2022
In compliance with Dev:Syntactic_Guidelines
Syntax checks
Redundant multiplicities
(min|max)Occurs="1" use="optional"
Xpath for empty nodes
//*[text() and not(normalize-space()) and not(*)]
Content checks
Missing documentation
//xs:element[not(xs:annotation/xs:documentation)] //xs:attribute[not(xs:annotation/xs: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
\t
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
SVN
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