☰
Current Page
Main Menu
Home
Home
Editing
XmlStar
Edit
Preview
h1
h2
h3
Keybinding
default
vim
emacs
Markup
Markdown
Plain Text
Pod
RDoc
reStructuredText
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