programing

XML 요소에 대한 표준 명명 규칙이 있습니까?

css3 2023. 10. 7. 12:08

XML 요소에 대한 표준 명명 규칙이 있습니까?

XML 문서에 대해 사실상 또는 다른 방식의 표준이 있습니까?예를 들어 태그를 작성하는 "최상의" 방법은 무엇입니까?

<MyTag />
<myTag />
<mytag />
<my-tag />
<my_tag />

마찬가지로 속성에 대한 열거된 값이 있는 경우 더 나은 값입니다.

<myTag attribute="value one"/>
<myTag attribute="ValueOne"/>
<myTag attribute="value-one"/>

가장 일반적인 값은 camelCase일 것입니다. 즉,

<myTag someAttribute="someValue"/>

특히, 공간은 (2개 사이의 매핑을 요구하는) 공간을 가진 enum을 허용하는 언어가 많지 않기 때문에 (즉, 객체에 대해 xml을 직렬화하는) 코드 생성기와 혼합될 경우 몇 가지 결함을 야기합니다.

XML 명명 규칙

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

참조 http://www.w3schools.com/xml/xml_elements.asp

저는 요소 이름은 TitleCase를, 속성은 camelCase를 선호합니다.둘 다 들어갈 공간이 없습니다.

<AnElement anAttribute="Some Value"/>

그 외에도 XML의 Best Practices에 대해 간단히 검색한 결과 XML 스키마라는 흥미로운 링크를 발견했습니다. 모범 사례.

저에게는 프로그래밍 언어의 코드 스타일을 논하는 것과 같습니다. 어떤 사람들은 스타일을 주장하고, 다른 사람들은 대안을 옹호할 것입니다.제가 본 유일한 의견 일치는 "한 스타일을 선택하고 일관성을 유지하라" 입니다!

많은 XML 방언들이 소문자 이름(SVG, Ant, XHTML...)을 사용한다는 것에 주목합니다.

속성 값에 공백 없음 규칙이 없습니다.어떻게든, 그것은 토론에 "속성에 무엇을 넣을 것이며 텍스트로 무엇을 넣을 것인가?"를 보냅니다.
아마도 다음과 같은 것들이 가장 좋은 예는 아니지만, 속성에 공백을 사용하는 잘 알려진 XML 형식은 다음과 같습니다.

  • XHTML, 특히 클래스 속성(두 개 이상의 클래스를 넣을 수 있음)과 alt 및 title 속성.
  • 경로 태그의 d 속성과 같은 SVG.
  • 스타일 특성이 둘 다...

저는 관행에 반대하는 주장을 완전히 이해하지 못하지만(일부 사용에만 적용되는 것처럼 보입니다), 적어도 합법적이고 꽤 널리 사용되고 있습니다.단점이 있는 것 같아요.

아 그리고 자동마감 슬래시 앞에 공간이 필요없네요 :-)

저는 소문자카멜케이스 태그를 선호하는 경향이 있고, 속성은 일반적으로 콘텐츠가 아닌 데이터 값을 반영해야 하기 때문에, 저는 관심 있는 플랫폼/언어가 무엇이든 변수 이름으로 사용될 수 있는 값을 고수할 것입니다. 즉, 공백을 피하지만 나머지 두 형태는 괜찮을 수 있습니다.

두에 밑줄을 수 ( :<my_tag>) 분리막을 사용하지 않는 대신.참조: http://www.w3schools.com/xml/xml_elements.asp .따라서 w3 학교에 따르면 답은 다음과 같습니다.

<my_tag attribute="some value">

특성 값에는 공간을 허용하지만 요소 태그 이름에는 공간을 허용하지 않으므로 값에 밑줄이나 구분 기호를 사용할 필요가 없습니다.

문서 중심의 많은 XML 방언들은 소문자 기본 라틴어와 대시를 사용합니다.저는 그것에 찬성하는 편입니다.

XML을 프로그래밍 언어 식별자에 직접 매핑하는 코드 생성기는 깨지기 쉬우며 (XAML과 같은 순진한 객체 직렬화를 제외하고) 휴대용 문서 형식에서는 사용하지 않아야 합니다. 재사용과 정보 수명을 최대한 유지하기 위해서 XML은 구현이 아닌 도메인과 일치하도록 시도해야 합니다.

