mirror of
				https://github.com/Theodor-Springmann-Stiftung/lenz-web.git
				synced 2025-10-31 02:05:32 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			23 lines
		
	
	
		
			445 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			445 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env bash
 | |
| # Usage: ./list_tags_and_attrs.sh file.xml
 | |
| 
 | |
| if [[ -z "$1" ]]; then
 | |
|   echo "Usage: $0 file.xml" >&2
 | |
|   exit 1
 | |
| fi
 | |
| 
 | |
| FILE="$1"
 | |
| 
 | |
| # 1. list all unique tags
 | |
| tags=($(xmlstarlet el -v "$FILE" | awk -F/ '{print $NF}' | sort -u))
 | |
| 
 | |
| for tag in "${tags[@]}"; do
 | |
|   echo "$tag"
 | |
|   # 2. for each tag, list all attribute values
 | |
|   xmlstarlet sel -t \
 | |
|     -m "//$tag/@*" \
 | |
|     -v '.' -n "$FILE" \
 | |
|   | sort -u \
 | |
|   # 3. deduplicate via sort -u
 | |
| done
 | 
