code

XML 특성 값의 줄 바꿈이 허용됩니까?

starcafe 2023. 10. 10. 20:46
반응형

XML 특성 값의 줄 바꿈이 허용됩니까?

우아하거나 원하는 것은 아니지만 XML 요소의 속성 값이 여러 줄에 걸쳐 있는 것이 (잘 형성된 XML에서) 허용됩니까?

예.

<some-xml-element value="this value goes over....
multiple lines!" />

네, 더 좋은 글을 쓰는 방법이 있다는 것을 압니다.저는 개인적으로 이렇게 쓰고 싶습니다.

<some-xml-element>
<value>this value goes over...
multiple lines!</value>
</some-xml-element>

또는:

<some-xml-element value="this value goes over....&#13;&#10;" />

하지만 우리는 자체 XML 파서를 가지고 있는데 첫 번째 예제가 제대로 된 XML에 허용되는지 알고 싶습니다.

http://www.w3.org/TR/REC-xml/ #NT-Att 값

모든 것을 말하는 것 같아요.<,&, 구분 기호()를 입력합니다.'아니면")는 괜찮습니다.그래서 새로운 라인도 그래야 합니다.

그러나 W3C 권장 사항에 따라 XML 구문 분석기는 모든 공백 문자를 공백(0x20)으로 정규화해야 합니다. 따라서 예제의 출력이 다릅니다("&#13;&#10;"의 경우 출력에 새 줄이 있어야 하지만 첫 번째 경우에는 공백만 있어야 합니다).

http://www.w3.org/TR/1998/REC-xml-19980210#AVNormalize

.NET 전용:target string이 유효한 xml 속성인지(코드를 통해 이 속성의 값을 제공하는지) 확실하지 않으면 SecurityElement를 항상 사용할 수 있습니다.잘못된 문자를 탈출하는 이스케이프 함수입니다.

이 함수에 대한 설명에 따르면 유효하지 않은 문자는 다음과 같습니다.

<,>,&,',"

그리고 이것은 (선배님들이 쓰셨듯이) 새로운 선은 괜찮아야 한다는 것을 의미합니다.

네, 첫번째 예는 유효한 예입니다.

언급URL : https://stackoverflow.com/questions/449627/are-line-breaks-in-xml-attribute-values-allowed

반응형