2012-03-09 4 views
2

네임 스페이스에 대해 "xmllint --c14n"이 올바르게 작동하는지 확신 할 수 없습니다. 다음 입력을 위해, 내 손으로 만든 기존의 W3C Canonicalization을 구현하면 xmlns : xsi라는 네임 스페이스가 Dcoument-Tag로 풀다운됩니다. 내 기존의 구현에 따라w3c 정규화는 문서 하위 집합에서 어떻게 작동합니까?

<?xml version="1.0" encoding="UTF-8"?> 
<conxml xmlns="urn:conxml:xsd:container.nnn.002" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:conxml:xsd:container.nnn.002 container.nnn.002.xsd"> 
    <MsgPain001> 
    <Document xmlns="urn:swift:xsd:$pain.001.002.02"> 
     <pain.001.001.02> 
     </pain.001.001.02> 
    </Document> 
    </MsgPain001> 
</conxml> 

실제 결과 :

... 
    <Document xmlns="urn:swift:xsd:$pain.001.002.02" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
... 

그러나 --c14n이 작업을 수행하지 않습니다 xmllint가, 그것은

... 
    <Document xmlns="urn:swift:xsd:$pain.001.002.02"> 
... 
가 가

누군가가에 따라 적합한 사람 설명 할 수보고 사양 및 왜?

은 자세한 내용은 다음을 참조하십시오 http://www.w3.org/TR/2001/REC-xml-c14n-20010315#Example-DocSubsets

+0

놀라운 질문이 있으십니까? 내 대답에 대해 의견을 말하십시오. 만족 스러울 때 현상금 점수 아이콘을 클릭하여 점수를받습니다. 포인트를 수여하지 않으면받지 못할 것이지만 어쨌든 질문을 올리는 데 비용이 청구됩니다. http://stackoverflow.com/faq#bounty –

+0

죄송합니다. 잠시 동안 인터넷에 접속하지 않았습니다. 예, 귀하의 의견은 매우 도움이되었지만 여전히 우리쪽에는 확인이 없습니다. – Bastl

+0

현상금을 보상받을 수 있습니까? – Bastl

답변

1

사양 (4.6 절)에 따르면

불필요한 네임 스페이스 선언은 표준 형태로 제조되지 않습니다. schemaLocation 속성이 포함되지 않고, 따라서 스페이스 "불필요한"이다

XSI의이 때문에 "http://www.w3.org/2001/XMLSchema-instance"네임 스페이스는 문서 집합을 나타낼 필요는 없다 .