XML 문서에서 줄 바꿈에 민감하게 반응하는 것이 '나쁜 관행'인가요?

XML 문서를 생성하고 있는데 주소 부분에 다음과 같은 조각이 있습니다:

<Address>15 Sample St
Example Bay
Some Country</Address>

이를 XHTML로 변환하기 위해 제가 사용하는 XSLT에는 문자열 내의 개행 문자를
태그로 변환하는 펑키한 재귀 템플릿이 있습니다.

이 모든 것이 정상적으로 작동하지만 XML 문서 내에서 줄 바꿈에 의존하는 것이 '나쁜 관행'으로 간주되나요? 그렇다면 대신 이렇게 하는 것이 권장되나요?

<Address><Line>15 Sample St</Line>
<Line>Example Bay</Line>
<Line>Some Country</Line></Address>

텍스트가 여러 줄일 수 있는 모든 곳을 그런 태그로 감싸는 것은 정말 어색할 것 같아서요.

해결책

39 에 의존하고 있기 때문에 잘못된 관행을 it& it& # 39 의 효시로 여겨지고 있다) 는 깨지기 쉬운 방법은 데이터 차별화합니다 줄 바꿈. 대부분의 XML 프로세서는 넣을 수 있는 # 39 의 공백을 보존할 수 있는 XML, it& 보장할 수 없음.

진짜 문제는 대부분의 응용 프로그램은 사용자 상호 교환, XML 형식을 읽을 수 있는 모든 것을 출력입니다 XML 로 축소 및 그 공백을 고려해보십시오 지정값이 줄 바꿈 하나의 공간. Xslt 는 왜 당신 that& # 39 의 데이터를 통해 건너뛰려면 렌더링하려는 등 여러 비판을 받아왔다. &Quot 사용하여 br"; 태그 다시그것들을 크게 간편해집니다 변형.

또 다른 잠재적 문제는 이 경우 XML 문서에 열고 있는 XML 에디터 기능과 예쁜 인쇄하십시오. you& # 39, re 손실됩니다 줄바꿈을 그 가능성이 높다.

줄 바꿈 사용하는 경우, 추가, xml, 공간 = &quot preserve&quot 렉시한테서 smartupdate. 속성을 &quot address."; (Rec.601 할 수 있는 dtd 의 경우, 이 중 하나를 사용하여 you& # 39, re).

  • 일부 제안됩니다 판독값 *

&gt. Take a xml 응용 프로그램에 자주 보인다. &gt. 카발리에 태도를 공백 &gt. 이 곳에 대한 규칙 때문에 &gt. 여기서 공백을 xml 문서를 &gt. 이러한 일이 가끔 열거하십시오 doesn& # 39, t &gt. 추가 또는 무료 애플리케이션 관리 &gt. 어떤 공백을 제거할 수 있다.

해설 (0)

어떤 속성을 사용하여 데이터를 저장하는 데 대한 아닌 텍스트 노드입니다:

그러니까말이야 사용할 수 있지만, ve I& # 39 는 보통 논쟁을 속성뿐 vs. 텍스트 노드입니다 주제라서요 고정된 특성이 있는 haven& 95% # 39 시간, t, 그것 때문에 아무런 것이다.

해설 (0)

줄 바꿈 유지할 수 있게 블록을 몇 명이 CDATA 밝혔다. 이는 잘못된. CDATA 단면에는 처리될 수 있도록 그칠 줄 바꿈 없는 그들이 불지윽으로 , 변경하십시오 수정표시 문자 데이터 처리.

15 Sample St
Example Bay
Some Country

것과 같습니다.

다만 이 api 는 각기 다른 보고서를.

해설 (0)

유일한 진짜 문제는 XML을 읽기 어렵게 만든다는 점이라고 생각합니다.




            15 Sample St
Example Bay
Some Country


예쁜 XML이 문제가 되지 않는다면, 아마 작동하는 한 걱정하지 않을 것입니다. 예쁜 XML이 신경 쓰인다면 명시적 개행은 <br /> 태그 또는 \n으로 변환한 후 XML에 포함시킬 것입니다.

해설 (0)

XML을 읽고 쓰는 방식에 따라 다릅니다.

XML이 자동으로 생성되는 경우, 즉 개행이나 명시적 \n 플래그가
로 파싱되는 경우라면 걱정할 필요가 없습니다. 입력에 다른 XML이 포함되어 있지 않을 가능성이 높으므로 XML을 전혀 건드리지 않는 것이 더 깔끔합니다.

태그를 수동으로 작업하는 경우에도 줄 바꿈만 사용하는 것이 더 깔끔합니다.

예외는 DOM을 사용하여 XML에서 일부 구조를 가져오는 경우입니다. 이 경우 줄 바꿈은 계층 구조를 제대로 나타내지 못하기 때문에 분명히 악입니다. 하지만 계층 구조가 애플리케이션과 관련이 없는 것처럼 들리므로 줄 바꿈으로 충분합니다.

