Dreamweaver 확장: 타사 태그 파싱 사용자 정의
최근 Dreamweaver 플러그인을 개발하다 보니 중국어 자료도 거의 없고, 영어 자료를 확인해보면 서툴다는 느낌이 듭니다. 어지러운. 중요한 내용을 중국어로 번역하고 나니 읽을 때 마음이 훨씬 상쾌해졌습니다. 이 발췌문은 Dreamweaver 8과 함께 제공되는 "Dreamweaver 8 확장"에서 발췌한 것입니다. 번역할 때 Xiakedao가 번역한 "Dreamweaver 4 중국어 도움말"을 참조했습니다. 하지만 솔직히 말하면 도움말의 일부가 Kingsoft Translation과 같은 소프트웨어를 사용하여 번역된 것인지 의심스럽습니다. 어쨌든 영어보다 읽기가 어렵습니다.
ASP, Macromedia ColdFusion, JSP 및 PHP와 같은 서버측 기술은 HTML 파일에서 HTML이 아닌 특수한 구문을 사용하며 서버는 이러한 코드를 기반으로 HTML 형식의 콘텐츠를 생성하고 제공합니다. Dreamweaver가 HTML이 아닌 태그를 감지하면 Dreamweaver는 이러한 태그를 읽고 표시하는 방법을 지정하는 타사 태그 정의 파일을 호출하여 태그를 비교합니다.
예를 들어 ASP 파일에는 표준 HTML 언어 외에도 서버가 구문 분석할 ASP 코드도 포함되어 있습니다. ASP 코드는 HTML 태그와 유사하게 보입니다. 태그 쌍은 여는 <%와 닫는 %>로 표시됩니다. Dreamweaver의 Configuration/ThirdPartyTags 폴더에는 Tags.xml이라는 파일이 있습니다. 이 파일은 ASP를 포함한 다양한 타사 태그 사양을 설명하고 Dreamweaver에서 이러한 코드를 표시하는 방법을 정의하는 데 사용됩니다. 이 접근 방식을 사용하면 ASP 코드가 Tags.xml에서 표준화되었으므로 Dreamweaver에서는 더 이상 <%...%> 사이의 코드를 구문 분석하지 않습니다. 그러나 디자인 보기에서는 이것이 ASP 코드임을 나타내는 아이콘이 표시됩니다. 자신만의 태그를 정의하고 각 태그 세트에 대해 새 태그 라이브러리 파일을 만들어 Dreamweaver에서 태그를 읽고 표시하는 방법을 지정할 수 있습니다.
참고: 이 섹션에서는 Dreamweaver에서 사용자 정의 레이블을 표시하는 방법을 정의하는 방법을 설명하지만 사용자 정의 레이블의 내용이나 속성을 편집하는 방법은 설명하지 않습니다. 사용자 정의 레이블의 속성을 검사하고 수정하기 위해 속성 관리자를 만드는 방법에 대한 자세한 내용은 속성 관리자를 참조하십시오.
각 태그 라이브러리 파일은 하나 이상의 사용자 정의 태그의 이름, 유형, 컨텐츠 모드, 표시 사양 및 아이콘을 정의합니다. 태그 라이브러리 파일은 원하는 만큼 만들 수 있지만 Dreamweaver에서 읽고 처리하려면 해당 파일이 Configuration/ThirdPartyTags 폴더에 있어야 합니다. 태그 라이브러리 파일은 .xml 파일 확장자를 사용합니다.
팁: 동시에 여러 다른 웹사이트에서 작업하는 경우(프리랜서라고 가정) 모든 태그 사양을 파일에 정의하고 나중에 다른 사람이 사용할 수 있도록 특수 사이트에 저장할 수 있습니다. 누군가 사이트를 관리할 때, 사용자 정의 아이콘과 속성 관리자를 포함한 전체 태그 라이브러리를 넘겨줄 수 있습니다.
tagspec이라는 XML 태그를 사용하여 태그 사양을 정의해야 합니다. 예를 들어, 다음 코드는 happy라는 태그 사양을 나타냅니다.
<tagspec tag_name="happy" tag_type="nonempty" render_contents="false" content_model="marker_model" icon="happy.gif" icon_width="18" icon_height="18"></tagspec>
tagspec을 사용하여 정의할 수 있습니다. 두 종류의 라벨:
·HTML 형식의 공통 태그
happy 태그 예제는 HTML 형식의 일반 태그입니다. <happy> 태그로 시작하고, 여는 태그와 닫는 태그 사이에 데이터를 포함하며, </happy> 태그로 끝납니다.
·문자열로 구분된 태그 문자열로 구분된 태그는 내용이나 닫는 태그를 포함하지 않는다는 점에서 HTML 빈 태그(예: img)와 유사합니다. happy도 문자열로 구분된 태그인 경우 해당 정의 사양에는 start_string 및 end_string이라는 두 가지 속성이 포함되어야 합니다. ASP 태그는 모두 문자열로 구분된 태그이며 <%로 시작하고 %>로 끝나며 닫는 태그가 없습니다.
다음 정보에는 tagspec 태그의 다양한 속성과 유효한 값이 나열되어 있습니다. 별표("*")가 있는 속성은 문자열로 구분된 태그에 적용할 수 없음을 나타내며, 선택적 속성은 중괄호({})로 표시되어 있습니다. 중괄호로 표시되지 않은 다른 속성이 필요하다는 것을 추론하는 것은 어렵지 않습니다. 속성.
<tagspec>
타사 태그
tag_name, {tag_type}, {render_contents}, {content_model}, {start_string}, {end_string}, {Detect_in_attribute}, {parse_attributes}, icon, icon_width, icon_height, {
에 대한 기본 정보속성을
설명합니다
.Equivalent_tag}, {is_visual}, {server_model}
tag_name은 사용자 정의 이름을 나타냅니다. 문자열로 구분된 태그의 경우 tag_name은 특정 속성 검사기가 태그에 적용 가능한지 여부를 확인하는 데에만 사용됩니다. 속성 검사기의 첫 번째 줄에 적합한 위치(사실 선언의 첫 번째 줄)에 태그 이름이 포함되어 있고 별표("*")로 표시된 경우 검사자는 유형 라벨을 검사할 수 있습니다. . 예를 들어 ASP 코드의 태그 이름은 ASP입니다. ASP 코드 검사를 허용하는 검사기의 첫 번째 줄에는 *ASP*가 포함되어야 합니다. 속성 검사기 API에 대한 자세한 내용은 속성 검사기를 참조하세요.
tag_type은 태그가 비어 있는지(앞서 언급한 img와 같이) 또는 콘텐츠가 여는 태그와 닫는 태그 사이에 배치되도록 허용하는지(예: code 태그) 결정합니다. 이 속성은 일반(문자열로 구분되지 않은) 태그에 필요하지만 문자열로 구분된 태그는 항상 비어 있으므로 영향을 미치지 않습니다. 유효한 값에는 "empty" 및 "nonempty"가 포함됩니다.
render_contents는 라벨이 디자인 보기에 콘텐츠를 표시할지, 아니면 특정 아이콘으로 바꿀지 여부를 결정합니다. 이 속성은 비어 있지 않은 태그에만 필요하며 빈 태그에는 영향을 미치지 않습니다(빈 태그 자체에는 표시할 콘텐츠가 없습니다). 이 속성은 속성 외부에 삽입된 태그에만 적용됩니다. 다른 태그의 속성값에 태그를 삽입하면 해당 내용이 표시되지 않습니다. (이 문단은 이해하기가 좀 어렵습니다. RealMedia, Flash 등의 개체를 생각하고 있습니다. . 해당 param 태그 안에? 유효한 값은 "true" 또는 "false"입니다.
content_model은 이 태그에 포함될 수 있는 콘텐츠 종류와 이 태그를 HTML 파일에 삽입할 수 있는 위치를 설명합니다. 유효한 값은 "block_model", "head_model", "marker_model", "script_model"입니다.
·block_model은 태그가 div, p 등의 블록 개체를 포함할 수 있고 태그가 본문 영역에만 나타날 수 있음을 의미합니다. 또는 div, 레이어 및 td와 같은 다른 본문 콘텐츠 태그에 삽입됩니다.
·head_model은 레이블이 텍스트만 포함할 수 있고 HEAD 범위에만 나타날 수 있음을 의미합니다.
·marker_model은 태그가 유효한 HTML 코드를 포함할 수 있고 HTML 파일 내의 어느 곳에나 위치할 수 있음을 의미합니다. Dreamweaver에 내장된 HTML 유효성 검사기는 marker_model로 정의된 태그를 무시합니다. 그러나 이러한 태그에 포함된 콘텐츠는 유효성 검사기에서 무시되지 않으므로 태그 자체는 어디에나 배치할 수 있지만 해당 콘텐츠는 HTML의 일부 부분에서 오류를 일으킬 수 있습니다. 예를 들어 문서의 헤드 영역에는 일반 텍스트(법적 헤드 요소 제외)가 나타날 수 없으므로 헤드 영역에 일반 텍스트가 포함된 marker_model 태그를 배치할 수 없습니다. 태그의 콘텐츠 모델 marker_model이 head_model로 대체됨) marker_model을 사용하는 태그는 한 줄(p 또는 div와 같은 블록 요소 내, 예를 들어 단락 내)에 표시됩니다. 태그가 자체 단락을 표시하도록 하려면 태그 앞과 뒤에 빈 줄을 남겨두세요. 이 모드를 사용하지 않는 것이 좋습니다.
·script_model을 사용하면 이 태그를 문서 내의 HTML 태그 사이 어디에나 배치할 수 있습니다. Dreamweaver가 이 모드를 사용하여 태그를 감지하면 태그의 모든 내용이 무시됩니다. Dreamweaver에서는 이러한 태그(예: 특정 ColdFusion 태그)를 사용할 때 구문 분석하지 않습니다.
start_string은 문자열로 구분된 레이블의 시작점으로 구분 기호를 지정합니다. 문자열로 구분된 레이블은 주석을 삽입할 수 있는 모든 위치에 배치할 수 있습니다. Dreamweaver에서는 start_string과 end_string 사이의 코드를 구문 분석, 인코딩 또는 연결하지 않습니다. 이 속성은 end_string이 정의된 경우 필요합니다.
end_string은 문자열로 구분된 레이블의 끝점으로 구분 기호를 지정합니다. 또한 start_string이 정의된 경우에도 이 속성이 필요합니다.
discover_in_attribute는 이 코드 사이에 속성이나 값이 삽입되는지 여부에 관계없이 start_string과 end_string 사이(또는 이 두 문자열이 정의되지 않은 경우 시작 태그와 끝 태그 사이)의 모든 코드를 무시할지 여부를 지정합니다. 기본값은 "false"이지만 일반적으로 문자열로 구분된 태그에서는 이 값을 "true"로 설정해야 합니다. 예를 들어 ASP 태그 사양에서는 discover_in_attribute="true"를 지정하므로 ASP 태그 내부에 속성 값이 포함된 따옴표가 있더라도 Dreamweaver에서는 이를 무시합니다.
parse_attributes는 태그의 속성을 구문 분석할지 여부를 나타냅니다. "true"(기본값)로 설정하면 Dreamweaver는 이러한 속성을 구문 분석하고, "false"로 설정하면 Dreamweaver는 따옴표 밖의 ">" 앞에 있는 모든 코드를 무시합니다. 예를 들어, cfif와 같은 태그에서는 이 속성을 "false"로 설정해야 합니다. 왜냐하면 Dreamweaver에서는 <cfif a is 1>과 같은 태그를 속성 이름/값 쌍으로 구문 분석할 수 없기 때문입니다.
아이콘은 이 레이블과 일치하는 아이콘의 경로와 파일 이름을 지정합니다. 이 속성은 빈 태그뿐만 아니라 문서 창의 디자인 보기에 내용을 표시할 수 없는 비어 있지 않은 태그에도 필요합니다.
icon_width는 아이콘의 픽셀 너비를 지정합니다.
icon_height는 아이콘의 픽셀 높이를 지정합니다.
Equivalent_tag는 ColdFusion의 양식과 연관된 특정 태그에 대한 간단한 HTML 등가물을 지정합니다. 이 속성은 다른 태그에서 사용할 수 없습니다.
is_visual은 페이지에 레이블이 표시되는지 여부를 지정합니다. 예를 들어, ColdFusion 태그 cfgraph는 is_visual의 값을 지정하지 않으며(따라서 기본값 "true"가 사용됨) ColdFusion 태그 cfset는 is_visual의 값 "false"를 지정합니다. 기본 대화 상자의 "보이지 않는 요소" 열에서 서버 레이블의 가시성을 제어할 수 있습니다. 시각적 서버 레이블과 비시각적 서버 레이블의 가시성은 별도로 설정할 수 있습니다.
server_model이 설정된 경우 tagspec 태그는 지정된 서버 모델에 속한 페이지에만 적용될 수 있음을 나타냅니다. 설정하지 않으면 tagspec이 모든 페이지에 적용될 수 있습니다. 예를 들어 ASP와 JSP의 구분 기호는 동일하지만 JSP에 적용 가능한 tagspec 태그는 서버 모드를 "JSP"로 지정하므로 Dreamweaver가 JSP 페이지에서 특정 구분 기호를 감지하면 JSP 아이콘이 표시됩니다. JSP가 아닌 페이지에서 코드가 감지되면 ASP 아이콘이 표시됩니다.
콘텐츠가
없습니다(빈 태그).
컨테이너
없음.
예
<tagspec tag_name="happy" tag_type="nonempty" render_contents="false" content_model="marker_model" icon="happy.gif" icon_width="18" icon_height="18"></tagspec>
디자인의 사용자 정의 태그 방법
문서 창의 디자인 보기에 사용자 정의 태그가표시되는 보기는
tagspec 태그의 tag_type 속성 및 render_contents 속성 값에 따라 달라집니다(사용자 정의 타사 태그 분석 참조). tag_type 값이 "empty"인 경우 icon 속성에 의해 정의된 지정된 아이콘이 표시됩니다. tag_type 값이 "nonempty"이지만 render_contents 값이 "false"인 경우 아이콘도 빈 태그처럼 표시됩니다. 다음 예는 방금 정의한 happy 태그의 인스턴스를 HTML 코드에 삽입할 수 있는 방법을 보여줍니다.
<p>이것은 <code>happy</code> 태그의 인스턴스를 포함하는 단락입니다(<happy>Joe</ happy>).</p>
태그 사양에서 render_contents가 "false"로 설정되어 있으므로 happy 태그(단어 joe)는 표시되지 않으며, 그 사이의 내용을 포함하는 여는 태그와 닫는 태그가 a로 대체됩니다. 간단한 아이콘입니다.
render_contents 값이 "true"인 비어 있지 않은 태그의 경우 디자인 보기에서는 이를 아이콘으로 표시하지 않지만 여는 태그와 닫는 태그 사이의 콘텐츠(예: 태그 사이의 텍스트 등)를 표시합니다. mytag> 여는 태그와 닫는 태그 사이의 내용입니다 </mytag>). 메뉴 옵션에서 보기 > 시각적 보조자 > 보이지 않는 요소를 선택한 경우 이 콘텐츠는 "코드 색상" 매개변수로 지정된 타사 태그 색상을 사용하여 강조 표시됩니다("코드 색상"은 태그 라이브러리 파일에만 적용됩니다)
. 타사 태그의 강조 색상:
1.
메뉴 옵션에서 편집 > 기본 설정을 선택한 다음 "코드 색상" 열을 선택합니다.
2. 타사 라벨 색상 상자를 클릭하여 색상 선택기를 표시합니다.
3. 색상을 선택한 다음 "확인"을 클릭하고 사전 설정 대화 상자를 닫습니다. 색상을 선택하는 방법에 대한 자세한 내용은 Dreamweaver 사용을 참조하십시오.
타사 태그 다시 작성 방지
Dreamweaver는 HTML 코드의 특정 오류를 수정합니다. 자세한 내용은 Dreamweaver 사용을 참조하십시오. 기본적으로 Dreamweaver에서는 .asp(ASP), .cfm(ColdFusion), .jsp(JSP) 및 .php(PHP)를 비롯한 특정 파일 확장자를 가진 파일의 HTML 코드 변경을 방지합니다. 이 기본 설정은 Dreamweaver가 HTML이 아닌 태그에 포함된 코드를 실수로 수정하지 않도록 하기 위한 것입니다. 이러한 파일을 열 때 HTML 코드가 다시 작성되도록 Dreamweaver의 기본 다시 쓰기 동작을 변경할 수 있으며 Dreamweaver에서 다시 쓰기를 금지하는 파일 형식 목록에 다른 파일 형식을 추가할 수 있습니다.
속성 관리자에 특정 특수 문자를 입력하면 Dreamweaver에서는 해당 문자를 숫자 값으로 인코딩합니다. 일반적으로 이러한 특수 문자는 다양한 플랫폼과 브라우저에서 더 잘 표시될 수 있으므로 Dreamweaver에서 이 인코딩을 수행하도록 하는 것이 가장 좋습니다. 그러나 이 인코딩은 타사 태그에 영향을 미치므로 타사 태그가 포함된 파일을 편집할 때 Dreamweaver의 인코딩 동작을 변경할 수 있습니다.
Dreamweaver가 더 많은 유형의 파일에서 HTML을 다시 작성할 수 있도록 허용:
1. 메뉴 옵션에서 편집 > 환경 설정을 선택한 다음 "코드 다시 작성" 열을 선택합니다.
2. 다음 중 하나를 선택하십시오.
·잘못된 중첩 태그 또는 끝나지 않는 태그 수정 ·중복된 닫는 태그 삭제
3. 다음 중 하나를 수행합니다.
· "코드를 다시 작성하지 않음: 확장자가 있는 파일에서" 목록에서 하나 이상의 파일 확장자를 제거합니다.
· "코드를 다시 작성하지 않음: 확장자가 있는 파일에서" 옵션을 선택 취소합니다. 참고: 이를 통해 Dreamweaver는 모든 유형의 파일에서 HTML 코드를 다시 작성할 수 있습니다.
Dreamweaver에서 다시 쓰기를 금지하는 파일 형식을 추가합니다.
1. 메뉴 옵션에서 편집 > 환경 설정을 선택한 다음 "코드 다시 쓰기" 열을 선택합니다.
2. 다음 중 하나를 선택하십시오.
·잘못된 중첩 태그 또는 끝나지 않는 태그 수정 ·중복된 닫는 태그 삭제
3. "코드 다시 작성 안 함: 확장명이 있는 파일에서" 항목이 선택되어 있는지 확인하고 텍스트 상자의 목록에 새 파일 확장자를 추가합니다.
파일 > 열기 대화 상자의 팝업 메뉴에 새 파일 형식이 나타나지 않으면 해당 파일 형식을 Configuration/Extensions.txt 폴더에 추가해야 할 수도 있습니다. 자세한 내용은 기본 파일 형식 변경을 참조하십시오.
Dreamweaver의 코딩 옵션을 끄십시오.
1. 메뉴 옵션에서 편집 > 환경 설정을 선택한 다음 "코드 재작성" 열을 선택합니다.
2. 두 가지 "특수 문자 인코딩" 옵션 중 하나를 취소합니다.
코드 재작성 환경 설정 선택에 대한 자세한 내용은 Dreamweaver 사용을 참조하십시오.