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>
텍스트가 여러 줄일 수 있는 모든 곳을 그런 태그로 감싸는 것은 정말 어색할 것 같아서요.
8
12
39 에 의존하고 있기 때문에 잘못된 관행을 it& it& # 39 의 효시로 여겨지고 있다) 는 깨지기 쉬운 방법은 데이터 차별화합니다 줄 바꿈. 대부분의 XML 프로세서는 넣을 수 있는 # 39 의 공백을 보존할 수 있는 XML, it& 보장할 수 없음.
진짜 문제는 대부분의 응용 프로그램은 사용자 상호 교환, XML 형식을 읽을 수 있는 모든 것을 출력입니다 XML 로 축소 및 그 공백을 고려해보십시오 지정값이 줄 바꿈 하나의 공간. Xslt 는 왜 당신 that& # 39 의 데이터를 통해 건너뛰려면 렌더링하려는 등 여러 비판을 받아왔다. &Quot 사용하여 br"; 태그 다시그것들을 크게 간편해집니다 변형.
또 다른 잠재적 문제는 이 경우 XML 문서에 열고 있는 XML 에디터 기능과 예쁜 인쇄하십시오. you& # 39, re 손실됩니다 줄바꿈을 그 가능성이 높다.
줄 바꿈 사용하는 경우, 추가, xml, 공간 = " preserve" 렉시한테서 smartupdate. 속성을 " address."; (Rec.601 할 수 있는 dtd 의 경우, 이 중 하나를 사용하여 you& # 39, re).
>. Take a xml 응용 프로그램에 자주 보인다. >. 카발리에 태도를 공백 >. 이 곳에 대한 규칙 때문에 >. 여기서 공백을 xml 문서를 >. 이러한 일이 가끔 열거하십시오 doesn& # 39, t >. 추가 또는 무료 애플리케이션 관리 >. 어떤 공백을 제거할 수 있다.
어떤 속성을 사용하여 데이터를 저장하는 데 대한 아닌 텍스트 노드입니다:
그러니까말이야 사용할 수 있지만, ve I& # 39 는 보통 논쟁을 속성뿐 vs. 텍스트 노드입니다 주제라서요 고정된 특성이 있는 haven& 95% # 39 시간, t, 그것 때문에 아무런 것이다.
줄 바꿈 유지할 수 있게 블록을 몇 명이 CDATA 밝혔다. 이는 잘못된. CDATA 단면에는 처리될 수 있도록 그칠 줄 바꿈 없는 그들이 불지윽으로 , 변경하십시오 수정표시 문자 데이터 처리.
것과 같습니다.
다만 이 api 는 각기 다른 보고서를.
유일한 진짜 문제는 XML을 읽기 어렵게 만든다는 점이라고 생각합니다.
예쁜 XML이 문제가 되지 않는다면, 아마 작동하는 한 걱정하지 않을 것입니다. 예쁜 XML이 신경 쓰인다면 명시적 개행은
<br />
태그 또는\n
으로 변환한 후 XML에 포함시킬 것입니다.XML을 읽고 쓰는 방식에 따라 다릅니다.
XML이 자동으로 생성되는 경우, 즉 개행이나 명시적 \n 플래그가
로 파싱되는 경우라면 걱정할 필요가 없습니다. 입력에 다른 XML이 포함되어 있지 않을 가능성이 높으므로 XML을 전혀 건드리지 않는 것이 더 깔끔합니다.
태그를 수동으로 작업하는 경우에도 줄 바꿈만 사용하는 것이 더 깔끔합니다.
예외는 DOM을 사용하여 XML에서 일부 구조를 가져오는 경우입니다. 이 경우 줄 바꿈은 계층 구조를 제대로 나타내지 못하기 때문에 분명히 악입니다. 하지만 계층 구조가 애플리케이션과 관련이 없는 것처럼 들리므로 줄 바꿈으로 충분합니다.
XML이 보기에 좋지 않은 경우(특히 자동으로 생성된 경우), Tidy가 도움이 될 수 있지만, 이 도구는 XML보다 HTML에서 더 잘 작동합니다.
Xml 세부 항목에 대해 하고 싶은 얘기가 말하도다 [공백] [1] 및 [linefeed 및 캐리지 리턴 특히] [2]. 네가 만일 제한값 (true 로 교도관님도요 linefeed 확인을 합니다. (하지만) 많은 편집 도구 (x0A) 는 XML 의 더 나은 presentation" 재적용됩니다 "; 이 특수한 구문을 없앨 수 있습니다. 보다 더 강력한, 청정 외곽진입 " <; line> <; / line> "; 아이디어 및 embed XHTML 컨텐트에서 약간만이라도 단순히 네임스페이스을 사용 예:
표준 단어장 측면에서 볼 때, 모든 것을 직접 개발할 필요는 없습니다.
[1]: http://www.w3.org/TR/xml/ # 초 공백 [2]: http://www.w3.org/TR/xml/ # 삼성전자는 motor1.1end 선
이것은 아마도 이 사건 이후 주소는 조금 기만적 acrobatconnectcentral. 조금 비 정규화된. 그러나 이후 상관 관계를 정상화하는 것이 합리적인 주소 필드 어렵습니다.
39, re un 정상화 you& 줄바꿈을 할 경우 주요 정보를 전달하는 의미를 해석하는 우체국 만들어 줄 바꿈.
일반적으로 이 있지만, 이 경우 큰 문제가 없을 것이라고 말하고 싶습니다 어떻게 줄 수 있는 가장 정확한 태그번호 때문에, 실제로 어떻게 해석할 수 없는 명시적으로 fs@snapa don& # 39 의 흐름선 짓궂군요 다른 문화권. (즉, 대부분의 양식을 주소가 우편번호, 주소 입력 등 1 호선과 2.)
이 선은 보통 XML, 그동안 함께 있기 때문에 많은 논쟁을 알아차릴 태그번호 그때그들은 http://support. 코딩 호러. http://www.codinghorror.com/blog/archives/001139.html
내가 don& # 39, t, s # 39 을 (를) ',' line> what& 지켜보리니 <, 잘못된 것이다. 언뜻 보면, 데이터 시각화 여러분에게 중요한 의미를 갖는 만큼 중요한 유지하기 위해 고객의 데이터 (줄 바꿈) 를 통해 자신의 첫 번째 사례). 괜찮아요. 그럼 정말 렉시한테서 해버린다는거, don& # 39, t, magic" " 의존하고 있습니다. 유지하기 위해 당신꺼에요. # 39 의 및 can& 나중에 필요한 모든 데이터를 계속 약어입니다 you&, ll, t # 39 에서 저장된 데이터 부분을 완벽하게 추론, 계속 해도 it& # 39 의 데이터 시각화 (줄바꿈 및 기타 서식). 사용자 (최종 사용자 다른 개발자) 가 그의 대로 해당 데이터를 포맷하십시오 시간 - 이거 녹음되는거지 인컨텍스트 API (doc 근처에 / 문자 입력) 를 don& # 39, t, 또는 - 그냥 계속 유지하는 것이 정보기술 (it) 에 있는 것이 특징이다.
예, CDATA 블록을 사용하면 공백을 보호할 수 있다고 생각합니다. 일부 구문 분석기 API를 사용하면 공백을 보존할 수 있습니다.
내가 추천하는 ',' 을 추가하거나, br/> < 합니다 혹시 라인 브레이크 '-'; # x000D & 엔티티에는 사용할 줄 바꿈.
네 정말 는 XML 형식으로 변환하는 유지하고 있는 공백 너희는너희가 수행해야 합니다.
그래서, gt, lt, br /& 교체할 수 있는 대신 \n 말라실로 &. 블록 전체를 감싸기, gt, lt, pre& & 인할지 합니다.
기능적으로 이쪽요 너회의 주소는 아니했으니 (줄 바꿈 포함시키십시오 작성하든지 방관하겠나) 과 스스틀 공백 유지할지 여부를 선택할 수 있는 결과를 얻을 수 있습니다.
줄 바꿈 사용할 경우, 이를 [트와이크트 기도하였나니] (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& 것들로 우연히 사용할 수 있습니다.