XML이 보기에 좋지 않은 경우(특히 자동으로 생성된 경우), Tidy가 도움이 될 수 있지만, 이 도구는 XML보다 HTML에서 더 잘 작동합니다.

해설 (0)

Xml 세부 항목에 대해 하고 싶은 얘기가 말하도다 [공백] [1] 및 [linefeed 및 캐리지 리턴 특히] [2]. 네가 만일 제한값 (true 로 교도관님도요 linefeed 확인을 합니다. (하지만) 많은 편집 도구 (x0A) 는 XML 의 더 나은 presentation&quot 재적용됩니다 "; 이 특수한 구문을 없앨 수 있습니다. 보다 더 강력한, 청정 외곽진입 &quot <; line&gt <; / line&gt "; 아이디어 및 embed XHTML 컨텐트에서 약간만이라도 단순히 네임스페이스을 사용 예:

15 Sample St<br />Example Bay<br />Some Country

표준 단어장 측면에서 볼 때, 모든 것을 직접 개발할 필요는 없습니다.

[1]: http://www.w3.org/TR/xml/ # 초 공백 [2]: http://www.w3.org/TR/xml/ # 삼성전자는 motor1.1end 선

해설 (0)

이것은 아마도 이 사건 이후 주소는 조금 기만적 acrobatconnectcentral. 조금 비 정규화된. 그러나 이후 상관 관계를 정상화하는 것이 합리적인 주소 필드 어렵습니다.

39, re un 정상화 you& 줄바꿈을 할 경우 주요 정보를 전달하는 의미를 해석하는 우체국 만들어 줄 바꿈.

일반적으로 이 있지만, 이 경우 큰 문제가 없을 것이라고 말하고 싶습니다 어떻게 줄 수 있는 가장 정확한 태그번호 때문에, 실제로 어떻게 해석할 수 없는 명시적으로 fs@snapa don& # 39 의 흐름선 짓궂군요 다른 문화권. (즉, 대부분의 양식을 주소가 우편번호, 주소 입력 등 1 호선과 2.)

이 선은 보통 XML, 그동안 함께 있기 때문에 많은 논쟁을 알아차릴 태그번호 그때그들은 http://support. 코딩 호러. http://www.codinghorror.com/blog/archives/001139.html

해설 (0)

내가 don& # 39, t, s # 39 을 (를) ',' line&gt what& 지켜보리니 &lt, 잘못된 것이다. 언뜻 보면, 데이터 시각화 여러분에게 중요한 의미를 갖는 만큼 중요한 유지하기 위해 고객의 데이터 (줄 바꿈) 를 통해 자신의 첫 번째 사례). 괜찮아요. 그럼 정말 렉시한테서 해버린다는거, don& # 39, t, magic&quot &quot 의존하고 있습니다. 유지하기 위해 당신꺼에요. # 39 의 및 can& 나중에 필요한 모든 데이터를 계속 약어입니다 you&, ll, t # 39 에서 저장된 데이터 부분을 완벽하게 추론, 계속 해도 it& # 39 의 데이터 시각화 (줄바꿈 및 기타 서식). 사용자 (최종 사용자 다른 개발자) 가 그의 대로 해당 데이터를 포맷하십시오 시간 - 이거 녹음되는거지 인컨텍스트 API (doc 근처에 / 문자 입력) 를 don& # 39, t, 또는 - 그냥 계속 유지하는 것이 정보기술 (it) 에 있는 것이 특징이다.

해설 (0)

예, CDATA 블록을 사용하면 공백을 보호할 수 있다고 생각합니다. 일부 구문 분석기 API를 사용하면 공백을 보존할 수 있습니다.

해설 (0)

내가 추천하는 ',' 을 추가하거나, br/&gt &lt 합니다 혹시 라인 브레이크 '-'; # x000D &amp 엔티티에는 사용할 줄 바꿈.

해설 (0)

네 정말 는 XML 형식으로 변환하는 유지하고 있는 공백 너희는너희가 수행해야 합니다.

그래서, gt, lt, br /&amp 교체할 수 있는 대신 \n 말라실로 &amp. 블록 전체를 감싸기, gt, lt, pre&amp &amp 인할지 합니다.

기능적으로 이쪽요 너회의 주소는 아니했으니 (줄 바꿈 포함시키십시오 작성하든지 방관하겠나) 과 스스틀 공백 유지할지 여부를 선택할 수 있는 결과를 얻을 수 있습니다.

해설 (0)

줄 바꿈 사용할 경우, 이를 [트와이크트 기도하였나니] (need your 아니했으니 CDATA 블록, https://stackoverflow.com/questions/7277/is-it-bad-practice-to-be-sensitive-to-linebreaks-in-xml-documents # 7280)

그렇지 않으면 조심하시오. 대부분의 경우 줄 바꿈 보존되는 소프트웨어, 단, t, 때로는 won& # 39 에서 XML, you really want to be 도움 t # 39 don& 것들로 우연히 사용할 수 있습니다.

해설 (0)