XML 문서에 대한 표준, 사실상 또는 다른 것이 있습니까? 예를 들어 태그를 작성하는 "가장 좋은"방법은 무엇입니까?
<MyTag />
<myTag />
<mytag />
<my-tag />
<my_tag />
마찬가지로 더 나은 속성에 대한 열거 값이 있다면
<myTag attribute="value one"/>
<myTag attribute="ValueOne"/>
<myTag attribute="value-one"/>
XML 문서에 대한 표준, 사실상 또는 다른 것이 있습니까? 예를 들어 태그를 작성하는 "가장 좋은"방법은 무엇입니까?
<MyTag />
<myTag />
<mytag />
<my-tag />
<my_tag />
마찬가지로 더 나은 속성에 대한 열거 값이 있다면
<myTag attribute="value one"/>
<myTag attribute="ValueOne"/>
<myTag attribute="value-one"/>
답변:
가장 일반적인 값은 camelCased-즉
<myTag someAttribute="someValue"/>
특히, 많은 언어가 공백이있는 열거 형을 허용하지 않기 때문에 (둘 사이의 매핑을 요구하는) 코드 생성기와 혼합하면 공백이 몇 가지 결함을 유발합니다 (즉, XML을 객체로 [비 직렬화]).
- Element names are case-sensitive
- Element names must start with a letter or underscore
- Element names cannot start with the letters xml(or XML, or Xml, etc)
- Element names can contain letters, digits, hyphens, underscores, and periods
- Element names cannot contain spaces
모든 이름을 사용할 수 있으며 단어는 예약되지 않습니다 (xml 제외).
- Create descriptive names, like this: <person>, <firstname>, <lastname>.
- Create short and simple names, like this: <book_title> not like this: <the_title_of_the_book>.
- Avoid "-". If you name something "first-name", some software may think you want to subtract "name" from "first".
- Avoid ".". If you name something "first.name", some software may think that "name" is a property of the object "first".
- Avoid ":". Colons are reserved for namespaces (more later).
- Non-English letters like éòá are perfectly legal in XML, but watch out for problems if your software doesn't support them.
XML 요소에 대해 정의 된 이름 지정 스타일이 없습니다. 그러나 다음은 일반적으로 사용되는 몇 가지입니다.
- Lower case <firstname> All letters lower case
- Upper case <FIRSTNAME> All letters upper case
- Underscore <first_name> Underscore separates words
- Pascal case <FirstName> Uppercase first letter in each word
- Camel case <firstName> Uppercase first letter in each word except the first
저에게 이것은 프로그래밍 언어의 코드 스타일에 대해 논의하는 것과 같습니다. 일부는 스타일을 주장하고 다른 일부는 대안을 옹호합니다. 내가 본 유일한 합의는 "하나의 스타일을 선택하고 일관성을 유지하라"는 것입니다!
많은 XML 방언이 소문자 이름 (SVG, Ant, XHTML ...)을 사용한다는 점에 주목합니다.
"속성 값에 공백 없음"규칙이 없습니다. 어떻게 든, 그것은 "속성에 무엇을 넣고 무엇을 텍스트로 넣을 것인가?"라는 토론에 보냅니다.
이것이 최선의 예는 아니지만 속성에 공백을 사용하는 잘 알려진 XML 형식이 있습니다.
나는 관행에 대한 주장을 완전히 이해하지 못하지만 (일부 용도에만 적용되는 것처럼 보임) 적어도 합법적이며 상당히 널리 사용됩니다. 분명히 단점이 있습니다.
아, 그리고 자동으로 닫히는 슬래시 앞에 공백이 필요하지 않습니다. :-)
요소 이름에는 TitleCase를, 속성에는 camelCase를 선호합니다. 둘 다 공백이 없습니다.
<AnElement anAttribute="Some Value"/>
제쳐두고, 저는 XML의 Best Practices를 빠르게 검색 한 후 다소 흥미로운 링크 인 XML schemas : Best Practices를 찾았습니다 .
나는 소문자 또는 카멜 케이스 태그 를 선호하는 경향이 있으며 속성은 일반적으로 콘텐츠가 아닌 데이터 값을 반영해야하기 때문에 관심이있는 플랫폼 / 언어에서 변수 이름으로 사용할 수있는 값을 고수합니다. 즉, 공백을 피하고 다른 두 가지 형태 가 괜찮을 수 있습니다
주관적이지만 요소 태그에 두 단어가있는 경우 <my_tag>
구분 기호를 사용하지 않고 단어 사이에 밑줄 (예 :)을 추가하여 가독성을 높일 수 있습니다 . 참조 : http://www.w3schools.com/xml/xml_elements.asp . 따라서 w3schools에 따르면 대답은 다음과 같습니다.
<my_tag attribute="some value">
속성 값에는 공백이 허용되지만 요소 태그 이름에는 허용되지 않으므로 값에는 밑줄이나 구분 기호를 사용할 필요가 없습니다.
rss는 아마도 세계에서 가장 많이 사용되는 xml 스키마 중 하나이며 camelCased입니다.
사양은 다음과 같습니다. http://cyber.law.harvard.edu/rss/rss.html
스키마에 노드 속성이 없지만 모든 노드 요소 이름은 camelCased입니다. 예를 들면 :
lastBuildDate managedEditor pubDate
일반적으로 XML 명명 규칙을 코드의 다른 부분에서 동일한 명명 규칙에 맞 춥니 다. 그 이유는 XML을 Object에로드 할 때 해당 속성과 요소 이름이 현재 프로젝트에서 사용되는 동일한 명명 규칙으로 참조 될 수 있기 때문입니다.
예를 들어 자바 스크립트가 camelCase를 사용하는 경우 XML도 camelCase를 사용합니다.
Microsoft는 다음 두 가지 규칙을 채택합니다.
구성을 위해 Microsoft는 camelCase를 사용 합니다. . Visual Studio 구성 파일을 살펴보십시오. VS2013의 경우 다음 위치에 저장됩니다.
C : \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ devenv.exe.config
예:
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
예:
<MenuItem Header="Open..." Command="ApplicationCommands.Open">
<MenuItem.Icon>
<Image Source="/Images/folder-horizontal-open.png" />
</MenuItem.Icon>
</MenuItem>
XML 명명 규칙
XML 요소는 다음 이름 지정 규칙을 따라야합니다.
출처 : W3 School
나는 좋은 접근 방식을 많이 찾고 있었고이 스레드와 다른 스레드를 읽고 하이픈 사용에 투표 할 것 입니다.
ARIA ( https://developer.mozilla.org/de/docs/Web/Barrierefreiheit/ARIA ) 에서 광범위하게 사용 되며 많은 소스 코드에서 볼 수 있으므로 일반적입니다. 여기에서 이미 지적했듯이 확실히 허용되며 여기에서도 설명합니다. Using-in XML element name
또한 부수적 인 이점 : CSS와 함께 HTML을 작성할 때 이름이 기본적으로 구분 기호로 하이픈을 사용하는 클래스도 있습니다. 이제 CSS 클래스를 사용하는 사용자 정의 태그가 있거나 CSS 클래스를 사용하는 태그에 대한 사용자 정의 속성이있는 경우 다음과 같습니다.
<custom-tag class="some-css-class">
더 일관되고 읽습니다-내 겸손한 의견으로는-다음보다 훨씬 좋습니다.
<customTag class="some-css-class">