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.... " />
그러나 우리는 자체 XML 파서를 가지고 있고 첫 번째 예제가 올바른 형식의 XML에서 허용되는지 알고 싶습니다.
http://www.w3.org/TR/REC-xml/#NT-AttValue
제외한 모든 말을 것 같은데 <
, &
하고 구분 기호 ( '
나 "
)는 OK입니다. 그래서 개행도 있어야합니다.
허용되지만 W3C 권장 사항에 따라 XML 파서는 모든 공백 문자를 공백 (0x20)으로 정규화해야합니다. 따라서 예제의 출력이 달라집니다 ( "& # 13; & # 10에 대한 출력에 새 줄이 있어야합니다. ; ", 첫 번째 경우에는 공백 만).
http://www.w3.org/TR/1998/REC-xml-19980210#AVNormalize
.NET 만 해당 : 대상 문자열이 유효한 xml 속성인지 확실하지 않은 경우 (코드를 통해이 속성의 값을 제공) 항상 SecurityElement.Escape 함수를 사용 하여 잘못된 문자를 이스케이프 할 수 있습니다 .
이 함수의 설명에 따르면 유효하지 않은 문자는 다음과 같습니다.
<
, >
, &
, '
,"
그리고 이것은 (내 전임자들이 썼 듯이), 그 새 줄은 괜찮아 야 함을 의미합니다.
네, 첫 번째 예는 유효한 것입니다.
참고 URL : https://stackoverflow.com/questions/449627/are-line-breaks-in-xml-attribute-values-allowed
'code' 카테고리의 다른 글
CSS 필터 만 사용하여 검은 색을 특정 색상으로 변환하는 방법 (0) | 2020.09.14 |
---|---|
크로스 플랫폼 모바일 개발에서 어떤 작업이 수행 되었습니까? (0) | 2020.09.14 |
Enzyme / React 테스트에서 언제 Render and Shallow를 사용해야합니까? (0) | 2020.09.14 |
pip 및 virtualenv를 시스템 전체에 설치하는 공식 "선호"방법은 무엇입니까? (0) | 2020.09.14 |
Log.INFO 대 Log.DEBUG [종료 됨] (0) | 2020.09.14 |