2011-05-16 6 views
0

유효한 UPnP 제어 응답을 따르고 있습니까? 이 문자들을 <OutProfile>의 값으로 이스케이프해야합니까? UPnP device architecture1.1(sec 3.2.4)은 <, & 등의 문자가 포함 된 경우 인수 값을 이스케이프 처리해야한다고 말합니다.하지만 xml 인 경우에는 그렇지 않아야한다고 생각합니다. 누구나이 혼란을 없앨 수있는 표준 문서를 참조 할 수 있습니까? 내 요점은 다음과 같은 경우 이스케이프 된 문자를 사용하는 것이 불필요하며 디버깅을 어렵게 만든다는 것입니다. 그러나 필자는 동료들에 대한 견고한 언급을 통해이 점을 설명해야합니다.XML 태그의 이스케이프 문자를 사용할 수 있습니까? 어떤 경우에?

<?xml version="1.0"?><s:Envelope 
xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" 
s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:SetABCResponse 
xmlns:u="urn:schemas-upnp-org:service:Client:1"><OutProfile>&lt;cProfile&gt; 
&lt;cID&gt;0&lt;/cID&gt; 
&lt;iconPreference&gt; 
    &lt;mimetype&gt;image/bmp&lt;/mimetype&gt; 
    &lt;width&gt;32&lt;/width&gt; 
    &lt;height&gt;32&lt;/height&gt; 
    &lt;depth&gt;24&lt;/depth&gt; 
&lt;/iconPreference&gt; 
&lt;/cProfile&gt; 
</OutProfile></u:SetABCResponse></s:Body></s:Envelope> 
+0

XML API를 사용하여 XML을 작성하기 만하면됩니다. 탈출 규칙이 무엇인지 알 수 있으므로 그렇게하지 않아도됩니다. –

답변

0

먼저 내에서 당신이 원하는 무엇이든을 탈출 할 수 있도록, 당신이 게시 된 XML 문서는 잘 구성된 XML입니다.

둘째, 참조한 PDF 문서의 3.2.4 절을 읽으면 샘플 XML 문서가 해당 UPnP 사양을 위반 한 것으로 추측 할 수 없습니다. (반면에 나는 그것을 읽지 않을 것이기 때문에 그 안에있는 어떤 것에도 부합한다고 말할 수 없다.)

셋째로, <OutProfile>의 내용은 텍스트 노드, 즉 문자열이다.

넷째, 출력 이스케이프 처리없이 추출 및 세리 스타 라이즈되었을 때, 또 다른 형식의 XML 문서입니다.

<?xml version="1.0"?> 
<cProfile> 
<cID>0</cID> 
<iconPreference> 
    <mimetype>image/bmp</mimetype> 
    <width>32</width> 
    <height>32</height> 
    <depth>24</depth> 
</iconPreference> 
</cProfile> 

그래서 다섯 번째로, 동료 개발자가 일부 요구 사항을 잘못 이해 한 것은 아닙니다. 반면에 의사가 왜 이런 식으로 의사를 쓰기를 원하는지에 대한 응용 프로그램의 이유가있을 수 있습니다.

마지막으로 XML 문서에 마크 업을 텍스트 노드로 포함하려는 경우 CDATA 섹션을 사용하는 것이 더 쉽기 때문에 바람직합니다. 반면에, 탈출하는 캐릭터와 함께 가지 않는 어려운 이유는 없습니다.

관련 문제