☰
Current Page
Main Menu
Home
Home
Editing XmlStar
Edit
Preview
H1
H2
H3
default
Set your preferred keybinding
default
vim
emacs
markdown
Set this page's format to
Markdown
Plain Text
Pod
RDoc
reStructuredText
Rendering unavailable for
AsciiDoc
BibTeX
Creole
MediaWiki
Org-mode
Textile
Help 1
Help 1
Help 1
Help 2
Help 3
Help 4
Help 5
Help 6
Help 7
Help 8
Autosaved text is available. Click the button to restore it.
Restore Text
--- title: XmlStar --- Notes on common uses for [xmlstarlet][1]. # List attributes for all nodes xmlstarlet sel -t -m '//node' -v @attr1 -o ' ' -v @attr2 -n Explanation: -t: template -m: foreach node /*/node -v: value of @attr1: attribute access -o: output literal string -n: newline Data: <root> <node attr1="foo" attr2="bar"/> <node attr1="feed" attr2="back"/> </root> Output: foo bar feed back # Visual Studio Projects Must specify the namespace. Tidier to predifine it. ``` # -N: predefine namespace xmlstarlet sel -N _=http://schemas.microsoft.com/developer/msbuild/2003 "//_:AdditionalLibraryDirectories" $PROJECT_FILE ``` ## Delete Project References ``` # -L: inplace # -d: delete nodes where the @Include contains $dep dep=$1 xmlstarlet ed -L -N _=http://schemas.microsoft.com/developer/msbuild/2003 -d "//_:ProjectReference[contains(@Include,\"${dep}\")]" $PROJECT_FILE ``` ## Fix projects that don't inherit from parent ``` # -u: update the element # -x: update with expression xmlstarlet ed -P -L -N _=http://schemas.microsoft.com/developer/msbuild/2003 \ -u "//_:AdditionalIncludeDirectories[not(contains(.,\"%(AdditionalIncludeDirectories)\"))]" \ -x "concat(.,\"%(AdditionalIncludeDirectories)\",';')" \ -u "//_:AdditionalLibraryDirectories[not(contains(.,\"%(AdditionalLibraryDirectories)\"))]" \ -x "concat(.,\"%(AdditionalLibraryDirectories)\",';')" \ $* ``` [1]: https://sourceforge.net/p/xmlstar/code/ci/master/tree/ <!-- vim: filetype=markdown -->
Uploading file...
Sidebar
# SideBar * [Home][1] * [Projects][2] * * * <!-- --> * [Code][3] * [Tech][4] * [Network][5] * [MediaCentre][6] * [UAV][7] * * * <!-- --> * [Travel][8] * [Music][9] * [Horse Riding][10] * [Study][11] * [Games][12] * [Other Activities][13] * * * <!-- --> * [Car][14] * [House][15] * [Watch][16] * [Clothing][17] * [Miscellany][18] * * * [1]: /Home [2]: /Projects [3]: /Code/Code [4]: /Tech/Tech [5]: /Network/Network [6]: /MediaCentre/MediaCentre [7]: /UAV/UAV [8]: /Travel/Travel [9]: /Music/Music [10]: /HorseRiding/HorseRiding [11]: /Study/Study [12]: /Games/Games [13]: /Do/Do [14]: /Car/Car [15]: /House/House [16]: /Watch/Watch [17]: /Clothing/Clothing [18]: /Miscellany/Miscellany <!-- vim: filetype=markdown -->
Edit message:
Cancel