rss는 아마도 세계에서 가장 많이 사용되는 xml 스키마 중 하나일 것이며 camelCaseed입니다.

사양: http://cyber.law.harvard.edu/rss/rss.html

스키마에 노드 특성이 없지만 모든 노드 요소 이름은 camelCaseed입니다.예를 들어,

lastBuildDate 편집기 pubDate관리

저는 보통 XML 명명 규칙을 코드의 다른 부분의 동일한 명명 규칙과 일치시킵니다.그 이유는 XML을 Object에 로드하면 해당 속성과 요소 이름이 현재 프로젝트에서 사용되고 있는 것과 동일한 명명 규칙으로 참조될 수 있기 때문입니다.

예를 들어 camelCase를 사용하는 javascript의 경우 XML에서도 camelCase를 사용합니다.

마이크로소프트는 두 가지 협약을 받아들였습니다.

  1. 구성을 위해 마이크로소프트는 camelCase를 사용합니다.Visual Studio 구성 파일을 봅니다.VS2013의 경우 다음에 저장됩니다.

    C:\Program Files(x86)\Microsoft Visual Studio 12.0\공통7\IDE\devenv.exe.config

예:

<startup useLegacyV2RuntimeActivationPolicy="true">
  <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
  1. 마이크로소프트도 XAML에 UpperCase를 사용합니다. HTML과 차별화를 위해서라고 생각합니다.

예:

<MenuItem Header="Open..." Command="ApplicationCommands.Open">
    <MenuItem.Icon>
        <Image Source="/Images/folder-horizontal-open.png" />
    </MenuItem.Icon>
</MenuItem>

명시적인 권장 사항은 없습니다.XHTML용인 W3C의 다른 권장사항에 따라 소문자를 선택했습니다.

4.2. 요소와 속성 이름은 소문자여야 합니다.

XHTML 문서는 모든 HTML 요소와 속성 이름에 소문자를 사용해야 합니다.XML은 대소문자를 구분하기 때문에 이러한 차이가 필요합니다. 예를 들어 <li>와 <LI>는 서로 다른 태그입니다.

XML 명명 규칙

XML 요소는 다음과 같은 명명 규칙을 따라야 합니다.

  • 이름은 문자, 숫자 및 기타 문자를 포함할 수 있습니다.
  • 이름은 숫자 또는 구두점 문자로 시작할 수 없습니다.
  • 이름은 xml(또는 XML 또는 XML 등) 문자로 시작할 수 없습니다.
  • 이름은 공백을 포함할 수 없습니다. 어떤 이름도 사용할 수 있으며, 어떤 단어도 예약되어 있지 않습니다.

출처 : W3 학교

저는 좋은 접근법을 찾기 위해 많은 검색을 해왔고, 이 스레드와 다른 것들도 읽었고 하이픈을 사용하는 것에 투표할 것입니다.

ARIA(https://developer.mozilla.org/de/docs/Web/Barrierefreiheit/ARIA )에서 널리 사용되며, 이는 많은 소스 코드에서 볼 수 있으므로 일반적입니다.여기서 이미 지적된 바와 같이, 이는 분명히 허용되며, 이는 여기서도 설명됩니다: Using - in XML 요소 이름

또한 부가적인 이점으로서:CSS와 함께 HTML을 작성할 때는 이름이 하이픈을 구분자로 사용하는 클래스가 기본적으로 있는 경우가 많습니다.CSS 클래스를 사용하는 사용자 지정 태그 또는 CSS 클래스를 사용하는 태그에 대한 사용자 지정 속성이 있다면 다음과 같습니다.

<custom-tag class="some-css-class">

더 일관성이 있고 제 의견으로는 다음과 같은 것보다 훨씬 더 좋은 것으로 읽힙니다.

<customTag class="some-css-class">

언급URL : https://stackoverflow.com/questions/442529/is-there-a-standard-naming-convention-for-xml-elements