그 XML 조각이 유효 파이썬 표현식이 될 수 있도록
XHPy 파이썬 구문을 확장합니다.
장점
& NBSP; * 난이도 : 외부 템플릿 또는 템플릿 언어에 대한 필요없이 간단한 표현 구문 UI 로직을 작성.
& NBSP; * 유연성 : 자유롭게 XHPy 태그 내에서 사용 파이썬 표현, 그 반대의 경우도 마찬가지입니다.
& NBSP; * 보안 : XHPy 태그 내의 텍스트를 자동으로 이스케이프 혜택.
& NBSP; * 재사용 : 서브 클래스로 재사용 가능한 구성 요소를 구축 : X : 요소.
예를
bar.py에서 :
xhpy.init 수입 register_xhpy_module에서
register_xhpy_module ( '갑')
수입 foo는
foo.py에서 :
xhpy.pylib 수입 *에서
클래스 : UI : foo는 (X : 요소) :
& NBSP; 속성 목록 바
& NBSP 종별 % 유동
& NBSP는; 데프 (자동) 렌더링 :
& NBSP; =
& NBSP; self.getAttribute ( '바')의 B에 대한 :
& NBSP; a.appendChild (
& NBSP;을 반환
인쇄
우리는 이제 정상적인 파이썬 스크립트로 bar.py 실행할 수 있습니다 :
$ 파이썬 bar.py
- 0 리>
- 1 리>
- 2 리>
축하합니다! 당신은 XHPy의 첫 번째 조각을 썼다.
구문
XHPy 파이썬에 몇 가지 새로운 구문을 추가합니다. 라인 재생 시간을 기준으로 라인!
xhpy.init 수입 register_xhpy_module에서
이 XHPy를 초기화하고 모듈이 XHPy으로 해석 할 수 등록 할 수 있습니다.
register_xhpy_module ( '갑')
가져올 때 지금 foo.py에서 foo는 모듈 XHPy로 해석됩니다. foo를 패키지라면, 그 모든 서브 모듈은 또한 등록 할 것이다; 이 UI 라이브러리를 등록하는 데 유용합니다.
수입 foo는
실제로 XHPy을 사용하려면, 그러나, 당신은 핵심 라이브러리를 원하는 아마합니다 :
xhpy.pylib 수입 *에서
이제 당신은 모든 표준 HTML 4.0 요소에 액세스 할 수 있습니다, X : 요소의 기본 클래스 (이것은 당신이 위에 사용자 지정 구성 요소를 만들 것입니다!), 일부 유틸리티.
클래스 : UI : foo는 (X : 요소) :
다만 서브 클래스 : X : 요소 새 구성 요소를 만드는 것은 쉽습니다. 구성 요소 클래스를 등록 할 경우, 그것은 시작해야합니다 : -이 분명 보통의 파이썬 클래스에서 구성 요소를 구분합니다.
목록 바 속성
UI : 태그 : foo는 바는
나중에 - XHP처럼 XHPy는 XML 속성 구문을 사용합니다.
카테고리 % 흐름
이 카테고리 선언 : - UI : foo는이 % 흐름 카테고리의 일부입니다. 카테고리 상속을 사용하지 않고 유사한 요소가 확인하는 방법으로 주로 유용하다; 예를 들어, pylib.html의 <> 태그가
어린이 (PCDATA | % 흐름) *
그 아이는 텍스트를 포함 또는 % 흐름 카테고리의 여야을 나타내는. (그래서 우리는
데프 (자동) 렌더링 :
X : 당신이 인쇄 할 때 요소 (또는에 STR 전화), 메소드가 호출 () 렌더링; 당신이 당신의 UI 로직을 넣어 곳이다.
=
self.getAttribute ( '바')의 B에 대한 :
& NBSP; a.appendChild (
반환
여기서,
- 이다.
- {B} 리>)
= - {B} 로 추가합니다.
- 와 <리>와 같은 표준 HTML 요소를 자동으로 렌더링 - 것을 제외하고, XHPy, 당신은 수 있도록, 태그 내에서 파이썬 표현식을 사용할 수 있습니다
{B}
B의 값으로 대체됩니다. getAttribute를 ()와에 appendChild ()의 사용을 참고
self.getAttribute ( '바')
바의 속성 값을 페치 (이 경우, 범위 (3)), 반면
a.appendChild (
XHPy 크게 XHP 기반으로한다; 후자에 대한 자세한 내용은,`XHP 위키
& NBSP; * XHPy 클래스 이름은 할 수 어디서나 일반 파이썬 클래스를 사용할 수있다;
& NBSP; * XHPy 태그는 내부 공백을 무시하지만, 외부에서 들여 쓰기와 줄 연속 규칙을 준수해야합니다.
마지막 포인트에 대한 추가 정보 :
데프 foo는 (HREF) :
& NBSP; 반환
데프 바 (HREF) :
& NBSP; 반환
& NBSP;
반면, 유효
데프 foo는 (HREF) :
& NBSP; 반환
& NBSP;
& NBSP; >
그것은 > 후 추가 dedent 소개로하지 않습니다.
그것이 작동하는 방법
때를
수입 xhpy.init
XHPy는 가져 오기 후크를 설치합니다. 이 후크 트랩 파이썬의 상위 집합을 분석 전처리를 통해 실행 이후의 import 문. 이 처리기는 모듈 범위에서 번역 된 코드를 실행, 유효한 파이썬 XHPy 태그와 클래스 이름을 변환합니다.
이 XHP을 제외하고 작동하는 방법과 유사합니다
& NBSP; *로, 예를 들어, pythonenv, 당신은 항상 심지어 시스템 전체 파이썬 패키지 설치 디렉토리에 액세스하지 않고 XHPy을 사용할 수 있습니다;
& NBSP; 전처리는 모듈이 처음 가져올 때 한 번 수행해야 할 수 있도록 * 기본적으로, 파이썬은, 당신의 모듈에서 바이트 코드 된 .pyc 파일을 컴파일
이 요구 사항 :
이 파이썬.
댓글을 찾을 수 없습니다