2012-07-24 3 views
5

xmllint --shell을 사용하여, 나는xmllint ls의 출력 형식은 무엇입니까?

chapter > cat * 
------- 
<title>Getting to Know Penguins</title> 
------- 
<abstract> 
     <para>Penguins are cute.</para> 
    </abstract> 
------- 
<sect1> 
     <title>The Head</title> 
     <para>...</para> 
    </sect1> 
------- 
<sect1 id="penguin.coat"> 
     <title>The Coat</title> 
     <para>...</para> 
    </sect1> 

chapter > ls 
ta-  5  
---  1 title 
ta-  5  
---  3 abstract 
ta-  5  
---  5 sect1 
ta-  5  
c--  17 
ta-  5  
-a-  5 sect1 
ta-  3 

을 실행 무엇 "타", "C"와 "A"에 대한 서서 문자가 무엇을 상징합니까합니까?

답변

2

당신이 찾는 대답은 다음 위치에서 볼 수 있습니다 :

libxml2-2.9.0 :: debugXML.c : 나는 부러했습니다 xmlLsOneNode (파일 * 출력, xmlNodePtr 노드)

: 1652 출력 노드 유형에 따라 아래 두 번째 두 문자는 편의상 "-"로 표시됩니다. 실제로 XML_NAMESPACE_DECL이 아닌 다른 노드 유형의 경우 node-> nsDef가 NULL이 아닌 경우 node-> properties가 NULL이 아니고 세 번째 문자가 "n"이면 두 번째 문자는 "a"입니다. 마지막으로, # NC#는 노드의 자식 수에 대한 자릿수 값을 제안하고, # CL #은 노드의 내용 길이에 대한 자릿수 값을 제안합니다.

 
XML_ELEMENT_NODE: 
---  #NC# [[(node->ns->prefix):](node->name)] 

XML_ATTRIBUTE_NODE: 
a--  #NC# [(node->name)] 

XML_TEXT_NODE: 
t--  #CL# [xmlDebugDumpString(node->content)...|"(NULL)"] 
    * The string value of content up to at most 40 characters with some 
    * substitutions. A space (' ') replaces the whitespace characters 
    * allowed by the XML RFC: (0x20, 0x9, 0xA, 0xD). Any character whose 
    * HEX value is 0x80 or greater is printed as a string: "#XXXX" 


XML_CDATA_SECTION_NODE: 
C--  #CL# 

XML_ENTITY_REF_NODE: 
e--  1 [(node->name)] 

XML_ENTITY_NODE: 
E--  1 [(node->name)] 

XML_PI_NODE: 
p--  #CL# 

XML_COMMENT_NODE: 
c--  #CL# 

XML_DOCUMENT_NODE: 
d--  #NC# 

XML_HTML_DOCUMENT_NODE: 
h--  #NC# 

XML_DOCUMENT_TYPE_NODE: 
T--  1 

XML_DOCUMENT_FRAG_NODE: 
F--  1 

XML_NOTATION_NODE: 
N--  1 

XML_NAMESPACE_DECL: 
n  1 [(node->prefix)|"default"] -> (node->href) 

default: 
?--  1