2012-07-24 12 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 

を実行どのような "TA"、 "C" と "" のために立って、そして文字が何を表しているかしていますか?

答えて

2

あなたが求める答えは次の場所に提供されています:

libxml2-2.9.0 :: debugXML.c:1652:xmlLsOneNode(FILE *の出力、xmlNodePtrノード)

私が壊れました以下の2文字は便宜上「 - 」で示されていることに注意してください。実際には、XML_NAMESPACE_DECL以外のすべてのノードタイプでは、node-> nsDefがNULLでない場合、node-> propertiesがNULLでなく、3番目の文字が "n"であれば2番目の文字は "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